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 <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
150 <upgradeToPreReleases>false</upgradeToPreReleases>
151 <keepTemporariesH>24</keepTemporariesH>
152 <cacheIgnoredFiles>false</cacheIgnoredFiles>
153 <progressUpdateIntervalS>5</progressUpdateIntervalS>
154 <limitBandwidthInLan>false</limitBandwidthInLan>
155 <minHomeDiskFree unit="%">1</minHomeDiskFree>
156 <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
157 <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
158 <tempIndexMinBlocks>10</tempIndexMinBlocks>
159 <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
160 <trafficClass>0</trafficClass>
161 <setLowPriority>true</setLowPriority>
162 <maxFolderConcurrency>0</maxFolderConcurrency>
163 <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
164 <crashReportingEnabled>true</crashReportingEnabled>
165 <stunKeepaliveStartS>180</stunKeepaliveStartS>
166 <stunKeepaliveMinS>20</stunKeepaliveMinS>
167 <stunServer>default</stunServer>
168 <databaseTuning>auto</databaseTuning>
169 <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
170 <announceLANAddresses>true</announceLANAddresses>
171 <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
172 <connectionLimitEnough>0</connectionLimitEnough>
173 <connectionLimitMax>0</connectionLimitMax>
174 <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
175 </options>
176 <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>
177 <defaults>
178 <folder id="" label="" path="~" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
179 <filesystemType>basic</filesystemType>
180 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
181 <encryptionPassword></encryptionPassword>
182 </device>
183 <minDiskFree unit="%">1</minDiskFree>
184 <versioning>
185 <cleanupIntervalS>3600</cleanupIntervalS>
186 <fsPath></fsPath>
187 <fsType>basic</fsType>
188 </versioning>
189 <copiers>0</copiers>
190 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
191 <hashers>0</hashers>
192 <order>random</order>
193 <ignoreDelete>false</ignoreDelete>
194 <scanProgressIntervalS>0</scanProgressIntervalS>
195 <pullerPauseS>0</pullerPauseS>
196 <maxConflicts>10</maxConflicts>
197 <disableSparseFiles>false</disableSparseFiles>
198 <disableTempIndexes>false</disableTempIndexes>
199 <paused>false</paused>
200 <weakHashThresholdPct>25</weakHashThresholdPct>
201 <markerName>.stfolder</markerName>
202 <copyOwnershipFromParent>false</copyOwnershipFromParent>
203 <modTimeWindowS>0</modTimeWindowS>
204 <maxConcurrentWrites>2</maxConcurrentWrites>
205 <disableFsync>false</disableFsync>
206 <blockPullOrder>standard</blockPullOrder>
207 <copyRangeMethod>standard</copyRangeMethod>
208 <caseSensitiveFS>false</caseSensitiveFS>
209 <junctionsAsDirs>false</junctionsAsDirs>
210 <syncOwnership>false</syncOwnership>
211 <sendOwnership>false</sendOwnership>
212 <syncXattrs>false</syncXattrs>
213 <sendXattrs>false</sendXattrs>
214 </folder>
215 <device id="" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
216 <address>dynamic</address>
217 <paused>false</paused>
218 <autoAcceptFolders>false</autoAcceptFolders>
219 <maxSendKbps>0</maxSendKbps>
220 <maxRecvKbps>0</maxRecvKbps>
221 <maxRequestKiB>0</maxRequestKiB>
222 <untrusted>false</untrusted>
223 <remoteGUIPort>0</remoteGUIPort>
224 </device>
225 </defaults>
226 </configuration>
227
229 <configuration version="37">
230 <folder></folder>
231 <device></device>
232 <gui></gui>
233 <ldap></ldap>
234 <options></options>
235 <remoteIgnoredDevice></remoteIgnoredDevice>
236 <defaults></defaults>
237 </configuration>
238
239 This is the root element. It has one attribute:
240
241 version
242 The config version. Increments whenever a change is made that
243 requires migration from previous formats.
244
245 It contains the elements described in the following sections and any
246 number of this additional child element:
247
248 remoteIgnoredDevice
249 Contains the ID of the device that should be ignored. Connection
250 attempts from this device are logged to the console but never
251 displayed in the web GUI.
252
254 <folder id="default" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
255 <filesystemType>basic</filesystemType>
256 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
257 <encryptionPassword></encryptionPassword>
258 </device>
259 <minDiskFree unit="%">1</minDiskFree>
260 <versioning>
261 <cleanupIntervalS>3600</cleanupIntervalS>
262 <fsPath></fsPath>
263 <fsType>basic</fsType>
264 </versioning>
265 <copiers>0</copiers>
266 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
267 <hashers>0</hashers>
268 <order>random</order>
269 <ignoreDelete>false</ignoreDelete>
270 <scanProgressIntervalS>0</scanProgressIntervalS>
271 <pullerPauseS>0</pullerPauseS>
272 <maxConflicts>-1</maxConflicts>
273 <disableSparseFiles>false</disableSparseFiles>
274 <disableTempIndexes>false</disableTempIndexes>
275 <paused>false</paused>
276 <weakHashThresholdPct>25</weakHashThresholdPct>
277 <markerName>.stfolder</markerName>
278 <copyOwnershipFromParent>false</copyOwnershipFromParent>
279 <modTimeWindowS>0</modTimeWindowS>
280 <maxConcurrentWrites>2</maxConcurrentWrites>
281 <disableFsync>false</disableFsync>
282 <blockPullOrder>standard</blockPullOrder>
283 <copyRangeMethod>standard</copyRangeMethod>
284 <caseSensitiveFS>false</caseSensitiveFS>
285 <junctionsAsDirs>false</junctionsAsDirs>
286 <syncOwnership>false</syncOwnership>
287 <sendOwnership>false</sendOwnership>
288 <syncXattrs>false</syncXattrs>
289 <sendXattrs>false</sendXattrs>
290 </folder>
291
292 One or more folder elements must be present in the file. Each element
293 describes one folder. The following attributes may be set on the folder
294 element:
295
296 id (mandatory)
297 The folder ID, which must be unique.
298
299 label The label of a folder is a human readable and descriptive local
300 name. May be different on each device, empty, and/or identical
301 to other folder labels. (optional)
302
303 filesystemType
304 The internal file system implementation used to access this
305 folder, detailed in a separate chapter.
306
307 path (mandatory)
308 The path to the directory where the folder is stored on this de‐
309 vice; not sent to other devices.
310
311 type Controls how the folder is handled by Syncthing. Possible values
312 are:
313
314 sendreceive
315 The folder is in default mode. Sending local and accept‐
316 ing remote changes. Note that this type was previously
317 called “readwrite” which is deprecated but still accepted
318 in incoming configs.
319
320 sendonly
321 The folder is in “send only” mode – it will not be modi‐
322 fied by Syncthing on this device. Note that this type
323 was previously called “readonly” which is deprecated but
324 still accepted in incoming configs.
325
326 receiveonly
327 The folder is in “receive only” mode – it will not propa‐
328 gate changes to other devices.
329
330 receiveencrypted
331 Must be used on untrusted devices, where the data cannot
332 be decrypted because no folder password was entered. See
333 Untrusted (Encrypted) Devices.
334
335 rescanIntervalS
336 The rescan interval, in seconds. Can be set to 0 to disable when
337 external plugins are used to trigger rescans.
338
339 fsWatcherEnabled
340 If set to true, this detects changes to files in the folder and
341 scans them.
342
343 fsWatcherDelayS
344 The duration during which changes detected are accumulated, be‐
345 fore a scan is scheduled (only takes effect if fsWatcherEnabled
346 is set to true).
347
348 ignorePerms
349 If true, files originating from this folder will be announced to
350 remote devices with the “no permission bits” flag. The remote
351 devices will use whatever their default permission setting is
352 when creating the files. The primary use case is for file sys‐
353 tems that do not support permissions, such as FAT, or environ‐
354 ments where changing permissions is impossible.
355
356 autoNormalize
357 Automatically correct UTF-8 normalization errors found in file
358 names. The mechanism and how to set it up is described in a
359 separate chapter.
360
361 The following child elements may exist:
362
363 device These must have the id attribute and can have an introducedBy
364 attribute, identifying the device that introduced us to share
365 this folder with the given device. If the original introducer
366 unshares this folder with this device, our device will follow
367 and unshare the folder (subject to skipIntroductionRemovals be‐
368 ing false on the introducer device).
369
370 All mentioned devices are those that will be sharing the folder
371 in question. Each mentioned device must have a separate device
372 element later in the file. It is customary that the local de‐
373 vice ID is included in all folders. Syncthing will currently
374 add this automatically if it is not present in the configuration
375 file.
376
377 The encryptionPassword sub-element contains the secret needed to
378 decrypt this folder’s data on the remote device. If left empty,
379 the data is plainly accessible (but still protected by the
380 transport encryption). The mechanism and how to set it up is
381 described in a separate chapter.
382
383 minDiskFree
384 The minimum required free space that should be available on the
385 disk this folder resides. The folder will be stopped when the
386 value drops below the threshold. The element content is inter‐
387 preted according to the given unit attribute. Accepted unit
388 values are % (percent of the disk / volume size), kB, MB, GB and
389 TB. Set to zero to disable.
390
391 versioning
392 Specifies a versioning configuration.
393
394 SEE ALSO:
395 File Versioning
396
397 copiers
398
399 hashers
400 The number of copier and hasher routines to use, or 0 for the
401 system determined optimums. These are low-level performance op‐
402 tions for advanced users only; do not change unless requested to
403 or you’ve actually read and understood the code yourself. :)
404
405 pullerMaxPendingKiB
406 Controls when we stop sending requests to other devices once
407 we’ve got this much unserved requests. The number of pullers is
408 automatically adjusted based on this desired amount of outstand‐
409 ing request data.
410
411 order The order in which needed files should be pulled from the clus‐
412 ter. It has no effect when the folder type is “send only”. The
413 possibles values are:
414
415 random (default)
416 Pull files in random order. This optimizes for balancing
417 resources among the devices in a cluster.
418
419 alphabetic
420 Pull files ordered by file name alphabetically.
421
422 smallestFirst, largestFirst
423 Pull files ordered by file size; smallest and largest
424 first respectively.
425
426 oldestFirst, newestFirst
427 Pull files ordered by modification time; oldest and new‐
428 est first respectively.
429
430 Note that the scanned files are sent in batches and the sorting
431 is applied only to the already discovered files. This means the
432 sync might start with a 1 GB file even if there is 1 KB file
433 available on the source device until the 1 KB becomes known to
434 the pulling device.
435
436 ignoreDelete
437 WARNING:
438 Enabling this is highly discouraged - use at your own risk.
439 You have been warned.
440
441 When set to true, this device will pretend not to see instruc‐
442 tions to delete files from other devices. The mechanism is de‐
443 scribed in a separate chapter.
444
445 scanProgressIntervalS
446 The interval in seconds with which scan progress information is
447 sent to the GUI. Setting to 0 will cause Syncthing to use the
448 default value of two.
449
450 pullerPauseS
451 Tweak for rate limiting the puller when it retries pulling
452 files. Don’t change this unless you know what you’re doing.
453
454 maxConflicts
455 The maximum number of conflict copies to keep around for any
456 given file. The default, -1, means an unlimited number. Setting
457 this to 0 disables conflict copies altogether.
458
459 disableSparseFiles
460 By default, blocks containing all zeros are not written, causing
461 files to be sparse on filesystems that support this feature.
462 When set to true, sparse files will not be created.
463
464 disableTempIndexes
465 By default, devices exchange information about blocks available
466 in transfers that are still in progress, which allows other de‐
467 vices to download parts of files that are not yet fully down‐
468 loaded on your own device, essentially making transfers more
469 torrent like. When set to true, such information is not ex‐
470 changed for this folder.
471
472 paused True if this folder is (temporarily) suspended.
473
474 weakHashThresholdPct
475 Use weak hash if more than the given percentage of the file has
476 changed. Set to -1 to always use weak hash. Default is 25.
477
478 markerName
479 Name of a directory or file in the folder root to be used as How
480 do I serve a folder from a read only filesystem?. Default is
481 .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 syncOwnership for more information.
553
554 sendOwnership
555 File and directory ownership information is scanned when this is
556 set to true. See sendOwnership for more information.
557
558 syncXattrs
559 File and directory extended attributes are synced when this is
560 set to true. See syncXattrs for more information.
561
562 sendXattrs
563 File and directory extended attributes are scanned and sent to
564 other devices when this is set to true. See sendXattrs for more
565 information.
566
568 <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">
569 <address>dynamic</address>
570 <paused>false</paused>
571 <autoAcceptFolders>false</autoAcceptFolders>
572 <maxSendKbps>0</maxSendKbps>
573 <maxRecvKbps>0</maxRecvKbps>
574 <ignoredFolder time="2022-01-09T19:09:52Z" id="br63e-wyhb7" label="Foo"></ignoredFolder>
575 <maxRequestKiB>0</maxRequestKiB>
576 <untrusted>false</untrusted>
577 <remoteGUIPort>0</remoteGUIPort>
578 <numConnections>0</numConnections>
579 </device>
580 <device id="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR" name="syno local" compression="metadata" introducer="true" skipIntroductionRemovals="false" introducedBy="">
581 <address>tcp://192.0.2.1:22001</address>
582 <paused>true</paused>
583 <allowedNetwork>192.168.0.0/16</allowedNetwork>
584 <autoAcceptFolders>false</autoAcceptFolders>
585 <maxSendKbps>100</maxSendKbps>
586 <maxRecvKbps>100</maxRecvKbps>
587 <maxRequestKiB>65536</maxRequestKiB>
588 <untrusted>false</untrusted>
589 <remoteGUIPort>8384</remoteGUIPort>
590 <numConnections>0</numConnections>
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 Configuration
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 (Encrypted)
740 Devices.
741
742 numConnections
743 The number of connections to this device. See numConnections for
744 more information.
745
747 <gui enabled="true" tls="false" debugging="false">
748 <address>127.0.0.1:8384</address>
749 <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
750 <theme>default</theme>
751 </gui>
752
753 There must be exactly one gui element. The GUI configuration is also
754 used by the REST API and the Event API. The following attributes may be
755 set on the gui element:
756
757 enabled
758 If not true, the GUI and API will not be started.
759
760 tls If set to true, TLS (HTTPS) will be enforced. Non-HTTPS requests
761 will be redirected to HTTPS. When set to false, TLS connections
762 are still possible but not required.
763
764 debugging
765 This enables Profiling and additional endpoints in the REST API,
766 see Debug Endpoints.
767
768 The following child elements may be present:
769
770 address (mandatory: Exactly one element must be present.)
771 Set the listen address. Allowed address formats are:
772
773 IPv4 address and port (127.0.0.1:8384)
774 The address and port are used as given.
775
776 IPv6 address and port ([::1]:8384)
777 The address and port are used as given. The address must
778 be enclosed in square brackets.
779
780 Wildcard and port (0.0.0.0:12345, [::]:12345, :12345)
781 These are equivalent and will result in Syncthing listen‐
782 ing on all interfaces via both IPv4 and IPv6.
783
784 UNIX socket location (/var/run/st.sock)
785 If the address is an absolute path it is interpreted as
786 the path to a UNIX socket.
787
788 unixSocketPermissions
789 When address is set to a UNIX socket location, set this to an
790 octal value to override the default permissions of the socket.
791
792 user Set to require authentication.
793
794 password
795 Contains the bcrypt hash of the real password.
796
797 apikey If set, this is the API key that enables usage of the REST in‐
798 terface.
799
800 insecureAdminAccess
801 If true, this allows access to the web GUI from outside (i.e.
802 not localhost) without authorization. A warning will displayed
803 about this setting on startup.
804
805 insecureSkipHostcheck
806 When the GUI / API is bound to localhost, we enforce that the
807 Host header looks like localhost. This option bypasses that
808 check.
809
810 insecureAllowFrameLoading
811 Allow rendering the GUI within an <iframe>, <frame> or <object>
812 by not setting the X-Frame-Options: SAMEORIGIN HTTP header.
813 This may be needed for serving the Syncthing GUI as part of a
814 website through a proxy.
815
816 theme The name of the theme to use.
817
818 authMode
819 Authentication mode to use. If not present, the authentication
820 mode (static) is controlled by the presence of user/password
821 fields for backward compatibility.
822
823 static Authentication using user and password.
824
825 ldap LDAP authentication. Requires ldap top level config sec‐
826 tion to be present.
827
829 <ldap>
830 <address>localhost:389</address>
831 <bindDN>cn=%s,ou=users,dc=syncthing,dc=net</bindDN>
832 <transport>nontls</transport>
833 <insecureSkipVerify>false</insecureSkipVerify>
834 </ldap>
835
836 The ldap element contains LDAP configuration options. The mechanism is
837 described in detail under LDAP Authentication.
838
839 address (mandatory)
840 LDAP server address (server:port).
841
842 bindDN (mandatory)
843 BindDN for user authentication. Special %s variable should
844 be used to pass username to LDAP.
845
846 transport
847
848 nontls Non secure connection.
849
850 tls TLS secured connection.
851
852 starttls
853 StartTLS connection mode.
854
855 insecureSkipVerify
856 Skip verification (true or false).
857
858 searchBaseDN
859 Base DN for user searches.
860
861 searchFilter
862 Search filter for user searches.
863
865 <options>
866 <listenAddress>default</listenAddress>
867 <globalAnnounceServer>default</globalAnnounceServer>
868 <globalAnnounceEnabled>true</globalAnnounceEnabled>
869 <localAnnounceEnabled>true</localAnnounceEnabled>
870 <localAnnouncePort>21027</localAnnouncePort>
871 <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
872 <maxSendKbps>0</maxSendKbps>
873 <maxRecvKbps>0</maxRecvKbps>
874 <reconnectionIntervalS>60</reconnectionIntervalS>
875 <relaysEnabled>true</relaysEnabled>
876 <relayReconnectIntervalM>10</relayReconnectIntervalM>
877 <startBrowser>true</startBrowser>
878 <natEnabled>true</natEnabled>
879 <natLeaseMinutes>60</natLeaseMinutes>
880 <natRenewalMinutes>30</natRenewalMinutes>
881 <natTimeoutSeconds>10</natTimeoutSeconds>
882 <urAccepted>0</urAccepted>
883 <urSeen>0</urSeen>
884 <urUniqueID></urUniqueID>
885 <urURL>https://data.syncthing.net/newdata</urURL>
886 <urPostInsecurely>false</urPostInsecurely>
887 <urInitialDelayS>1800</urInitialDelayS>
888 <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
889 <upgradeToPreReleases>false</upgradeToPreReleases>
890 <keepTemporariesH>24</keepTemporariesH>
891 <cacheIgnoredFiles>false</cacheIgnoredFiles>
892 <progressUpdateIntervalS>5</progressUpdateIntervalS>
893 <limitBandwidthInLan>false</limitBandwidthInLan>
894 <minHomeDiskFree unit="%">1</minHomeDiskFree>
895 <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
896 <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
897 <tempIndexMinBlocks>10</tempIndexMinBlocks>
898 <unackedNotificationID>authenticationUserAndPassword</unackedNotificationID>
899 <trafficClass>0</trafficClass>
900 <setLowPriority>true</setLowPriority>
901 <maxFolderConcurrency>0</maxFolderConcurrency>
902 <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
903 <crashReportingEnabled>true</crashReportingEnabled>
904 <stunKeepaliveStartS>180</stunKeepaliveStartS>
905 <stunKeepaliveMinS>20</stunKeepaliveMinS>
906 <stunServer>default</stunServer>
907 <databaseTuning>auto</databaseTuning>
908 <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
909 <announceLANAddresses>true</announceLANAddresses>
910 <sendFullIndexOnUpgrade>false</sendFullIndexOnUpgrade>
911 <connectionLimitEnough>0</connectionLimitEnough>
912 <connectionLimitMax>0</connectionLimitMax>
913 <insecureAllowOldTLSVersions>false</insecureAllowOldTLSVersions>
914 </options>
915
916 The options element contains all other global configuration options.
917
918 listenAddress
919 The listen address for incoming sync connections. See Listen Ad‐
920 dresses for the allowed syntax.
921
922 globalAnnounceServer
923 A URI to a global announce (discovery) server, or the word de‐
924 fault to include the default servers. Any number of globalAn‐
925 nounceServer elements may be present. The syntax for non-default
926 entries is that of an HTTP or HTTPS URL. A number of options may
927 be added as query options to the URL: insecure to prevent cer‐
928 tificate validation (required for HTTP URLs) and id=<device ID>
929 to perform certificate pinning. The device ID to use is printed
930 by the discovery server on startup.
931
932 globalAnnounceEnabled
933 Whether to announce this device to the global announce (discov‐
934 ery) server, and also use it to look up other devices.
935
936 localAnnounceEnabled
937 Whether to send announcements to the local LAN, also use such
938 announcements to find other devices.
939
940 localAnnouncePort
941 The port on which to listen and send IPv4 broadcast announce‐
942 ments to.
943
944 localAnnounceMCAddr
945 The group address and port to join and send IPv6 multicast an‐
946 nouncements on.
947
948 maxSendKbps
949 Outgoing data rate limit, in kibibytes per second.
950
951 maxRecvKbps
952 Incoming data rate limits, in kibibytes per second.
953
954 reconnectionIntervalS
955 The number of seconds to wait between each attempt to connect to
956 currently unconnected devices.
957
958 relaysEnabled
959 When true, relays will be connected to and potentially used for
960 device to device connections.
961
962 relayReconnectIntervalM
963 Sets the interval, in minutes, between relay reconnect attempts.
964
965 startBrowser
966 Whether to attempt to start a browser to show the GUI when Sync‐
967 thing starts.
968
969 natEnabled
970 Whether to attempt to perform a UPnP and NAT-PMP port mapping
971 for incoming sync connections.
972
973 natLeaseMinutes
974 Request a lease for this many minutes; zero to request a perma‐
975 nent lease.
976
977 natRenewalMinutes
978 Attempt to renew the lease after this many minutes.
979
980 natTimeoutSeconds
981 When scanning for UPnP devices, wait this long for responses.
982
983 urAccepted
984 Whether the user has accepted to submit anonymous usage data.
985 The default, 0, mean the user has not made a choice, and Sync‐
986 thing will ask at some point in the future. -1 means no, a num‐
987 ber above zero means that that version of usage reporting has
988 been accepted.
989
990 urSeen The highest usage reporting version that has already been shown
991 in the web GUI.
992
993 urUniqueID
994 The unique ID sent together with the usage report. Generated
995 when usage reporting is enabled.
996
997 urURL The URL to post usage report data to, when enabled.
998
999 urPostInsecurely
1000 When true, the UR URL can be http instead of https, or have a
1001 self-signed certificate. The default is false.
1002
1003 urInitialDelayS
1004 The time to wait from startup for the first usage report to be
1005 sent. Allows the system to stabilize before reporting statis‐
1006 tics.
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
1014 Versions & Releases).
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. Set to -1 to disable. Note that when dis‐
1029 abled, the detailed sync progress for Out of Sync Items which
1030 shows how much of each file has been reused, copied, and down‐
1031 loaded will not work.
1032
1033 limitBandwidthInLan
1034 Whether to apply bandwidth limits to devices in the same broad‐
1035 cast domain as the local device.
1036
1037 minHomeDiskFree
1038 The minimum required free space that should be available on the
1039 partition holding the configuration and index. The element con‐
1040 tent is interpreted according to the given unit attribute. Ac‐
1041 cepted unit values are % (percent of the disk / volume size),
1042 kB, MB, GB and TB. Set to zero to disable.
1043
1044 releasesURL
1045 The URL from which release information is loaded, for automatic
1046 upgrades.
1047
1048 alwaysLocalNet
1049 Network that should be considered as local given in CIDR nota‐
1050 tion.
1051
1052 overwriteRemoteDeviceNamesOnConnect
1053 If set, device names will always be overwritten with the name
1054 given by remote on each connection. By default, the name that
1055 the remote device announces will only be adopted when a name has
1056 not already been set.
1057
1058 tempIndexMinBlocks
1059 When exchanging index information for incomplete transfers, only
1060 take into account files that have at least this many blocks.
1061
1062 unackedNotificationID
1063 ID of a notification to be displayed in the web GUI. Will be re‐
1064 moved once the user acknowledged it (e.g. an transition notice
1065 on an upgrade).
1066
1067 trafficClass
1068 Specify a type of service (TOS)/traffic class of outgoing pack‐
1069 ets.
1070
1071 stunServer
1072 Server to be used for STUN, given as ip:port. The keyword de‐
1073 fault gets expanded to stun.callwithus.com:3478, stun.counter‐
1074 path.com:3478, stun.counterpath.net:3478, stun.ekiga.net:3478,
1075 stun.ideasip.com:3478, stun.internetcalls.com:3478,
1076 stun.schlund.de:3478, stun.sipgate.net:10000, stun.sip‐
1077 gate.net:3478, stun.voip.aebc.com:3478,
1078 stun.voiparound.com:3478, stun.voipbuster.com:3478, stun.voip‐
1079 stunt.com:3478 and stun.xten.com:3478 (this is the default).
1080
1081 stunKeepaliveStartS
1082 Interval in seconds between contacting a STUN server to maintain
1083 NAT mapping. Default is 24 and you can set it to 0 to disable
1084 contacting STUN servers. The interval is automatically reduced
1085 if needed, down to a minimum of stunKeepaliveMinS.
1086
1087 stunKeepaliveMinS
1088 Minimum for the stunKeepaliveStartS interval, in seconds.
1089
1090 setLowPriority
1091 Syncthing will attempt to lower its process priority at startup.
1092 Specifically: on Linux, set itself to a separate process group,
1093 set the niceness level of that process group to nine and the I/O
1094 priority to best effort level five; on other Unixes, set the
1095 process niceness level to nine; on Windows, set the process pri‐
1096 ority class to below normal. To disable this behavior, for exam‐
1097 ple to control process priority yourself as part of launching
1098 Syncthing, set this option to false.
1099
1100 maxFolderConcurrency
1101 This option controls how many folders may concurrently be in
1102 I/O-intensive operations such as syncing or scanning. The mech‐
1103 anism is described in detail in a separate chapter.
1104
1105 crashReportingURL
1106 Server URL where automatic crash reports will be sent if en‐
1107 abled.
1108
1109 crashReportingEnabled
1110 Switch to opt out from the automatic crash reporting feature.
1111 Set false to keep Syncthing from sending panic logs on serious
1112 troubles. Defaults to true, to help the developers trou‐
1113 bleshoot.
1114
1115 databaseTuning
1116 Controls how Syncthing uses the backend key-value database that
1117 stores the index data and other persistent data it needs. The
1118 available options and implications are explained in a separate
1119 chapter.
1120
1121 maxConcurrentIncomingRequestKiB
1122 This limits how many bytes we have “in the air” in the form of
1123 response data being read and processed.
1124
1125 announceLANAddresses
1126 Enable (the default) or disable announcing private (RFC1918) LAN
1127 IP addresses to global discovery.
1128
1129 sendFullIndexOnUpgrade
1130 Controls whether all index data is resent when an upgrade has
1131 happened, equivalent to starting Syncthing with --reset-deltas.
1132 This used to be the default behavior in older versions, but is
1133 mainly useful as a troubleshooting step and causes high database
1134 churn. The default is now false.
1135
1136 featureFlag
1137 Feature flags are simple strings that, when added to the config‐
1138 uration, may unleash unfinished or still-in-development features
1139 to allow early user testing. Any supported value will be sepa‐
1140 rately announced with the feature, so that regular users do not
1141 enable it by accident.
1142
1143 connectionLimitEnough
1144 The number of connections at which we stop trying to connect to
1145 more devices, zero meaning no limit. Does not affect incoming
1146 connections. The mechanism is described in detail in a separate
1147 chapter.
1148
1149 connectionLimitMax
1150 The maximum number of connections which we will allow in total,
1151 zero meaning no limit. Affects incoming connections and pre‐
1152 vents attempting outgoing connections. The mechanism is de‐
1153 scribed in detail in a separate chapter.
1154
1155 insecureAllowOldTLSVersions
1156 Only for compatibility with old versions of Syncthing on remote
1157 devices, as detailed in insecureAllowOldTLSVersions.
1158
1160 <defaults>
1161 <folder id="" label="" path="~" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
1162 <filesystemType>basic</filesystemType>
1163 <device id="S7UKX27-GI7ZTXS-GC6RKUA-7AJGZ44-C6NAYEB-HSKTJQK-KJHU2NO-CWV7EQW" introducedBy="">
1164 <encryptionPassword></encryptionPassword>
1165 </device>
1166 <minDiskFree unit="%">1</minDiskFree>
1167 <versioning>
1168 <cleanupIntervalS>3600</cleanupIntervalS>
1169 <fsPath></fsPath>
1170 <fsType>basic</fsType>
1171 </versioning>
1172 <copiers>0</copiers>
1173 <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
1174 <hashers>0</hashers>
1175 <order>random</order>
1176 <ignoreDelete>false</ignoreDelete>
1177 <scanProgressIntervalS>0</scanProgressIntervalS>
1178 <pullerPauseS>0</pullerPauseS>
1179 <maxConflicts>10</maxConflicts>
1180 <disableSparseFiles>false</disableSparseFiles>
1181 <disableTempIndexes>false</disableTempIndexes>
1182 <paused>false</paused>
1183 <weakHashThresholdPct>25</weakHashThresholdPct>
1184 <markerName>.stfolder</markerName>
1185 <copyOwnershipFromParent>false</copyOwnershipFromParent>
1186 <modTimeWindowS>0</modTimeWindowS>
1187 <maxConcurrentWrites>2</maxConcurrentWrites>
1188 <disableFsync>false</disableFsync>
1189 <blockPullOrder>standard</blockPullOrder>
1190 <copyRangeMethod>standard</copyRangeMethod>
1191 <caseSensitiveFS>false</caseSensitiveFS>
1192 <junctionsAsDirs>false</junctionsAsDirs>
1193 </folder>
1194 <device id="" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
1195 <address>dynamic</address>
1196 <paused>false</paused>
1197 <autoAcceptFolders>false</autoAcceptFolders>
1198 <maxSendKbps>0</maxSendKbps>
1199 <maxRecvKbps>0</maxRecvKbps>
1200 <maxRequestKiB>0</maxRequestKiB>
1201 <untrusted>false</untrusted>
1202 <remoteGUIPort>0</remoteGUIPort>
1203 <numConnections>0</numConnections>
1204 </device>
1205 <ignores>
1206 <line>!foo2</line>
1207 <line>// comment</line>
1208 <line>(?d).DS_Store</line>
1209 <line>*2</line>
1210 <line>qu*</line>
1211 </ignores>
1212 </defaults>
1213
1214 The defaults element describes a template for newly added device and
1215 folder options. These will be used when adding a new remote device or
1216 folder, either through the GUI or the command line interface. The fol‐
1217 lowing child elements can be present in the defaults element:
1218
1219 device Template for a device element, with the same internal structure.
1220 Any fields here will be used for a newly added remote device.
1221 The id attribute is meaningless in this context.
1222
1223 folder Template for a folder element, with the same internal structure.
1224 Any fields here will be used for a newly added shared folder.
1225 The id attribute is meaningless in this context.
1226
1227 The UI will propose to create new folders at the path given in
1228 the path attribute (used to be defaultFolderPath under options).
1229 It also applies to folders automatically accepted from a remote
1230 device.
1231
1232 Even sharing with other remote devices can be done in the tem‐
1233 plate by including the appropriate folder.device element under‐
1234 neath.
1235
1236 ignores
1237 New in version 1.19.0.
1238
1239
1240 Template for the ignore patterns applied to new folders. These
1241 are copied to the .stignore file when a folder is automatically
1242 accepted from a remote device. The GUI uses them to pre-fill
1243 the respective field when adding a new folder as well. In XML,
1244 each pattern line is represented as by a <line> element.
1245
1246 Listen Addresses
1247 The following address types are accepted in sync protocol listen ad‐
1248 dresses. If you want Syncthing to listen on multiple addresses, you
1249 can either: add multiple <listenAddress> tags in the configuration file
1250 or enter several addresses separated by commas in the GUI.
1251
1252 Default listen addresses (default)
1253 This is equivalent to tcp://0.0.0.0:22000, quic://0.0.0.0:22000
1254 and dynamic+https://relays.syncthing.net/endpoint.
1255
1256 TCP wildcard and port (tcp://0.0.0.0:22000, tcp://:22000)
1257 These are equivalent and will result in Syncthing listening on
1258 all interfaces, IPv4 and IPv6, on the specified port.
1259
1260 TCP IPv4 wildcard and port (tcp4://0.0.0.0:22000, tcp4://:22000)
1261 These are equivalent and will result in Syncthing listening on
1262 all interfaces via IPv4 only.
1263
1264 TCP IPv4 address and port (tcp4://192.0.2.1:22000)
1265 This results in Syncthing listening on the specified address and
1266 port, IPv4 only.
1267
1268 TCP IPv6 wildcard and port (tcp6://[::]:22000, tcp6://:22000)
1269 These are equivalent and will result in Syncthing listening on
1270 all interfaces via IPv6 only.
1271
1272 TCP IPv6 address and port (tcp6://[2001:db8::42]:22000)
1273 This results in Syncthing listening on the specified address and
1274 port, IPv6 only.
1275
1276 QUIC address and port (e.g. quic://0.0.0.0:22000)
1277 Syntax is the same as for TCP, also quic4 and quic6 can be used.
1278
1279 Static relay address (relay://192.0.2.42:22067?id=abcd123...)
1280 Syncthing will connect to and listen for incoming connections
1281 via the specified relay address.
1282
1283 Todo
1284 Document available URL parameters.
1285
1286 Dynamic relay pool (dynamic+https://192.0.2.42/relays)
1287 Syncthing will fetch the specified HTTPS URL, parse it for a
1288 JSON payload describing relays, select a relay from the avail‐
1289 able ones and listen via that as if specified as a static relay
1290 above.
1291
1292 Todo
1293 Document available URL parameters.
1294
1296 Syncing configuration files between devices (such that multiple devices
1297 are using the same configuration files) can cause issues. This is easy
1298 to do accidentally if you sync your home folder between devices. A com‐
1299 mon symptom of syncing configuration files is two devices ending up
1300 with the same Device ID.
1301
1302 If you want to use Syncthing to backup your configuration files, it is
1303 recommended that the files you are backing up are in a Send Only Folder
1304 to prevent other devices from overwriting the per device configuration.
1305 The folder on the remote device(s) should not be used as configuration
1306 for the remote devices.
1307
1308 If you’d like to sync your home folder in non-send only mode, you may
1309 add the folder that stores the configuration files to the ignore list.
1310 If you’d also like to backup your configuration files, add another
1311 folder in send only mode for just the configuration folder.
1312
1314 The Syncthing Authors
1315
1317 2014-2019, The Syncthing Authors
1318
1319
1320
1321
1322v1.25.0 Oct 05, 2023 SYNCTHING-CONFIG(5)