9 ms·
Show HN: Sink – Sync any directory with any device on your local network
i made sink. it's a simple little tool that continuously syncs folders between 2 devices. no cloud, no email, flash drives, no bs.
it just uses your local wifi. run it on your machines, tell them to trust each other, and you're set. and if you manage to edit the same file at once, it handles the conflict and saves both copies.
for anyone who just wants to get files from point a to b without the headache. hope it makes your life a bit less annoying.
github: https://github.com/sirbread/sink https://github.com/sirbread/sink
binary: https://github.com/sirbread/sink/releases/tag/v0.1 https://github.com/sirbread/sink/releases/tag/v0.1
- dewey 1y agoWhat is the selling point over the very mature Syncthing? I’ve been using that for this use case for many years, with the additional benefit of also being able to sync it to my server, having a UI and being in all package managers already.
- anerli 1y ago^ syncthing is nice
- _pferreir_ 1y agoThis ^ I also recommend magic wormhole.
- johnisgood 1y agoAnd LocalSend.
- progx 1y agoNIH?
- fxtentacle 1y agoI especially like that Syncthing can do encrypted revision backups to untrusted servers. My workstation and laptop get synchronised. And in case I ever accidentally overwrite a file, there’s the past five revisions on an offsite server.
- lostmsu 1y agoHow does your setup for the backup look like? Won't you lose the data if the source of backup data gets lost together with the keys?
- fxtentacle 1y agoI printed out the keys. They’re only useful together with the offsite HDDs anyway, so someone would have to break into both houses to use them, which seems unlikely enough for me.
- sirbread 1y agobeing fr, i never even knew about syncthing until now. it's (clearly) a lot better, but again, the reason I made this is because of my school's software whitelist. they only allow certain apps to run on my laptop, one of them being python due to out compsci class. since then, I've been using it to get around whitelists and make my own stuff. this allows me to sync up me and my friend's stuff (like projects, etc.) while we're in school and not have to worry about the whitelist :)
- ryanjshaw 1y agoThat’s perfectly valid. Maybe add it to the top of your readme explaining what problem it solves (need to sync files between machines and all you can use is python).
- globular-toast 1y agoMy initial thought was, man, your school is lame. But maybe it's genius? Creativity thrives in a constrained environment.
- snackbroken 1y agoIn high school they had a few information kiosk computers spread around the various buildings; two in the library, one in the main reception, one in the cafeteria, and one in the mostly unused hallway right outside the computer club room. They were locked down so you could only navigate some intranet pages using a rudimentary on-screen keyboard, with the rest of the hardware in a locked cabinet. Guess which one got digitally defaced a couple of times each semester. Guess which ones got left alone. Genius move by the IT guy. Every time it happened he would come talk to the club members about the difference between whitehat and blackhat hacking but other than that nobody ever got in trouble.
- udev4096 1y agoThis kind of whitelisting does absolutely nothing. It's a straight up lolbin. Anyway, if python is allowed, then surely other languages can be added to whitelist. Ask them to whitelist go and use syncthing
- shakna 1y agoSyncThing's insistence that a web UI be how you do everything has caused me quite a few headaches. Especially when said UI regularly breaks accessibility tools. (The team do tend to fix those accessibility problems pretty fast. But spending a couple days a month working around a tool is not my idea of fun.)
- zimpenfish 1y ago> SyncThing's insistence that a web UI be how you do everything It does have `syncthing cli ...` which -I think- lets you do everything but to call it obtuse would be an understatement.
- donatj 1y agoSyncthing is the most confounding user-unfriendly software I have ever had the displeasure of using. It makes a process that should be pretty easy, pick some folders and share some keys remarkably painful and convoluted.
- xnx 1y agoOh no. What makes it so hard? I was happy with the syncthing and syncthingtray setup process.
- feiss 1y ago+1000 times this
- pydry 1y agoto be fair, syncing is something that appears simple on the surface but which is a mess of complexity under the hood.
- agildehaus 1y agoHas any open-source project done it better? Serious question, I've been looking.
- deepspace 1y agoI used Unison many years ago, and it worked perfectly for all my use cases. Not sure how it stacks up these days. CLI only IIRC.
- 127dot1 1y agoI still use Unison as it is simpler than Syncthing. It does have GUI, which I use. I wouldn't call it pretty or polished, but it works and I understand how it works and the way it works is exactly how I think syncing should work. I've also configured it to run a GUI diff tool diffuse to easily combine changes in case of conflicts (when a file was changed on both sides since the last sync). I wish it was a bit more modern and re-written in a modern language, but that's secondary qualities for a program.
- deleted 1y ago[deleted]
- lxgr 1y ago99% less configuration and UI surfaces come to mind. Syncthing is great, but it does include everything and the kitchen sink. That's often great, but not always.
- sunshine-o 1y agoAbsolutely. Syncthing is great but I really wish for a syncthing-lite you could deploy and configure easily. The version we have today is really suffering from a lot of legacy. I remember they are working on a big v2 with a revamp of the API which is a mess but they had to give up on getting rid on that horrible XML config file because it was too much work. Be aware they also recently silently disabled the sync of symlinks on the android build, what can cause a lot of bad surprises. They did define some specs of their protocols [0] but i haven't seen a alternative implementation yet. - [0] https://docs.syncthing.net/specs/index.html https://docs.syncthing.net/specs/index.html
- kinow 1y agoMost of whayt I emailed myself were links to have a look at later. I stopped doing that after learning about the sync feature in Firefox, and the option to send tabs across devices.
- saaspirant 1y agoI used to use Firefox tabs too but I look at links maybe once a week and keeping too many tabs is annoying for me. So I am back to emailing notes and thoughts
- MrGilbert 1y agoCongrats! It's always neat to have something out there in the wild. :) For quickly sending a file, url, text or whatever between two devices, I usually use a selfhosted version of https://tnxfr.com https://tnxfr.com (https://github.com/mustakimali/just-an-email https://github.com/mustakimali/just-an-email). Thanks to a web interface, it works on almost every device.
- sellmesoap 1y agoAnother neat approach to getting a file from place to place is b.o.b. https://github.com/dinosaure/bob https://github.com/dinosaure/bob
- alt187 1y agoBe proud you did a thing. Not everything has to optimize profits, userbase, or some other metrics. You developed something for yourself, and saw it through until it worked, and no one can take that away from you. It's also much more stimulating to build something than ask like a pedant "why this exists when Syncthing?", so, I guess the joke's on them.
- sirbread 1y agothank you for the kind words :)
- nobodywillobsrv 1y agoAs a syncthing user who has also thought about this problem, syncthing is good but reading around it seems like running it on a phone is a pain and then simply pasting from share or clipboard is yet another pain to implement. So there is possibly some useful stuff TODO in bridging all that friction. I haven't literally tried but have read about it all once and decided not to. Cool space of problems.
- shwouchk 1y agosaw this post last night and tbh thought it a bit weird since initially it was described by author as “alternative to emailing yourself” - like, really? after 20 years of dropbox? the countless competitors it spawned, including OSS as well as by all major email providers??? came back curious to see if the discussion took a different direction from besides sarcasm or another 30 posts saying “why not syncthing?” - glad to see the couple to comments including OP and yours as constructive. that being said, i’m a syncthing user, including running my own (st) discovery server on openwrt. aside from some annoyance at rather frequent conflicts and being browser based, im running it on all 5 major OSs, including ios (mobius sync) and android. i strongly disagree that running it on a phone is a pain, and in fact, found it the most reliable and versatile sync solution for ios by far - and that includes icloud, dropbox, google drive and google photos. the only thing that comes close is apple photos, but that’s specifically for photos. and that too, only because of the deep os integration, ie always running in the background and allowing seamless access to older photos that are not on device. even then, there’s always a mysterious slight difference in # of items reported on the mac vs the phone - “eventual consistency”, where “eventual” is t=infinity i suppose.
- tomhow 1y ago[stub]
- notpushkin 1y ago[flagged]
- skrebbel 1y agoFWIW i think you ruined it by editing that “/s” in
- notpushkin 1y agoI thought about it for a bit, but I’m worried the author might not recognize this copypasta and try to answer it on its face value. (It is, of course, the famous Dropbox comment: https://news.ycombinator.com/item?id=8863#9224 https://news.ycombinator.com/item?id=8863#9224)
- Imustaskforhelp 1y agoHaha. I guess I had heard the story of dropbox, why not ftp, but I guess this was the story! I guess it is funny to me that SVN/CVS was there in 2007 since I think git wasn't even invented at the time but now new people won't even know what SVN/CVS are, I only got to know them because I wanted to download a specific folder of github and some stackoverflow comment mentioned svn
- notpushkin 1y agoApparently, the first version of Git was released in 2005, but I’m not sure a lot of people have heard about it before GitHub has been launched in 2008. Wild times! (I was 10, my preferred source control system was “eh I have a backup somewhere I think”.)
- fetzu 1y ago
- gwbas1c 1y ago> note: this is still a veeery big wip, as there are many features that I have planned to added; you can see this on the bottom of this readme. I spent a decade as a lead on an industry-leading commercial sync product. Once you start working on details, tools like this can get very time consuming. (They're also very fun to work on.) The devil is all the corner cases, and there are a LOT of corner cases in sync; especially if you handle renames as renames. (IE, instead of treating a rename as a delete and recreate.) My $0.02: Decide if this is a one-off project, hobby, or something you want to turn full time. Remember that what might seem like a bug, or a weekend project, could turn into a long coding journey. It's important to understand your commitment going in, because you don't want to "bite off more than you can chew." You can find my website in my profile (and thus email) if you want to contact me and ask anything.
- rcarmo 1y agoThis is nice. Kudos for using Bonjour/Zeroconf, which I do too for everything that needs self-discovery.
- sandreas 1y agoAs reference (for feature comparison or whatever) here are some tools I use to keep things in sync, some have already been mentioned: rsync - I think everybody knows this rclone - modern feature packed tool similar to rsync, but also more complex croc - a modern cross platform file transfer utility syncthing - sync service with web gui to keep multiple devices in sync LocalSend - An open source GUI tool also for mobile devices restic - a tool for encrypted backups with rolling hash deduplication immich / ente.io - Photo backup app with frontend and backend zfs - filesystem with send and receive All of these are (partly) open source and free to use. Hope it helps.
- deleted 1y ago[deleted]
- justinkramp 1y agoHaven’t looked at this yet but have been amazed at rsync for a similar task. Used it to deploy and maintain a retail digital experience across a few dozen stores more than a decade ago and it was great. Use it for small home projects now.
- deleted 1y ago[deleted]
- newman314 1y agoI have been a Resilio Sync user for a while but find it increasingly fragile and prone to randomly breaking. Reconnecting always seems to be a roll of the dice if something gets deleted and I suppose this is a good time to figure out if there are better alternatives. Syncthing on iOS still seems to be iffy so I'd be interested if Sink can help fill in this space eventually.
- danjc 1y agoI have a few qualms with this app ;)
- KaseKun 1y agoI enjoyed the unordered but ranked priority list on the GitHub page
- vednig 1y agoAs a dev working on https://github.com/doshare https://github.com/doshare, I can safely say that you've done a great amount of understanding the problem stuff, the biggest part often many people get it wrong. If you ever want to work on a commercial grade native sync and cloud storage platform, send me a mail.
- noisy_boy 1y agoOk the topic of sharing things between machines/phones, what are people doing to do two-way sharing of text/screenshots/whatever on adhoc basis between Linux machines and phones (android mainly)? I can save it in a file and let syncthing handle it but that is not a very smooth workflow.