Provided by: syncthing_1.18.0~ds1-3ubuntu0.3_amd64 bug

NAME

       syncthing-config - Syncthing Configuration

SYNOPSIS

          $HOME/.config/syncthing
          $HOME/Library/Application Support/Syncthing
          %LOCALAPPDATA%\Syncthing

DESCRIPTION

       New  in  version 1.5.0: Database and config can now be set separately. Previously the database was always
       located in the same directory as the config.

       Syncthing uses a single directory to store configuration and crypto keys.  Syncthing also has a database,
       which  is  often  stored  in this directory too.  The config location defaults to $HOME/.config/syncthing
       (Unix-like), $HOME/Library/Application Support/Syncthing (Mac), or %LOCALAPPDATA%\Syncthing (Windows). It
       can be changed at runtime using the --config flag. In this directory the following files are located:

       config.xml
              The configuration file, in XML format.

       cert.pem, key.pem
              The device’s ECDSA public and private key. These form the basis for the device ID. The key must be
              kept private.

       https-cert.pem, https-key.pem
              The certificate and key for HTTPS GUI connections. These may be replaced with a custom certificate
              for HTTPS as desired.

       csrftokens.txt
              A list of recently issued CSRF tokens (for protection against browser cross site request forgery).

       The  database is stored either in the same directory as the config (usually the default), but may also be
       located in one of the following directories (Unix-like platforms only):

       • If a database exists in the old default location, that location is still used.

       • If $XDG_DATA_HOME is set, use $XDG_DATA_HOME/syncthing.

       • If ~/.local/share/syncthing exists, use that location.

       • Use the old default location (same as config).

       The location of the database can be changed using the --data flag. The --home flag sets both  config  and
       database locations at the same time.  The database contains the following files:

       index-*.db
              A  directory  holding  the  database  with  metadata and hashes of the files currently on disk and
              available from peers.

CONFIG FILE FORMAT

       The following shows an example of a default configuration file (IDs will differ):

       NOTE:
          The config examples are present for illustration. Do not copy them entirely to  use  as  your  config.
          They are likely out-of-date and the values may no longer correspond to the defaults.

          <configuration version="30">
              <folder id="default" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
                  <filesystemType>basic</filesystemType>
                  <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ"></device>
                  <minDiskFree unit="%">1</minDiskFree>
                  <versioning></versioning>
                  <copiers>0</copiers>
                  <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
                  <hashers>0</hashers>
                  <order>random</order>
                  <ignoreDelete>false</ignoreDelete>
                  <scanProgressIntervalS>0</scanProgressIntervalS>
                  <pullerPauseS>0</pullerPauseS>
                  <maxConflicts>-1</maxConflicts>
                  <disableSparseFiles>false</disableSparseFiles>
                  <disableTempIndexes>false</disableTempIndexes>
                  <paused>false</paused>
                  <weakHashThresholdPct>25</weakHashThresholdPct>
                  <markerName>.stfolder</markerName>
                  <copyOwnershipFromParent>false</copyOwnershipFromParent>
                  <modTimeWindowS>0</modTimeWindowS>
                  <maxConcurrentWrites>2</maxConcurrentWrites>
                  <disableFsync>false</disableFsync>
                  <blockPullOrder>standard</blockPullOrder>
                  <copyRangeMethod>standard</copyRangeMethod>
              </folder>
              <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
                  <address>dynamic</address>
                  <paused>false</paused>
                  <autoAcceptFolders>false</autoAcceptFolders>
                  <maxSendKbps>0</maxSendKbps>
                  <maxRecvKbps>0</maxRecvKbps>
                  <maxRequestKiB>0</maxRequestKiB>
                  <remoteGUIPort>0</remoteGUIPort>
              </device>
              <gui enabled="true" tls="false" debugging="false">
                  <address>127.0.0.1:8384</address>
                  <apikey>k1dnz1Dd0rzTBjjFFh7CXPnrF12C49B1</apikey>
                  <theme>default</theme>
              </gui>
              <ldap></ldap>
              <options>
                  <listenAddress>default</listenAddress>
                  <globalAnnounceServer>default</globalAnnounceServer>
                  <globalAnnounceEnabled>true</globalAnnounceEnabled>
                  <localAnnounceEnabled>true</localAnnounceEnabled>
                  <localAnnouncePort>21027</localAnnouncePort>
                  <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
                  <maxSendKbps>0</maxSendKbps>
                  <maxRecvKbps>0</maxRecvKbps>
                  <reconnectionIntervalS>60</reconnectionIntervalS>
                  <relaysEnabled>true</relaysEnabled>
                  <relayReconnectIntervalM>10</relayReconnectIntervalM>
                  <startBrowser>true</startBrowser>
                  <natEnabled>true</natEnabled>
                  <natLeaseMinutes>60</natLeaseMinutes>
                  <natRenewalMinutes>30</natRenewalMinutes>
                  <natTimeoutSeconds>10</natTimeoutSeconds>
                  <urAccepted>0</urAccepted>
                  <urSeen>0</urSeen>
                  <urUniqueID></urUniqueID>
                  <urURL>https://data.syncthing.net/newdata</urURL>
                  <urPostInsecurely>false</urPostInsecurely>
                  <urInitialDelayS>1800</urInitialDelayS>
                  <restartOnWakeup>true</restartOnWakeup>
                  <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
                  <upgradeToPreReleases>false</upgradeToPreReleases>
                  <keepTemporariesH>24</keepTemporariesH>
                  <cacheIgnoredFiles>false</cacheIgnoredFiles>
                  <progressUpdateIntervalS>5</progressUpdateIntervalS>
                  <limitBandwidthInLan>false</limitBandwidthInLan>
                  <minHomeDiskFree unit="%">1</minHomeDiskFree>
                  <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
                  <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
                  <tempIndexMinBlocks>10</tempIndexMinBlocks>
                  <trafficClass>0</trafficClass>
                  <defaultFolderPath>~</defaultFolderPath>
                  <setLowPriority>true</setLowPriority>
                  <maxFolderConcurrency>0</maxFolderConcurrency>
                  <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
                  <crashReportingEnabled>true</crashReportingEnabled>
                  <stunKeepaliveStartS>180</stunKeepaliveStartS>
                  <stunKeepaliveMinS>20</stunKeepaliveMinS>
                  <stunServer>default</stunServer>
                  <databaseTuning>auto</databaseTuning>
                  <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
              </options>
          </configuration>

