A minimal, complete Nexora addon to start from. It registers with a panel by claim code, receives the panel's signed events, answers the health check and shows a page with the panel's account count — nothing of its own yet. Built on addon-kit.
| File | What it is |
|---|---|
nexora-addon.json |
The manifest, at the repository root where the directory and the panel's install wizard read it (spec) |
main.go |
The program: about a hundred lines on top of the kit |
install.sh |
Install, update or remove on a Linux host — --method script (binary + systemd) or --method docker (compose) — by hand or by the panel over SSH |
deploy/compose.yml |
The compose stack the docker method runs |
.github/workflows/release.yml |
On a v* tag: binaries, checksums, the release and the image ghcr.io/nexora-vpn/addon-template |
NEXORA_OPT_PORT=8090 go run .
# not registered yet — claim code 3F9A1C0B7E21Then on the panel: Services → Addons → Add, the addon's address and the
claim code. A panel registers by claim code only a manifest signed by a key
it trusts; for a local try, sign with the development key and run a panel
built with -tags addondev:
go run github.com/nexora-vpn/addon-kit/cmd/nexora-addon sign -dev nexora-addon.json > signed.json
NEXORA_MANIFEST_FILE=signed.json go run .An addon nobody signed is registered by hand on the same page.
- Change
slug,name,publisher, the scopes and events innexora-addon.json, andSLUG/REPO/BINat the top ofinstall.sh. - Declare the questions your install needs under
install.options; the answers arrive asNEXORA_OPT_<KEY>(addon.Option("key")). - Keep your own data in your own database; read the panel with the token
(
panel.Client). The panel stores nothing of an addon's. - To be listed at addons.nexora-panel.org,
sign the manifest with your own key (
nexora-addon keygen,sign) and open a pull request on the directory.
Licensed under the Apache License 2.0.