Peer-to-peer file transfers in your browser Cooked up by Alex Kern & Neeraj Baid while eating Sliver @ UC Berkeley.
Using WebRTC, FilePizza eliminates the initial upload step required by other web-based file sharing services. When senders initialize a transfer, they receive a “tempalink” they can distribute to recipients. Upon visiting this link, recipients’ browsers connect directly to the sender’s browser and may begin downloading the selected file. Because data is never stored in an intermediary server, the transfer is fast, private, and secure. (Your PC must be online while the recipient download the file(s), if you shutdown the PC or goes offline, the download also stops)
You can selfhost it or use the official instance
Only somewhat related, but is there an easy tool for sending files from one device to another when on the same network? I imagine that scenario shouldn’t need some third party server to connect to but I’ve yet to find a tool like this.
I think ShareDrop does that.
You can’t really do this on the web as devices can’t directly connect to one another. You need some signalling server to bootstrap the transfer. However almost all of these WebRTC services will actually do the transfer locally if both devices are connected to the same network and can talk to one another directly.
So you would need a native application.
Warpinator
Android devices have this function natively built in
Where/how?
I think it’s called Nearby Share. If you click “share” on a particular file, the option to share to a nearby device appears using Nearby Share.
Hmm I think that works based on Bluetooth. I want it to work based on the network, as some of my PCs don’t have bluetooth. LocalSend works fine though.
Oh got it 👍🏻
Much simpler and more direct than the other suggestions: LocalSend.
Also fully open source, local only, cross platform. Only works in the same network, obviously. That’s the point.
This seems to work like a charm! It even sends folders and everything :)
KDE Connect should fit the bill; despite the name, you don’t need to be using KDE (or Linux even) since there are clients for every major OS, even mobile.
Among many other cool features, it lets you easily and simply just send a file from one device directly to another on your local network. I use it all the time to send photos from my phone to my desktop without plugging anything in, for example.
Looks nice but I don’t seem to be able to send whole folders, just individual files :/
Maybe .zip, .7z or .rar would help here?
That’s too much effort to send a folder, especially as I also need to extract on the destination too.
I went with LocalSend instead, it sends folders like a charm :)
There’s an app called Local Send that’s like an alternative to air dropping files on iOS devices, not sure if that’s what you’re talking about or not.
RSync, scp, rcp, SMB, sneakernet, plus numerous third-party tools. It depends on the platform and exact scenario.
Syncthing accomplishes both local and Internet transfers and doesn’t need a third party server (if you’re not doing NAT traversal). I don’t think you can send individual files through it’s interface. But you can share a directory and any files you add (or edit) will sync via P2P to other devices.
LANDrop has an app for every operating system and android/ios
I run a local instance of www.snapdrop.net in docker off my Synology NAS. Works great!
Others told about snapdrop, sharedrop, localsend etc.
But depending on what devices you are talking about, you might do with just an http server.
I have a file manager on my (android) phone with a http server built in, and my laptop is connected to it via WiFi hotspot all the time. I just start a server on my phone and use a browser or any other download tool (curl, wget) to transfer files from my phone to my laptop.
If you have python installed, you can run an http server on any device you have (for example, a laptop) via
python -m http.server
and access your files from any other device on the same network by manually typing your local IP into a browser.If you are inclined to do things that way there’s also the python Fileserver
$ python3 -m http.server 8080