RustProxy OPNsense packaging repository
This repository contains only the OPNsense plugin and build/release automation. The RustProxy application source is not vendored here. The Debian scheduler downloads it dynamically from:
https://git.linuxiarz.pl/gru/RustProxy
What is included
opnsense-plugin/www/rustproxy/- OPNsense plugin source.builder/debian/- hourly scheduler and optional cross-build helper.builder/freebsd/- native FreeBSD release builder and repository signing helper.ci/build-release.sh- Debian-to-FreeBSD orchestration and publishing.deploy/opnsense/- custom package repository install/update helpers.docs/- setup and architecture notes.
Source/update flow
Packaging repository RustProxy upstream
(plugin + scripts) https://git.linuxiarz.pl/gru/RustProxy
| |
+------------------+-------------------+
v
Debian cron, hourly
|
detects either commit change
|
v
FreeBSD 15.1 amd64 builder
|
cargo test + cargo build
|
OPNsense make package
|
v
signed pkg repository
|
v
OPNsense
By default APP_REPO_REF=HEAD, so every cron run follows the current default branch of the RustProxy repository. You can instead pin a branch/tag/ref in /etc/rustproxy-opnsense-builder.env.
A release rebuild is triggered when either the packaging repository commit or the RustProxy upstream commit changes. The package version is read at build time from the dynamically downloaded Cargo.toml.
Recommended release build
Use the Debian VM only as scheduler/orchestrator and a FreeBSD 15.1 amd64 VM as compiler/packager. The included Docker/cross path (BUILD_MODE=cross-binary) is for development validation only and does not publish production .pkg files.
Quick validation
./scripts/check.sh
Quick setup
Read docs/FIRST_RUN.md, copy builder.env.example to /etc/rustproxy-opnsense-builder.env on Debian and fill in your packaging-repository, SSH and publication settings. APP_REPO_URL is already set to your RustProxy repository.
OPNsense UI scope
The plugin currently exposes only Enabled / Disabled. RustProxy is supervised by FreeBSD daemon(8), runs as user rustproxy, and uses /var/db/rustproxy as its private data directory.
License
RustProxy's Cargo.toml currently does not declare a license and the supplied source snapshot did not contain LICENSE/COPYING, so the plugin manifest remains UNKNOWN. Set the correct license before public redistribution.