All Projects → classicsc → syncthingmanager

classicsc / syncthingmanager

Licence: GPL-3.0 license
Configure Syncthing from the CLI

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to syncthingmanager

go-sync
🔁 CLI synchronization utility to sync project files and databases for your local project with SSH and Docker support
Stars: ✭ 61 (-21.79%)
Mutual labels:  synchronization
jsynchronous
Jsynchronous.js - Data synchronization for games and real-time web apps.
Stars: ✭ 111 (+42.31%)
Mutual labels:  synchronization
UserFileSystemSamples
IT Hit User File System Engine samples in .NET/C#. Samples implement Virtual File System for Windows and Mac with synchronization support, on-demand loading, offline files, and Windows File Manager integration.
Stars: ✭ 60 (-23.08%)
Mutual labels:  synchronization
gitsynchista
Python tool for Pythonista to synchronize local files with a Github repository hosted on a WebDav server
Stars: ✭ 27 (-65.38%)
Mutual labels:  synchronization
p2p-project
A peer-to-peer networking framework to work across languages
Stars: ✭ 68 (-12.82%)
Mutual labels:  synchronization
syncthing-resolve-conflicts
A small bash script that handles synchronization conflicts with Syncthing. Inspired by 'pacdiff' from Arch Linux.
Stars: ✭ 61 (-21.79%)
Mutual labels:  syncthing
Volumetriccapture
A multi-sensor capture system for free viewpoint video.
Stars: ✭ 243 (+211.54%)
Mutual labels:  synchronization
async
Synchronization and asynchronous computation package for Go
Stars: ✭ 104 (+33.33%)
Mutual labels:  synchronization
gr-eventstream
gr-eventstream is a set of GNU Radio blocks for creating precisely timed events and either inserting them into, or extracting them from normal data-streams precisely. It allows for the definition of high speed time-synchronous c++ burst event handlers, as well as bridging to standard GNU Radio Async PDU messages with precise timing easily.
Stars: ✭ 38 (-51.28%)
Mutual labels:  synchronization
gnome-shell-extension-syncthing-indicator
Put an indicator on the panel signalling the Syncthing daemon status using SystemD
Stars: ✭ 40 (-48.72%)
Mutual labels:  syncthing
HJSynchronizeDemo
No description or website provided.
Stars: ✭ 14 (-82.05%)
Mutual labels:  synchronization
user-session-synchronizer
Wordpress plugin that allows to keep the user logged in from one installation to another by synchronizing user data and cookie session based on a verified email
Stars: ✭ 21 (-73.08%)
Mutual labels:  synchronization
dokuwiki-plugin-sync
Sync DokuWiki namespaces with a remote wiki on request
Stars: ✭ 16 (-79.49%)
Mutual labels:  synchronization
onesync-reader-app
Cross-platform ebook reader built using Xamarin.Forms
Stars: ✭ 33 (-57.69%)
Mutual labels:  synchronization
mpv-trakt-sync-daemon
Python daemon that scrobbles watch progress from https://mpv.io to https://trakt.tv
Stars: ✭ 41 (-47.44%)
Mutual labels:  synchronization
React Scroll Sync
Synced scroll position across multiple scrollable elements
Stars: ✭ 252 (+223.08%)
Mutual labels:  synchronization
synctoolbox
Sync Toolbox - Python package with reference implementations for efficient, robust, and accurate music synchronization based on dynamic time warping (DTW)
Stars: ✭ 69 (-11.54%)
Mutual labels:  synchronization
Linux-Kernel-Driver-Programming
Implementation of PCI drivers, kprobe, sysfs, devfs, sensor driver, miscdevices, synchronization
Stars: ✭ 43 (-44.87%)
Mutual labels:  synchronization
linked-blocking-multi-queue
A concurrent collection that extends the existing Java concurrent collection library, offering an optionally-bounded blocking "multi-queue" based on linked nodes.
Stars: ✭ 41 (-47.44%)
Mutual labels:  synchronization
TabSync
A lightweight synchronizer between Android's Tabs and Lists. Available on the View system and Jetpack Compose.
Stars: ✭ 98 (+25.64%)
Mutual labels:  synchronization

syncthingmanager

