Packages
Publish with the tools you already use: docker push, npm publish, twine upload, cargo publish, a Zig package archive, or any file. Every file and layer is stored by its sha256, and clients check that hash when they install. Kubernetes, Helm and cosign talk to the container registry directly.
Mirrors: faster installs you don’t have to trust
How does this work?When pypi.org, npmjs.com, crates.io, static.rust-lang.org, GitHub or ziglang.org are slow or out of reach, install through Zaryn instead. Zaryn checks every file against the checksum your tools already know before keeping it, and your tools check it again when it arrives, so a mirror can never hand you something different. Files Zaryn has once keep working even when the original site is down.
Everything at once, from your terminal
GuideWith the zev command installed, one line sets up cargo, npm, pip, uv and rustup; zev mirror off puts everything back.
zev mirror on
Rust · crates.io and rustup
GuideAdd this to ~/.cargo/config.toml. cargo build, cargo add and cargo update then get every crate through Zaryn; nothing else changes.
# ~/.cargo/config.toml [source.crates-io] replace-with = "zaryn" [source.zaryn] registry = "sparse+https://zaryn.xyz/api/v1/packages/cargo/mirror/index/"
Rust itself (rustup)
GuideInstalls and updates Rust when static.rust-lang.org is out of reach. Put the two exports in ~/.bashrc.
export RUSTUP_DIST_SERVER=https://zaryn.xyz/api/v1/packages/rust/- export RUSTUP_UPDATE_ROOT=https://zaryn.xyz/api/v1/packages/rust/-/rustup # first install curl -sSf https://zaryn.xyz/api/v1/packages/rust/-/rustup/rustup-init.sh | sh
Zig · dependencies
GuideZig has no mirror setting, so the addresses in build.zig.zon are changed instead (archives, .zip files and git+https repositories). The hashes stay exactly as they are: zig still checks every byte.
Python · pip, uv and Python itself
GuideOne index for your Zaryn projects and everything on pypi.org. A name that exists on Zaryn always comes from Zaryn, so a look-alike on pypi.org can never sneak into your installs.
pip config set global.index-url https://zaryn.xyz/api/v1/packages/pypi/all/simple/ # uv: packages and Python itself export UV_DEFAULT_INDEX=https://zaryn.xyz/api/v1/packages/pypi/all/simple/ export UV_PYTHON_INSTALL_MIRROR=https://zaryn.xyz/api/v1/packages/python/-/standalone
JavaScript · npm, pnpm, yarn
GuideEvery package from registry.npmjs.org through Zaryn, each tarball checked against its sha512 integrity.
npm config set registry https://zaryn.xyz/api/v1/packages/npm-mirror/
Zig · the compiler itself
GuideAny file from ziglang.org/download or ziglang.org/builds, by its file name, signatures (.minisig) included. Dev builds stay available here after ziglang.org removes them.
curl -LO https://zaryn.xyz/api/v1/packages/zig/-/toolchain/zig-x86_64-linux-0.15.1.tar.xz