How to set up Syncthing with a tray icon on a Windows PC you don't have admin rights to
Tags: syncthing, windows, enterprise, hacks
Published: 2022-12-15 23:23:24

First things first: I do not recommend SyncTrayzor as it bundles the Syncthing binary. As such, it does not have the latest build of the latter. As a longtime user of various sync software, I absolutely assure you that you will always want to be running the latest build as the very nature of syncing makes it more vulnerable to bugs.

## Step 1: Download [Syncthing](https://syncthing.net/downloads/) & [Syncthing Tray](https://github.com/Martchus/syncthingtray/releases)

While downloading Syncthing should be straightforward (just choose the build matching your platform), Syncthing Tray is a bit trickier. Download the highest `*x86_64-w64-mingw32.exe.zip` version number.

Neither app has a Windows installer in 2022(!!!) so you'll have to extract the archives to your desired locations. I recommend `C:\Users\YourUsername\Syncthing` for Syncthing and `C:\Users\YourUsername\Syncthing Tray` for Syncthing Tray.

## Step 2: Start and configure Syncthing

* Double-click on the corresponding executable from Step 1. A console window should open up and the web UI should open in your default browser
* Note the URL (should be `http://127.0.0.1:8384`) as you'll have to use it later
* Click `Actions`
* Click `Settings` 
* Click the `GUI` tab
* Enter your desired username in `GUI Authentication User`
* Enter your desired password in `GUI Authentication Password`
* Click `Save`

The browser will show a login dialog. Login using the username and password you just set.

Note that if you don't set a username and password for Syncthing, any account on the host machine will be able to access the web UI.

## Step 3: Exit Syncthing

* Close the web UI browser tab
* Close the console window

## Step 4: Start and configure Syncthing Tray

* Double-click on the corresponding executable from Step 1
* Right-click the corresponding system tray icon
* Click `Settings`
* Click `Startup`
* In the `Autostart` tab, check the `Start the tray icon when the desktop environment launches` box
* In the `Syncthing launcher` tab, check the `Launch Syncthing when starting the tray icon` box
* In the `Syncthing executable` field, enter `C:/Users/YourUsername/Syncthing/syncthing.exe`
* Click `Apply`
* Click `Tray`
* Enter the URL from Step 2 in the `Syncthing URL` field
* Check the `Authentication` box
* Enter the username from Step 2 in the `User` field
* Enter the password from Step 2 in the `Password` field
* Click `Insert values from local Syncthing configuration` to populate the `API key` field
* Ensure the `Connect automatically on startup` box is checked
* Click `Apply`
* Click `OK`

## Step 5: Exit Syncthing Tray

* Right-click on the tray icon
* Click `Close`

## Step 6: Start Syncthing Tray

Start Syncthing Tray as before. The icon should turn green shortly.

## Step 7: Set up a 2nd PC

Repeat Steps 1 to 6. We'll call this PC2 and the 1st machine PC1.

## Step 8: Connect PC1 and PC2

Follow [these instructions](https://docs.syncthing.net/intro/getting-started.html). To share a folder that resides outside the default folder (`C:\Users\YourUsername\Sync`):

* On PC1, right-click the Syncthing Tray tray icon 
* Click `Open Syncthing`
* In the ensuing web UI, click `Add Folder`
* Enter a folder label under `Folder Label`
* Enter your desired path under `Folder Path`
* Click the `Sharing` tab
* Check the box next to the hostname of the machine you want to share this folder with
* Click `Save`
* On PC2, right-click the Syncthing Tray tray icon 
* Click `Open Syncthing`
* Click `Add` in the folder notification at the top of the page
* Set the desired folder label and path as above
* Click the `Sharing` tab
* Ensure the box for PC1 is selected  
* Click `Save`

Your folders should now sync.

The above instructions should be very useful for limited privilege users in corporate/enterprise environments. A couple things to remember:

1. Syncthing is P2P and does not use cloud resources. As such, it's good for data that's not allowed to be in the cloud. This is especially the case for VPN overlay environments such as Zscaler, etc: as peer devices are *always* on the same network, transmitted data never "exits" the organization.
2. Because Syncthing is P2P, all data exists on the peer devices themselves. People who travel - especially internationally - with client devices should be very mindful and aware of statutory and regulatory data location/export restrictions.
3. If you have admin rights or are using your own machines, I strongly suggest [using Resilio Sync instead](https://github.com/jdrch/Hardware/wiki/Why-I-Use-Resilio-Sync-Instead-of-Syncthing) unless you're absolutely insistent on FLOSS solutons. Resilio is overall more polished, easier to setup, and has much better mobile client support.
4. 1 major advantage of Syncthing being portable is you can move an entire installation between machines just via copying the application folder from 1 to the other. Note that you may have to edit folder paths, delete and recreate the Default Folder entry in the web GUI on the new machine, etc. to get everything set up again.