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