CONFIGURATION ELEMENT

          <configuration version="30">
              <folder></folder>
              <device></device>
              <gui></gui>
              <ldap></ldap>
              <options></options>
              <ignoredDevice>5SYI2FS-LW6YAXI-JJDYETS-NDBBPIO-256MWBO-XDPXWVG-24QPUM4-PDW4UQU</ignoredDevice>
              <ignoredFolder>bd7q3-zskm5</ignoredFolder>
          </configuration>

       This is the root element. It has one attribute:

       version
              The  config  version.  Increments  whenever a change is made that requires migration from previous
              formats.

       It contains the elements described in the following sections and these two additional child elements:

       ignoredDevice
              Contains the ID of the device that should be ignored. Connection attempts  from  this  device  are
              logged to the console but never displayed in the web GUI.

       ignoredFolder
              Contains  the  ID  of  the  folder that should be ignored. This folder will always be skipped when
              advertised from a remote device, i.e. this will be logged, but there will be no dialog about it in
              the web GUI.

FOLDER ELEMENT

          <folder id="default" label="Default Folder" path="/Users/jb/Sync/" type="sendreceive" rescanIntervalS="3600" fsWatcherEnabled="true" fsWatcherDelayS="10" ignorePerms="false" autoNormalize="true">
              <filesystemType>basic</filesystemType>
              <device id="3LT2GA5-CQI4XJM-WTZ264P-MLOGMHL-MCRLDNT-MZV4RD3-KA745CL-OGAERQZ"></device>
              <minDiskFree unit="%">1</minDiskFree>
              <versioning></versioning>
              <copiers>0</copiers>
              <pullerMaxPendingKiB>0</pullerMaxPendingKiB>
              <hashers>0</hashers>
              <order>random</order>
              <ignoreDelete>false</ignoreDelete>
              <scanProgressIntervalS>0</scanProgressIntervalS>
              <pullerPauseS>0</pullerPauseS>
              <maxConflicts>-1</maxConflicts>
              <disableSparseFiles>false</disableSparseFiles>
              <disableTempIndexes>false</disableTempIndexes>
              <paused>false</paused>
              <weakHashThresholdPct>25</weakHashThresholdPct>
              <markerName>.stfolder</markerName>
              <copyOwnershipFromParent>false</copyOwnershipFromParent>
              <modTimeWindowS>0</modTimeWindowS>
              <maxConcurrentWrites>2</maxConcurrentWrites>
              <disableFsync>false</disableFsync>
              <blockPullOrder>standard</blockPullOrder>
              <copyRangeMethod>standard</copyRangeMethod>
          </folder>

       One or more folder elements must be present in the file. Each element describes one folder. The following
       attributes may be set on the folder element:

       id     The folder ID, must be unique. (mandatory)

       label  The label of a folder is a human readable and descriptive local name. May  be  different  on  each
              device, empty, and/or identical to other folder labels. (optional)

       path   The  path  to  the directory where the folder is stored on this device; not sent to other devices.
              (mandatory)

       type   Controls how the folder is handled by Syncthing. Possible values are:

              sendreceive
                     The folder is in default mode. Sending local and accepting remote changes.  Note that  this
                     type  was  previously called “readwrite” which is deprecated but still accepted in incoming
                     configs.

              sendonly
                     The folder is in “send only” mode – it will not be modified by Syncthing  on  this  device.
                     Note that this type was previously called “readonly” which is deprecated but still accepted
                     in incoming configs.

              receiveonly
                     The folder is in “receive only” mode – it will not propagate changes to other devices.

       rescanIntervalS
              The rescan interval, in seconds. Can be set to zero to disable when external plugins are  used  to
              trigger rescans.

       fsWatcherEnabled
              If enabled this detects changes to files in the folder and scans them.

       fsWatcherDelayS
              The duration during which changes detected are accumulated, before a scan is scheduled (only takes
              effect if fsWatcherEnabled is true).

       ignorePerms
              True if the folder should ignore permissions.

       autoNormalize
              Automatically correct UTF-8 normalization errors found in file names.

       The following child elements may exist:

       device These must have the id attribute and can have an introducedBy attribute,  identifying  the  device
              that  introduced  us  to  share  this  folder  with  the given device.  If the original introducer
              unshares this folder with this device, our device will follow and unshare the folder  (subject  to
              skipIntroductionRemovals  being  false on the introducer device).  All mentioned devices are those
              that will be sharing the folder in question.  Each mentioned device must have  a  separate  device
              element  later  in the file.  It is customary that the local device ID is included in all folders.
              Syncthing will currently add this automatically if it is not present in the configuration file.

       minDiskFree
              The minimum required free space that should be available on the  disk  this  folder  resides.  The
              folder  will be stopped when the value drops below the threshold. Accepted units are %, kB, MB, GB
              and TB. Set to zero to disable.

       versioning
              Specifies a versioning configuration.

       SEE ALSO:
          versioning

       copiers, pullers, hashers
              The number of copier, puller and hasher routines  to  use,  or  zero  for  the  system  determined
              optimum.  These  are  low  level performance options for advanced users only; do not change unless
              requested to or you’ve actually read and understood the code yourself. :)

       order  The order in which needed files should be pulled from the cluster.  The possibles values are:

              random Pull files in random order. This optimizes for balancing resources among the devices  in  a
                     cluster.

              alphabetic
                     Pull files ordered by file name alphabetically.

              smallestFirst, largestFirst
                     Pull files ordered by file size; smallest and largest first respectively.

              oldestFirst, newestFirst
                     Pull files ordered by modification time; oldest and newest first respectively.

              Note  that  the  scanned  files are sent in batches and the sorting is applied only to the already
              discovered files. This means the sync might start with a 1 GB file even if  there  is  1  KB  file
              available on the source device until the 1 KB becomes known to the pulling device.

       ignoreDelete
              WARNING:
                 Enabling this is highly not recommended - use at your own risk.

              When  set  to  true,  this  device will pretend not to see instructions to delete files from other
              devices.

       scanProgressIntervalS
              The interval with which scan progress information is sent to the GUI. Zero means the default value
              (two seconds).

       pullerPauseS
              Tweak  for  rate  limiting the puller when it retries pulling files. Don’t change these unless you
              know what you’re doing.

       maxConflicts
              The maximum number of conflict copies to keep around for any given file.  The default,  -1,  means
              an unlimited number. Setting this to zero disables conflict copies altogether.

       disableSparseFiles
              By  default,  blocks  containing  all  zeroes  are  not  written,  causing  files  to be sparse on
              filesystems that support the concept. When set to true, sparse files will not be created.

       disableTempIndexes
              By default, devices exchange information about blocks available in transfers  that  are  still  in
              progress,  which allows other devices to download parts of files that are not yet fully downloaded
              on your own device, essentially making transfers  more  torrent  like.  When  set  to  true,  such
              information is not exchanged for this folder.

       paused True if this folder is (temporarily) suspended.

       weakHashThresholdPct
              Use  weak  hash if more than the given percentage of the file has changed. Set to -1 to always use
              weak hash. Default value is 25.

       markerName
              Name of a directory or file in the folder root to be used as marker-faq. Default is “.stfolder”.

       copyOwnershipFromParent
              On Unix systems, tries to copy file/folder ownership from the parent directory (the directory it’s
              located   in).   Requires  running  Syncthing  as  privileged  user,  or  granting  it  additional
              capabilities (e.g. CAP_CHOWN on Linux).

       modTimeWindowS
              Allowed modification timestamp difference when comparing files for equivalence. To be used on file
              systems  which have unstable modification timestamps that might change after being recorded during
              the last write operation. Defaults to 2 on Android when the folder is located on a FAT  partition,
              and always to 0 elsewhere.

       maxConcurrentWrites
              Maximum  number of concurrent write operations while syncing. Defaults to 2. Increasing this might
              increase or decrease disk performance, depending on the underlying storage.

       disableFsync

          WARNING:
              This is a known insecure option - use at your own risk.

          Disables committing file operations to disk before recording them in the  database.   Disabling  fsync
          can lead to data corruption.

       blockPullOrder
              Order  in  which  the  blocks of a file are downloaded. This option controls how quickly different
              parts of the file spread between the connected devices, at the  cost  of  causing  strain  on  the
              storage.

              Available options:

              standard (default):
                     The  blocks of a file are split into N equal continuous sequences, where N is the number of
                     connected devices. Each device starts downloading it’s own sequence, after which  it  picks
                     other  devices  sequences  at  random.  Provides  acceptable  data distribution and minimal
                     spinning disk strain.

              random:
                     The blocks of a file are downloaded in a random order. Provides  great  data  distribution,
                     but very taxing on spinning disk drives.

              inOrder:
                     The blocks of a file are downloaded sequentially, from start to finish. Spinning disk drive
                     friendly, but provides no improvements to data distribution.

       copyRangeMethod
              Provides a choice of method for copying data between files. This can be used to optimise copies on
              network  filesystems,  improve  speed  of  large  copies  or  clone  the  data using copy-on-write
              functionality if the underlying filesystem supports it.

              See folder-copyRangeMethod for details.

