├── 1 └── Dockerfile ├── 2 └── Dockerfile ├── .gitignore ├── .gitattributes ├── update.sh ├── README.md ├── .github └── workflows │ ├── verify-templating.yml │ └── ci.yml ├── run.sh ├── Dockerfile.template ├── apply-templates.sh ├── generate-stackbrew-library.sh ├── 1-rc └── Dockerfile ├── 2-rc └── Dockerfile ├── versions.sh └── versions.json /.gitignore: -------------------------------------------------------------------------------- 1 | .jq-template.awk 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | /*/**/Dockerfile linguist-generated 2 | /Dockerfile*.template linguist-language=Dockerfile 3 | -------------------------------------------------------------------------------- /update.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -Eeuo pipefail 3 | 4 | cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" 5 | 6 | ./versions.sh "$@" 7 | ./apply-templates.sh "$@" 8 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | See [`Dockerfile`](https://github.com/tianon/docker-syncthing/blob/master/1/Dockerfile) and [example `run.sh` script](https://github.com/tianon/docker-syncthing/blob/master/run.sh) for usage. 2 | -------------------------------------------------------------------------------- /.github/workflows/verify-templating.yml: -------------------------------------------------------------------------------- 1 | name: Verify Templating 2 | 3 | on: 4 | pull_request: 5 | push: 6 | 7 | defaults: 8 | run: 9 | shell: 'bash -Eeuo pipefail -x {0}' 10 | 11 | jobs: 12 | apply-templates: 13 | name: Check For Uncomitted Changes 14 | runs-on: ubuntu-latest 15 | steps: 16 | - uses: actions/checkout@v4 17 | - name: Apply Templates 18 | run: ./apply-templates.sh 19 | - name: Check Git Status 20 | run: | 21 | status="$(git status --short)" 22 | [ -z "$status" ] 23 | -------------------------------------------------------------------------------- /run.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -e 3 | 4 | if [ "$HOME" = '/home/user' ]; then 5 | echo >&2 'uh oh, HOME=/home/user' 6 | exit 1 7 | fi 8 | 9 | mkdir -p "$HOME/.config/syncthing" 10 | 11 | set -x 12 | docker run -d \ 13 | --name syncthing \ 14 | --restart always \ 15 | --user "$(id -u):$(id -g)" \ 16 | -v "$HOME:$HOME" \ 17 | -v "$HOME/.config/syncthing:/home/user/.config/syncthing" \ 18 | -v /etc:/etc \ 19 | -v /mnt:/mnt \ 20 | --net host \ 21 | -e STNODEFAULTFOLDER=1 \ 22 | -e STNOUPGRADE=1 \ 23 | tianon/syncthing:1 "$@" 24 | timeout 10s docker logs -f syncthing || true 25 | -------------------------------------------------------------------------------- /Dockerfile.template: -------------------------------------------------------------------------------- 1 | FROM alpine:3.22 2 | 3 | RUN set -eux; \ 4 | addgroup -g 1000 user; \ 5 | adduser -u 1000 -G user -D user 6 | 7 | # https://github.com/syncthing/syncthing/releases 8 | ENV SYNCTHING_VERSION {{ .version }} 9 | 10 | RUN set -eux; \ 11 | apkArch="$(apk --print-arch)"; \ 12 | case "$apkArch" in \ 13 | {{ .arches | map( -}} 14 | {{ .apkArch // empty | @sh }}) url={{ .url | @sh }}; sha256={{ .sha256 | @sh }} ;; \ 15 | {{ ) | add -}} 16 | *) echo >&2 "error: unsupported architecture: '$apkArch'"; exit 1 ;; \ 17 | esac; \ 18 | tarball="$(basename "$url")"; \ 19 | wget -O "$tarball" "$url"; \ 20 | echo "$sha256 *$tarball" | sha256sum -c -; \ 21 | dir="${tarball%.tar.*}"; \ 22 | bin="$dir/syncthing"; \ 23 | tar -xvf "$tarball" "$bin"; \ 24 | rm "$tarball"; \ 25 | mv "$bin" /usr/local/bin/; \ 26 | rmdir "$dir"; \ 27 | # smoke test 28 | syncthing --help 29 | 30 | USER user 31 | CMD ["syncthing"] 32 | -------------------------------------------------------------------------------- /apply-templates.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -Eeuo pipefail 3 | 4 | [ -f versions.json ] # run "versions.sh" first 5 | 6 | jqt='.jq-template.awk' 7 | if [ -n "${BASHBREW_SCRIPTS:-}" ]; then 8 | jqt="$BASHBREW_SCRIPTS/jq-template.awk" 9 | elif [ "$BASH_SOURCE" -nt "$jqt" ]; then 10 | # https://github.com/docker-library/bashbrew/blob/master/scripts/jq-template.awk 11 | wget -qO "$jqt" 'https://github.com/docker-library/bashbrew/raw/9f6a35772ac863a0241f147c820354e4008edf38/scripts/jq-template.awk' 12 | fi 13 | 14 | if [ "$#" -eq 0 ]; then 15 | versions="$(jq -r 'keys_unsorted | map(@sh) | join(" ")' versions.json)" 16 | eval "set -- $versions" 17 | fi 18 | 19 | generated_warning() { 20 | cat <<-EOH 21 | # 22 | # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" 23 | # 24 | # PLEASE DO NOT EDIT IT DIRECTLY. 25 | # 26 | 27 | EOH 28 | } 29 | 30 | for version; do 31 | export version 32 | 33 | rm -rf "$version/" 34 | mkdir -p "$version" 35 | 36 | echo "processing $version ..." 37 | 38 | { 39 | generated_warning 40 | gawk -f "$jqt" Dockerfile.template 41 | } > "$version/Dockerfile" 42 | done 43 | -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: GitHub CI 2 | 3 | on: 4 | pull_request: 5 | push: 6 | schedule: 7 | - cron: 0 0 * * 0 8 | 9 | defaults: 10 | run: 11 | shell: 'bash -Eeuo pipefail -x {0}' 12 | 13 | jobs: 14 | 15 | generate-jobs: 16 | name: Generate Jobs 17 | runs-on: ubuntu-latest 18 | outputs: 19 | strategy: ${{ steps.generate-jobs.outputs.strategy }} 20 | steps: 21 | - uses: actions/checkout@v4 22 | - uses: docker-library/bashbrew@HEAD 23 | - id: generate-jobs 24 | name: Generate Jobs 25 | run: | 26 | export BASHBREW_NAMESPACE='tianon' 27 | image="${GITHUB_REPOSITORY##*/}" 28 | image="${image#docker-}" 29 | export GITHUB_REPOSITORY="$image" 30 | strategy="$("$BASHBREW_SCRIPTS/github-actions/generate.sh")" 31 | strategy="$("$BASHBREW_SCRIPTS/github-actions/munge-i386.sh" -c <<<"$strategy")" 32 | echo "strategy=$strategy" >> "$GITHUB_OUTPUT" 33 | jq . <<<"$strategy" # sanity check / debugging aid 34 | 35 | test: 36 | needs: generate-jobs 37 | strategy: ${{ fromJson(needs.generate-jobs.outputs.strategy) }} 38 | name: ${{ matrix.name }} 39 | runs-on: ${{ matrix.os }} 40 | steps: 41 | - uses: actions/checkout@v4 42 | - name: Prepare Environment 43 | run: ${{ matrix.runs.prepare }} 44 | - name: Pull Dependencies 45 | run: ${{ matrix.runs.pull }} 46 | - name: Build ${{ matrix.name }} 47 | run: ${{ matrix.runs.build }} 48 | - name: History ${{ matrix.name }} 49 | run: ${{ matrix.runs.history }} 50 | - name: Test ${{ matrix.name }} 51 | run: ${{ matrix.runs.test }} 52 | - name: '"docker images"' 53 | run: ${{ matrix.runs.images }} 54 | -------------------------------------------------------------------------------- /generate-stackbrew-library.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | set -eu 3 | 4 | declare -A aliases=( 5 | [2]='latest' 6 | [2-rc]='rc' 7 | ) 8 | 9 | self="$(basename "$BASH_SOURCE")" 10 | cd "$(dirname "$(readlink -f "$BASH_SOURCE")")" 11 | 12 | versions=( */ ) 13 | versions=( "${versions[@]%/}" ) 14 | 15 | # get the most recent commit which modified any of "$@" 16 | fileCommit() { 17 | git log -1 --format='format:%H' HEAD -- "$@" 18 | } 19 | 20 | # get the most recent commit which modified "$1/Dockerfile" or any file COPY'd from "$1/Dockerfile" 21 | dirCommit() { 22 | local dir="$1"; shift 23 | ( 24 | cd "$dir" 25 | fileCommit \ 26 | Dockerfile \ 27 | $(git show HEAD:./Dockerfile | awk ' 28 | toupper($1) == "COPY" { 29 | for (i = 2; i < NF; i++) { 30 | print $i 31 | } 32 | } 33 | ') 34 | ) 35 | } 36 | 37 | cat <<-EOH 38 | # this file is generated via https://github.com/tianon/docker-syncthing/blob/$(fileCommit "$self")/$self 39 | 40 | Maintainers: Tianon Gravi (@tianon) 41 | GitRepo: https://github.com/tianon/docker-syncthing.git 42 | EOH 43 | 44 | # prints "$2$1$3$1...$N" 45 | join() { 46 | local sep="$1"; shift 47 | local out; printf -v out "${sep//%/%%}%s" "$@" 48 | echo "${out#$sep}" 49 | } 50 | 51 | for version in "${versions[@]}"; do 52 | export version 53 | 54 | commit="$(dirCommit "$version")" 55 | 56 | fullVersion="$(jq -r '.[env.version].version' versions.json)" 57 | 58 | rcVersion="${version%-rc}" 59 | 60 | versionAliases=() 61 | if [ "$version" = "$rcVersion" ]; then 62 | while [ "$fullVersion" != "$rcVersion" -a "${fullVersion%[.-]*}" != "$fullVersion" ]; do 63 | versionAliases+=( $fullVersion ) 64 | fullVersion="${fullVersion%[.-]*}" 65 | done 66 | else 67 | versionAliases+=( $fullVersion ) 68 | fi 69 | versionAliases+=( 70 | $version 71 | ${aliases[$version]:-} 72 | ) 73 | 74 | from="$(awk '$1 == "FROM" { print $2; exit }' "$version/Dockerfile")" # TODO multi-stage build?? 75 | fromArches="$(bashbrew remote arches --json "$from" | jq -c '.arches | keys')" 76 | arches="$(jq -r --argjson fromArches "$fromArches" ' 77 | $fromArches - ($fromArches - (.[env.version].arches | keys)) 78 | | join(", ") 79 | ' versions.json)" 80 | [ -n "$arches" ] 81 | 82 | echo 83 | cat <<-EOE 84 | Tags: $(join ', ' "${versionAliases[@]}") 85 | GitCommit: $commit 86 | Directory: $version 87 | Architectures: $arches 88 | EOE 89 | done 90 | -------------------------------------------------------------------------------- /1/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" 3 | # 4 | # PLEASE DO NOT EDIT IT DIRECTLY. 5 | # 6 | 7 | FROM alpine:3.22 8 | 9 | RUN set -eux; \ 10 | addgroup -g 1000 user; \ 11 | adduser -u 1000 -G user -D user 12 | 13 | # https://github.com/syncthing/syncthing/releases 14 | ENV SYNCTHING_VERSION 1.30.0 15 | 16 | RUN set -eux; \ 17 | apkArch="$(apk --print-arch)"; \ 18 | case "$apkArch" in \ 19 | 'x86') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-386-v1.30.0.tar.gz'; sha256='b2a2aa177f189c3a9c9a9c0d6dbac60053a7af8122be124b3e8dfbf0c028f268' ;; \ 20 | 'x86_64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-amd64-v1.30.0.tar.gz'; sha256='a2edc833d6dd71a76b7c481dbcc81f8be37da9eb83993c512bf53eb096ba7a73' ;; \ 21 | 'armhf') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm-v1.30.0.tar.gz'; sha256='70beb4c43a752d3b11a780bf2ca2d1a3b50f9f74e0b6a9cd35b7f204fea375e1' ;; \ 22 | 'armv7') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm-v1.30.0.tar.gz'; sha256='70beb4c43a752d3b11a780bf2ca2d1a3b50f9f74e0b6a9cd35b7f204fea375e1' ;; \ 23 | 'aarch64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm64-v1.30.0.tar.gz'; sha256='4655e260e94fa5e0110084040751bd0274acdeb74653933f909036e788a911a1' ;; \ 24 | 'ppc64le') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-ppc64le-v1.30.0.tar.gz'; sha256='4d268279081414db01ff2e80018f51f165803e9052d07505850faeaf2dd5a616' ;; \ 25 | 'riscv64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-riscv64-v1.30.0.tar.gz'; sha256='170eaadbd869df28f0f6d07d7eced5b52c8b0dedf7583d944690b77b384e81a9' ;; \ 26 | 's390x') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-s390x-v1.30.0.tar.gz'; sha256='6f76af9e3ff14f0a7ac9a8ea6a57e0a391ef08ecd23c9eae6a057a17edf91568' ;; \ 27 | *) echo >&2 "error: unsupported architecture: '$apkArch'"; exit 1 ;; \ 28 | esac; \ 29 | tarball="$(basename "$url")"; \ 30 | wget -O "$tarball" "$url"; \ 31 | echo "$sha256 *$tarball" | sha256sum -c -; \ 32 | dir="${tarball%.tar.*}"; \ 33 | bin="$dir/syncthing"; \ 34 | tar -xvf "$tarball" "$bin"; \ 35 | rm "$tarball"; \ 36 | mv "$bin" /usr/local/bin/; \ 37 | rmdir "$dir"; \ 38 | # smoke test 39 | syncthing --help 40 | 41 | USER user 42 | CMD ["syncthing"] 43 | -------------------------------------------------------------------------------- /2/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" 3 | # 4 | # PLEASE DO NOT EDIT IT DIRECTLY. 5 | # 6 | 7 | FROM alpine:3.22 8 | 9 | RUN set -eux; \ 10 | addgroup -g 1000 user; \ 11 | adduser -u 1000 -G user -D user 12 | 13 | # https://github.com/syncthing/syncthing/releases 14 | ENV SYNCTHING_VERSION 2.0.12 15 | 16 | RUN set -eux; \ 17 | apkArch="$(apk --print-arch)"; \ 18 | case "$apkArch" in \ 19 | 'x86') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-386-v2.0.12.tar.gz'; sha256='0998ebbba589ec56b455b55b71bf6493bbd1169a653b4a54dce1afbddc2db7b7' ;; \ 20 | 'x86_64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-amd64-v2.0.12.tar.gz'; sha256='a096082e9fff4c7b4884aab95b53afd0177316de544d517dd1fc7fe47d4ea4c3' ;; \ 21 | 'armhf') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm-v2.0.12.tar.gz'; sha256='9845057b018ecda90f125bd17ac310e2b57e9ba86dbb05f09a2fc5ac5cf2adc3' ;; \ 22 | 'armv7') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm-v2.0.12.tar.gz'; sha256='9845057b018ecda90f125bd17ac310e2b57e9ba86dbb05f09a2fc5ac5cf2adc3' ;; \ 23 | 'aarch64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm64-v2.0.12.tar.gz'; sha256='ca6d1c6432c081c374dd023e3e4c80008e8895ff284cd105ed8e5a1cb380ef4e' ;; \ 24 | 'ppc64le') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-ppc64le-v2.0.12.tar.gz'; sha256='f6c222d6fc34032b2caca8ac8a55ea5840603334068a0cd1026496a0e9a7d67a' ;; \ 25 | 'riscv64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-riscv64-v2.0.12.tar.gz'; sha256='bde31866f3c24f1da55c7842547f4f5d9dde92905eb9a98008e46412253e3a56' ;; \ 26 | 's390x') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-s390x-v2.0.12.tar.gz'; sha256='40d4162d3efaffb3c617932bfe74826d00a703cdb49da6583653ff04e619c84a' ;; \ 27 | *) echo >&2 "error: unsupported architecture: '$apkArch'"; exit 1 ;; \ 28 | esac; \ 29 | tarball="$(basename "$url")"; \ 30 | wget -O "$tarball" "$url"; \ 31 | echo "$sha256 *$tarball" | sha256sum -c -; \ 32 | dir="${tarball%.tar.*}"; \ 33 | bin="$dir/syncthing"; \ 34 | tar -xvf "$tarball" "$bin"; \ 35 | rm "$tarball"; \ 36 | mv "$bin" /usr/local/bin/; \ 37 | rmdir "$dir"; \ 38 | # smoke test 39 | syncthing --help 40 | 41 | USER user 42 | CMD ["syncthing"] 43 | -------------------------------------------------------------------------------- /1-rc/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" 3 | # 4 | # PLEASE DO NOT EDIT IT DIRECTLY. 5 | # 6 | 7 | FROM alpine:3.22 8 | 9 | RUN set -eux; \ 10 | addgroup -g 1000 user; \ 11 | adduser -u 1000 -G user -D user 12 | 13 | # https://github.com/syncthing/syncthing/releases 14 | ENV SYNCTHING_VERSION 1.30.0-rc.2 15 | 16 | RUN set -eux; \ 17 | apkArch="$(apk --print-arch)"; \ 18 | case "$apkArch" in \ 19 | 'x86') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-386-v1.30.0-rc.2.tar.gz'; sha256='7f6ca563f92ae68b2820eee2bd4cb16acd7ee7988a494bb870f59318fc1cd6d0' ;; \ 20 | 'x86_64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-amd64-v1.30.0-rc.2.tar.gz'; sha256='3d30b649d0c33b0637dcbe1db8fc0c61a602e6b4d0fe8b19e386badb4a825b1d' ;; \ 21 | 'armhf') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm-v1.30.0-rc.2.tar.gz'; sha256='b673e0a8c093b33421a6f10f950fc2db94e4991bb46286ffb66bcb9ca5585840' ;; \ 22 | 'armv7') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm-v1.30.0-rc.2.tar.gz'; sha256='b673e0a8c093b33421a6f10f950fc2db94e4991bb46286ffb66bcb9ca5585840' ;; \ 23 | 'aarch64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm64-v1.30.0-rc.2.tar.gz'; sha256='c803c0f462e1affc36609bc33e0069d48c4161b6b772481ac321e5743df0721b' ;; \ 24 | 'ppc64le') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-ppc64le-v1.30.0-rc.2.tar.gz'; sha256='da4dba3f37aa62ffd212b68646810043a66872af5293d0ffcbca5230012d34be' ;; \ 25 | 'riscv64') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-riscv64-v1.30.0-rc.2.tar.gz'; sha256='b5a4cf3523d519dc6e7ffa26cf93fb0970ddeb5db32474596bacf3a5371b5303' ;; \ 26 | 's390x') url='https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-s390x-v1.30.0-rc.2.tar.gz'; sha256='322af33887e063b25b3acf597003b44d105c4ed84474a03c18c8a279ebab6c8b' ;; \ 27 | *) echo >&2 "error: unsupported architecture: '$apkArch'"; exit 1 ;; \ 28 | esac; \ 29 | tarball="$(basename "$url")"; \ 30 | wget -O "$tarball" "$url"; \ 31 | echo "$sha256 *$tarball" | sha256sum -c -; \ 32 | dir="${tarball%.tar.*}"; \ 33 | bin="$dir/syncthing"; \ 34 | tar -xvf "$tarball" "$bin"; \ 35 | rm "$tarball"; \ 36 | mv "$bin" /usr/local/bin/; \ 37 | rmdir "$dir"; \ 38 | # smoke test 39 | syncthing --help 40 | 41 | USER user 42 | CMD ["syncthing"] 43 | -------------------------------------------------------------------------------- /2-rc/Dockerfile: -------------------------------------------------------------------------------- 1 | # 2 | # NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh" 3 | # 4 | # PLEASE DO NOT EDIT IT DIRECTLY. 5 | # 6 | 7 | FROM alpine:3.22 8 | 9 | RUN set -eux; \ 10 | addgroup -g 1000 user; \ 11 | adduser -u 1000 -G user -D user 12 | 13 | # https://github.com/syncthing/syncthing/releases 14 | ENV SYNCTHING_VERSION 2.0.12-rc.1 15 | 16 | RUN set -eux; \ 17 | apkArch="$(apk --print-arch)"; \ 18 | case "$apkArch" in \ 19 | 'x86') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-386-v2.0.12-rc.1.tar.gz'; sha256='c62d71a8441c80c72e3398e0754cdd1af42b258daaca315a3cb5a6e63601bedb' ;; \ 20 | 'x86_64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-amd64-v2.0.12-rc.1.tar.gz'; sha256='4d56979534efa7c0e7f5fdd96836097b93d50326620c2954febdb84006886465' ;; \ 21 | 'armhf') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm-v2.0.12-rc.1.tar.gz'; sha256='a65de03377c574bbd3aa021e7224e04ab8ceeb4589bdc92cade32de82c451353' ;; \ 22 | 'armv7') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm-v2.0.12-rc.1.tar.gz'; sha256='a65de03377c574bbd3aa021e7224e04ab8ceeb4589bdc92cade32de82c451353' ;; \ 23 | 'aarch64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm64-v2.0.12-rc.1.tar.gz'; sha256='d3a4b526ef77d7a9cdcb2d80901350188f9571a2ddbbea95b3a344d89b152b25' ;; \ 24 | 'ppc64le') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-ppc64le-v2.0.12-rc.1.tar.gz'; sha256='eefe3c9194c0f2f8f50f510bd3e04af4ac87cf727e19ad833e7a43da53e7762c' ;; \ 25 | 'riscv64') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-riscv64-v2.0.12-rc.1.tar.gz'; sha256='49ff172ffc924df5f6e0717469324f5d1c25e2cee77baf656b1397b02c920b1f' ;; \ 26 | 's390x') url='https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-s390x-v2.0.12-rc.1.tar.gz'; sha256='06fbc9196c889472b962a25526abc7fd2539526cef0fb79142073fef4dcee7fa' ;; \ 27 | *) echo >&2 "error: unsupported architecture: '$apkArch'"; exit 1 ;; \ 28 | esac; \ 29 | tarball="$(basename "$url")"; \ 30 | wget -O "$tarball" "$url"; \ 31 | echo "$sha256 *$tarball" | sha256sum -c -; \ 32 | dir="${tarball%.tar.*}"; \ 33 | bin="$dir/syncthing"; \ 34 | tar -xvf "$tarball" "$bin"; \ 35 | rm "$tarball"; \ 36 | mv "$bin" /usr/local/bin/; \ 37 | rmdir "$dir"; \ 38 | # smoke test 39 | syncthing --help 40 | 41 | USER user 42 | CMD ["syncthing"] 43 | -------------------------------------------------------------------------------- /versions.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | set -Eeuo pipefail 3 | 4 | if [ -z "${TIANON_DOCKERFILES:-}" ] && [ -x ~/docker/dockerfiles/.libs/git.sh ]; then 5 | TIANON_DOCKERFILES=~/docker/dockerfiles 6 | fi 7 | [ -d "$TIANON_DOCKERFILES" ] 8 | source "$TIANON_DOCKERFILES/.libs/git.sh" 9 | 10 | versions=( "$@" ) 11 | if [ ${#versions[@]} -eq 0 ]; then 12 | versions=( */ ) 13 | json='{}' 14 | else 15 | json="$(< versions.json)" 16 | fi 17 | versions=( "${versions[@]%/}" ) 18 | 19 | hook_version() { 20 | local rcVersion="${folder%-rc}" 21 | case "$3" in 22 | "$rcVersion" | "$rcVersion"[.-]*) 23 | return 0 24 | ;; 25 | esac 26 | return 1 27 | } 28 | versions_hooks+=( hook_version ) 29 | 30 | hook_rc-status() { 31 | local rc=1 ga=0 32 | if [[ "$folder" == *-rc ]]; then 33 | rc=0 ga=1 34 | fi 35 | if ! hook_no-prereleases "$@"; then 36 | return "$rc" 37 | fi 38 | return "$ga" 39 | } 40 | versions_hooks+=( hook_rc-status ) 41 | 42 | hook_sha256() { 43 | local version="$3" 44 | local sha256 urlBase="https://github.com/syncthing/syncthing/releases/download/v$version" 45 | sha256="$(wget -qO- "$urlBase/sha256sum.txt.asc")" || return 1 46 | local json 47 | json="$(jq <<<"$sha256" -csR --arg urlBase "$urlBase" -L"$TIANON_DOCKERFILES/.libs" ' 48 | include "lib" 49 | ; 50 | split("\n") 51 | | map( 52 | capture("^(?[0-9a-f]{64}) [ *](?syncthing-(?[^.-]+)-(?[^.-]+)-v[0-9.-]+[.].*)$") 53 | | select(.goos == "macos" and .goarch == "universal" | not) 54 | | .goos |= ({ 55 | "macos": "darwin", 56 | }[.] // .) 57 | | .arch = ({ 58 | "386": "i386", 59 | "arm": ("arm32v5", "arm32v6", "arm32v7"), # https://github.com/syncthing/syncthing/blob/541572781b1b089ad7fb5cac124858166410d5c7/.github/workflows/build-syncthing.yaml#L19 (GOARM: "5") 60 | "arm64": "arm64v8", 61 | }[.goarch] // .goarch) 62 | | if .goos == "linux" then . else 63 | .arch = .goos + "-" + .arch 64 | end 65 | | { (.arch): { 66 | url: ($urlBase + "/" + .file), 67 | sha256: .sha256, 68 | apkArch: (.arch | apk_arch), 69 | } } 70 | ) 71 | | { arches: add } 72 | ')" || return 1 73 | jq <<<"$json" -e '.arches | has("amd64") and has("arm64v8")' > /dev/null || return 1 # sanity check 74 | printf '%s\n' "$json" 75 | } 76 | versions_hooks+=( hook_sha256 ) 77 | 78 | for folder in "${versions[@]}"; do 79 | export folder 80 | 81 | echo "finding $folder ..." 82 | doc="$(git-tags 'https://github.com/syncthing/syncthing.git')" 83 | 84 | json="$(jq <<<"$json" -c --argjson doc "$doc" '.[env.folder] = $doc')" 85 | done 86 | 87 | jq <<<"$json" 'to_entries | sort_by(.key) | from_entries' > versions.json 88 | -------------------------------------------------------------------------------- /versions.json: -------------------------------------------------------------------------------- 1 | { 2 | "1": { 3 | "commit": "0945304a79d6bbaeac7fc2cc1b06f57d3cf66622", 4 | "ref": "refs/tags/v1.30.0^{}", 5 | "tag": "v1.30.0", 6 | "version": "1.30.0", 7 | "arches": { 8 | "dragonfly-amd64": { 9 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-dragonfly-amd64-v1.30.0.tar.gz", 10 | "sha256": "c9c7464eec5a1c5f562eff14b325072b6647c08df27bab4cae50995b7e4e36ed", 11 | "apkArch": null 12 | }, 13 | "freebsd-i386": { 14 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-386-v1.30.0.tar.gz", 15 | "sha256": "583a7fd8ae98528e5c9eae9e2acdfe6864ca8cbbd9328617a9e0f11481b0ad5b", 16 | "apkArch": null 17 | }, 18 | "freebsd-amd64": { 19 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-amd64-v1.30.0.tar.gz", 20 | "sha256": "8c3e6e87d0b8ba1449fd733dec94f6cc34660e29c9ffdf94d64a73c4b0017285", 21 | "apkArch": null 22 | }, 23 | "freebsd-arm32v5": { 24 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-arm-v1.30.0.tar.gz", 25 | "sha256": "d29d27eca10894f80e6d78dc1d841daad5592d01f7d43e5f8affee93e4067e7d", 26 | "apkArch": null 27 | }, 28 | "freebsd-arm32v6": { 29 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-arm-v1.30.0.tar.gz", 30 | "sha256": "d29d27eca10894f80e6d78dc1d841daad5592d01f7d43e5f8affee93e4067e7d", 31 | "apkArch": null 32 | }, 33 | "freebsd-arm32v7": { 34 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-arm-v1.30.0.tar.gz", 35 | "sha256": "d29d27eca10894f80e6d78dc1d841daad5592d01f7d43e5f8affee93e4067e7d", 36 | "apkArch": null 37 | }, 38 | "freebsd-arm64v8": { 39 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-freebsd-arm64-v1.30.0.tar.gz", 40 | "sha256": "2f6fcc229b5525b03b4d5ae07fd5f83eb41c404fe75bc4f07446e46f3ce8f98c", 41 | "apkArch": null 42 | }, 43 | "illumos-amd64": { 44 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-illumos-amd64-v1.30.0.tar.gz", 45 | "sha256": "99426e2d82b540c34c86d7c34c240c652ad816f42f9ed8bbd2985d572f6fe7ac", 46 | "apkArch": null 47 | }, 48 | "i386": { 49 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-386-v1.30.0.tar.gz", 50 | "sha256": "b2a2aa177f189c3a9c9a9c0d6dbac60053a7af8122be124b3e8dfbf0c028f268", 51 | "apkArch": "x86" 52 | }, 53 | "amd64": { 54 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-amd64-v1.30.0.tar.gz", 55 | "sha256": "a2edc833d6dd71a76b7c481dbcc81f8be37da9eb83993c512bf53eb096ba7a73", 56 | "apkArch": "x86_64" 57 | }, 58 | "arm32v5": { 59 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm-v1.30.0.tar.gz", 60 | "sha256": "70beb4c43a752d3b11a780bf2ca2d1a3b50f9f74e0b6a9cd35b7f204fea375e1", 61 | "apkArch": null 62 | }, 63 | "arm32v6": { 64 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm-v1.30.0.tar.gz", 65 | "sha256": "70beb4c43a752d3b11a780bf2ca2d1a3b50f9f74e0b6a9cd35b7f204fea375e1", 66 | "apkArch": "armhf" 67 | }, 68 | "arm32v7": { 69 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm-v1.30.0.tar.gz", 70 | "sha256": "70beb4c43a752d3b11a780bf2ca2d1a3b50f9f74e0b6a9cd35b7f204fea375e1", 71 | "apkArch": "armv7" 72 | }, 73 | "arm64v8": { 74 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-arm64-v1.30.0.tar.gz", 75 | "sha256": "4655e260e94fa5e0110084040751bd0274acdeb74653933f909036e788a911a1", 76 | "apkArch": "aarch64" 77 | }, 78 | "loong64": { 79 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-loong64-v1.30.0.tar.gz", 80 | "sha256": "a214b0f60837b7495c93af40e71a9c1264e4124bdb19e554bf2b8ed3d2b34790", 81 | "apkArch": null 82 | }, 83 | "mips": { 84 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-mips-v1.30.0.tar.gz", 85 | "sha256": "ec5037cc13c65804e79790d3d9080e01d4af7bfdc82f128b17f4d143ec0e7ba7", 86 | "apkArch": null 87 | }, 88 | "mips64": { 89 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-mips64-v1.30.0.tar.gz", 90 | "sha256": "c55a0f2e8a603b62bbf970aab8738729894d511936c617f570d8fa10010c5595", 91 | "apkArch": null 92 | }, 93 | "mips64le": { 94 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-mips64le-v1.30.0.tar.gz", 95 | "sha256": "556318ca26cdee0340703e68994f5d62ccc1ae185e03dc892a09505baa8a886f", 96 | "apkArch": null 97 | }, 98 | "mipsle": { 99 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-mipsle-v1.30.0.tar.gz", 100 | "sha256": "c9e7485e1afdf3101fa0dae79e10ca569d31017f162844fee9ebb695ea60f16e", 101 | "apkArch": null 102 | }, 103 | "ppc64": { 104 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-ppc64-v1.30.0.tar.gz", 105 | "sha256": "9fd7817263369e0118a5239f8e5926e2aeba009855a5deb15f9129da3d34506d", 106 | "apkArch": null 107 | }, 108 | "ppc64le": { 109 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-ppc64le-v1.30.0.tar.gz", 110 | "sha256": "4d268279081414db01ff2e80018f51f165803e9052d07505850faeaf2dd5a616", 111 | "apkArch": "ppc64le" 112 | }, 113 | "riscv64": { 114 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-riscv64-v1.30.0.tar.gz", 115 | "sha256": "170eaadbd869df28f0f6d07d7eced5b52c8b0dedf7583d944690b77b384e81a9", 116 | "apkArch": "riscv64" 117 | }, 118 | "s390x": { 119 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-linux-s390x-v1.30.0.tar.gz", 120 | "sha256": "6f76af9e3ff14f0a7ac9a8ea6a57e0a391ef08ecd23c9eae6a057a17edf91568", 121 | "apkArch": "s390x" 122 | }, 123 | "netbsd-amd64": { 124 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-netbsd-amd64-v1.30.0.tar.gz", 125 | "sha256": "0b4b08c5db8cd0eb894acc776f5e750744e14c76577a1f10bdd891f60ec33449", 126 | "apkArch": null 127 | }, 128 | "netbsd-arm32v5": { 129 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-netbsd-arm-v1.30.0.tar.gz", 130 | "sha256": "bd0d47e8d32a496de20caa149492d504034dd47a38ee81cb3ce70e4e9f6d0f61", 131 | "apkArch": null 132 | }, 133 | "netbsd-arm32v6": { 134 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-netbsd-arm-v1.30.0.tar.gz", 135 | "sha256": "bd0d47e8d32a496de20caa149492d504034dd47a38ee81cb3ce70e4e9f6d0f61", 136 | "apkArch": null 137 | }, 138 | "netbsd-arm32v7": { 139 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-netbsd-arm-v1.30.0.tar.gz", 140 | "sha256": "bd0d47e8d32a496de20caa149492d504034dd47a38ee81cb3ce70e4e9f6d0f61", 141 | "apkArch": null 142 | }, 143 | "netbsd-arm64v8": { 144 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-netbsd-arm64-v1.30.0.tar.gz", 145 | "sha256": "86210dade9169a9e865c2b7d25dd0d7dffd31416e177c1a99f0227be2af0439a", 146 | "apkArch": null 147 | }, 148 | "openbsd-i386": { 149 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-386-v1.30.0.tar.gz", 150 | "sha256": "0f440e3c6dbb9dc40e57128706d091db965235ddeafef53aad291e082f336632", 151 | "apkArch": null 152 | }, 153 | "openbsd-amd64": { 154 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-amd64-v1.30.0.tar.gz", 155 | "sha256": "5afec65e9176bf958ebf14c7e782746d5296b9b60df266eb60cfa7b2e32b9fa0", 156 | "apkArch": null 157 | }, 158 | "openbsd-arm32v5": { 159 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-arm-v1.30.0.tar.gz", 160 | "sha256": "9095097d410a0d2b35db45dd06ae19ebfbda42edcdb2155dcdd0ae7733cd7d85", 161 | "apkArch": null 162 | }, 163 | "openbsd-arm32v6": { 164 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-arm-v1.30.0.tar.gz", 165 | "sha256": "9095097d410a0d2b35db45dd06ae19ebfbda42edcdb2155dcdd0ae7733cd7d85", 166 | "apkArch": null 167 | }, 168 | "openbsd-arm32v7": { 169 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-arm-v1.30.0.tar.gz", 170 | "sha256": "9095097d410a0d2b35db45dd06ae19ebfbda42edcdb2155dcdd0ae7733cd7d85", 171 | "apkArch": null 172 | }, 173 | "openbsd-arm64v8": { 174 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-arm64-v1.30.0.tar.gz", 175 | "sha256": "1b31386d5e0f0464e9bbbe818dab3f844f5929cd3171a302787537d41732da98", 176 | "apkArch": null 177 | }, 178 | "openbsd-riscv64": { 179 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-openbsd-riscv64-v1.30.0.tar.gz", 180 | "sha256": "c2d3f8b27e69bb1b4903f972c47c84adbc32ba7f3fc6f20b0238855571a1f448", 181 | "apkArch": null 182 | }, 183 | "solaris-amd64": { 184 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-solaris-amd64-v1.30.0.tar.gz", 185 | "sha256": "e1176da8ae1e47c6bb77a4a51be519eb17e0c1581d52892c4db97f960db4007e", 186 | "apkArch": null 187 | }, 188 | "darwin-amd64": { 189 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-macos-amd64-v1.30.0.zip", 190 | "sha256": "eb375302c79b89b85f32f014e451430efe3a9723b37639698310344a9029799e", 191 | "apkArch": null 192 | }, 193 | "darwin-arm64v8": { 194 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-macos-arm64-v1.30.0.zip", 195 | "sha256": "dd42cc7a88d08779c305e5f6f2d8bc8dec2c97652c1380679c672d4febd63f8f", 196 | "apkArch": null 197 | }, 198 | "windows-i386": { 199 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-386-v1.30.0.zip", 200 | "sha256": "0edfe104260af96fe9c59ed07a5e9d9f7095657858f93f46dc03311d73abdad8", 201 | "apkArch": null 202 | }, 203 | "windows-amd64": { 204 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-amd64-v1.30.0.zip", 205 | "sha256": "c8e2713d949dc75afaa9e25ea06f4a84f843835662c52ba65e7316fcf4be4587", 206 | "apkArch": null 207 | }, 208 | "windows-arm32v5": { 209 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-arm-v1.30.0.zip", 210 | "sha256": "7ca1b37fad99077af085abff6ff8299cd3004e27c9e66f0ebe95de040326e0b3", 211 | "apkArch": null 212 | }, 213 | "windows-arm32v6": { 214 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-arm-v1.30.0.zip", 215 | "sha256": "7ca1b37fad99077af085abff6ff8299cd3004e27c9e66f0ebe95de040326e0b3", 216 | "apkArch": null 217 | }, 218 | "windows-arm32v7": { 219 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-arm-v1.30.0.zip", 220 | "sha256": "7ca1b37fad99077af085abff6ff8299cd3004e27c9e66f0ebe95de040326e0b3", 221 | "apkArch": null 222 | }, 223 | "windows-arm64v8": { 224 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0/syncthing-windows-arm64-v1.30.0.zip", 225 | "sha256": "e914c990a5f4b8ccdf6d8e7dbf058f5343330a3483423230cbc79c35afbc049c", 226 | "apkArch": null 227 | } 228 | } 229 | }, 230 | "1-rc": { 231 | "commit": "0945304a79d6bbaeac7fc2cc1b06f57d3cf66622", 232 | "ref": "refs/tags/v1.30.0-rc.2^{}", 233 | "tag": "v1.30.0-rc.2", 234 | "version": "1.30.0-rc.2", 235 | "arches": { 236 | "dragonfly-amd64": { 237 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-dragonfly-amd64-v1.30.0-rc.2.tar.gz", 238 | "sha256": "0c8d7fc9f6f73110fc2ace25b18481cba669970e3185afe40370a703606b0888", 239 | "apkArch": null 240 | }, 241 | "freebsd-i386": { 242 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-386-v1.30.0-rc.2.tar.gz", 243 | "sha256": "8ba5e402bd3e2e2d0f31665eea4a9e3267409c6a206750a08dd44f537869b526", 244 | "apkArch": null 245 | }, 246 | "freebsd-amd64": { 247 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-amd64-v1.30.0-rc.2.tar.gz", 248 | "sha256": "c800598d25a376d6b5921690ad6bb92954faf35c58d1722397ae0d947b0237b9", 249 | "apkArch": null 250 | }, 251 | "freebsd-arm32v5": { 252 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-arm-v1.30.0-rc.2.tar.gz", 253 | "sha256": "5cc6d0542d9bcebff940848a0d78ffe61efe059e2db5314e31a5752595db460c", 254 | "apkArch": null 255 | }, 256 | "freebsd-arm32v6": { 257 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-arm-v1.30.0-rc.2.tar.gz", 258 | "sha256": "5cc6d0542d9bcebff940848a0d78ffe61efe059e2db5314e31a5752595db460c", 259 | "apkArch": null 260 | }, 261 | "freebsd-arm32v7": { 262 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-arm-v1.30.0-rc.2.tar.gz", 263 | "sha256": "5cc6d0542d9bcebff940848a0d78ffe61efe059e2db5314e31a5752595db460c", 264 | "apkArch": null 265 | }, 266 | "freebsd-arm64v8": { 267 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-freebsd-arm64-v1.30.0-rc.2.tar.gz", 268 | "sha256": "29f955b507a28d36bae10fd84c26546bcd21c74d9b9ba13289dcef21478463f6", 269 | "apkArch": null 270 | }, 271 | "illumos-amd64": { 272 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-illumos-amd64-v1.30.0-rc.2.tar.gz", 273 | "sha256": "d2367a99d0d3b48c8604045c7ab0129ae7240cd881e24db7587fe3b4e21b2d70", 274 | "apkArch": null 275 | }, 276 | "i386": { 277 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-386-v1.30.0-rc.2.tar.gz", 278 | "sha256": "7f6ca563f92ae68b2820eee2bd4cb16acd7ee7988a494bb870f59318fc1cd6d0", 279 | "apkArch": "x86" 280 | }, 281 | "amd64": { 282 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-amd64-v1.30.0-rc.2.tar.gz", 283 | "sha256": "3d30b649d0c33b0637dcbe1db8fc0c61a602e6b4d0fe8b19e386badb4a825b1d", 284 | "apkArch": "x86_64" 285 | }, 286 | "arm32v5": { 287 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm-v1.30.0-rc.2.tar.gz", 288 | "sha256": "b673e0a8c093b33421a6f10f950fc2db94e4991bb46286ffb66bcb9ca5585840", 289 | "apkArch": null 290 | }, 291 | "arm32v6": { 292 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm-v1.30.0-rc.2.tar.gz", 293 | "sha256": "b673e0a8c093b33421a6f10f950fc2db94e4991bb46286ffb66bcb9ca5585840", 294 | "apkArch": "armhf" 295 | }, 296 | "arm32v7": { 297 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm-v1.30.0-rc.2.tar.gz", 298 | "sha256": "b673e0a8c093b33421a6f10f950fc2db94e4991bb46286ffb66bcb9ca5585840", 299 | "apkArch": "armv7" 300 | }, 301 | "arm64v8": { 302 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-arm64-v1.30.0-rc.2.tar.gz", 303 | "sha256": "c803c0f462e1affc36609bc33e0069d48c4161b6b772481ac321e5743df0721b", 304 | "apkArch": "aarch64" 305 | }, 306 | "loong64": { 307 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-loong64-v1.30.0-rc.2.tar.gz", 308 | "sha256": "c0aaa5a310c13b6db1892a6e96a253191688b3ce387d47d30dfd6b2a162d5851", 309 | "apkArch": null 310 | }, 311 | "mips": { 312 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-mips-v1.30.0-rc.2.tar.gz", 313 | "sha256": "d4bbb5aae3df6eb1fcefae164cec2e7a2ba55403b71416834736b3126ec64c48", 314 | "apkArch": null 315 | }, 316 | "mips64": { 317 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-mips64-v1.30.0-rc.2.tar.gz", 318 | "sha256": "d5624b5128e7c3ef132d5b43feb4ee712dab8852f990221b7461dd97bebd83b5", 319 | "apkArch": null 320 | }, 321 | "mips64le": { 322 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-mips64le-v1.30.0-rc.2.tar.gz", 323 | "sha256": "eb56bfcd10d6614c87392a307f3c3cea16a7a5ec3604b3be7dbb145b2434e748", 324 | "apkArch": null 325 | }, 326 | "mipsle": { 327 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-mipsle-v1.30.0-rc.2.tar.gz", 328 | "sha256": "b6cd8dbace0048aa149f5612c88e64d172430ea94412995a62eb6fdfd23a4ad4", 329 | "apkArch": null 330 | }, 331 | "ppc64": { 332 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-ppc64-v1.30.0-rc.2.tar.gz", 333 | "sha256": "c6b8821ff05bfcdea17b8c6055a508c6abbf20fed0236866681be4ce04c7ade0", 334 | "apkArch": null 335 | }, 336 | "ppc64le": { 337 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-ppc64le-v1.30.0-rc.2.tar.gz", 338 | "sha256": "da4dba3f37aa62ffd212b68646810043a66872af5293d0ffcbca5230012d34be", 339 | "apkArch": "ppc64le" 340 | }, 341 | "riscv64": { 342 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-riscv64-v1.30.0-rc.2.tar.gz", 343 | "sha256": "b5a4cf3523d519dc6e7ffa26cf93fb0970ddeb5db32474596bacf3a5371b5303", 344 | "apkArch": "riscv64" 345 | }, 346 | "s390x": { 347 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-linux-s390x-v1.30.0-rc.2.tar.gz", 348 | "sha256": "322af33887e063b25b3acf597003b44d105c4ed84474a03c18c8a279ebab6c8b", 349 | "apkArch": "s390x" 350 | }, 351 | "netbsd-amd64": { 352 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-netbsd-amd64-v1.30.0-rc.2.tar.gz", 353 | "sha256": "470d5ad6d3ed52458393e077772c5f40cbfdb6bfd35b81f4230fe926b4d753e9", 354 | "apkArch": null 355 | }, 356 | "netbsd-arm32v5": { 357 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-netbsd-arm-v1.30.0-rc.2.tar.gz", 358 | "sha256": "322bb070184039b0422bb5f492babdcbfc809ea1f51cc80bb2863ac5fac88c1f", 359 | "apkArch": null 360 | }, 361 | "netbsd-arm32v6": { 362 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-netbsd-arm-v1.30.0-rc.2.tar.gz", 363 | "sha256": "322bb070184039b0422bb5f492babdcbfc809ea1f51cc80bb2863ac5fac88c1f", 364 | "apkArch": null 365 | }, 366 | "netbsd-arm32v7": { 367 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-netbsd-arm-v1.30.0-rc.2.tar.gz", 368 | "sha256": "322bb070184039b0422bb5f492babdcbfc809ea1f51cc80bb2863ac5fac88c1f", 369 | "apkArch": null 370 | }, 371 | "netbsd-arm64v8": { 372 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-netbsd-arm64-v1.30.0-rc.2.tar.gz", 373 | "sha256": "af9d06829f5157abf2b15ae0473147bd227805a3e496b996767b55ca31a375b7", 374 | "apkArch": null 375 | }, 376 | "openbsd-i386": { 377 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-386-v1.30.0-rc.2.tar.gz", 378 | "sha256": "bfc56f867e4de2f9530c72e703639848302e5387f202c42e1d58de97855dd9ff", 379 | "apkArch": null 380 | }, 381 | "openbsd-amd64": { 382 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-amd64-v1.30.0-rc.2.tar.gz", 383 | "sha256": "772fd3f57e196fa483e7369b6b17931b29300d280f051ab6283d71e978877396", 384 | "apkArch": null 385 | }, 386 | "openbsd-arm32v5": { 387 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-arm-v1.30.0-rc.2.tar.gz", 388 | "sha256": "f0d00ae04ca0c503f519ff6d2dbd33beeecb1293ab0c91f2cbb0429b94f89a20", 389 | "apkArch": null 390 | }, 391 | "openbsd-arm32v6": { 392 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-arm-v1.30.0-rc.2.tar.gz", 393 | "sha256": "f0d00ae04ca0c503f519ff6d2dbd33beeecb1293ab0c91f2cbb0429b94f89a20", 394 | "apkArch": null 395 | }, 396 | "openbsd-arm32v7": { 397 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-arm-v1.30.0-rc.2.tar.gz", 398 | "sha256": "f0d00ae04ca0c503f519ff6d2dbd33beeecb1293ab0c91f2cbb0429b94f89a20", 399 | "apkArch": null 400 | }, 401 | "openbsd-arm64v8": { 402 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-arm64-v1.30.0-rc.2.tar.gz", 403 | "sha256": "9260027a42bcde5d0116e72610f18d3cff36a2531ee5c1bb599c94a5fb0779ea", 404 | "apkArch": null 405 | }, 406 | "openbsd-riscv64": { 407 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-openbsd-riscv64-v1.30.0-rc.2.tar.gz", 408 | "sha256": "6368561243b1b43cd0ea9d718f220ed367a8429417138f341a273ae86c923f76", 409 | "apkArch": null 410 | }, 411 | "solaris-amd64": { 412 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-solaris-amd64-v1.30.0-rc.2.tar.gz", 413 | "sha256": "33f91e16132f49045ec617d7c0cde562141726123a23209fb681ccfcb951401f", 414 | "apkArch": null 415 | }, 416 | "darwin-amd64": { 417 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-macos-amd64-v1.30.0-rc.2.zip", 418 | "sha256": "a4b4d8678493dd24051fa326e13e912f6d2ec258684de3fb1ffebc3f23011321", 419 | "apkArch": null 420 | }, 421 | "darwin-arm64v8": { 422 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-macos-arm64-v1.30.0-rc.2.zip", 423 | "sha256": "ae9cffa95dc7b71c6bfb98271d838f15caa69e425f0fc27704ae873698c78d5c", 424 | "apkArch": null 425 | }, 426 | "windows-i386": { 427 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-386-v1.30.0-rc.2.zip", 428 | "sha256": "c4063890cdb8c0c1ce89611e8c118e7cec0ddec689142fcefc0b4374b14b9314", 429 | "apkArch": null 430 | }, 431 | "windows-amd64": { 432 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-amd64-v1.30.0-rc.2.zip", 433 | "sha256": "59586748dcb51163f47315d01312e8d079165438af47690901d4057aeacb8d71", 434 | "apkArch": null 435 | }, 436 | "windows-arm32v5": { 437 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-arm-v1.30.0-rc.2.zip", 438 | "sha256": "f9d128681411d46fa28eebe57eb79d1f1a4dfef5a04e67d333ffaea11b205823", 439 | "apkArch": null 440 | }, 441 | "windows-arm32v6": { 442 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-arm-v1.30.0-rc.2.zip", 443 | "sha256": "f9d128681411d46fa28eebe57eb79d1f1a4dfef5a04e67d333ffaea11b205823", 444 | "apkArch": null 445 | }, 446 | "windows-arm32v7": { 447 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-arm-v1.30.0-rc.2.zip", 448 | "sha256": "f9d128681411d46fa28eebe57eb79d1f1a4dfef5a04e67d333ffaea11b205823", 449 | "apkArch": null 450 | }, 451 | "windows-arm64v8": { 452 | "url": "https://github.com/syncthing/syncthing/releases/download/v1.30.0-rc.2/syncthing-windows-arm64-v1.30.0-rc.2.zip", 453 | "sha256": "5abdcb93275a62d7cb2868f6d8a9543d20835ae5205d6cd9d61a0131f961db6e", 454 | "apkArch": null 455 | } 456 | } 457 | }, 458 | "2": { 459 | "commit": "ce884e5d7253ed82379f918e169438eb64fcece0", 460 | "ref": "refs/tags/v2.0.12^{}", 461 | "tag": "v2.0.12", 462 | "version": "2.0.12", 463 | "arches": { 464 | "freebsd-amd64": { 465 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-freebsd-amd64-v2.0.12.tar.gz", 466 | "sha256": "0b06728828c28975ad080daba5f01e0aacf05e602c497df530eecedc93ab0d42", 467 | "apkArch": null 468 | }, 469 | "freebsd-arm64v8": { 470 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-freebsd-arm64-v2.0.12.tar.gz", 471 | "sha256": "e0817afc7fa9697d368d5ee5f45651e449c9a878b0944a457247c01499d7b38f", 472 | "apkArch": null 473 | }, 474 | "illumos-amd64": { 475 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-illumos-amd64-v2.0.12.tar.gz", 476 | "sha256": "9faf7fab1dcb3906ed7afe571b10ffa9a9415219893773884e698b393d1d3052", 477 | "apkArch": null 478 | }, 479 | "i386": { 480 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-386-v2.0.12.tar.gz", 481 | "sha256": "0998ebbba589ec56b455b55b71bf6493bbd1169a653b4a54dce1afbddc2db7b7", 482 | "apkArch": "x86" 483 | }, 484 | "amd64": { 485 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-amd64-v2.0.12.tar.gz", 486 | "sha256": "a096082e9fff4c7b4884aab95b53afd0177316de544d517dd1fc7fe47d4ea4c3", 487 | "apkArch": "x86_64" 488 | }, 489 | "arm32v5": { 490 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm-v2.0.12.tar.gz", 491 | "sha256": "9845057b018ecda90f125bd17ac310e2b57e9ba86dbb05f09a2fc5ac5cf2adc3", 492 | "apkArch": null 493 | }, 494 | "arm32v6": { 495 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm-v2.0.12.tar.gz", 496 | "sha256": "9845057b018ecda90f125bd17ac310e2b57e9ba86dbb05f09a2fc5ac5cf2adc3", 497 | "apkArch": "armhf" 498 | }, 499 | "arm32v7": { 500 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm-v2.0.12.tar.gz", 501 | "sha256": "9845057b018ecda90f125bd17ac310e2b57e9ba86dbb05f09a2fc5ac5cf2adc3", 502 | "apkArch": "armv7" 503 | }, 504 | "arm64v8": { 505 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-arm64-v2.0.12.tar.gz", 506 | "sha256": "ca6d1c6432c081c374dd023e3e4c80008e8895ff284cd105ed8e5a1cb380ef4e", 507 | "apkArch": "aarch64" 508 | }, 509 | "loong64": { 510 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-loong64-v2.0.12.tar.gz", 511 | "sha256": "d54911ebda29c59a7e81db21361143d4f0993d3af7e7c953ce9b14f462a33855", 512 | "apkArch": null 513 | }, 514 | "mips": { 515 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-mips-v2.0.12.tar.gz", 516 | "sha256": "22d95f1a2ea162a50c3f3cdd43143813b6e12b1694678ff8c8c853940194817d", 517 | "apkArch": null 518 | }, 519 | "mips64": { 520 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-mips64-v2.0.12.tar.gz", 521 | "sha256": "cc01d7eb001bdedc9d420b2645d7b4014fd867fa61d7c43580efeac825e68414", 522 | "apkArch": null 523 | }, 524 | "mips64le": { 525 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-mips64le-v2.0.12.tar.gz", 526 | "sha256": "234bd25767f2b4eb9e459e2bb65406e62e7733cc9c20fc19dac0241e6f857cfc", 527 | "apkArch": null 528 | }, 529 | "mipsle": { 530 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-mipsle-v2.0.12.tar.gz", 531 | "sha256": "a62b3681160f8abafe33d264c102caba06c7eb4315b0d82b15db9be9a893e8cd", 532 | "apkArch": null 533 | }, 534 | "ppc64le": { 535 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-ppc64le-v2.0.12.tar.gz", 536 | "sha256": "f6c222d6fc34032b2caca8ac8a55ea5840603334068a0cd1026496a0e9a7d67a", 537 | "apkArch": "ppc64le" 538 | }, 539 | "riscv64": { 540 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-riscv64-v2.0.12.tar.gz", 541 | "sha256": "bde31866f3c24f1da55c7842547f4f5d9dde92905eb9a98008e46412253e3a56", 542 | "apkArch": "riscv64" 543 | }, 544 | "s390x": { 545 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-linux-s390x-v2.0.12.tar.gz", 546 | "sha256": "40d4162d3efaffb3c617932bfe74826d00a703cdb49da6583653ff04e619c84a", 547 | "apkArch": "s390x" 548 | }, 549 | "openbsd-amd64": { 550 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-openbsd-amd64-v2.0.12.tar.gz", 551 | "sha256": "fa5eecc2e620cb803d59121c905055309ec245150b17e80cac798bffbf097486", 552 | "apkArch": null 553 | }, 554 | "openbsd-arm64v8": { 555 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-openbsd-arm64-v2.0.12.tar.gz", 556 | "sha256": "d3139804472ec42546fb49bd4eae37240e4f956cc0996dfecd95f411be11d26c", 557 | "apkArch": null 558 | }, 559 | "darwin-amd64": { 560 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-macos-amd64-v2.0.12.zip", 561 | "sha256": "ea2718707a4a3b41c89f9169fa8692a7aa8edbb2df4c501a6c5e04c75f451d54", 562 | "apkArch": null 563 | }, 564 | "darwin-arm64v8": { 565 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-macos-arm64-v2.0.12.zip", 566 | "sha256": "aa62bf0f2ee91d3da29454018e4daff2a8d48b65bd97088d64cd20ce2c6d942f", 567 | "apkArch": null 568 | }, 569 | "windows-i386": { 570 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-windows-386-v2.0.12.zip", 571 | "sha256": "4b3a057b5d3fcd7243dfd083418e432e459e9dbf9dd81e38b6fff6829dca267b", 572 | "apkArch": null 573 | }, 574 | "windows-amd64": { 575 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-windows-amd64-v2.0.12.zip", 576 | "sha256": "3dac565a6fabd2827f37c04a7aff06fde87deddb984a5d37da064e60b8a40e7d", 577 | "apkArch": null 578 | }, 579 | "windows-arm64v8": { 580 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12/syncthing-windows-arm64-v2.0.12.zip", 581 | "sha256": "462f9378eb274003e510379735329a7ab41322dc1cc4bb252d80fa0c5c33e9bc", 582 | "apkArch": null 583 | } 584 | } 585 | }, 586 | "2-rc": { 587 | "commit": "ce884e5d7253ed82379f918e169438eb64fcece0", 588 | "ref": "refs/tags/v2.0.12-rc.1^{}", 589 | "tag": "v2.0.12-rc.1", 590 | "version": "2.0.12-rc.1", 591 | "arches": { 592 | "freebsd-amd64": { 593 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-freebsd-amd64-v2.0.12-rc.1.tar.gz", 594 | "sha256": "9f39b0a8dbd71f257407510510cc5e0a78574897cb35292af836b639de94bf6a", 595 | "apkArch": null 596 | }, 597 | "freebsd-arm64v8": { 598 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-freebsd-arm64-v2.0.12-rc.1.tar.gz", 599 | "sha256": "e071bfce942abc435b3432f75800b1ff84db74f61e3d5eb760155ad625b36ce6", 600 | "apkArch": null 601 | }, 602 | "illumos-amd64": { 603 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-illumos-amd64-v2.0.12-rc.1.tar.gz", 604 | "sha256": "49872dc497127d236349a7093df2ee687a49a6062b7138a94a8ec7c44f3fce6b", 605 | "apkArch": null 606 | }, 607 | "i386": { 608 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-386-v2.0.12-rc.1.tar.gz", 609 | "sha256": "c62d71a8441c80c72e3398e0754cdd1af42b258daaca315a3cb5a6e63601bedb", 610 | "apkArch": "x86" 611 | }, 612 | "amd64": { 613 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-amd64-v2.0.12-rc.1.tar.gz", 614 | "sha256": "4d56979534efa7c0e7f5fdd96836097b93d50326620c2954febdb84006886465", 615 | "apkArch": "x86_64" 616 | }, 617 | "arm32v5": { 618 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm-v2.0.12-rc.1.tar.gz", 619 | "sha256": "a65de03377c574bbd3aa021e7224e04ab8ceeb4589bdc92cade32de82c451353", 620 | "apkArch": null 621 | }, 622 | "arm32v6": { 623 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm-v2.0.12-rc.1.tar.gz", 624 | "sha256": "a65de03377c574bbd3aa021e7224e04ab8ceeb4589bdc92cade32de82c451353", 625 | "apkArch": "armhf" 626 | }, 627 | "arm32v7": { 628 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm-v2.0.12-rc.1.tar.gz", 629 | "sha256": "a65de03377c574bbd3aa021e7224e04ab8ceeb4589bdc92cade32de82c451353", 630 | "apkArch": "armv7" 631 | }, 632 | "arm64v8": { 633 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-arm64-v2.0.12-rc.1.tar.gz", 634 | "sha256": "d3a4b526ef77d7a9cdcb2d80901350188f9571a2ddbbea95b3a344d89b152b25", 635 | "apkArch": "aarch64" 636 | }, 637 | "loong64": { 638 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-loong64-v2.0.12-rc.1.tar.gz", 639 | "sha256": "f84720032320386a5780f1e88719afe05c90f6c72ecb8d1e6839d4e04ff1ae65", 640 | "apkArch": null 641 | }, 642 | "mips": { 643 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-mips-v2.0.12-rc.1.tar.gz", 644 | "sha256": "e5165b8056fb977487d363ee28e774ba88a8e976aa2339a9d7f49aed05eddd80", 645 | "apkArch": null 646 | }, 647 | "mips64": { 648 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-mips64-v2.0.12-rc.1.tar.gz", 649 | "sha256": "bcab973f75289568b270e85c237e7ab02dcf45fd6f5f9dcc1c9af0fde421db02", 650 | "apkArch": null 651 | }, 652 | "mips64le": { 653 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-mips64le-v2.0.12-rc.1.tar.gz", 654 | "sha256": "e0ae73a12201799fbe30dd0548c12ae468f592a2672eb9871505dfb31abd80b8", 655 | "apkArch": null 656 | }, 657 | "mipsle": { 658 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-mipsle-v2.0.12-rc.1.tar.gz", 659 | "sha256": "ec06df5a245924450b3654f0db7944817fbdccd75da25bcb07229bccc0945275", 660 | "apkArch": null 661 | }, 662 | "ppc64le": { 663 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-ppc64le-v2.0.12-rc.1.tar.gz", 664 | "sha256": "eefe3c9194c0f2f8f50f510bd3e04af4ac87cf727e19ad833e7a43da53e7762c", 665 | "apkArch": "ppc64le" 666 | }, 667 | "riscv64": { 668 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-riscv64-v2.0.12-rc.1.tar.gz", 669 | "sha256": "49ff172ffc924df5f6e0717469324f5d1c25e2cee77baf656b1397b02c920b1f", 670 | "apkArch": "riscv64" 671 | }, 672 | "s390x": { 673 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-linux-s390x-v2.0.12-rc.1.tar.gz", 674 | "sha256": "06fbc9196c889472b962a25526abc7fd2539526cef0fb79142073fef4dcee7fa", 675 | "apkArch": "s390x" 676 | }, 677 | "openbsd-amd64": { 678 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-openbsd-amd64-v2.0.12-rc.1.tar.gz", 679 | "sha256": "e834ee2c92a531b2ac9456daa8c520cc93316ff6120359290bd70e32e18da223", 680 | "apkArch": null 681 | }, 682 | "openbsd-arm64v8": { 683 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-openbsd-arm64-v2.0.12-rc.1.tar.gz", 684 | "sha256": "5add05d9f478b4a98b454a13cf200ca0b05726dd24aabeeed408d46d31700ca6", 685 | "apkArch": null 686 | }, 687 | "darwin-amd64": { 688 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-macos-amd64-v2.0.12-rc.1.zip", 689 | "sha256": "acdbf9d821fd74f90e048a88225ea482158eac44d9deef123d3e32c00201b219", 690 | "apkArch": null 691 | }, 692 | "darwin-arm64v8": { 693 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-macos-arm64-v2.0.12-rc.1.zip", 694 | "sha256": "c519073213e42114b698bb46bbf944c7134d92343b90d592e477a1e92f7a56be", 695 | "apkArch": null 696 | }, 697 | "windows-i386": { 698 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-windows-386-v2.0.12-rc.1.zip", 699 | "sha256": "81f10350b5ebbef3d7094641b791a86250d6d5ee9c348da0080abd5d9c905d9f", 700 | "apkArch": null 701 | }, 702 | "windows-amd64": { 703 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-windows-amd64-v2.0.12-rc.1.zip", 704 | "sha256": "fd1251a9fe78e9a2684fdea73bf447054a2b9062be9f88ec15349698d72a6c2d", 705 | "apkArch": null 706 | }, 707 | "windows-arm64v8": { 708 | "url": "https://github.com/syncthing/syncthing/releases/download/v2.0.12-rc.1/syncthing-windows-arm64-v2.0.12-rc.1.zip", 709 | "sha256": "847ccd8f3c090dabefec9881213be934606e2e6bff79fa90b54ab90c2019aee4", 710 | "apkArch": null 711 | } 712 | } 713 | } 714 | } 715 | --------------------------------------------------------------------------------