brasse 35f5a86acd
All checks were successful
release / build-release (push) Successful in 3m45s
CI: install libc6-dev-amd64-cross for x86_64 ring cross-build
The x86_64 cross build failed compiling ring's C (curve25519.c): the cross
gcc couldn't find bits/libc-header-start.h because only the compiler
(gcc-x86-64-linux-gnu) was installed, not the amd64 target libc headers.
Add libc6-dev-amd64-cross so the cross sysroot has them.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011YPrEZVBpPVoCRyJz2exkZ
2026-07-04 13:51:11 +02:00

npmctl

En liten CLI i Rust för att styra Nginx Proxy Manager (NPM) via dess API, plus en generisk api-funktion för att prata med vilket HTTP-API som helst (framtidssäkring om proxyn byts ut mot t.ex. Caddy/Traefik).

Autentisering fungerar som sudo: kör npmctl login en gång och skriv lösenordet i prompten (det når aldrig argv/loggar). En kortlivad token cachas lokalt (~/.config/npmctl/session.json, 0600) och används tills den går ut — lösenordet sparas aldrig.

👉 Användning och alla kommandon: se wiki:n.

Installera (färdig binär)

Hämta senaste binär från releases:

# välj arkitektur: x64 eller arm64
curl -fsSL -o npmctl https://gitea.brasse-pc.eu/brasse/Npm-cli/releases/download/latest/npmctl-linux-x64
chmod +x npmctl && sudo mv npmctl /usr/local/bin/
npmctl --help

Sätt upp projektet (utveckling)

Krav: Rust (stable).

git clone https://gitea.brasse-pc.eu/brasse/Npm-cli.git
cd Npm-cli
cargo build --release          # binär i target/release/npmctl
cargo run -- --help

Bygga till ./build

I VS Code: Terminal → Run Build Task (Ctrl+Shift+B) kör tasken build (release -> ./build), som bygger utanför repo-disken och lägger binären i build/npmctl. Mappen build/ (och target/) är gitignoread.

Motsvarande manuellt:

CARGO_TARGET_DIR="$HOME/.cache/npmctl-target" cargo build --release
mkdir -p build && cp "$HOME/.cache/npmctl-target/release/npmctl" build/npmctl

Releaser

Push till main (eller en v*-tag) triggar Gitea Actions-workflowen .gitea/workflows/release.yaml, som bygger binärer för linux-x64 och linux-arm64 och laddar upp dem till en release. Runnern använder sin egen GITHUB_TOKEN — ingen token hanteras manuellt.

Konfiguration

Var Beskrivning
--base-url / NPMCTL_BASE_URL NPM:s API-bas, t.ex. http://127.0.0.1:81. Standard: http://127.0.0.1:81.
~/.config/npmctl/config.json Icke-hemligt: base_url, identity, idle_timeout.
~/.config/npmctl/session.json Cachad token (0600). Skapas av login, raderas av logout.

Licens

MIT.

Description
A npm cli to cash token for easy control fot ai agents
Readme MIT 82 KiB
latest Latest
2026-07-04 13:54:56 +02:00
Languages
Rust 94.2%
Shell 5.8%