1SYNCTHING-CONFIG(5) Syncthing SYNCTHING-CONFIG(5)
2
3
4
6 syncthing-config - Syncthing Configuration
7
9 $HOME/.config/syncthing
10 $HOME/Library/Application Support/Syncthing
11 %LOCALAPPDATA%\Syncthing
12
14 New in version 1.5.0: Database and config can now be set separately.
15 Previously the database was always located in the same directory as the
16 config.
17
18
19 Syncthing uses a single directory to store configuration and crypto
20 keys. Syncthing also has a database, which is often stored in this di‐
21 rectory too. The config location defaults to $HOME/.config/syncthing
22 (Unix-like), $HOME/Library/Application Support/Syncthing (Mac), or %LO‐
23 CALAPPDATA%\Syncthing (Windows). It can be changed at runtime using the
24 --config flag. In this directory the following files are located:
25
26 config.xml
27 The configuration file, in XML format.
28
29 cert.pem, key.pem
30 The device’s ECDSA public and private key. These form the basis
31 for the device ID. The key must be kept private.
32
33 https-cert.pem, https-key.pem
34 The certificate and key for HTTPS GUI connections. These may be
35 replaced with a custom certificate for HTTPS as desired.
36
37 csrftokens.txt
38 A list of recently issued CSRF tokens (for protection against
39 browser cross site request forgery).
40
41 The database is stored either in the same directory as the config (usu‐
42 ally the default), but may also be located in one of the following di‐
43 rectories (Unix-like platforms only):
44
45 • If a database exists in the old default location, that location is
46 still used.
47
48 • If $XDG_DATA_HOME is set, use $XDG_DATA_HOME/syncthing.
49
50 • If ~/.local/share/syncthing exists, use that location.
51
52 • Use the old default location (same as config).
53
54 The location of the database can be changed using the --data flag. The
55 --home flag sets both config and database locations at the same time.
56 The database contains the following files:
57
58 index-*.db
59 A directory holding the database with metadata and hashes of the
60 files currently on disk and available from peers.
61
63 The following shows an example of a default configuration file (IDs
64 will differ):
65
66 NOTE:
67 The config examples are present for illustration. Do not copy them
68 entirely to use as your config. They are likely out-of-date and the
69 values may no longer correspond to the defaults.
70
71 <configuration version="35">
72 <folder id="default" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
73 <filesystemType>basic</filesystemType>
74 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
75 <encryptionPassword></encryptionPassword>
76 </device>
77 <minDiskFree unit="%">1</minDiskFree>
78 <versioning>
79 <cleanupIntervalS>3600</cleanupIntervalS>
80 <fsPath></fsPath>
81 <fsType>basic</fsType>
82 </versioning>
83 <copiers>0</copiers>
84 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
85 <hashers>0</hashers>
86 <order>random</order>
87 <ignoreDelete>false</ignoreDelete>
88 <scanProgressIntervalS>0</scanProgressIntervalS>
89 <pullerPauseS>0</pullerPauseS>
90 <maxConflicts>-1</maxConflicts>
91 <disableSparseFiles>false</disableSparseFiles>
92 <disableTempIndexes>false</disableTempIndexes>
93 <paused>false</paused>
94 <weakHashThresholdPct>25</weakHashThresholdPct>
95 <markerName>.stfolder</markerName>
96 <copyOwnershipFromParent>false</copyOwnershipFromParent>
97 <modTimeWindowS>0</modTimeWindowS>
98 <maxConcurrentWrites>2</maxConcurrentWrites>
99 <disableFsync>false</disableFsync>
100 <blockPullOrder>standard</blockPullOrder>
101 <copyRangeMethod>standard</copyRangeMethod>
102 <caseSensitiveFS>false</caseSensitiveFS>
103 <junctionsAsDirs>false</junctionsAsDirs>
104 </folder>
105 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
106 <address>dynamic</address>
107 <paused>false</paused>
108 <autoAcceptFolders>false</autoAcceptFolders>
109 <maxSendKbps>0</maxSendKbps>
110 <maxRecvKbps>0</maxRecvKbps>
111 <ignoredFolder time="2022-01-09T19:09:52Z" id="br63e-wyhb7" label="Foo"></ignoredFolder>
112 <maxRequestKiB>0</maxRequestKiB>
113 <untrusted>false</untrusted>
114 <remoteGUIPort>0</remoteGUIPort>
115 </device>
116 <gui enabled="true" tls="false" debugging="false">
117 <address>127.0.0.1:8384</address>
118 <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
119 <theme>default</theme>
120 </gui>
121 <ldap></ldap>
122 <options>
123 <listenAddress>default</listenAddress>
124 <globalAnnounceServer>default</globalAnnounceServer>
125 <globalAnnounceEnabled>true</globalAnnounceEnabled>
126 <localAnnounceEnabled>true</localAnnounceEnabled>
127 <localAnnouncePort>21027</localAnnouncePort>
128 <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
129 <maxSendKbps>0</maxSendKbps>
130 <maxRecvKbps>0</maxRecvKbps>
131 <reconnectionIntervalS>60</reconnectionIntervalS>
132 <relaysEnabled>true</relaysEnabled>
133 <relayReconnectIntervalM>10</relayReconnectIntervalM>
134 <startBrowser>true</startBrowser>
135 <natEnabled>true</natEnabled>
136 <natLeaseMinutes>60</natLeaseMinutes>
137 <natRenewalMinutes>30</natRenewalMinutes>
138 <natTimeoutSeconds>10</natTimeoutSeconds>
139 <urAccepted>0</urAccepted>
140 <urSeen>0</urSeen>
141 <urUniqueID></urUniqueID>
142 <urURL>https://data.syncthing.net/newdata</urURL>
143 <urPostInsecurely>false</urPostInsecurely>
144 <urInitialDelayS>1800</urInitialDelayS>
145 <restartOnWakeup>true</restartOnWakeup>
146 <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
147 <upgradeToPreReleases>false</upgradeToPreReleases>
148 <keepTemporariesH>24</keepTemporariesH>
149 <cacheIgnoredFiles>false</cacheIgnoredFiles>
150 <progressUpdateIntervalS>5</progressUpdateIntervalS>
151 <limitBandwidthInLan>false</limitBandwidthInLan>
152 <minHomeDiskFree unit="%">1</minHomeDiskFree>
153 <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
154 <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
155 <tempIndexMinBlocks>10</tempIndexMinBlocks>
156 <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
157 <trafficClass>0</trafficClass>
158 <setLowPriority>true</setLowPriority>
159 <maxFolderConcurrency>0</maxFolderConcurrency>
160 <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
161 <crashReportingEnabled>true</crashReportingEnabled>
162 <stunKeepaliveStartS>180</stunKeepaliveStartS>
163 <stunKeepaliveMinS>20</stunKeepaliveMinS>
164 <stunServer>default</stunServer>
165 <databaseTuning>auto</databaseTuning>
166 <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
167 <announceLANAddresses>true</announceLANAddresses>
168 <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
169 <connectionLimitEnough>0</connectionLimitEnough>
170 <connectionLimitMax>0</connectionLimitMax>
171 <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
172 </options>
173 <remoteIgnoredDevice time="2022-01-09T20:02:01Z" id="5SYI2FS-LW6YAXI-JJDYETS-NDBBPIO-256MWBO-XDPXWVG-24QPUM4-PDW4UQU" name="bugger" address="192.168.0.20:22000"></remoteIgnoredDevice>
174 <defaults>
175 <folder id="" label="" path="~" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
176 <filesystemType>basic</filesystemType>
177 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
178 <encryptionPassword></encryptionPassword>
179 </device>
180 <minDiskFree unit="%">1</minDiskFree>
181 <versioning>
182 <cleanupIntervalS>3600</cleanupIntervalS>
183 <fsPath></fsPath>
184 <fsType>basic</fsType>
185 </versioning>
186 <copiers>0</copiers>
187 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
188 <hashers>0</hashers>
189 <order>random</order>
190 <ignoreDelete>false</ignoreDelete>
191 <scanProgressIntervalS>0</scanProgressIntervalS>
192 <pullerPauseS>0</pullerPauseS>
193 <maxConflicts>10</maxConflicts>
194 <disableSparseFiles>false</disableSparseFiles>
195 <disableTempIndexes>false</disableTempIndexes>
196 <paused>false</paused>
197 <weakHashThresholdPct>25</weakHashThresholdPct>
198 <markerName>.stfolder</markerName>
199 <copyOwnershipFromParent>false</copyOwnershipFromParent>
200 <modTimeWindowS>0</modTimeWindowS>
201 <maxConcurrentWrites>2</maxConcurrentWrites>
202 <disableFsync>false</disableFsync>
203 <blockPullOrder>standard</blockPullOrder>
204 <copyRangeMethod>standard</copyRangeMethod>
205 <caseSensitiveFS>false</caseSensitiveFS>
206 <junctionsAsDirs>false</junctionsAsDirs>
207 </folder>
208 <device id="" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
209 <address>dynamic</address>
210 <paused>false</paused>
211 <autoAcceptFolders>false</autoAcceptFolders>
212 <maxSendKbps>0</maxSendKbps>
213 <maxRecvKbps>0</maxRecvKbps>
214 <maxRequestKiB>0</maxRequestKiB>
215 <untrusted>false</untrusted>
216 <remoteGUIPort>0</remoteGUIPort>
217 </device>
218 </defaults>
219 </configuration>
220
222 <configuration version="35">
223 <folder></folder>
224 <device></device>
225 <gui></gui>
226 <ldap></ldap>
227 <options></options>
228 <remoteIgnoredDevice></remoteIgnoredDevice>
229 <defaults></defaults>
230 </configuration>
231
232 This is the root element. It has one attribute:
233
234 version
235 The config version. Increments whenever a change is made that
236 requires migration from previous formats.
237
238 It contains the elements described in the following sections and any
239 number of this additional child element:
240
241 remoteIgnoredDevice
242 Contains the ID of the device that should be ignored. Connection
243 attempts from this device are logged to the console but never
244 displayed in the web GUI.
245
247 <folder id="default" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
248 <filesystemType>basic</filesystemType>
249 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
250 <encryptionPassword></encryptionPassword>
251 </device>
252 <minDiskFree unit="%">1</minDiskFree>
253 <versioning>
254 <cleanupIntervalS>3600</cleanupIntervalS>
255 <fsPath></fsPath>
256 <fsType>basic</fsType>
257 </versioning>
258 <copiers>0</copiers>
259 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
260 <hashers>0</hashers>
261 <order>random</order>
262 <ignoreDelete>false</ignoreDelete>
263 <scanProgressIntervalS>0</scanProgressIntervalS>
264 <pullerPauseS>0</pullerPauseS>
265 <maxConflicts>-1</maxConflicts>
266 <disableSparseFiles>false</disableSparseFiles>
267 <disableTempIndexes>false</disableTempIndexes>
268 <paused>false</paused>
269 <weakHashThresholdPct>25</weakHashThresholdPct>
270 <markerName>.stfolder</markerName>
271 <copyOwnershipFromParent>false</copyOwnershipFromParent>
272 <modTimeWindowS>0</modTimeWindowS>
273 <maxConcurrentWrites>2</maxConcurrentWrites>
274 <disableFsync>false</disableFsync>
275 <blockPullOrder>standard</blockPullOrder>
276 <copyRangeMethod>standard</copyRangeMethod>
277 <caseSensitiveFS>false</caseSensitiveFS>
278 <junctionsAsDirs>false</junctionsAsDirs>
279 </folder>
280
281 One or more folder elements must be present in the file. Each element
282 describes one folder. The following attributes may be set on the folder
283 element:
284
285 id (mandatory)
286 The folder ID, which must be unique.
287
288 label The label of a folder is a human readable and descriptive local
289 name. May be different on each device, empty, and/or identical
290 to other folder labels. (optional)
291
292 filesystemType
293 The internal file system implementation used to access this
294 folder, detailed in a separate chapter.
295
296 path (mandatory)
297 The path to the directory where the folder is stored on this de‐
298 vice; not sent to other devices.
299
300 type Controls how the folder is handled by Syncthing. Possible values
301 are:
302
303 sendreceive
304 The folder is in default mode. Sending local and accept‐
305 ing remote changes. Note that this type was previously
306 called “readwrite” which is deprecated but still accepted
307 in incoming configs.
308
309 sendonly
310 The folder is in “send only” mode – it will not be modi‐
311 fied by Syncthing on this device. Note that this type
312 was previously called “readonly” which is deprecated but
313 still accepted in incoming configs.
314
315 receiveonly
316 The folder is in “receive only” mode – it will not propa‐
317 gate changes to other devices.
318
319 receiveencrypted
320 Must be used on untrusted devices, where the data cannot
321 be decrypted because no folder password was entered. See
322 untrusted.
323
324 rescanIntervalS
325 The rescan interval, in seconds. Can be set to 0 to disable when
326 external plugins are used to trigger rescans.
327
328 fsWatcherEnabled
329 If set to true, this detects changes to files in the folder and
330 scans them.
331
332 fsWatcherDelayS
333 The duration during which changes detected are accumulated, be‐
334 fore a scan is scheduled (only takes effect if fsWatcherEnabled
335 is set to true).
336
337 ignorePerms
338 If true, files originating from this folder will be announced to
339 remote devices with the “no permission bits” flag. The remote
340 devices will use whatever their default permission setting is
341 when creating the files. The primary use case is for file sys‐
342 tems that do not support permissions, such as FAT, or environ‐
343 ments where changing permissions is impossible.
344
345 autoNormalize
346 Automatically correct UTF-8 normalization errors found in file
347 names. The mechanism and how to set it up is described in a
348 separate chapter.
349
350 The following child elements may exist:
351
352 device These must have the id attribute and can have an introducedBy
353 attribute, identifying the device that introduced us to share
354 this folder with the given device. If the original introducer
355 unshares this folder with this device, our device will follow
356 and unshare the folder (subject to skipIntroductionRemovals be‐
357 ing false on the introducer device).
358
359 All mentioned devices are those that will be sharing the folder
360 in question. Each mentioned device must have a separate device
361 element later in the file. It is customary that the local de‐
362 vice ID is included in all folders. Syncthing will currently
363 add this automatically if it is not present in the configuration
364 file.
365
366 The encryptionPassword sub-element contains the secret needed to
367 decrypt this folder’s data on the remote device. If left empty,
368 the data is plainly accessible (but still protected by the
369 transport encryption). The mechanism and how to set it up is
370 described in a separate chapter.
371
372 minDiskFree
373 The minimum required free space that should be available on the
374 disk this folder resides. The folder will be stopped when the
375 value drops below the threshold. The element content is inter‐
376 preted according to the given unit attribute. Accepted unit
377 values are % (percent of the disk / volume size), kB, MB, GB and
378 TB. Set to zero to disable.
379
380 versioning
381 Specifies a versioning configuration.
382
383 SEE ALSO:
384 versioning
385
386 copiers
387
388 hashers
389 The number of copier and hasher routines to use, or 0 for the
390 system determined optimums. These are low-level performance op‐
391 tions for advanced users only; do not change unless requested to
392 or you’ve actually read and understood the code yourself. :)
393
394 pullerMaxPendingKiB
395 Controls when we stop sending requests to other devices once
396 we’ve got this much unserved requests. The number of pullers is
397 automatically adjusted based on this desired amount of outstand‐
398 ing request data.
399
400 order The order in which needed files should be pulled from the clus‐
401 ter. It has no effect when the folder type is “send only”. The
402 possibles values are:
403
404 random (default)
405 Pull files in random order. This optimizes for balancing
406 resources among the devices in a cluster.
407
408 alphabetic
409 Pull files ordered by file name alphabetically.
410
411 smallestFirst, largestFirst
412 Pull files ordered by file size; smallest and largest
413 first respectively.
414
415 oldestFirst, newestFirst
416 Pull files ordered by modification time; oldest and new‐
417 est first respectively.
418
419 Note that the scanned files are sent in batches and the sorting
420 is applied only to the already discovered files. This means the
421 sync might start with a 1 GB file even if there is 1 KB file
422 available on the source device until the 1 KB becomes known to
423 the pulling device.
424
425 ignoreDelete
426 WARNING:
427 Enabling this is highly discouraged - use at your own risk.
428 You have been warned.
429
430 When set to true, this device will pretend not to see instruc‐
431 tions to delete files from other devices. The mechanism is de‐
432 scribed in a separate chapter.
433
434 scanProgressIntervalS
435 The interval in seconds with which scan progress information is
436 sent to the GUI. Setting to 0 will cause Syncthing to use the
437 default value of two.
438
439 pullerPauseS
440 Tweak for rate limiting the puller when it retries pulling
441 files. Don’t change this unless you know what you’re doing.
442
443 maxConflicts
444 The maximum number of conflict copies to keep around for any
445 given file. The default, -1, means an unlimited number. Setting
446 this to 0 disables conflict copies altogether.
447
448 disableSparseFiles
449 By default, blocks containing all zeros are not written, causing
450 files to be sparse on filesystems that support this feature.
451 When set to true, sparse files will not be created.
452
453 disableTempIndexes
454 By default, devices exchange information about blocks available
455 in transfers that are still in progress, which allows other de‐
456 vices to download parts of files that are not yet fully down‐
457 loaded on your own device, essentially making transfers more
458 torrent like. When set to true, such information is not ex‐
459 changed for this folder.
460
461 paused True if this folder is (temporarily) suspended.
462
463 weakHashThresholdPct
464 Use weak hash if more than the given percentage of the file has
465 changed. Set to -1 to always use weak hash. Default is 25.
466
467 markerName
468 Name of a directory or file in the folder root to be used as
469 marker-faq. Default is .stfolder.
470
471 copyOwnershipFromParent
472 On Unix systems, tries to copy file/folder ownership from the
473 parent directory (the directory it’s located in). Requires run‐
474 ning Syncthing as a privileged user, or granting it additional
475 capabilities (e.g. CAP_CHOWN on Linux).
476
477 modTimeWindowS
478 Allowed modification timestamp difference when comparing files
479 for equivalence. To be used on file systems which have unstable
480 modification timestamps that might change after being recorded
481 during the last write operation. Default is 2 on Android when
482 the folder is located on a FAT partition, and 0 otherwise.
483
484 maxConcurrentWrites
485 Maximum number of concurrent write operations while syncing. In‐
486 creasing this might increase or decrease disk performance, de‐
487 pending on the underlying storage. Default is 2.
488
489 disableFsync
490 WARNING:
491 This is a known insecure option - use at your own risk.
492
493 Disables committing file operations to disk before recording
494 them in the database. Disabling fsync can lead to data corrup‐
495 tion. The mechanism is described in a separate chapter.
496
497 blockPullOrder
498 Order in which the blocks of a file are downloaded. This option
499 controls how quickly different parts of the file spread between
500 the connected devices, at the cost of causing strain on the
501 storage.
502
503 Available options:
504
505 standard (default)
506 The blocks of a file are split into N equal continuous
507 sequences, where N is the number of connected devices.
508 Each device starts downloading its own sequence, after
509 which it picks other devices sequences at random. Pro‐
510 vides acceptable data distribution and minimal spinning
511 disk strain.
512
513 random The blocks of a file are downloaded in a random order.
514 Provides great data distribution, but very taxing on
515 spinning disk drives.
516
517 inOrder
518 The blocks of a file are downloaded sequentially, from
519 start to finish. Spinning disk drive friendly, but pro‐
520 vides no improvements to data distribution.
521
522 copyRangeMethod
523 Provides a choice of method for copying data between files.
524 This can be used to optimise copies on network filesystems, im‐
525 prove speed of large copies or clone the data using
526 copy-on-write functionality if the underlying filesystem sup‐
527 ports it. The mechanism is described in a separate chapter.
528
529 caseSensitiveFS
530 Affects performance by disabling the extra safety checks for
531 case insensitive filesystems. The mechanism and how to set it
532 up is described in a separate chapter.
533
534 junctionsAsDirs
535 NTFS directory junctions are treated as ordinary directories, if
536 this is set to true.
537
539 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR">
540 <address>dynamic</address>
541 <paused>false</paused>
542 <autoAcceptFolders>false</autoAcceptFolders>
543 <maxSendKbps>0</maxSendKbps>
544 <maxRecvKbps>0</maxRecvKbps>
545 <ignoredFolder time="2022-01-09T19:09:52Z" id="br63e-wyhb7" label="Foo"></ignoredFolder>
546 <maxRequestKiB>0</maxRequestKiB>
547 <untrusted>false</untrusted>
548 <remoteGUIPort>0</remoteGUIPort>
549 </device>
550 <device id="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR" name="syno local" compression="metadata" introducer="true" skipIntroductionRemovals="false" introducedBy="">
551 <address>tcp://192.0.2.1:22001</address>
552 <paused>true</paused>
553 <allowedNetwork>192.168.0.0/16</allowedNetwork>
554 <autoAcceptFolders>false</autoAcceptFolders>
555 <maxSendKbps>100</maxSendKbps>
556 <maxRecvKbps>100</maxRecvKbps>
557 <maxRequestKiB>65536</maxRequestKiB>
558 <untrusted>false</untrusted>
559 <remoteGUIPort>8384</remoteGUIPort>
560 </device>
561
562 One or more device elements must be present in the file. Each element
563 describes a device participating in the cluster. It is customary to in‐
564 clude a device element for the local device; Syncthing will currently
565 add one if it is not present. The following attributes may be set on
566 the device element:
567
568 id (mandatory)
569 The device ID.
570
571 name A friendly name for the device. (optional)
572
573 compression
574 Whether to use protocol compression when sending messages to
575 this device. The possible values are:
576
577 metadata
578 Compress metadata packets, such as index information.
579 Metadata is usually very compression friendly so this is
580 a good default.
581
582 always Compress all packets, including file data. This is recom‐
583 mended if the folders contents are mainly compressible
584 data such as documents or text files.
585
586 never Disable all compression.
587
588 introducer
589 Set to true if this device should be trusted as an introducer,
590 i.e. we should copy their list of devices per folder when con‐
591 necting.
592
593 SEE ALSO:
594 introducer
595
596 skipIntroductionRemovals
597 Set to true if you wish to follow only introductions and not
598 de-introductions. For example, if this is set, we would not re‐
599 move a device that we were introduced to even if the original
600 introducer is no longer listing the remote device as known.
601
602 introducedBy
603 Defines which device has introduced us to this device. Used only
604 for following de-introductions.
605
606 certName
607 The device certificate’s common name, if it is not the default
608 “syncthing”.
609
610 From the following child elements at least one address child must ex‐
611 ist.
612
613 address (mandatory: At least one must be present.)
614 Contains an address or host name to use when attempting to con‐
615 nect to this device. Entries other than dynamic need a protocol
616 specific prefix. For the TCP protocol the prefixes tcp://
617 (dual-stack), tcp4:// (IPv4 only) or tcp6:// (IPv6 only) can be
618 used. The prefixes for the QUIC protocol are analogous:
619 quic://, quic4:// and quic6:// Note that IP addresses need not
620 use IPv4 or IPv6 prefixes; these are optional. Accepted formats
621 are:
622
623 IPv4 address (tcp://192.0.2.42)
624 The default port (22000) is used.
625
626 IPv4 address and port (tcp://192.0.2.42:12345)
627 The address and port is used as given.
628
629 IPv6 address (tcp://[2001:db8::23:42])
630 The default port (22000) is used. The address must be en‐
631 closed in square brackets.
632
633 IPv6 address and port (tcp://[2001:db8::23:42]:12345)
634 The address and port is used as given. The address must
635 be enclosed in square brackets.
636
637 Host name (tcp6://fileserver)
638 The host name will be used on the default port (22000)
639 and connections will be attempted only via IPv6.
640
641 Host name and port (tcp://fileserver:12345)
642 The host name will be used on the given port and connec‐
643 tions will be attempted via both IPv4 and IPv6, depending
644 on name resolution.
645
646 dynamic
647 The word dynamic (without any prefix) means to use local
648 and global discovery to find the device.
649
650 You can set multiple addresses and combine it with the dynamic
651 keyword for example:
652
653 <device id="...">
654 <address>tcp://192.0.2.1:22001</address>
655 <address>quic://192.0.1.254:22000</address>
656 <address>dynamic</address>
657 </device>
658
659 paused True if synchronization with this devices is (temporarily) sus‐
660 pended.
661
662 allowedNetwork
663 If given, this restricts connections to this device to only this
664 network. The mechanism is described in detail in a separate
665 chapter).
666
667 autoAcceptFolders
668 If true, folders shared from this remote device are automati‐
669 cally added and synced locally under the default path. For the
670 folder name, Syncthing tries to use the label from the remote
671 device, and if the same label already exists, it then tries to
672 use the folder’s ID. If that exists as well, the folder is just
673 offered to accept manually. A local folder already added with
674 the same ID will just be shared rather than created separately.
675
676 maxSendKbps
677 Maximum send rate to use for this device. Unit is kibibytes/sec‐
678 ond, despite the config name looking like kilobits/second.
679
680 maxRecvKbps
681 Maximum receive rate to use for this device. Unit is
682 kibibytes/second, despite the config name looking like kilo‐
683 bits/second.
684
685 ignoredFolder
686 Contains the ID of the folder that should be ignored. This
687 folder will always be skipped when advertised from the contain‐
688 ing remote device, i.e. this will be logged, but there will be
689 no dialog shown in the web GUI.
690
691 maxRequestKiB
692 Maximum amount of data to have outstanding in requests towards
693 this device. Unit is kibibytes.
694
695 remoteGUIPort
696 If set to a positive integer, the GUI will display an HTTP link
697 to the IP address which is currently used for synchronization.
698 Only the TCP port is exchanged for the value specified here.
699 Note that any port forwarding or firewall settings need to be
700 done manually and the link will probably not work for link-local
701 IPv6 addresses because of modern browser limitations.
702
703 untrusted
704 This boolean value marks a particular device as untrusted, which
705 disallows ever sharing any unencrypted data with it. Every
706 folder shared with that device then needs an encryption password
707 set, or must already be of the “receive encrypted” type locally.
708 Refer to the detailed explanation under untrusted.
709
711 <gui enabled="true" tls="false" debugging="false">
712 <address>127.0.0.1:8384</address>
713 <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
714 <theme>default</theme>
715 </gui>
716
717 There must be exactly one gui element. The GUI configuration is also
718 used by the /dev/rest and the /dev/events. The following attributes may
719 be set on the gui element:
720
721 enabled
722 If not true, the GUI and API will not be started.
723
724 tls If set to true, TLS (HTTPS) will be enforced. Non-HTTPS requests
725 will be redirected to HTTPS. When set to false, TLS connections
726 are still possible but not required.
727
728 debugging
729 This enables /users/profiling and additional endpoints in the
730 REST API, see /rest/debug.
731
732 The following child elements may be present:
733
734 address (mandatory: Exactly one element must be present.)
735 Set the listen address. Allowed address formats are:
736
737 IPv4 address and port (127.0.0.1:8384)
738 The address and port are used as given.
739
740 IPv6 address and port ([::1]:8384)
741 The address and port are used as given. The address must
742 be enclosed in square brackets.
743
744 Wildcard and port (0.0.0.0:12345, [::]:12345, :12345)
745 These are equivalent and will result in Syncthing listen‐
746 ing on all interfaces via both IPv4 and IPv6.
747
748 UNIX socket location (/var/run/st.sock)
749 If the address is an absolute path it is interpreted as
750 the path to a UNIX socket.
751
752 unixSocketPermissions
753 When address is set to a UNIX socket location, set this to an
754 octal value to override the default permissions of the socket.
755
756 user Set to require authentication.
757
758 password
759 Contains the bcrypt hash of the real password.
760
761 apikey If set, this is the API key that enables usage of the REST in‐
762 terface.
763
764 insecureAdminAccess
765 If true, this allows access to the web GUI from outside (i.e.
766 not localhost) without authorization. A warning will displayed
767 about this setting on startup.
768
769 insecureSkipHostcheck
770 When the GUI / API is bound to localhost, we enforce that the
771 Host header looks like localhost. This option bypasses that
772 check.
773
774 insecureAllowFrameLoading
775 Allow rendering the GUI within an <iframe>, <frame> or <object>
776 by not setting the X-Frame-Options: SAMEORIGIN HTTP header.
777 This may be needed for serving the Syncthing GUI as part of a
778 website through a proxy.
779
780 theme The name of the theme to use.
781
782 authMode
783 Authentication mode to use. If not present, the authentication
784 mode (static) is controlled by the presence of user/password
785 fields for backward compatibility.
786
787 static Authentication using user and password.
788
789 ldap LDAP authentication. Requires ldap top level config sec‐
790 tion to be present.
791
793 <ldap>
794 <address>localhost:389</address>
795 <bindDN>cn=%s,ou=users,dc=syncthing,dc=net</bindDN>
796 <transport>nontls</transport>
797 <insecureSkipVerify>false</insecureSkipVerify>
798 </ldap>
799
800 The ldap element contains LDAP configuration options. The mechanism is
801 described in detail under ldap.
802
803 address (mandatory)
804 LDAP server address (server:port).
805
806 bindDN (mandatory)
807 BindDN for user authentication. Special %s variable should
808 be used to pass username to LDAP.
809
810 transport
811
812 nontls Non secure connection.
813
814 tls TLS secured connection.
815
816 starttls
817 StartTLS connection mode.
818
819 insecureSkipVerify
820 Skip verification (true or false).
821
822 searchBaseDN
823 Base DN for user searches.
824
825 searchFilter
826 Search filter for user searches.
827
829 <options>
830 <listenAddress>default</listenAddress>
831 <globalAnnounceServer>default</globalAnnounceServer>
832 <globalAnnounceEnabled>true</globalAnnounceEnabled>
833 <localAnnounceEnabled>true</localAnnounceEnabled>
834 <localAnnouncePort>21027</localAnnouncePort>
835 <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
836 <maxSendKbps>0</maxSendKbps>
837 <maxRecvKbps>0</maxRecvKbps>
838 <reconnectionIntervalS>60</reconnectionIntervalS>
839 <relaysEnabled>true</relaysEnabled>
840 <relayReconnectIntervalM>10</relayReconnectIntervalM>
841 <startBrowser>true</startBrowser>
842 <natEnabled>true</natEnabled>
843 <natLeaseMinutes>60</natLeaseMinutes>
844 <natRenewalMinutes>30</natRenewalMinutes>
845 <natTimeoutSeconds>10</natTimeoutSeconds>
846 <urAccepted>0</urAccepted>
847 <urSeen>0</urSeen>
848 <urUniqueID></urUniqueID>
849 <urURL>https://data.syncthing.net/newdata</urURL>
850 <urPostInsecurely>false</urPostInsecurely>
851 <urInitialDelayS>1800</urInitialDelayS>
852 <restartOnWakeup>true</restartOnWakeup>
853 <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
854 <upgradeToPreReleases>false</upgradeToPreReleases>
855 <keepTemporariesH>24</keepTemporariesH>
856 <cacheIgnoredFiles>false</cacheIgnoredFiles>
857 <progressUpdateIntervalS>5</progressUpdateIntervalS>
858 <limitBandwidthInLan>false</limitBandwidthInLan>
859 <minHomeDiskFree unit="%">1</minHomeDiskFree>
860 <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
861 <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
862 <tempIndexMinBlocks>10</tempIndexMinBlocks>
863 <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
864 <trafficClass>0</trafficClass>
865 <setLowPriority>true</setLowPriority>
866 <maxFolderConcurrency>0</maxFolderConcurrency>
867 <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
868 <crashReportingEnabled>true</crashReportingEnabled>
869 <stunKeepaliveStartS>180</stunKeepaliveStartS>
870 <stunKeepaliveMinS>20</stunKeepaliveMinS>
871 <stunServer>default</stunServer>
872 <databaseTuning>auto</databaseTuning>
873 <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
874 <announceLANAddresses>true</announceLANAddresses>
875 <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
876 <connectionLimitEnough>0</connectionLimitEnough>
877 <connectionLimitMax>0</connectionLimitMax>
878 <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
879 </options>
880
881 The options element contains all other global configuration options.
882
883 listenAddress
884 The listen address for incoming sync connections. See Listen Ad‐
885 dresses for the allowed syntax.
886
887 globalAnnounceServer
888 A URI to a global announce (discovery) server, or the word de‐
889 fault to include the default servers. Any number of globalAn‐
890 nounceServer elements may be present. The syntax for non-default
891 entries is that of an HTTP or HTTPS URL. A number of options may
892 be added as query options to the URL: insecure to prevent cer‐
893 tificate validation (required for HTTP URLs) and id=<device ID>
894 to perform certificate pinning. The device ID to use is printed
895 by the discovery server on startup.
896
897 globalAnnounceEnabled
898 Whether to announce this device to the global announce (discov‐
899 ery) server, and also use it to look up other devices.
900
901 localAnnounceEnabled
902 Whether to send announcements to the local LAN, also use such
903 announcements to find other devices.
904
905 localAnnouncePort
906 The port on which to listen and send IPv4 broadcast announce‐
907 ments to.
908
909 localAnnounceMCAddr
910 The group address and port to join and send IPv6 multicast an‐
911 nouncements on.
912
913 maxSendKbps
914 Outgoing data rate limit, in kibibytes per second.
915
916 maxRecvKbps
917 Incoming data rate limits, in kibibytes per second.
918
919 reconnectionIntervalS
920 The number of seconds to wait between each attempt to connect to
921 currently unconnected devices.
922
923 relaysEnabled
924 When true, relays will be connected to and potentially used for
925 device to device connections.
926
927 relayReconnectIntervalM
928 Sets the interval, in minutes, between relay reconnect attempts.
929
930 startBrowser
931 Whether to attempt to start a browser to show the GUI when Sync‐
932 thing starts.
933
934 natEnabled
935 Whether to attempt to perform a UPnP and NAT-PMP port mapping
936 for incoming sync connections.
937
938 natLeaseMinutes
939 Request a lease for this many minutes; zero to request a perma‐
940 nent lease.
941
942 natRenewalMinutes
943 Attempt to renew the lease after this many minutes.
944
945 natTimeoutSeconds
946 When scanning for UPnP devices, wait this long for responses.
947
948 urAccepted
949 Whether the user has accepted to submit anonymous usage data.
950 The default, 0, mean the user has not made a choice, and Sync‐
951 thing will ask at some point in the future. -1 means no, a num‐
952 ber above zero means that that version of usage reporting has
953 been accepted.
954
955 urSeen The highest usage reporting version that has already been shown
956 in the web GUI.
957
958 urUniqueID
959 The unique ID sent together with the usage report. Generated
960 when usage reporting is enabled.
961
962 urURL The URL to post usage report data to, when enabled.
963
964 urPostInsecurely
965 When true, the UR URL can be http instead of https, or have a
966 self-signed certificate. The default is false.
967
968 urInitialDelayS
969 The time to wait from startup for the first usage report to be
970 sent. Allows the system to stabilize before reporting statis‐
971 tics.
972
973 restartOnWakeup
974 Whether to perform a restart of Syncthing when it is detected
975 that we are waking from sleep mode (i.e. an unfolding laptop).
976
977 autoUpgradeIntervalH
978 Check for a newer version after this many hours. Set to 0 to
979 disable automatic upgrades.
980
981 upgradeToPreReleases
982 If true, automatic upgrades include release candidates (see re‐
983 leases).
984
985 keepTemporariesH
986 Keep temporary failed transfers for this many hours. While the
987 temporaries are kept, the data they contain need not be trans‐
988 ferred again.
989
990 cacheIgnoredFiles
991 Whether to cache the results of ignore pattern evaluation. Per‐
992 formance at the price of memory. Defaults to false as the cost
993 for evaluating ignores is usually not significant.
994
995 progressUpdateIntervalS
996 How often in seconds the progress of ongoing downloads is made
997 available to the GUI.
998
999 limitBandwidthInLan
1000 Whether to apply bandwidth limits to devices in the same broad‐
1001 cast domain as the local device.
1002
1003 minHomeDiskFree
1004 The minimum required free space that should be available on the
1005 partition holding the configuration and index. The element con‐
1006 tent is interpreted according to the given unit attribute. Ac‐
1007 cepted unit values are % (percent of the disk / volume size),
1008 kB, MB, GB and TB. Set to zero to disable.
1009
1010 releasesURL
1011 The URL from which release information is loaded, for automatic
1012 upgrades.
1013
1014 alwaysLocalNet
1015 Network that should be considered as local given in CIDR nota‐
1016 tion.
1017
1018 overwriteRemoteDeviceNamesOnConnect
1019 If set, device names will always be overwritten with the name
1020 given by remote on each connection. By default, the name that
1021 the remote device announces will only be adopted when a name has
1022 not already been set.
1023
1024 tempIndexMinBlocks
1025 When exchanging index information for incomplete transfers, only
1026 take into account files that have at least this many blocks.
1027
1028 unackedNotificationID
1029 ID of a notification to be displayed in the web GUI. Will be re‐
1030 moved once the user acknowledged it (e.g. an transition notice
1031 on an upgrade).
1032
1033 trafficClass
1034 Specify a type of service (TOS)/traffic class of outgoing pack‐
1035 ets.
1036
1037 stunServer
1038 Server to be used for STUN, given as ip:port. The keyword de‐
1039 fault gets expanded to stun.callwithus.com:3478, stun.counter‐
1040 path.com:3478, stun.counterpath.net:3478, stun.ekiga.net:3478,
1041 stun.ideasip.com:3478, stun.internetcalls.com:3478,
1042 stun.schlund.de:3478, stun.sipgate.net:10000, stun.sip‐
1043 gate.net:3478, stun.voip.aebc.com:3478,
1044 stun.voiparound.com:3478, stun.voipbuster.com:3478, stun.voip‐
1045 stunt.com:3478 and stun.xten.com:3478 (this is the default).
1046
1047 stunKeepaliveStartS
1048 Interval in seconds between contacting a STUN server to maintain
1049 NAT mapping. Default is 24 and you can set it to 0 to disable
1050 contacting STUN servers. The interval is automatically reduced
1051 if needed, down to a minimum of stunKeepaliveMinS.
1052
1053 stunKeepaliveMinS
1054 Minimum for the stunKeepaliveStartS interval, in seconds.
1055
1056 setLowPriority
1057 Syncthing will attempt to lower its process priority at startup.
1058 Specifically: on Linux, set itself to a separate process group,
1059 set the niceness level of that process group to nine and the I/O
1060 priority to best effort level five; on other Unixes, set the
1061 process niceness level to nine; on Windows, set the process pri‐
1062 ority class to below normal. To disable this behavior, for exam‐
1063 ple to control process priority yourself as part of launching
1064 Syncthing, set this option to false.
1065
1066 maxFolderConcurrency
1067 This option controls how many folders may concurrently be in
1068 I/O-intensive operations such as syncing or scanning. The mech‐
1069 anism is described in detail in a separate chapter.
1070
1071 crashReportingURL
1072 Server URL where automatic crash reports will be sent if en‐
1073 abled.
1074
1075 crashReportingEnabled
1076 Switch to opt out from the automatic crash reporting feature.
1077 Set false to keep Syncthing from sending panic logs on serious
1078 troubles. Defaults to true, to help the developers trou‐
1079 bleshoot.
1080
1081 databaseTuning
1082 Controls how Syncthing uses the backend key-value database that
1083 stores the index data and other persistent data it needs. The
1084 available options and implications are explained in a separate
1085 chapter.
1086
1087 maxConcurrentIncomingRequestKiB
1088 This limits how many bytes we have “in the air” in the form of
1089 response data being read and processed.
1090
1091 announceLANAddresses
1092 Enable (the default) or disable announcing private (RFC1918) LAN
1093 IP addresses to global discovery.
1094
1095 sendFullIndexOnUpgrade
1096 Controls whether all index data is resent when an upgrade has
1097 happened, equivalent to starting Syncthing with --reset-deltas.
1098 This used to be the default behavior in older versions, but is
1099 mainly useful as a troubleshooting step and causes high database
1100 churn. The default is now false.
1101
1102 featureFlag
1103 Feature flags are simple strings that, when added to the config‐
1104 uration, may unleash unfinished or still-in-development features
1105 to allow early user testing. Any supported value will be sepa‐
1106 rately announced with the feature, so that regular users do not
1107 enable it by accident.
1108
1109 connectionLimitEnough
1110 The number of connections at which we stop trying to connect to
1111 more devices, zero meaning no limit. Does not affect incoming
1112 connections. The mechanism is described in detail in a separate
1113 chapter.
1114
1115 connectionLimitMax
1116 The maximum number of connections which we will allow in total,
1117 zero meaning no limit. Affects incoming connections and pre‐
1118 vents attempting outgoing connections. The mechanism is de‐
1119 scribed in detail in a separate chapter.
1120
1121 insecureAllowOldTLSVersions
1122 Only for compatibility with old versions of Syncthing on remote
1123 devices, as detailed in /advanced/option-insecure-al‐
1124 low-old-tls-versions.
1125
1127 <defaults>
1128 <folder id="" label="" path="~" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
1129 <filesystemType>basic</filesystemType>
1130 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
1131 <encryptionPassword></encryptionPassword>
1132 </device>
1133 <minDiskFree unit="%">1</minDiskFree>
1134 <versioning>
1135 <cleanupIntervalS>3600</cleanupIntervalS>
1136 <fsPath></fsPath>
1137 <fsType>basic</fsType>
1138 </versioning>
1139 <copiers>0</copiers>
1140 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
1141 <hashers>0</hashers>
1142 <order>random</order>
1143 <ignoreDelete>false</ignoreDelete>
1144 <scanProgressIntervalS>0</scanProgressIntervalS>
1145 <pullerPauseS>0</pullerPauseS>
1146 <maxConflicts>10</maxConflicts>
1147 <disableSparseFiles>false</disableSparseFiles>
1148 <disableTempIndexes>false</disableTempIndexes>
1149 <paused>false</paused>
1150 <weakHashThresholdPct>25</weakHashThresholdPct>
1151 <markerName>.stfolder</markerName>
1152 <copyOwnershipFromParent>false</copyOwnershipFromParent>
1153 <modTimeWindowS>0</modTimeWindowS>
1154 <maxConcurrentWrites>2</maxConcurrentWrites>
1155 <disableFsync>false</disableFsync>
1156 <blockPullOrder>standard</blockPullOrder>
1157 <copyRangeMethod>standard</copyRangeMethod>
1158 <caseSensitiveFS>false</caseSensitiveFS>
1159 <junctionsAsDirs>false</junctionsAsDirs>
1160 </folder>
1161 <device id="" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
1162 <address>dynamic</address>
1163 <paused>false</paused>
1164 <autoAcceptFolders>false</autoAcceptFolders>
1165 <maxSendKbps>0</maxSendKbps>
1166 <maxRecvKbps>0</maxRecvKbps>
1167 <maxRequestKiB>0</maxRequestKiB>
1168 <untrusted>false</untrusted>
1169 <remoteGUIPort>0</remoteGUIPort>
1170 </device>
1171 <ignores>
1172 <line>!foo2</line>
1173 <line>// comment</line>
1174 <line>(?d).DS_Store</line>
1175 <line>*2</line>
1176 <line>qu*</line>
1177 </ignores>
1178 </defaults>
1179
1180 The defaults element describes a template for newly added device and
1181 folder options. These will be used when adding a new remote device or
1182 folder, either through the GUI or the command line interface. The fol‐
1183 lowing child elements can be present in the defaults element:
1184
1185 device Template for a device element, with the same internal structure.
1186 Any fields here will be used for a newly added remote device.
1187 The id attribute is meaningless in this context.
1188
1189 folder Template for a folder element, with the same internal structure.
1190 Any fields here will be used for a newly added shared folder.
1191 The id attribute is meaningless in this context.
1192
1193 The UI will propose to create new folders at the path given in
1194 the path attribute (used to be defaultFolderPath under options).
1195 It also applies to folders automatically accepted from a remote
1196 device.
1197
1198 Even sharing with other remote devices can be done in the tem‐
1199 plate by including the appropriate folder.device element under‐
1200 neath.
1201
1202 ignores
1203 New in version 1.19.0.
1204
1205
1206 Template for the ignore patterns applied to new folders. These
1207 are copied to the .stignore file when a folder is automatically
1208 accepted from a remote device. The GUI uses them to pre-fill
1209 the respective field when adding a new folder as well. In XML,
1210 each pattern line is represented as by a <line> element.
1211
1212 Listen Addresses
1213 The following address types are accepted in sync protocol listen ad‐
1214 dresses. If you want Syncthing to listen on multiple addresses, you
1215 can either: add multiple <listenAddress> tags in the configuration file
1216 or enter several addresses separated by commas in the GUI.
1217
1218 Default listen addresses (default)
1219 This is equivalent to tcp://0.0.0.0:22000, quic://0.0.0.0:22000
1220 and dynamic+https://relays.syncthing.net/endpoint.
1221
1222 TCP wildcard and port (tcp://0.0.0.0:22000, tcp://:22000)
1223 These are equivalent and will result in Syncthing listening on
1224 all interfaces, IPv4 and IPv6, on the specified port.
1225
1226 TCP IPv4 wildcard and port (tcp4://0.0.0.0:22000, tcp4://:22000)
1227 These are equivalent and will result in Syncthing listening on
1228 all interfaces via IPv4 only.
1229
1230 TCP IPv4 address and port (tcp4://192.0.2.1:22000)
1231 This results in Syncthing listening on the specified address and
1232 port, IPv4 only.
1233
1234 TCP IPv6 wildcard and port (tcp6://[::]:22000, tcp6://:22000)
1235 These are equivalent and will result in Syncthing listening on
1236 all interfaces via IPv6 only.
1237
1238 TCP IPv6 address and port (tcp6://[2001:db8::42]:22000)
1239 This results in Syncthing listening on the specified address and
1240 port, IPv6 only.
1241
1242 QUIC address and port (e.g. quic://0.0.0.0:22000)
1243 Syntax is the same as for TCP, also quic4 and quic6 can be used.
1244
1245 Static relay address (relay://192.0.2.42:22067?id=abcd123...)
1246 Syncthing will connect to and listen for incoming connections
1247 via the specified relay address.
1248
1249 Todo
1250 Document available URL parameters.
1251
1252 Dynamic relay pool (dynamic+https://192.0.2.42/relays)
1253 Syncthing will fetch the specified HTTPS URL, parse it for a
1254 JSON payload describing relays, select a relay from the avail‐
1255 able ones and listen via that as if specified as a static relay
1256 above.
1257
1258 Todo
1259 Document available URL parameters.
1260
1262 Syncing configuration files between devices (such that multiple devices
1263 are using the same configuration files) can cause issues. This is easy
1264 to do accidentally if you sync your home folder between devices. A com‐
1265 mon symptom of syncing configuration files is two devices ending up
1266 with the same Device ID.
1267
1268 If you want to use Syncthing to backup your configuration files, it is
1269 recommended that the files you are backing up are in a folder-sendonly
1270 to prevent other devices from overwriting the per device configuration.
1271 The folder on the remote device(s) should not be used as configuration
1272 for the remote devices.
1273
1274 If you’d like to sync your home folder in non-send only mode, you may
1275 add the folder that stores the configuration files to the ignore list.
1276 If you’d also like to backup your configuration files, add another
1277 folder in send only mode for just the configuration folder.
1278
1280 The Syncthing Authors
1281
1283 2014-2019, The Syncthing Authors
1284
1285
1286
1287
1288v1.20.0 May 08, 2022 SYNCTHING-CONFIG(5)