Syncthing Powershell module

I’m working on a Powershell module for Syncthing, and results so far are promising. Its main purpose is simplifying the rest API and saving time on huge tasks, like adding MANY folders at once. For example, “Get-SyncthingConfig” is in my opinion far more intuitive for a powersheller than Invoke-RestMethod -Uri “http://$Hostname”+":"+"$Port/rest/system/config" -Method Get

Does this already exist and I haven’t found it? Do you guys here need something like this? I believe syncthing management with Powershell is a requirement for many companies who would consider Syncthing.

So far I have functions for adding folder(s), restarting, upgrading, getting API key, getting and setting config, getting devices, getting folders, getting status and getting own device id. I’m currently working on adding device.

What other features/functions would be cool and/or necessary?

2 Likes

There is syncthing-cli which works on windows, but I guess that’s more bash friendly, also it doesn’t deal with bulk operations, hence you’d make a call per device.

Thanks, I’ve in the meantime looked at the syncthing-cli code to understand why some of my functions didn’t work. So far I have these functions:

  • Add-SyncthingDevice
  • Add-SyncthingFolder
  • Get-SyncthingAPIkey
  • Get-SyncthingConfig
  • Get-SyncthingDeviceID
  • Get-SyncthingDevices
  • Get-SyncthingFilesRemaining
  • Get-SyncthingFolders
  • Get-SyncthingStatus
  • Get-SyncthingSyncStatus
  • Get-SyncthingVersion
  • Install-Syncthing
  • Restart-Syncthing
  • Set-SyncthingConfig
  • Stop-Syncthing

Not quite ready to get public, just wanted to give a heads up :wink: