Question: I'm looking for a simple **but direct** way to transfer a file of any kind and any size between two people. If possible, having only a web browser, without having the file stored on a third machine meanwhile.

I wish to do it **without** requiring the end users to connect to a third server, because that way the data will flow through the machine `xyz.com`, possibly slowing down the transfer, and posing security risks.

I would like to avoid setting up a whole FTP server just for occasional file transfers. So far I have discovered [JetBytes](http://jetbytes.com/), [Click2Copy](http://click2copy.com/) and [PipeBytes](http://host03.pipebytes.com/). Those web services should make the transfer easy. However the traffic goes through their servers so they are no good to what I want.

I want the transfer to be direct between the client and me. **Encryption would be a nice additional feature.**

I know that doing so I have to open one port on my computer, and configure a bit port redirection on my router. **However, NAT traversal would be nice addition, too.**

My question is:

**Is there a simple way for one single end-to-end direct file transfer between two computer, avoiding third parties?** (if possible, with encryption and NAT traversal)

Answer: 
WebRTC-based solutions give what you need, in perhaps the simplest form. You do connect to a third-party website but that is only for getting the peers connected and not the file transfer part.

Example services:  

<https://www.justbeamit.com/>  

<https://www.sharedrop.io/>

EDIT: I understand this does not meet all the requirements of the OP but there is another, very usable solution: [Firefox Send](https://send.firefox.com/). Using this, you upload your file to a third-party server in an encrypted form. The service gives you a URL, which you can share with others. The URL also contains the key to decrypt the file. They can then download the file. The file is automatically deleted after a set number of downloads or after 24 hours. The server never sees the key and so cannot decrypt the file. The advantage in using a third-party server is that the sharing party and the downloading party do not need to be online simultaneously.
You may try out Folder Transfer from <http://www.foldertransfer.com>, which can direct transfer of a file between two computers on the Internet. It can fully meet your needs.