[HN Gopher] Show HN: Sink - Sync any directory with any device o...
       ___________________________________________________________________
        
       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 binary:
       https://github.com/sirbread/sink/releases/tag/v0.1
        
       Author : sirbread
       Score  : 107 points
       Date   : 2025-06-27 06:01 UTC (16 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | dewey wrote:
       | What 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 wrote:
         | ^ syncthing is nice
        
         | _pferreir_ wrote:
         | This ^
         | 
         | I also recommend magic wormhole.
        
         | progx wrote:
         | NIH?
        
         | fxtentacle wrote:
         | I 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 wrote:
           | How 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?
        
         | sirbread wrote:
         | being 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 wrote:
           | That'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 wrote:
           | My initial thought was, man, your school is lame. But maybe
           | it's genius? Creativity thrives in a constrained environment.
        
             | snackbroken wrote:
             | In 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 wrote:
           | This 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
        
             | sirbread wrote:
             | trust me, I've tried asking for other programs to be on the
             | whitelist. if they didn't allow firefox, they definitely
             | won't allow synching. and I don't wanna get in trouble
             | either lol
        
               | xeonmc wrote:
               | Can you ask them to permit docker?
        
             | woodrowbarlow wrote:
             | > This kind of whitelisting does absolutely nothing.
             | 
             | well, aside from getting students more interested in
             | programming, apparently.
        
               | xeonmc wrote:
               | Necessity is the mother of invention, constraints the
               | cradle of imagination, and contrarian teenagers the womb
               | of ingenuity.
        
             | Thrymr wrote:
             | Or just write a python script wrapper for the syncthing
             | client :)
        
         | shakna wrote:
         | SyncThing'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 wrote:
           | > 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 wrote:
         | Syncthing 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.
        
           | feiss wrote:
           | +1000 times this
        
           | pydry wrote:
           | to be fair, syncing is something that appears simple on the
           | surface but which is a mess of complexity under the hood.
        
           | agildehaus wrote:
           | Has any open-source project done it better? Serious question,
           | I've been looking.
        
             | deepspace wrote:
             | I 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 wrote:
               | I 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.
        
           | throw7 wrote:
           | Syncthing is software where i think reading the manual is
           | recommended. it is a fine manual and clears up a lot of the
           | confusion. There's a lot of complexity "under the hood" and
           | trying to just intuit it from the settings is... as you
           | know... confusing.
        
           | pjerem wrote:
           | I have more mixed feelings about Syncthing than you.
           | 
           | I personally think it's a power user tool rather than an easy
           | to use tool. The UI can feel intimidating but is actually
           | pretty coherent once you understand how Syncthing works.
           | 
           | I would compare it with Git in terms of ergonomics : a
           | powerful tool with its own jargon that you must understand to
           | be able to use it.
           | 
           | Like git, Syncthing chose to expose its internals to the user
           | rather than hiding it behind something magic. But like git, I
           | don't feel like there are unnecessary complexity. Once you
           | understand it, it's easy to make it work because it makes
           | sense.
        
           | xnx wrote:
           | Oh no. What makes it so hard? I was happy with the syncthing
           | and syncthingtray setup process.
        
           | 4k93n2 wrote:
           | resilio sync (formerly bittorrent sync) has a nicer UI and
           | its probably easier to use. ive been using syncthing for 5+
           | years now though and can't think of the last time i had any
           | issues with it. its probably just a bit more confusing if
           | youre coming from something more polished and centralised
           | like dropbox or those types
        
         | lxgr wrote:
         | 99% 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 wrote:
           | Absolutely.
           | 
           | 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
        
       | kinow wrote:
       | Most 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 wrote:
         | I 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 wrote:
       | Congrats! 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://github.com/mustakimali/just-an-email). Thanks to a web
       | interface, it works on almost every device.
        
       | alt187 wrote:
       | Be 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 wrote:
         | thank you for the kind words :)
        
           | nobodywillobsrv wrote:
           | As 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 wrote:
             | saw 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 wrote:
       | [stub]
        
         | notpushkin wrote:
         | [flagged]
        
           | skrebbel wrote:
           | FWIW i think you ruined it by editing that "/s" in
        
             | notpushkin wrote:
             | I 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)
        
               | Imustaskforhelp wrote:
               | Haha. 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 wrote:
               | Apparently, 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 wrote:
               | MyVeryCoolApp_final_FINAL2_fixed.BAS
        
               | sirbread wrote:
               | we've all been there
        
           | drcongo wrote:
           | That made my morning.
        
           | sirbread wrote:
           | Totally understand your doubts. I mainly made this program to
           | solve a tiny issue that got annoying and repetitive, so I
           | asked myself, "Can I automate this?" 1. Since I mainly use
           | Windows (for school software to run), I cannot simply do
           | this, considering our school blocks any 3rd part app that
           | isn't in their whitelist. 2. Sure, it doesn't _replace_ a USB
           | drive, but it makes it a lot easier, which can _lessen_ the
           | use of a USB drive. 3. Again, I really just made this for
           | myself and a couple of friends at my high school so we can
           | share projects without too much hassle. I just wanted to
           | share it with the world because maybe someone else has the
           | same dumb problem, which could help them too. It's not meant
           | to be a business, just a tool. I'll call that a win if it
           | saves one other person from emailing a file to themselves.
        
             | notpushkin wrote:
             | Sorry, I might have edited that /s in too late! This is
             | actually one of the early comments from the Dropbox launch
             | thread: https://news.ycombinator.com/item?id=8863#9224
        
               | saaspirant wrote:
               | I was gonna link to the same thing! Text looked familiar
        
             | dewey wrote:
             | I'd guess that the overlap of people who email themselves
             | files also use Gmail...which would then also just have
             | Google Drive. Why not use that?
        
         | kunley wrote:
         | [flagged]
        
           | dang wrote:
           | Can you please not post like this to HN and especially not to
           | Show HN threads? (There are special rules for the latter:
           | https://news.ycombinator.com/showhn.html.)
           | 
           | I'm sure your intention was to be helpful, but this reads
           | like a putdown, and the kind of effect that putdowns can have
           | on newcomers, students, and so on is exactly the opposite of
           | what we would like HN to be.
           | 
           | https://news.ycombinator.com/newsguidelines.html
        
         | maweki wrote:
         | I don't really understand what the difference is to syncthing
         | (or value over syncthing, as it is very mature and also works
         | across the Internet). You share folders and other devices are
         | discovered locally and you decide which devices to trust and to
         | share with.
        
         | poisonborz wrote:
         | [flagged]
        
           | dang wrote:
           | Can you please not be a jerk in HN comments and especially
           | not in Show HN threads? There are special rules for Show HNs:
           | https://news.ycombinator.com/showhn.html.
           | 
           | Keep in mind that not everyone sharing their work here is a
           | grizzled veteran. Some are enthusiastic people learning to do
           | something for the first time. The community here should
           | welcome such users, not beat up on them, which is the effect
           | that a comment like yours can all too easily have (though I'm
           | sure this was not your intent).
        
         | bbno4 wrote:
         | [flagged]
        
           | sirbread wrote:
           | lol sure i "reinvented it" but the reason I made it in the
           | first place is because my school's whitelist. they
           | whitelisted certain apps (like Python 3.11, for our Comp Sci
           | class) and i've been using that since to get around the
           | whitelist :p
        
             | jonwinstanley wrote:
             | Re-inventing a product is great for learning. Looks like a
             | decent project and hopefully you had a good time solving
             | the issues.
        
           | dang wrote:
           | Could you please see
           | https://news.ycombinator.com/item?id=44398799 and not post
           | like this to HN, and particularly not to Show HN threads?
           | 
           | We want this place to be welcoming and friendly, not brutal
           | and mean to newcomers and students. I'm sure you don't want
           | to be that kind of person, or having that kind of effect, in
           | any case.
        
         | Daril wrote:
         | I use Syncthing in combination with Cryptomator for sensible
         | files, but there is also the Localsend app :
         | https://localsend.org/
        
         | bilekas wrote:
         | The commit log reads exactly like my stream of consciousness
         | with personal projects :
         | 
         | https://github.com/sirbread/sink/commits/main/
        
           | dang wrote:
           | Could you please see
           | https://news.ycombinator.com/item?id=44398799 and not post
           | like this to HN, and particularly not to Show HN threads?
           | 
           | We want this place to be welcoming and friendly, not brutal
           | and mean to newcomers and students. I'm sure you don't want
           | to be that kind of person, or having that kind of effect, in
           | any case.
        
         | neepi wrote:
         | I solved this problem again recently as well. After evaluating
         | various synchronisation methods I thought it would be a good
         | idea to design a new methodology which doesn't reinvent the
         | wheel. Completely out of the box thinking. It took a few days
         | to come up with a solution which worked on paper and a couple
         | of weeks to implement it. I call this onecomputer. What you do
         | is uninstall all sync software from your devices and put
         | everything other than the primary one in the cupboard. Job
         | done. No problems with conflict resolution. No race conditions.
         | No resource and locking issues. Fast, reliable and does not
         | depend on any third party provider or network. It just works.
         | No wheel reinventing - this is uninvention.
        
           | shaism wrote:
           | How do I get stuff from my "onesmartphone" to the
           | "onecomputer"?
           | 
           | Or shall I also put the "onesmartphone" in the cupboard?
        
             | neepi wrote:
             | The phone here basically does IMAP (which is sync I
             | suppose) and gets plugged into the computer and stuff
             | copied around as required manually, which turns out to be
             | rarely as it's not the primary device!
        
           | sirbread wrote:
           | i can't tell if this is satire or not </3
        
             | globalnode wrote:
             | its something, lets move along quietly and hope they dont
             | notice...
             | 
             | also not sure why so many have a love affair with
             | syncthing, id never heard of it but more diverse software
             | in the world is a good thing imho. the more wheels
             | reinvented the better, its fun!
        
             | neepi wrote:
             | I haven't decided yet :)
             | 
             | More seriously, I am mostly working like this now. I've had
             | at least some data loss or reliability from every single
             | sync solution I've tried so am practicing avoidance where
             | possible.
             | 
             | I really want _something_ to work but I can 't find
             | anything that does and I've tried all major ecosystems and
             | syncthing etc.
        
         | saaspirant wrote:
         | From the headline, I thought it was a way to easily note your
         | thoughts because I unless I e-mail myself my thoughts, I never
         | look at them.
        
       | gwbas1c wrote:
       | > 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 wrote:
       | This is nice. Kudos for using Bonjour/Zeroconf, which I do too
       | for everything that needs self-discovery.
        
       | sandreas wrote:
       | As 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.
        
       | justinkramp wrote:
       | Haven'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.
        
       | newman314 wrote:
       | I 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.
        
       ___________________________________________________________________
       (page generated 2025-06-27 23:00 UTC)