DEVICE ELEMENT

          <device id="5SYI2FS-LW6YAXI-JJDYETS-NDBBPIO-256MWBO-XDPXWVG-24QPUM4-PDW4UQU" name="syno" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR">
              <address>dynamic</address>
              <paused>false</paused>
              <autoAcceptFolders>false</autoAcceptFolders>
              <maxSendKbps>0</maxSendKbps>
              <maxRecvKbps>0</maxRecvKbps>
              <maxRequestKiB>0</maxRequestKiB>
              <remoteGUIPort>0</remoteGUIPort>
          </device>
          <device id="2CYF2WQ-AKZO2QZ-JAKWLYD-AGHMQUM-BGXUOIS-GYILW34-HJG3DUK-LRRYQAR" name="syno local" compression="metadata" introducer="false" skipIntroductionRemovals="false" introducedBy="">
              <address>tcp://192.0.2.1:22001</address>
              <paused>true</paused>
              <allowedNetwork>192.168.0.0/16</allowedNetwork>
              <autoAcceptFolders>false</autoAcceptFolders>
              <maxSendKbps>100</maxSendKbps>
              <maxRecvKbps>100</maxRecvKbps>
              <maxRequestKiB>65536</maxRequestKiB>
              <remoteGUIPort>8384</remoteGUIPort>
          </device>

       One or more device elements must be present in the file. Each element describes a device participating in
       the  cluster.  It is customary to include a device element for the local device; Syncthing will currently
       add one if it is not present. The following attributes may be set on the device element:

       id     The device ID. (mandatory)

       name   A friendly name for the device. (optional)

       compression
              Whether to use protocol compression when sending messages to this  device.   The  possible  values
              are:

              metadata
                     Compress  metadata packets, such as index information. Metadata is usually very compression
                     friendly so this is a good default.

              always Compress all packets, including file data. This is recommended if the folders contents  are
                     mainly compressible data such as documents or text files.

              never  Disable all compression.

       introducer
              Set  to  true if this device should be trusted as an introducer, i.e. we should copy their list of
              devices per folder when connecting.

       SEE ALSO:
          introducer

       skipIntroductionRemovals
              Set to true if you wish to follow only introductions and not de-introductions.   For  example,  if
              this  is  set,  we  would  not  remove  a  device  that we were introduced to even if the original
              introducer is no longer listing the remote device as known.

       introducedBy
              Defines which device has introduced us to this device. Used only for following de-introductions.

       certName
              The device certificate common name, if it is not the default “syncthing”.

       From following child elements at least one address child must exist.

       address
              Contains an address or host name to use when attempting to connect to this device.  Entries  other
              than  dynamic  need  a  protocol  specific  prefix.  For  the  TCP  protocol  the  prefixes tcp://
              (dual-stack), tcp4:// (IPv4 only) or tcp6:// (IPv6 only) can be used.  The prefixes for  the  QUIC
              protocol are analogous: quic://, quic4:// and quic6:// Note that IP addresses need not use IPv4 or
              IPv6 prefixes; these are optional. Accepted formats are:

              IPv4 address (tcp://192.0.2.42)
                     The default port (22000) is used.

              IPv4 address and port (tcp://192.0.2.42:12345)
                     The address and port is used as given.

              IPv6 address (tcp://[2001:db8::23:42])
                     The default port (22000) is used. The address must be enclosed in square brackets.

              IPv6 address and port (tcp://[2001:db8::23:42]:12345)
                     The address and port is used as given. The address must be enclosed in square brackets.

              Host name (tcp6://fileserver)
                     The host name will be used on the default port (22000) and connections  will  be  attempted
                     only via IPv6.

              Host name and port (tcp://fileserver:12345)
                     The  host  name  will  be used on the given port and connections will be attempted via both
                     IPv4 and IPv6, depending on name resolution.

              dynamic
                     The word dynamic (without any prefix) means to use local and global discovery to  find  the
                     device.

              You can set multiple addresses and combine it with the dynamic keyword for example:

                 <device id="...">
                     <address>tcp://192.0.2.1:22001</address>
                     <address>quic://192.0.1.254:22000</address>
                     <address>dynamic</address>
                 </device>

       paused True if synchronization with this devices is (temporarily) suspended.

       allowedNetwork
              If given, this restricts connections to this device to only this network (see allowed-networks).

       maxSendKbps
              Maximum  send  rate  to  use  for  this  device. Unit is kibibytes/second, despite the config name
              looking like kilobits/second.

       maxRecvKbps
              Maximum receive rate to use for this device. Unit is kibibytes/second,  despite  the  config  name
              looking like kilobits/second.

       maxRequestKiB
              Maximum amount of data to have outstanding in requests towards this device.  Unit is kibibytes.

       remoteGUIPort
              If  set  to  a  positive  integer,  the  GUI  will display an HTTP link to the IP address which is
              currently used for synchronization.  Only the TCP port is exchanged for the value specified  here.
              Note  that  any  port  forwarding  or firewall settings need to be done manually and the link will
              probably not work for link-local IPv6 addresses because of modern browser limitations.

GUI ELEMENT

          <gui enabled="true" tls="false" debugging="false">
              <address>127.0.0.1:8384</address>
              <apikey>l7jSbCqPD95JYZ0g8vi4ZLAMg3ulnN1b</apikey>
              <theme>default</theme>
          </gui>

       There must be exactly one gui element. The GUI configuration  is  also  used  by  the  rest-api  and  the
       event-api. The following attributes may be set on the gui element:

       enabled
              If not true, the GUI and API will not be started.

       tls    If set to true, TLS (HTTPS) will be enforced. Non-HTTPS requests will be redirected to HTTPS. When
              this is set to false, TLS connections are still possible but it is not mandatory.

       debugging
              This enables profiling and additional debugging endpoints in the rest-api.

       The following child elements may be present:

       address
              Set the listen address. One address element must be present. Allowed address formats are:

              IPv4 address and port (127.0.0.1:8384)
                     The address and port is used as given.

              IPv6 address and port ([::1]:8384)
                     The address and port is used as given. The address must be enclosed in square brackets.

              Wildcard and port (0.0.0.0:12345, [::]:12345, :12345)
                     These are equivalent and will result in Syncthing listening on all interfaces via both IPv4
                     and IPv6.

              UNIX socket location (/var/run/st.sock)
                     If  the address is an absolute path it is interpreted as the path to a UNIX socket.  (Added
                     in v0.14.52.)

       unixSocketPermissions
              In the case that a UNIX socket location is used for address, set this to an octal to override  the
              default permissions of the socket.

       user   Set to require authentication.

       password
              Contains the bcrypt hash of the real password.

       apikey If set, this is the API key that enables usage of the REST interface.

       insecureAdminAccess
              If  true,  this  allows  access  to  the  web  GUI  from  outside  (i.e.  not  localhost)  without
              authorization. A warning will displayed about this setting on startup.

       theme  The name of the theme to use.

       authMode
              Authentication mode to use. If not present authentication mode (static) is controlled by  presence
              of user/password fields for backward compatibility.

              static Authentication using user and password.

              ldap   LDAP authentication. Requires ldap top level config section to be present.

LDAP ELEMENT

          <ldap>
              <address>localhost:389</address>
              <bindDN>cn=%s,ou=users,dc=syncthing,dc=net</bindDN>
              <transport>nontls</transport>
              <insecureSkipVerify>false</insecureSkipVerify>
          </ldap>

       The ldap element contains LDAP configuration options.

       address
              LDAP server address (server:port).

       bindDN BindDN for user authentication.  Special %s variable should be used to pass username to LDAP.

       transport

          nontls Non secure connection.

          tls    TLS secured connection.

          starttls
                 StartTLS connection mode.

       insecureSkipVerify
              Skip verification (true or false).

OPTIONS ELEMENT

          <options>
              <listenAddress>default</listenAddress>
              <globalAnnounceServer>default</globalAnnounceServer>
              <globalAnnounceEnabled>true</globalAnnounceEnabled>
              <localAnnounceEnabled>true</localAnnounceEnabled>
              <localAnnouncePort>21027</localAnnouncePort>
              <localAnnounceMCAddr>[ff12::8384]:21027</localAnnounceMCAddr>
              <maxSendKbps>0</maxSendKbps>
              <maxRecvKbps>0</maxRecvKbps>
              <reconnectionIntervalS>60</reconnectionIntervalS>
              <relaysEnabled>true</relaysEnabled>
              <relayReconnectIntervalM>10</relayReconnectIntervalM>
              <startBrowser>true</startBrowser>
              <natEnabled>true</natEnabled>
              <natLeaseMinutes>60</natLeaseMinutes>
              <natRenewalMinutes>30</natRenewalMinutes>
              <natTimeoutSeconds>10</natTimeoutSeconds>
              <urAccepted>0</urAccepted>
              <urSeen>0</urSeen>
              <urUniqueID></urUniqueID>
              <urURL>https://data.syncthing.net/newdata</urURL>
              <urPostInsecurely>false</urPostInsecurely>
              <urInitialDelayS>1800</urInitialDelayS>
              <restartOnWakeup>true</restartOnWakeup>
              <autoUpgradeIntervalH>12</autoUpgradeIntervalH>
              <upgradeToPreReleases>false</upgradeToPreReleases>
              <keepTemporariesH>24</keepTemporariesH>
              <cacheIgnoredFiles>false</cacheIgnoredFiles>
              <progressUpdateIntervalS>5</progressUpdateIntervalS>
              <limitBandwidthInLan>false</limitBandwidthInLan>
              <minHomeDiskFree unit="%">1</minHomeDiskFree>
              <releasesURL>https://upgrades.syncthing.net/meta.json</releasesURL>
              <overwriteRemoteDeviceNamesOnConnect>false</overwriteRemoteDeviceNamesOnConnect>
              <tempIndexMinBlocks>10</tempIndexMinBlocks>
              <trafficClass>0</trafficClass>
              <defaultFolderPath>~</defaultFolderPath>
              <setLowPriority>true</setLowPriority>
              <maxFolderConcurrency>0</maxFolderConcurrency>
              <crashReportingURL>https://crash.syncthing.net/newcrash</crashReportingURL>
              <crashReportingEnabled>true</crashReportingEnabled>
              <stunKeepaliveStartS>180</stunKeepaliveStartS>
              <stunKeepaliveMinS>20</stunKeepaliveMinS>
              <stunServer>default</stunServer>
              <databaseTuning>auto</databaseTuning>
              <maxConcurrentIncomingRequestKiB>0</maxConcurrentIncomingRequestKiB>
          </options>

       The options element contains all other global configuration options.

       listenAddress
              The listen address for incoming sync connections. See Listen Addresses for allowed syntax.

       globalAnnounceServer
              A URI to a global announce (discovery) server, or the word default to include the default servers.
              Any number of globalAnnounceServer elements may be present. The syntax for non-default entries  is
              that  of  a  HTTP  or  HTTPS  URL.  A  number of options may be added as query options to the URL:
              insecure to prevent certificate validation (required for HTTP URLs) and id=<device ID> to  perform
              certificate pinning. The device ID to use is printed by the discovery server on startup.

       globalAnnounceEnabled
              Whether to announce this device to the global announce (discovery) server, and also use it to look
              up other devices.

       localAnnounceEnabled
              Whether to send announcements to the local LAN, also use such announcements to find other devices.

       localAnnouncePort
              The port on which to listen and send IPv4 broadcast announcements to.

       localAnnounceMCAddr
              The group address and port to join and send IPv6 multicast announcements on.

       maxSendKbps
              Outgoing data rate limit, in kibibytes per second.

       maxRecvKbps
              Incoming data rate limits, in kibibytes per second.

       reconnectionIntervalS
              The number of seconds to wait between each attempt to connect to currently unconnected devices.

       relaysEnabled
              When true, relays will be connected to and potentially used for device to device connections.

       relayReconnectIntervalM
              Sets the interval, in minutes, between relay reconnect attempts.

       startBrowser
              Whether to attempt to start a browser to show the GUI when Syncthing starts.

       natEnabled
              Whether to attempt to perform a UPnP and NAT-PMP port mapping for incoming sync connections.

       natLeaseMinutes
              Request a lease for this many minutes; zero to request a permanent lease.

       natRenewalMinutes
              Attempt to renew the lease after this many minutes.

       natTimeoutSeconds
              When scanning for UPnP devices, wait this long for responses.

       urAccepted
              Whether the user has accepted to submit anonymous usage data. The default, 0, mean  the  user  has
              not made a choice, and Syncthing will ask at some point in the future. -1 means no, a number above
              zero means that that version of usage reporting has been accepted.

       urSeen The highest usage reporting version that has already been shown in the web GUI.

       urUniqueID
              The unique ID sent together with the usage report. Generated when usage reporting is enabled.

       urURL  The URL to post usage report data to, when enabled.

       urPostInsecurely
              When true, the UR URL can be http instead of https, or have a self-signed certificate. The default
              is false.

       urInitialDelayS
              The time to wait from startup to the first usage report being sent. Allows the system to stabilize
              before reporting statistics.

       restartOnWakeup
              Whether to perform a restart of Syncthing when it is detected that we are waking from  sleep  mode
              (i.e. a folded up laptop).

       autoUpgradeIntervalH
              Check for a newer version after this many hours. Set to zero to disable automatic upgrades.

       upgradeToPreReleases
              If true, automatic upgrades include release candidates (see releases).

       keepTemporariesH
              Keep temporary failed transfers for this many hours. While the temporaries are kept, the data they
              contain need not be transferred again.

       cacheIgnoredFiles
              Whether to cache the results of ignore pattern evaluation. Performance at  the  price  of  memory.
              Defaults to false as the cost for evaluating ignores is usually not significant.

       progressUpdateIntervalS
              How often in seconds the progress of ongoing downloads is made available to the GUI.

       limitBandwidthInLan
              Whether to apply bandwidth limits to devices in the same broadcast domain as the local device.

       minHomeDiskFree
              The  minimum  required  free  space  that  should  be  available  on  the  partition  holding  the
              configuration and index. Accepted units are %, kB, MB, GB and TB.

       releasesURL
              The URL from which release information is loaded, for automatic upgrades.

       alwaysLocalNet
              Network that should be considered as local given in CIDR notation.

       overwriteRemoteDeviceNamesOnConnect
              If set, device names will always be overwritten with the name given by remote on each  connection.
              By  default,  the  name  that the remote device announces will only be adopted when a name has not
              already been set.

       tempIndexMinBlocks
              When exchanging index information for incomplete transfers, only take into account files that have
              at least this many blocks.

       unackedNotificationID
              ID of a notification to be displayed in the web GUI. Will be removed once the user acknowledged it
              (e.g. an transition notice on an upgrade).

       trafficClass
              Specify a type of service (TOS)/traffic class of outgoing packets.

       stunServer
              Server  to  be  used  for  STUN,  given  as  ip:port.  The  keyword  default  gets   expanded   to
              stun.callwithus.com:3478,           stun.counterpath.com:3478,          stun.counterpath.net:3478,
              stun.ekiga.net:3478,  stun.ideasip.com:3478,  stun.internetcalls.com:3478,   stun.schlund.de:3478,
              stun.sipgate.net:10000,  stun.sipgate.net:3478, stun.voip.aebc.com:3478, stun.voiparound.com:3478,
              stun.voipbuster.com:3478, stun.voipstunt.com:3478 and stun.xten.com:3478 (this is the default).

       stunKeepaliveSeconds
              Interval in seconds between contacting a STUN server to maintain NAT mapping. Default  is  24  and
              you can set it to 0 to disable contacting STUN servers.

       defaultFolderPath
              The UI will propose to create new folders at this path. This can be disabled by setting this to an
              empty string.

       setLowPriority
              Syncthing will attempt to lower its process priority at  startup.   Specifically:  on  Linux,  set
              itself  to  a separate process group, set the niceness level of that process group to nine and the
              I/O priority to best effort level five; on other Unixes, set the process niceness level  to  nine;
              on  Windows, set the process priority class to below normal. To disable this behavior, for example
              to control process priority yourself as part of launching Syncthing, set this option to false.

   Listen Addresses
       The following address types are accepted in sync protocol listen addresses.  If  you  want  Syncthing  to
       listen on multiple addresses, you can either: add multiple <listenAddress> tags in the configuration file
       or enter several addresses separated by commas in the GUI.

       Default listen addresses (default)
              This      is      equivalent      to      tcp://0.0.0.0:22000,      quic://0.0.0.0:22000       and
              dynamic+https://relays.syncthing.net/endpoint.

       TCP wildcard and port (tcp://0.0.0.0:22000, tcp://:22000)
              These  are  equivalent and will result in Syncthing listening on all interfaces, IPv4 and IPv6, on
              the specified port.

       TCP IPv4 wildcard and port (tcp4://0.0.0.0:22000, tcp4://:22000)
              These are equivalent and will result in Syncthing listening on all interfaces via IPv4 only.

       TCP IPv4 address and port (tcp4://192.0.2.1:22000)
              This results in Syncthing listening on the specified address and port, IPv4 only.

       TCP IPv6 wildcard and port (tcp6://[::]:22000, tcp6://:22000)
              These are equivalent and will result in Syncthing listening on all interfaces via IPv6 only.

       TCP IPv6 address and port (tcp6://[2001:db8::42]:22000)
              This results in Syncthing listening on the specified address and port, IPv6 only.

       QUIC address and port (e.g. quic://0.0.0.0:22000)
              Syntax is the same as for TCP, also quic4 and quic6 can be used.

       Static relay address (relay://192.0.2.42:22067?id=abcd123...)
              Syncthing will connect to and listen for incoming connections via the specified relay address.

   Todo
       Document available URL parameters.

       Dynamic relay pool (dynamic+https://192.0.2.42/relays)
              Syncthing will fetch the specified HTTPS URL, parse it  for  a  JSON  payload  describing  relays,
              select  a  relay  from  the  available  ones and listen via that as if specified as a static relay
              above.

   Todo
       Document available URL parameters.

SYNCING CONFIGURATION FILES

       Syncing configuration files between devices (such that multiple devices are using the same  configuration
       files)  can cause issues. This is easy to do accidentally if you sync your home folder between devices. A
       common symptom of syncing configuration files is two devices ending up with the same Device ID.

       If you want to use Syncthing to backup your configuration files, it is recommended that the files you are
       backing  up  are  in  a  folder-sendonly  to  prevent  other  devices  from  overwriting  the  per device
       configuration. The folder on the remote device(s) should not be used  as  configuration  for  the  remote
       devices.

       If  you’d  like  to  sync  your home folder in non-send only mode, you may add the folder that stores the
       configuration files to the ignore list.  If you’d also like  to  backup  your  configuration  files,  add
       another folder in send only mode for just the configuration folder.

AUTHOR

       The Syncthing Authors

COPYRIGHT

       2014-2019, The Syncthing Authors