The Windows launcher can prepare a source checkout automatically. For a manual setup:
npm ci
npm run setup
npm run checkUse Node.js 20+ and JDK 17+. npm run setup downloads ViaProxy 3.4.13 and compiles the included ViaBedrock compatibility sources. This release supports Java Edition 26.3 and uses Bedrock 1.26.45 for the local ViaBedrock connection. The Windows GUI is implemented in PowerShell with Windows Forms and has no Python dependency.
npm run check:syntax
npm run check:bridge-desktop-gui
npm run check:public-release
npm run check:runtime-package
npm run check:updaterThe complete relay suite is npm run check. Keep test scope proportional to the protocol behavior being changed.
Never commit authentication caches, .env, runtime status, packet logs, Realm metadata, generated jars, or captures. Before publishing, run:
$env:PUBLIC_RELEASE_DENY_TERMS = "private-account-label,private-realm-label"
npm run check:public-release
Remove-Item Env:\PUBLIC_RELEASE_DENY_TERMSThe audit hides matched values and reports only category, path, and line number.
npm run release:runtimeThe ZIP is written under dist/. Its explicit allowlist includes only launch/runtime source, configuration, and required legal notices. It excludes tests, research notes, history, browser GUI code, dependencies, generated jars, auth data, and logs.
The build also writes a matching .sha256 file. Publish both files; the built-in updater refuses an archive it cannot verify.
npm run release:stage creates a freshly audited source tree with no private Git history. Do not merge a private development history into the public repository.