Idea for Write-only files: send files to a sync folder. (And selective sync)

I have a laptop with low diskspace. I want to send files to a folder, without downloading the whole folder. (I could use SMB or SFTP to upload a file to a server’s synced folder, but I am too lazy, plus I like to keep syncthing’s data under its own user account.)

.stignore patterns for write-only, and send (write and then ignore locally):

    • Ignore all files for purposes of receiving. If a file is created locally, don’t ignore it, but upload it.
    • Same as above. If a file is created locally, don’t ignore it. Upload it to at least one other node [ideally, one that is flagged as an always-available node, like a server, and not a sometimes-on laptop], and then delete it.
  • 3>*

    • Same as above, but don’t delete the files until they are on at least 3 nodes.

While I’m at it, here’s an idea for selective sync: (maybe this should go in a separate thread. I know this has been discussed before)

  • <|myfile.zip
  • locally, download myfile.zip.syncremote as a file with 0 bytes. In the future, let people create platform specific tools (i.e. Windows explorer extension) to modify the .stignore file to toggle it on or off (or a whole directory tree.) Or register a utility as the handler for *.syncremote files, which crawls up to find .stfolder and modifies the .stignore file.
  • <|>*
    • download all files as placeholders (0 bytes). For created files, upload them and leave them locally.
  • <|>>*
  • download all files as placeholders (0 bytes). For locally created files, upload them and then replace them with empty files once they have been uploaded to at least 1 node.
  • <?|*
  • Stealth selective sync of all files. Instead of cluttering with a kajillion useless .syncremote files, list all available filenames in a file in the root called .stremote, with file sizes and date modified times for good measure. Then a smarter tool can show virtual files, with their size and download (unignore) them on demand by editing .stignore.

If this is a terrible idea, please feel free to flame me. :grin:

It’s a terrible idea. :sunglasses:

Seriously though, it’s not terrible, but it’s complicated - both in terms of weird patterns for users, and in the internal mechanics required. While on the other hand, at least the first part (unidirectional syncing of files, and then deleting them) is a problem easily solved by for example a script around rsync… So I don’t think it’s a super good fit for syncthing necessarily.

1 Like

Fair enough. I wonder if there will be users clamoring for additional features over time. Just thought I’d put the ideas out while they were on my mind. Thanks for the feedback!

Oh, there’s a constant clamoring all right. :wink: It’s not the first time suggested (although maybe with this level of detail), certainly not the last, and we might certainly end up implementing it or part of it with time.

3 Likes