A command line tool for the Syncthing API. Designed to make setting up remote servers easier. (and for users who prefer the cli)

Installation and configuration

Requirements

  • Python 3.4 or later
  • pip for Python 3
  • Syncthing 0.14.19 or later

First, make sure you have the latest version of pip:

pip3 install --upgrade pip

Install stman with:

pip3 install syncthingmanager

The configuration must be initialized with the Syncthing API key. Usually this can be done automatically: stman configure. If that doesn't work, get the API key from the GUI or config.xml (in Syncthing's config directory), then run stman configure apikey.

Configuration syntax

If your Syncthing GUI/API is on a non-standard port, or not on localhost, you will need to configure it manually. By default, stman will look for settings at ~/.config/syncthingmanager/syncthingmanager.conf. A sample syncthingmanager.conf follows:

[DEFAULT]
name = localhost

[localhost]
apikey = MafkDvpagX5J6oMzxm9HwDSXJPSQKPFS
hostname = localhost
port = 8384

[remote-device]
apikey = h9mifaKwDq3SSPPmgUuDjsrivFg3dtkK
hostname = some-host
port = 9001

In this example, my default device is the one at localhost:8384. If I wanted to send a command to the one at some-host:9001, it would look like stman --device remote-device ...

Usage

$ stman device list
$HOME/.config/syncthingmanager/syncthingmanager.conf doesn't appear to be a valid path. Exiting.
# Autoconfiguration
$ stman configure
# List configured devices
$ stman device list
syncthingmanager-test     This Device
    ID:     LYAB7ZG-XDVMAVM-OUZ7EAB-5N3UVWY-DXTFRJ4-U2MTHGQ-7TIBRJE-PC56BQ6

another-device     Connected
    At:     # Address removed
    Folders:    dotest
    ID:     H2AJWNR-5VYNWKM-PS2L2EE-QJYBG2U-3IFN5XM-EKSIIKF-NVLAG2E-KIQE4AE
# List configured folders
$ stman folder list
Default Folder
    Shared With:  
    Folder ID:  default
    Folder Path:    /home/syncthing/Sync/

do-test
    Shared With:  another-device
    Folder ID:  dotest
    Folder Path:    /home/syncthing/stman-test/
# Adding a device
$ stman device add MFZWI3D-BONSGYC-YLTMRWG-C43ENR5-QXGZDMM-FZWI3DP-BONSGYY-LTMRWAD -n yet-another-device -i

$ stman device list
syncthingmanager-test     This Device
    ID:     LYAB7ZG-XDVMAVM-OUZ7EAB-5N3UVWY-DXTFRJ4-U2MTHGQ-7TIBRJE-PC56BQ6

another-device     Connected
    At:     #Address removed
    Folders:    dotest
    ID:     H2AJWNR-5VYNWKM-PS2L2EE-QJYBG2U-3IFN5XM-EKSIIKF-NVLAG2E-KIQE4AE

yet-another-device     Not Connected
    Folders:    
    ID:     MFZWI3D-BONSGYC-YLTMRWG-C43ENR5-QXGZDMM-FZWI3DP-BONSGYY-LTMRWAD
# Share a folder with a device
$ stman folder share dotest yet-another-device
$ stman folder list
Default Folder
    Shared With:  
    Folder ID:  default
    Folder Path:    /home/syncthing/Sync/

do-test
    Shared With:  another-device, yet-another-device
    Folder ID:  dotest
    Folder Path:    /home/syncthing/stman-test/
# Configure and view advanced options
$ stman folder versioning dotest simple --versions 15
$ stman folder edit dotest -r 70
$ stman folder info dotest
do-test
    Shared With:  another-device, yet-another-device
    Folder ID:  dotest
    Folder Path:    /home/syncthing/stman-test/                
    Rescan Interval:    70
    File Pull Order:  alphabetic
    Versioning:       simple
    Keep Versions:      15

Other commands are documented in stman -h, stman command -h, and so on.

Notes

  • On Windows, cmd.exe will print funny characters in place of colors. PowerShell works fine.
  • Some information shown in the GUI requires use of the Events API, which isn't part of python-syncthing. I plan on creating Python bindings for it and using the results, but haven't started yet.
  • I chose to have the device list output be online first instead of alphabetical.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].