Skip to content

The nxr logo

curl for a Nexus raw repository

nxr publishes and fetches version directories whose files are digest-verified on the way in and on the way out. One binary, nothing to install on the server: the URL in argv, credentials from the call or the environment, and an alias file read only when -R names it.

Get started The 30-second version

The 30-second version

How nxr moves artifacts: a producer publishes a version directory to a Nexus raw repository, names it with a channel, and a consumer fetches and verifies it producer Nexus raw repo consumer dist/1.4.0/ 1.4.0/ manifest.json · bytes · .sha256 vendor/1.4.0/ nxr verify · offline nxr up nxr down latest → 1.4.0 --if-forward

An animated transcript of a real session against the mock server: publish, name, fetch, verify.

What the recording shows, one beat per command:

  1. Publish: nxr up puts a version directory on the server, the claim name first, then the bytes and their .sha256 markers.
  2. Name: nxr channel set --if-forward points latest at it, and a pointer only moves forward.
  3. Fetch: nxr down pulls that version back, and an interrupted pull resumes by repeating the same command.
  4. Verify: nxr verify checks every digest offline, no network.

Every line is real output: the binary this repository builds, against its mock server. just demo replays the session on your machine and shows more: an edited artifact, the refusal to overwrite it, a flaky server and one that requires credentials. The full demo: run it. Get started is the same four commands, copy-pasteable.

What do you want to do?

More: every flag of every command, the four primitives included · the wire protocol · the Rust API · why it is shaped this way.