@flux-vpn/agent
v0.1.8
Published
Standalone Linux agent package for enrolling a server into the Flux VPN controller.
Readme
Flux VPN Agent
Standalone Linux agent package for enrolling a server into the Flux VPN controller.
Build a standalone tarball
From the repo root:
npm run build -w @flux-vpn/agent
npm run package:standalone -w @flux-vpn/agentThis creates:
packages/agent/release/flux-vpn-agent-0.1.5.tgzThe tarball is self-contained. It does not require packages/shared or any extra node_modules on the target server.
Deploy on another server
Requirements:
- Node.js 20+
- Linux
- Root or sudo access for WireGuard setup
Example:
mkdir -p /opt/flux-vpn-agent
tar -xzf flux-vpn-agent-0.1.5.tgz -C /opt/flux-vpn-agent
cd /opt/flux-vpn-agent/package
node bin/flux-vpn.js versionYou can then enroll and configure the agent:
sudo node bin/flux-vpn.js connect --controller https://vpn.munishkumarm.com --token YOUR_TOKEN
sudo node bin/flux-vpn.js install
sudo node bin/flux-vpn.js configure --vpn-subnet 10.44.0.0/24 --port 51821
sudo node bin/flux-vpn.js start --detachIf you omit --public-endpoint, the agent/controller fall back to the observed public IP plus the configured WireGuard port.
If you set --dns, those resolvers are stored for future generated WireGuard client profiles. The server interface itself does not apply them to host DNS.
Runtime files
After enrollment and configuration, the agent stores runtime state here by default:
/etc/flux-vpn//var/lib/flux-vpn//var/log/flux-vpn//etc/wireguard//etc/sysctl.d/99-flux-vpn.conf/etc/nftables.d/flux-vpn.nft
These files are created on the target server. They are not required inside the tarball.
