1SYNCTHING-CONFIG(5)                Syncthing               SYNCTHING-CONFIG(5)
2
3
4

NAME

6       syncthing-config - Syncthing Configuration
7

SYNOPSIS

9          $HOME/.config/syncthing
10          $HOME/Library/Application Support/Syncthing
11          %AppData%/Syncthing
12          %localappdata%/Syncthing
13

DESCRIPTION

15       Syncthing  uses  a single directory to store configuration, crypto keys
16       and index caches.  The  location  defaults  to  $HOME/.config/syncthing
17       (Unix-like),  $HOME/Library/Application  Support/Syncthing (Mac), %App‐
18       Data%/Syncthing (Windows XP) or %LocalAppData%/Syncthing (Windows  7+).
19       It  can  be  changed at runtime using the -home flag. In this directory
20       the following files are located:
21
22       config.xml
23              The configuration file, in XML format.
24
25       cert.pem, key.pem
26              The device’s ECDSA public and private key. These form the  basis
27              for the device ID. The key must be kept private.
28
29       https-cert.pem, https-key.pem
30              The  certificate and key for HTTPS GUI connections. These may be
31              replaced with a custom certificate for HTTPS as desired.
32
33       index-*.db
34              A directory holding the database with metadata and hashes of the
35              files currently on disk and available from peers.
36
37       csrftokens.txt
38              A  list  of  recently issued CSRF tokens (for protection against
39              browser cross site request forgery).
40

CONFIG FILE FORMAT

42       The following shows an example of the default configuration  file  (IDs
43       will differ):
44
45          <configuration version="26">
46              <folder id="zj2AA-q55a7" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="60" fsWatcherEnabled="false" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
47                  <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ"></device>
48                  <filesystemType>basic</filesystemType>
49                  <minDiskFree unit="%">1</minDiskFree>
50                  <versioning></versioning>
51                  <copiers>0</copiers>
52                  <pullers>0</pullers>
53                  <hashers>0</hashers>
54                  <order>random</order>
55                  <ignoreDelete>false</ignoreDelete>
56                  <scanProgressIntervalS>0</scanProgressIntervalS>
57                  <pullerPauseS>0</pullerPauseS>
58                  <maxConflicts>-1</maxConflicts>
59                  <disableSparseFiles>false</disableSparseFiles>
60                  <disableTempIndexes>false</disableTempIndexes>
61                  <paused>false</paused>
62                  <weakHashThresholdPct>25</weakHashThresholdPct>
63                  <markerName>.stfolder</markerName>
64              </folder>
65              <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
66                  <address>dynamic</address>
67                  <paused>false</paused>
68              </device>
69              <gui enabled="true" tls="false" debugging="false">
70                  <address>127.0.0.1:8384</address>
71                  <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
72                  <theme>default</theme>
73              </gui>
74              <options>
75                  <listenAddress>default</listenAddress>
76                  <globalAnnounceServer>default</globalAnnounceServer>
77                  <globalAnnounceEnabled>true</globalAnnounceEnabled>
78                  <localAnnounceEnabled>true</localAnnounceEnabled>
79                  <localAnnouncePort>21027</localAnnouncePort>
80                  <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
81                  <maxSendKbps>0</maxSendKbps>
82                  <maxRecvKbps>0</maxRecvKbps>
83                  <reconnectionIntervalS>60</reconnectionIntervalS>
84                  <relaysEnabled>true</relaysEnabled>
85                  <relayReconnectIntervalM>10</relayReconnectIntervalM>
86                  <startBrowser>true</startBrowser>
87                  <natEnabled>true</natEnabled>
88                  <natLeaseMinutes>60</natLeaseMinutes>
89                  <natRenewalMinutes>30</natRenewalMinutes>
90                  <natTimeoutSeconds>10</natTimeoutSeconds>
91                  <urAccepted>0</urAccepted>
92                  <urSeen>0</urSeen>
93                  <urUniqueID>LFWe2vn3</urUniqueID>
94                  <urURL>https://data.syncthing.net/newdata</urURL>
95                  <urPostInsecurely>false</urPostInsecurely>
96                  <urInitialDelayS>1800</urInitialDelayS>
97                  <restartOnWakeup>true</restartOnWakeup>
98                  <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
99                  <upgradeToPreReleases>false</upgradeToPreReleases>
100                  <keepTemporariesH>24</keepTemporariesH>
101                  <cacheIgnoredFiles>false</cacheIgnoredFiles>
102                  <progressUpdateIntervalS>5</progressUpdateIntervalS>
103                  <limitBandwidthInLan>false</limitBandwidthInLan>
104                  <minHomeDiskFree unit="%">1</minHomeDiskFree>
105                  <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
106                  <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
107                  <tempIndexMinBlocks>10</tempIndexMinBlocks>
108                  <trafficClass>0</trafficClass>
109                  <stunServer>default</stunServer>
110                  <stunKeepaliveSeconds>24</stunKeepaliveSeconds>
111                  <defaultFolderPath>~</defaultFolderPath>
112                  <minHomeDiskFreePct>0</minHomeDiskFreePct>
113                  <setLowPriority>true</setLowPriority>
114              </options>
115          </configuration>
116

