It's the age old problem of transferring files between two computers over the internet, but with a few restrictions:

  • Must not sync. Syncing requires uploading/downloading all files in folder. This is impractical if the folder is large, data is limited, or network is slow, which is especially problematic if you only need a fraction of a large number of shared files. The shared folder should act similarly to a network drive.

  • Peer to peer only. Must not store any file/folder data on a third party, no matter if it's encrypted or not. This rules out cloud services and file hosting sites. This is great for fast LAN transfers, but must also work across the internet.

  • Does not require technical expertise or admin privileges. Since this is mostly a temporary, spur of the moment thing, I would highly prefer a quick & dirty solution over something that requires lots of setup/configuration. Both server and client are frequently behind a router, and configuring port forwarding is not only a hassle, but may be impossible on networks you do not control (e.g. mobile LTE, public WiFi, or school/work network). And since many users will be not technically inclined, complex configurations are not practical, even if it was possible. It should ideally be simple enough to guide a normal user through setup in 5 min over the phone.

  • Mainly for Windows, as that is the most common, but solutions for other OSs are also welcome. Cross platform solutions are also a huge plus, but not required.

  • Paid options can be considered, but since it's for individuals, it would have to be pretty cheap to justify the cost, and also rules out the many enterprise solutions that exist.

I have found many programs that come very close, but are always missing something.

  • Syncthing: Everything is great, except that it requires syncing.

  • FTP/SFTP: Great solution, except setting up the networking correctly is nontrivial.

  • FilePizza: Great solution, except it only transfers individual files.

  • 1
    Peer to peer requires both computer to be in the same network or at some point there must be a port forwarding or third party involved, which defeats "no tech knowledge required" requirement. – Alejandro Aug 9 at 17:37
  • @Alejandro: Yes, a third party would be required to setup the connection, but you wouldn't need to transfer files through them. I'm wishing for something like DHT in BitTorrent. The important thing is that file data and metadata is not transferred to third parties. – goweon Aug 10 at 4:27

Try with simplest approaches - use VPN and network shared folder. If possible - consider having third host that would act as VPN server only (to overcome difficulties in port forwarding that you stated). If not, let one of the hosts act as VPN server - if the user is using one of so called "dynamic IPs", use dynamic dns services.

Dukto does exactly what you want, but I think it only works in LAN. If you want to do transfers over the internet with no 3rd party, your best bet is SFTP. FileZilla is wonderful, there's a (multiplatform) client and a (Windows) server app that are easy to use (relatively speaking). If you only want to send files, maybe set up an HTTP server so people can just direct download from you. Upspin actually looks remarkably like what you're looking for, but it's still experimental.

Why not nextcloud? It is for syncing, but you are not forced to use the syncing feature.

I guess it is not suitable for ad-hoc setting up and using, since you need a server. But if you need it often, then setting up a nextcloud server should solve you file sharing needs.

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.