Installer and releases
This page is for build and release details. Most people only need to grab one of the prebuilt artifacts for their OS.
Windows installer
Windows gets both a portable ZIP and an Inno Setup installer per architecture (x64 and ARM64). Each installer:
- registers ShadowSync in the Start Menu
- offers optional desktop shortcut and run-at-startup tasks
- copies the current executable, README, and
config.example.json
Startup registration is unchecked by default.
Artifacts
GitHub Actions publishes every artifact into a draft v<version> release:
shadowsync-windows-x64-portable-v<version>.zipshadowsync-windows-x64-setup-v<version>.exeshadowsync-windows-arm64-portable-v<version>.zipshadowsync-windows-arm64-setup-v<version>.exeshadowsync-macos-x64-v<version>.tar.gzshadowsync-macos-x64-v<version>.dmgshadowsync-macos-arm64-v<version>.tar.gzshadowsync-macos-arm64-v<version>.dmgshadowsync-linux-x64-v<version>.tar.gzshadowsync-linux-arm64-v<version>.tar.gz
The macOS .dmg bundles ShadowSync.app plus an Applications shortcut for drag-and-drop installs; the .tar.gz remains as a lightweight alternative. Linux archives include the binary, docs, example config, and desktop integration files for GTK/KDE.
Release automation
Releases are driven by .github/workflows/release.yml. The workflow:
- Reads
package.versionfromCargo.tomland determines whether av<version>tag already exists. - Builds and tests for Windows, macOS, and Linux (including multiple architectures).
- Packages each target with the helper scripts in
.github/scripts/. - Drafts or updates the release, writes generated release notes, and uploads every artifact.
If a v<version> tag already points to a previous commit, the workflow skips until the version or tag moves.
Optional secrets
Unsigned builds only rely on the default GITHUB_TOKEN. Add the macOS signing/notary secrets when you want the installer signed and notarized:
MACOS_CERTIFICATE_P12_BASE64MACOS_CERTIFICATE_PASSWORDMACOS_SIGNING_IDENTITYMACOS_NOTARY_APPLE_IDMACOS_NOTARY_TEAM_IDMACOS_NOTARY_APP_PASSWORD