CONFIGURATION ELEMENT

118          <configuration version="26">
119              <folder></folder>
120              <device></device>
121              <gui></gui>
122              <options></options>
123              <ignoredDevice>5SYI2FS-LW6YAXI-JJDYETS-NDBBPIO-256MWBO-XDPXWVG-24QPUM4-PDW4UQU</ignoredDevice>
124              <ignoredFolder>bd7q3-zskm5</ignoredFolder>
125          </configuration>
126
127       This is the root element. It has one attribute:
128
129       version
130              The  config  version.  Increments whenever a change is made that
131              requires migration from previous formats.
132
133       It contains the elements described in the following sections and  these
134       two additional child elements:
135
136       ignoredDevice
137              Contains the ID of the device that should be ignored. Connection
138              attempts from this device are logged to the  console  but  never
139              displayed in the web GUI.
140
141       ignoredFolder
142              Contains  the  ID  of  the  folder  that should be ignored. This
143              folder will always be skipped  when  advertised  from  a  remote
144              device,  i.e.  this  will be logged, but there will be no dialog
145              about it in the web GUI.
146

FOLDER ELEMENT

148          <folder id="zj2AA-q55a7" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="60" fsWatcherEnabled="false" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
149              <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ"></device>
150              <filesystemType>basic</filesystemType>
151              <minDiskFree unit="%">1</minDiskFree>
152              <versioning></versioning>
153              <copiers>0</copiers>
154              <pullers>0</pullers>
155              <hashers>0</hashers>
156              <order>random</order>
157              <ignoreDelete>false</ignoreDelete>
158              <scanProgressIntervalS>0</scanProgressIntervalS>
159              <pullerPauseS>0</pullerPauseS>
160              <maxConflicts>-1</maxConflicts>
161              <disableSparseFiles>false</disableSparseFiles>
162              <disableTempIndexes>false</disableTempIndexes>
163              <paused>false</paused>
164              <weakHashThresholdPct>25</weakHashThresholdPct>
165              <markerName>.stfolder</markerName>
166          </folder>
167
168       One or more folder elements must be present in the file.  Each  element
169       describes one folder. The following attributes may be set on the folder
170       element:
171
172       id     The folder ID, must be unique. (mandatory)
173
174       label  The label of a folder is a human readable and descriptive  local
175              name.  May  be different on each device, empty, and/or identical
176              to other folder labels. (optional)
177
178       path   The path to the directory where the folder  is  stored  on  this
179              device; not sent to other devices. (mandatory)
180
181       type   Controls how the folder is handled by Syncthing. Possible values
182              are:
183
184              sendreceive
185                     The folder is in default mode. Sending local and  accept‐
186                     ing  remote  changes.  Note that this type was previously
187                     called “readwrite” which is deprecated but still accepted
188                     in incoming configs.
189
190              sendonly
191                     The  folder is in “send only” mode – it will not be modi‐
192                     fied by Syncthing on this device.  Note  that  this  type
193                     was  previously called “readonly” which is deprecated but
194                     still accepted in incoming configs.
195
196              receiveonly
197                     The folder is in “receive only” mode – it will not propa‐
198                     gate changes to other devices.
199
200       rescanIntervalS
201              The  rescan  interval, in seconds. Can be set to zero to disable
202              when external plugins are used to trigger rescans.
203
204       fsWatcherEnabled
205              If enabled this detects changes to files in the folder and scans
206              them.
207
208       fsWatcherDelayS
209              The  duration  during  which  changes  detected are accumulated,
210              before a scan is scheduled (only takes  effect  if  fsWatcherEn‐
211              abled is true).
212
213       ignorePerms
214              True if the folder should ignore permissions.
215
216       autoNormalize
217              Automatically  correct  UTF-8 normalization errors found in file
218              names.
219
220       The following child elements may exist:
221
222       device These must have the id attribute and can  have  an  introducedBy
223              attribute,  identifying  the  device that introduced us to share
224              this folder with the given device.  If the  original  introducer
225              unshares  this  folder  with this device, our device will follow
226              and unshare  the  folder  (subject  to  skipIntroductionRemovals
227              being  false  on  the introducer device).  All mentioned devices
228              are those that will be sharing the  folder  in  question.   Each
229              mentioned  device  must  have a separate device element later in
230              the file.  It is customary that the local device ID is  included
231              in all folders.  Syncthing will currently add this automatically
232              if it is not present in the configuration file.
233
234       minDiskFree
235              The minimum required free space that should be available on  the
236              disk  this  folder  resides. The folder will be stopped when the
237              value drops below the threshold. Accepted units are %,  kB,  MB,
238              GB and TB. Set to zero to disable.
239
240       versioning
241              Specifies a versioning configuration.
242
243       SEE ALSO:
244          versioning
245
246       copiers, pullers, hashers
247              The number of copier, puller and hasher routines to use, or zero
248              for the system determined optimum. These are low  level  perfor‐
249              mance  options  for  advanced  users  only; do not change unless
250              requested to or you’ve actually read  and  understood  the  code
251              yourself. :)
252
253       order  The  order in which needed files should be pulled from the clus‐
254              ter.  The possibles values are:
255
256              random Pull files in random order. This optimizes for  balancing
257                     resources among the devices in a cluster.
258
259              alphabetic
260                     Pull files ordered by file name alphabetically.
261
262              smallestFirst, largestFirst
263                     Pull  files  ordered  by  file size; smallest and largest
264                     first respectively.
265
266              oldestFirst, newestFirst
267                     Pull files ordered by modification time; oldest and  new‐
268                     est first respectively.
269
270              Note  that the scanned files are sent in batches and the sorting
271              is applied only to the already discovered files. This means  the
272              sync  might  start  with  a 1 GB file even if there is 1 KB file
273              available on the source device until the 1 KB becomes  known  to
274              the pulling device.
275
276       ignoreDelete
277              When  set  to true, this device will pretend not to see instruc‐
278              tions to delete files from other devices.
279
280       scanProgressIntervalS
281              The interval with which scan progress information is sent to the
282              GUI. Zero means the default value (two seconds).
283
284       pullerPauseS
285              Tweak  for  rate  limiting  the  puller  when it retries pulling
286              files. Don’t change these unless you know what you’re doing.
287
288       maxConflicts
289              The maximum number of conflict copies to  keep  around  for  any
290              given file.  The default, -1, means an unlimited number. Setting
291              this to zero disables conflict copies altogether.
292
293       disableSparseFiles
294              By default, blocks containing all zeroes are not written,  caus‐
295              ing  files to be sparse on filesystems that support the concept.
296              When set to true, sparse files will not be created.
297
298       disableTempIndexes
299              By default, devices exchange information about blocks  available
300              in  transfers that are still in progress. When set to true, such
301              information is not exchanged for this folder.
302
303       paused True if this folder is (temporarily) suspended.
304
305       weakHashThresholdPct
306              Use weak hash if more than the given percentage of the file  has
307              changed. Set to -1 to always use weak hash. Default value is 25.
308
309       markerName
310              Name  of  a  directory  or file in the folder root to be used as
311              marker-faq. Default is “.stfolder”.
312
313       fsync  Deprecated since version v0.14.37.
314
315
316              Transfer updated (from other devices) files to permanent storage
317              before committing the changes to the internal database.
318
319       pullerSleepS
320              Deprecated since version v0.14.41.
321
322
323              Tweak  for  rate  limiting the puller. Don’t change these unless
324              you know what you’re doing.
325

