oxiremote
v0.1.67
Published
Self-hosted remote-access agent — terminal, files, preview, remote desktop over a Cloudflare tunnel.
Downloads
784
Maintainers
Readme
oxiremote (npm wrapper)
Thin wrapper around the OxiRemote Rust binary. Installing this package downloads the right prebuilt binary for your platform from the corresponding GitHub release and exposes it as oxiremote on your $PATH.
npm install -g oxiremote
oxiremoteThe wrapper exists so users with npm in their muscle memory get the same one-command install as curl ... | sh. The wrapper version always tracks the upstream release version 1:1.
Environment variables
OXIREMOTE_BINARY_URL— override the base URL the postinstall fetches from (corp proxies, mirrors, air-gapped installs).OXIREMOTE_GITHUB_REPO— override the source repo (defaultnhtera/oxiremote).OXIREMOTE_VERSION— pin a specific binary version (otherwise trackspackage.json).OXIREMOTE_DISABLE_INSTALL=1(aliasOXIREMOTE_SKIP_INSTALL=1) — skip postinstall entirely.OXIREMOTE_FORCE_DOWNLOAD=1— re-download even if the version marker matches.OXIREMOTE_OPTIONAL_INSTALL=1— exit 0 on failure so a bad release doesn't break unrelatednpm installruns.OXIREMOTE_SKIP_GLIBC_CHECK=1— bypass the Linux glibc compatibility check (only meaningful when you know what you're doing).
How it works
npm installtriggersscripts/install.js.- The script detects
process.platform/arch, picks the matching Rust target triple, and (unlessbin/oxiremote.versionalready matches) downloadsoxiremote-<version>-<target>.tar.gz(or.zipon Windows) plusoxiremote-<version>-sha256.txtfrom the GitHub release. - SHA256 is verified, the archive is extracted into
bin/, a Linux glibc compatibility check runs, and the executable bit is set. The version marker is written so re-installing the same version skips the network entirely. bin/oxiremote.jsis a tiny shim thatspawns the platform binary with inherited stdio.
A prepublishOnly lifecycle hook (scripts/verify-release-assets.js) HEAD-checks every release URL + verifies the SHA256 manifest names every asset before npm allows publish — so a tag without a matching release can never be published from a clean checkout.
The same checksum manifest is verified by oxiremote update, so the wrapper and the self-update path share one trust boundary.
License
MIT — see the upstream repository.
