Custom Upgrade Server

Syncthing by default upgrades automatically from the official release packages on GitHub. If this is unsuitable, Syncthing can instead be configured to look for upgrades on a local or private upgrade server.

在 0.12.0 版被加入.

Usage

The URL used to fetch release information can be set in 進階組態, under the name releasesURL. The URL should point to a location serving a valid release list. The release list is a JSON file on the following format:

[
  {
    "tag_name": "v0.11.24",
    "prerelease": false,
    "assets": [
      {
        "url": "https://example.com/dl/syncthing-dragonfly-amd64-v0.11.24.tar.gz",
        "name": "syncthing-dragonfly-amd64-v0.11.24.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-freebsd-386-v0.11.24.tar.gz",
        "name": "syncthing-freebsd-386-v0.11.24.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-freebsd-amd64-v0.11.24.tar.gz",
        "name": "syncthing-freebsd-amd64-v0.11.24.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-linux-386-v0.11.24.tar.gz",
        "name": "syncthing-linux-386-v0.11.24.tar.gz"
      }
    ]
  },
  {
    "tag_name": "v0.11.23",
    "prerelease": false,
    "assets": [
      {
        "url": "https://example.com/dl/syncthing-dragonfly-amd64-v0.11.23.tar.gz",
        "name": "syncthing-dragonfly-amd64-v0.11.23.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-freebsd-386-v0.11.23.tar.gz",
        "name": "syncthing-freebsd-386-v0.11.23.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-freebsd-amd64-v0.11.23.tar.gz",
        "name": "syncthing-freebsd-amd64-v0.11.23.tar.gz"
      },
      {
        "url": "https://example.com/dl/syncthing-linux-386-v0.11.23.tar.gz",
        "name": "syncthing-linux-386-v0.11.23.tar.gz"
      }
    ]
  }
]

The file may include additional attributes; these are ignored. Syncthing looks for a version number in tag_name, then for an asset name matching syncthing-$os-$arch-$version.$ext. Only beta releases (i.e. releases with version numbers of the form v0.11.24-beta...) will consider an upgrade to a release marked as "prerelease": true. The actual assets must be official releases downloaded from GitHub, or they must be custom compiled and signed according to the process outlined in Release Signing.