DEVICE ELEMENT

327          <device id="5SYI2FS-LW6YAXI-JJDYETS-NDBBPIO-256MWBO-XDPXWVG-24QPUM4-PDW4UQU" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR">
328              <address>dynamic</address>
329          </device>
330          <device id="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR" name="syno local" compression="metadata" introducer="false">
331              <address>tcp://192.0.2.1:22001</address>
332              <paused>true<paused>
333              <allowedNetwork>192.168.0.0/16</allowedNetwork>
334              <autoAcceptFolders>false</autoAcceptFolders>
335              <maxSendKbps>100</maxSendKbps>
336              <maxRecvKbps>100</maxRecvKbps>
337              <maxRequestKiB>65536</maxRequestKiB>
338          </device>
339
340       One or more device elements must be present in the file.  Each  element
341       describes  a  device  participating  in the cluster. It is customary to
342       include a device element for the local device; Syncthing will currently
343       add  one  if  it is not present. The following attributes may be set on
344       the device element:
345
346       id     The device ID. This must be written in canonical form,  that  is
347              without any spaces or dashes. (mandatory)
348
349       name   A friendly name for the device. (optional)
350
351       compression
352              Whether  to  use  protocol  compression when sending messages to
353              this device.  The possible values are:
354
355              metadata
356                     Compress metadata packets,  such  as  index  information.
357                     Metadata  is usually very compression friendly so this is
358                     a good default.
359
360              always Compress all packets, including file data. This is recom‐
361                     mended  if  the  folders contents are mainly compressible
362                     data such as documents or text files.
363
364              never  Disable all compression.
365
366       introducer
367              Set to true if this device should be trusted as  an  introducer,
368              i.e.  we  should copy their list of devices per folder when con‐
369              necting.
370
371       SEE ALSO:
372          introducer
373
374       skipIntroductionRemovals
375              Set to true if you wish to follow  only  introductions  and  not
376              de-introductions.   For  example,  if  this is set, we would not
377              remove a device that we were introduced to even if the  original
378              introducer is no longer listing the remote device as known.
379
380       introducedBy
381              Defines which device has introduced us to this device. Used only
382              for following de-introductions.
383
384       certName
385              The device certificate common name, if it  is  not  the  default
386              “syncthing”.
387
388       From following child elements at least one address child must exist.
389
390       address
391              Contains  an address or host name to use when attempting to con‐
392              nect to this device.  Entries other than dynamic  must  be  pre‐
393              fixed  with  tcp:// (dual-stack), tcp4:// (IPv4 only) or tcp6://
394              (IPv6 only). Note that IP  addresses  need  not  use  tcp4/tcp6;
395              these are optional. Accepted formats are:
396
397              IPv4 address (tcp://192.0.2.42)
398                     The default port (22000) is used.
399
400              IPv4 address and port (tcp://192.0.2.42:12345)
401                     The address and port is used as given.
402
403              IPv6 address (tcp://[2001:db8::23:42])
404                     The  default  port  (22000)  is used. The address must be
405                     enclosed in square brackets.
406
407              IPv6 address and port (tcp://[2001:db8::23:42]:12345)
408                     The address and port is used as given. The  address  must
409                     be enclosed in square brackets.
410
411              Host name (tcp6://fileserver)
412                     The  host  name  will be used on the default port (22000)
413                     and connections will be attempted only via IPv6.
414
415              Host name and port (tcp://fileserver:12345)
416                     The host name will be used on the given port and  connec‐
417                     tions will be attempted via both IPv4 and IPv6, depending
418                     on name resolution.
419
420              dynamic
421                     The word dynamic (without tcp://  prefix)  means  to  use
422                     local and global discovery to find the device.
423
424              You  can  set multiple addresses and combine it with the dynamic
425              keyword for example:
426
427                 <device id="...">
428                     <address>tcp://192.0.2.1:22001</address>
429                     <address>tcp://192.0.1.254:22000</address>
430                     <address>dynamic</address>
431                 </device>
432
433       paused True if synchronization with this devices is (temporarily)  sus‐
434              pended.
435
436       allowedNetwork
437              If given, this restricts connections to this device to only this
438              network (see allowed-networks).
439
440       maxSendKbps
441              Maximum send rate to use for this device. Unit is kibibytes/sec‐
442              ond, despite the config name looking like kilobits/second.
443
444       maxRecvKbps
445              Maximum   receive   rate   to  use  for  this  device.  Unit  is
446              kibibytes/second, despite the config  name  looking  like  kilo‐
447              bits/second.
448
449       maxRequestKiB
450              Maximum  amount  of data to have outstanding in requests towards
451              this device.  Unit is kibibytes.
452

GUI ELEMENT

454          <gui enabled="true" tls="false" debugging="false">
455              <address>127.0.0.1:8384</address>
456              <apikey>l7jSbCqPD95JYZ0g8vi4ZLAMg3ulnN1b</apikey>
457              <theme>default</theme>
458          </gui>
459
460       There must be exactly one gui element. The GUI  configuration  is  also
461       used by the rest-api and the event-api. The following attributes may be
462       set on the gui element:
463
464       enabled
465              If not true, the GUI and API will not be started.
466
467       tls    If set to true, TLS (HTTPS) will be enforced. Non-HTTPS requests
468              will be redirected to HTTPS. When this is set to false, TLS con‐
469              nections are still possible but it is not mandatory.
470
471       debugging
472              This enables profiling and additional debugging endpoints in the
473              rest-api.
474
475       The following child elements may be present:
476
477       address
478              Set  the  listen  address.  One address element must be present.
479              Allowed address formats are:
480
481              IPv4 address and port (127.0.0.1:8384)
482                     The address and port is used as given.
483
484              IPv6 address and port ([::1]:8384)
485                     The address and port is used as given. The  address  must
486                     be enclosed in square brackets.
487
488              Wildcard and port (0.0.0.0:12345, [::]:12345, :12345)
489                     These are equivalent and will result in Syncthing listen‐
490                     ing on all interfaces via both IPv4 and IPv6.
491
492              UNIX socket location (/var/run/st.sock)
493                     If the address is an absolute path it is  interpreted  as
494                     the path to a UNIX socket.  (Added in v0.14.52.)
495
496       unixSocketPermissions
497              In the case that a UNIX socket location is used for address, set
498              this to an octal to override  the  default  permissions  of  the
499              socket.
500
501       user   Set to require authentication.
502
503       password
504              Contains the bcrypt hash of the real password.
505
506       apikey If  set,  this  is  the  API  key that enables usage of the REST
507              interface.
508
509       insecureAdminAccess
510              If true, this allows access to the web GUI  from  outside  (i.e.
511              not  localhost)  without authorization. A warning will displayed
512              about this setting on startup.
513
514       theme  The name of the theme to use.
515
516       authMode
517              Authentication mode to use. If not present  authentication  mode
518              (static)  is  controlled by presence of user/passward fields for
519              backward compatibility.
520
521              static Authentication using user and password.
522
523              ldap   LDAP authentication. Requires ldap top level config  sec‐
524                     tion to be present.
525

LDAP ELEMENT

527          <ldap>
528              <address>localhost:389</address>
529              <bindDN>cn=%s,ou=users,dc=syncthing,dc=net</bindDN>
530              <transport>nontls</transport>
531              <insecureSkipVerify>false</insecureSkipVerify>
532          </ldap>
533
534       The ldap element contains LDAP configuration options.
535
536       address
537              LDAP server address (server:port).
538
539       bindDN BindDN  for  user authentication.  Special %s variable shoild be
540              used to pass username to LDAP.
541
542       transport
543
544          nontls Non secure connection.
545
546          tls    TLS secured connection.
547
548          starttls
549                 StartTLS connection mode.
550
551       insecureSkipVerify
552              Skip verification (true or false).
553

OPTIONS ELEMENT

555          <options>
556              <listenAddress>default</listenAddress>
557              <globalAnnounceServer>default</globalAnnounceServer>
558              <globalAnnounceEnabled>true</globalAnnounceEnabled>
559              <localAnnounceEnabled>true</localAnnounceEnabled>
560              <localAnnouncePort>21027</localAnnouncePort>
561              <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
562              <maxSendKbps>0</maxSendKbps>
563              <maxRecvKbps>0</maxRecvKbps>
564              <reconnectionIntervalS>60</reconnectionIntervalS>
565              <relaysEnabled>true</relaysEnabled>
566              <relayReconnectIntervalM>10</relayReconnectIntervalM>
567              <startBrowser>true</startBrowser>
568              <natEnabled>true</natEnabled>
569              <natLeaseMinutes>60</natLeaseMinutes>
570              <natRenewalMinutes>30</natRenewalMinutes>
571              <natTimeoutSeconds>10</natTimeoutSeconds>
572              <urAccepted>0</urAccepted>
573              <urUniqueID></urUniqueID>
574              <urURL>https://data.syncthing.net/newdata</urURL>
575              <urPostInsecurely>false</urPostInsecurely>
576              <urInitialDelayS>1800</urInitialDelayS>
577              <restartOnWakeup>true</restartOnWakeup>
578              <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
579              <keepTemporariesH>24</keepTemporariesH>
580              <cacheIgnoredFiles>false</cacheIgnoredFiles>
581              <progressUpdateIntervalS>5</progressUpdateIntervalS>
582              <limitBandwidthInLan>false</limitBandwidthInLan>
583              <minHomeDiskFree unit="%">1</minHomeDiskFree>
584              <releasesURL>https://api.github.com/repos/syncthing/syncthing/releases?per_page=30</releasesURL>
585              <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
586              <tempIndexMinBlocks>10</tempIndexMinBlocks>
587              <defaultFolderPath>~</defaultFolderPath>
588          </options>
589
590       The options element contains all other global configuration options.
591
592       listenAddress
593              The listen address for incoming  sync  connections.  See  Listen
594              Addresses for allowed syntax.
595
596       globalAnnounceServer
597              A  URI  to  a  global  announce  (discovery) server, or the word
598              default to include the default servers. Any number of  globalAn‐
599              nounceServer elements may be present. The syntax for non-default
600              entries is that of a HTTP or HTTPS URL. A number of options  may
601              be  added  as query options to the URL: insecure to prevent cer‐
602              tificate validation (required for HTTP URLs) and id=<device  ID>
603              to  perform certificate pinning. The device ID to use is printed
604              by the discovery server on startup.
605
606       globalAnnounceEnabled
607              Whether to announce this device to the global announce  (discov‐
608              ery) server, and also use it to look up other devices.
609
610       localAnnounceEnabled
611              Whether  to  send  announcements to the local LAN, also use such
612              announcements to find other devices.
613
614       localAnnouncePort
615              The port on which to listen and send  IPv4  broadcast  announce‐
616              ments to.
617
618       localAnnounceMCAddr
619              The  group  address  and  port  to  join and send IPv6 multicast
620              announcements on.
621
622       maxSendKbps
623              Outgoing data rate limit, in kibibytes per second.
624
625       maxRecvKbps
626              Incoming data rate limits, in kibibytes per second.
627
628       reconnectionIntervalS
629              The number of seconds to wait between each attempt to connect to
630              currently unconnected devices.
631
632       relaysEnabled
633              When  true, relays will be connected to and potentially used for
634              device to device connections.
635
636       relayReconnectIntervalM
637              Sets the interval, in minutes, between relay reconnect attempts.
638
639       startBrowser
640              Whether to attempt to start a browser to show the GUI when Sync‐
641              thing starts.
642
643       natEnabled
644              Whether  to  attempt  to perform a UPnP and NAT-PMP port mapping
645              for incoming sync connections.
646
647       natLeaseMinutes
648              Request a lease for this many minutes; zero to request a  perma‐
649              nent lease.
650
651       natRenewalMinutes
652              Attempt to renew the lease after this many minutes.
653
654       natTimeoutSeconds
655              When scanning for UPnP devices, wait this long for responses.
656
657       urAccepted
658              Whether  the  user  has accepted to submit anonymous usage data.
659              The default, 0, mean the user has not made a choice,  and  Sync‐
660              thing  will ask at some point in the future. -1 means no, a num‐
661              ber above zero means that that version of  usage  reporting  has
662              been accepted.
663
664       urSeen The  highest usage reporting version that has already been shown
665              in the web GUI.
666
667       urUniqueID
668              The unique ID sent together with  the  usage  report.  Generated
669              when usage reporting is enabled.
670
671       urURL  The URL to post usage report data to, when enabled.
672
673       urPostInsecurely
674              When  true,  the  UR URL can be http instead of https, or have a
675              self-signed certificate. The default is false.
676
677       urInitialDelayS
678              The time to wait from startup to the first  usage  report  being
679              sent.  Allows  the  system to stabilize before reporting statis‐
680              tics.
681
682       restartOnWakeup
683              Whether to perform a restart of Syncthing when  it  is  detected
684              that we are waking from sleep mode (i.e. a folded up laptop).
685
686       autoUpgradeIntervalH
687              Check  for a newer version after this many hours. Set to zero to
688              disable automatic upgrades.
689
690       upgradeToPreReleases
691              If true, automatic  upgrades  include  release  candidates  (see
692              release-channels).
693
694       keepTemporariesH
695              Keep  temporary  failed transfers for this many hours. While the
696              temporaries are kept, the data they contain need not  be  trans‐
697              ferred again.
698
699       cacheIgnoredFiles
700              Whether  to cache the results of ignore pattern evaluation. Per‐
701              formance at the price of memory. Defaults to false as  the  cost
702              for evaluating ignores is usually not significant.
703
704       progressUpdateIntervalS
705              How  often  in seconds the progress of ongoing downloads is made
706              available to the GUI.
707
708       limitBandwidthInLan
709              Whether to apply bandwidth limits to devices in the same  broad‐
710              cast domain as the local device.
711
712       minHomeDiskFree
713              The  minimum required free space that should be available on the
714              partition holding the configuration and  index.  Accepted  units
715              are %, kB, MB, GB and TB.
716
717       releasesURL
718              The  URL from which release information is loaded, for automatic
719              upgrades.
720
721       alwaysLocalNet
722              Network that should be considered as local given in  CIDR  nota‐
723              tion.
724
725       overwriteRemoteDeviceNamesOnConnect
726              If  set,  device  names will always be overwritten with the name
727              given by remote on each connection. By default,  the  name  that
728              the remote device announces will only be adopted when a name has
729              not already been set.
730
731       tempIndexMinBlocks
732              When exchanging index information for incomplete transfers, only
733              take into account files that have at least this many blocks.
734
735       unackedNotificationID
736              ID  of  a  notification  to be displayed in the web GUI. Will be
737              removed once the user acknowledged it (e.g. an transition notice
738              on an upgrade).
739
740       trafficClass
741              Specify  a type of service (TOS)/traffic class of outgoing pack‐
742              ets.
743
744       stunServer
745              Server to be used  for  STUN,  given  as  ip:port.  The  keyword
746              default gets expanded to stun.callwithus.com:3478, stun.counter‐
747              path.com:3478,  stun.counterpath.net:3478,  stun.ekiga.net:3478,
748              stun.ideasip.com:3478,              stun.internetcalls.com:3478,
749              stun.schlund.de:3478,     stun.sipgate.net:10000,      stun.sip‐
750              gate.net:3478,                          stun.voip.aebc.com:3478,
751              stun.voiparound.com:3478,  stun.voipbuster.com:3478,  stun.voip‐
752              stunt.com:3478 and stun.xten.com:3478 (this is the default).
753
754       stunKeepaliveSeconds
755              Interval in seconds between contacting a STUN server to maintain
756              NAT mapping. Default is 24 and you can set it to  0  to  disable
757              contacting STUN servers.
758
759       defaultFolderPath
760              The UI will propose to create new folders at this path. This can
761              be disabled by setting this to an empty string.
762
763       setLowPriority
764              Syncthing will attempt to lower its process priority at startup.
765              Specifically:  on Linux, set itself to a separate process group,
766              set the niceness level of that process group to nine and the I/O
767              priority  to  best  effort  level five; on other Unixes, set the
768              process niceness level to nine; on Windows, set the process pri‐
769              ority class to below normal. To disable this behavior, for exam‐
770              ple to control process priority yourself as  part  of  launching
771              Syncthing, set this option to false.
772
773   Listen Addresses
774       The  following  address  types  are  accepted  in  sync protocol listen
775       addresses. If you want Syncthing to listen on multiple  addresses,  you
776       can have multiple <listenAddress> tags. The same is achieved in the GUI
777       by entering several addresses separated by comma.
778
779       Default listen addresses (default)
780              This is equivalent to tcp://0.0.0.0:22000,  quic://0.0.0.0:22000
781              and dynamic+https://relays.syncthing.net/endpoint.
782
783       TCP wildcard and port (tcp://0.0.0.0:22000, tcp://:22000)
784              These  are  equivalent and will result in Syncthing listening on
785              all interfaces, IPv4 and IPv6, on the specified port.
786
787       TCP IPv4 wildcard and port (tcp4://0.0.0.0:22000, tcp4://:22000)
788              These are equivalent and will result in Syncthing  listening  on
789              all interfaces via IPv4 only.
790
791       TCP IPv4 address and port (tcp4://192.0.2.1:22000)
792              This results in Syncthing listening on the specified address and
793              port, IPv4 only.
794
795       TCP IPv6 wildcard and port (tcp6://[::]:22000, tcp6://:22000)
796              These are equivalent and will result in Syncthing  listening  on
797              all interfaces via IPv6 only.
798
799       TCP IPv6 address and port (tcp6://[2001:db8::42]:22000)
800              This results in Syncthing listening on the specified address and
801              port, IPv6 only.
802
803       QUIC address and port (e.g. quic://0.0.0.0:22000)
804              Syntax is the same as for TCP, also quic4 and quic6 can be used.
805
806       Static relay address (relay://192.0.2.42:22067?id=abcd123...)
807              Syncthing will connect to and listen  for  incoming  connections
808              via the specified relay address.
809
810   Todo
811       Document available URL parameters.
812
813       Dynamic relay pool (dynamic+https://192.0.2.42/relays)
814              Syncthing  will  fetch  the  specified HTTPS URL, parse it for a
815              JSON payload describing relays, select a relay from  the  avail‐
816              able  ones and listen via that as if specified as a static relay
817              above.
818
819   Todo
820       Document available URL parameters.
821

SYNCING CONFIGURATION FILES

823       Syncing configuration files between devices (such that multiple devices
824       are  using the same configuration files) can cause issues. This is easy
825       to do accidentally if you sync your home folder between devices. A com‐
826       mon  symptom  of  syncing  configuration files is two devices ending up
827       with the same Device ID.
828
829       If you want to use Syncthing to backup your configuration files, it  is
830       recommended  that the files you are backing up are in a folder-sendonly
831       to prevent other devices from overwriting the per device configuration.
832       The  folder on the remote device(s) should not be used as configuration
833       for the remote devices.
834
835       If you’d like to sync your home folder in non-send only mode,  you  may
836       add  the folder that stores the configuration files to the ignore list.
837       If you’d also like to backup  your  configuration  files,  add  another
838       folder in send only mode for just the configuration folder.
839

AUTHOR

841       The Syncthing Authors
842
844       2014-2019, The Syncthing Authors
845
846
847
848
849v1                               Mar 17, 2020              SYNCTHING-CONFIG(5)
Impressum