Ghost Downloader

Build and Release

Local build and CI release process.

Local Build

Desktop

uv sync
uv run scripts/deploy.py

Artifacts are under dist/. Windows/Linux use the Ghost-Downloader-3.dist/ directory; macOS uses the .app bundle.

Local builds only produce runnable programs. Installers, DMG, deb, and AppImage are packaged by CI.

Browser Extension

cd browser_extension/app
npm install
npm run build

Artifacts are under dist/.

After changing the message format between the desktop app and the extension, build and test both sides together.

Build Failure Troubleshooting

IssueFix
ModuleNotFoundError reported at startup after compilationAdd the missing module to EXTRA_INCLUDE_MODULES in scripts/deploy.py
FeaturePack not in the artifactsConfirm manifest.toml exists in the pack directory

CI Release

.github/workflows/build.yml, manually triggered.

Choose build_target (windows / macos / linux / android / all) and whether to create_release.

PlatformArtifacts
Windows.exe installer + .zip portable (x64 + arm64)
macOS.dmg (arm64 + x64)
Linux.deb + .AppImage + .tar.xz (x64 + arm64)
Android.apk (arm64, no BT/eD2k)

Translation sync: crowdin.yml (desktop) and crowdin-browser.yml (extension), manually triggered push/pull.

On this page