2 votes

What programming/technical projects have you been working on?

This is a recurring post to discuss programming or other technical projects that we've been working on. Tell us about one of your recent projects, either at work or personal projects. What's interesting about it? Are you having trouble with anything?

1 comment

  1. xk3
    Link
    I made a CLI for selective syncing via Syncthing. I don't have a Windows machine to test it on but it does seem to work on Linux and Android (Termux). If you have iOS or Mac OS it probably works...

    I made a CLI for selective syncing via Syncthing. I don't have a Windows machine to test it on but it does seem to work on Linux and Android (Termux). If you have iOS or Mac OS it probably works as well, but sushitrain can do a lot more (but it's not a CLI).

    Configuration and metadata is stored independently of Syncthing so there's no harm in running it separately from Syncthing--just make sure to syncweb shutdown or pkill -f syncweb when you've had enough!

    By default it ignores all the remote files so it's only syncing metadata and you choose what files you want. With the file metadata you can query stuff like:

    $ syncweb ls --long audio/
    Type       Size      Modified  Name
    -----------------------------------
    d        2.7GiB  06 Oct 20:56 Recordings/
    d        3.2MiB  28 Jul  2022 Documentation/
    

    With the accurate folder size calculated. Or find (using fd-find syntax)

    $ syncweb find --type=f --ext MKA --size=-20M --min-depth=2 Test
    audio/Recordings/TestRecording_1.mka
    audio/Recordings/TestRecording_22.mka
    audio/Recordings/TestRecording_23.mka
    ...
    

    I also wrote some helpers for sorting and "downloading" (really it just marks files as unignored and Syncthing handles all the downloading in a delay-tolerant fashion)

    https://github.com/chapmanjacobd/syncweb-py?tab=readme-ov-file#sort

    1 vote