Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is the best FOSS file sharing protocol/app?
42 points by trulyanakin 11 months ago | hide | past | favorite | 26 comments
Hello fellow hackers , i have been lurking here for quite some time but now i have a question that i wish i can ask you guys

i was wondering whats the best file sharing protocol/app/website , tbh send.vis.ee seems to be currently the best to me but still i wanted your opinion here are things i found

1. Localsend 2. ffsend 3. croc 4. webtorrent 5. magic-wormhole 6. using curl on 0x0.st or pixeldrain 7. (anonfiles has left so thats sad) 8. rsync / ssh 9. onionshare 10. ipfs

from what i am hearing , magic-wormhole makes the most sense since they seem to be the most open standard of sharing files but still seems incomplete or the lack of information on such topic makes me feels wierd.

croc seems to have a lot of cve and magic wormhole passed that test from suse's audit. webtorrent seems to fit in a wierd niche and its implementations like file.pizza arent really that well built ( considering you cant send multi files over there)




Mh, if you are on a somewhat trustworthy network - like your home WLAN - and need to get some files from a host on that network to another once, there is <python3 -m http.server>. Lookup your local IP, port 8000 is open, the PWD is being served. Throw wget/curl/telnet/nc at it and that's it.

For a more permanent setup, I tend to run SyncThing between my laptop and my stationary tower, for example to keep my ~/Projects and my ~/Documents up to date with each other. Sure, everything is in git as well. But it's neat to be able to just open up the laptop and your exact last project state or your last dwarfen fort is right there without really caring about it or dealing with it.

From there I'm currently considering adding a small vServer as a third SyncThing node so I don't have to start my laptop after travel once to get the data back onto the workstation. Would also add a bit of redundancy in case of fire, theft or law enforcement.

I'd also consider using the server as a bit of a file storage for some archival and data hoarding purposes, mirrors for some cloud services as well as backups of the syncthing state and such, but I'm not really sold on the tech to use there. Something like OwnCloud/Nextcloud looks pretty as a file store and might also allow family to store some stuff there... but it's quite the chunk of tech to maintain, patch, monitor and secure for something I technically could have via... sshd and some cloud volume? Not really decided there.


For your syncthing always on server, that’s a really good job for an old raspberry sleeping in a drawer, cheaper than any web hosting and your storage is basically limited by the hard disk you throw at it. Since it’s only a synchronisation node like the others, you don’t even need reliable hardware, anything you can get for some bucks (or for free) would do the job.


I have made a setup that I am really proud of.

Syncthing + Tailscale + old Raspberry Pi + external USB SSD disks + restic for backup + B2

Raspberry Pi OS + syncthing data is on one SSD disk (encrypted)

Restic backs up to second SSD disk (encrypted) and a separate (encrypted) backup is sent to B2


Why does Synchting need Tailscale? It establishes a similar connection.


So that it has a connection even if I am outside of my home network


Synchting uses the same protocols to establish the connection, as far as I know. It even has relays. It will sync without VPN even if you are outside home.


A fair point, I use tailscale for other things too, so it's a freebie


For strictly local use, Google's Nearby share is technically FOSS but the documentation is basically non-existent and a proper Linux implementation is not here yet. Alternatives aren't hard to find though, with Mint's Warpinator or KDE Connect having worked well for me.

For non-local use (everything out of Bluetooth range), you almost have to trust a third party, unless you host yourself, and it really depends on your use case. Want to send your friend a file or host pictures of your birthday for multiple people to download? For the former magic wormhole works great, for the later you could almost spin up a nextcloud or similar (personally I like https://github.com/filebrowser/filebrowser ). Want to regularly send files from device 1 to device 2? Now sync solutions like syncthing or rsync become really viable.

If everything else fails, FTP always has your back


Probably not what you are asking for, but if you would like to host on your own server, there is https://github.com/timvisee/send which is a fork of Firefox's Send.

You get a web interface where you can drag and drop files. It uploads the files to your own server and you will get a link to share them.


I used to use Syncthing for that. it worked really great. Especially with family members that are not so tech-savvy.

Off topic but related: I completely ditched my Linux setup in favor of macOS (+ my family went also full macOS). iCloud really does the job there.


LocalSend. Been using it for a month or more and fits well my occasional transfer needs and is nice that it works the same way on all platforms I use. I have five network shares on my server for general access from all other systems. Platforms: Android, LinuxMint, Fedora, Windows.


Syncthing


For sending (not syncing) many files, SSH. For one time file transfer, magic wormhole.

For continuous sync, Synchting.


One way only: my nextcloud instance and sharing files multi way sync: nextcloud app or syncthing.


what do you mean one way only? syncthing has pretty big entry point imo i am talking about how to send files from one computer to another securely.,

syncthing has a hard learning point


One way only: i upload the file andit gets downloaded somewhee else, but the reverse way is not intended. Syncthing is a bit more complicated, since its designed to work bidirectional and even with potential untrustworthy computers.


Depends on your requirements/needs/usage patterns.

magic-wormhole is probably the most secure one.


With anyone: ipfs

With internet- & LAN-connected users on devices under their control: afs (openafs)


List taken from my notes (removed the proprietary entries):

# WAN

instant.io

share.ipfs.io

Wormhole.app

# LAN

pairdrop.net

snapdrop.net

# CLI

Wormhole

Airtar

Webtorrent-hybrid

# Apps

KDE Connect?


Wormhole isn't FOSS.



wormhole.app (url) isnt


Oh, you’re all right! Can’r edit my comment now :/


Magic wormhole or ssh


Toffeeshare?


ToffeeShare is incredibly useful, but AFAIK it is not FOSS. You could alternatively use something such as Send (a fork of the now dead Firefox Send project), which has quite a few public instances [0]. However, I've been personally liking a lot ShareDrop [1], which is open-source and has an official public instance. In ShareDrop data transfer is done over WebRTC, and the server is only responsible for connecting the two machines, whereas in ToffeShare and I believe Send the files pass through their servers, although encrypted.

[0]: https://github.com/timvisee/send-instances/

[1]: https://github.com/szimek/sharedrop




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: