No description
|
All checks were successful
Rust CI / Check, Clippy, and Fmt (push) Successful in 1m43s
|
||
|---|---|---|
| .github/workflows | ||
| openrc | ||
| src | ||
| systemd | ||
| .gitignore | ||
| .ignore | ||
| Cargo.lock | ||
| Cargo.toml | ||
| GEMINI.md | ||
| LICENSE | ||
| README.md | ||
Nazuna 🩸
The no-nonsense WireGuard VPN manager.
Stop wrestling with config files, manual IP allocation, and key rotation. Nazuna automates the tedious parts of running a WireGuard server so you can focus on what matters.
Why Nazuna?
- Zero Config Headaches: Add users with a single command. Keys and IPs are auto-generated.
- JSON-Backed: Your entire state lives in one readable JSON file. No heavy databases to manage.
- Portable: Single binary. Easy to backup, easy to move.
- Instant Client Configs: Generate QR-ready configs instantly.
Installation
From crates.io (recommended):
cargo install nazuna
Or from the GitHub repository:
cargo install --git https://github.com/denisstrizhkin/nazuna.git
Requires Rust (stable), and
wg/wg-quickin your$PATH.
Quick Start
1. Initialize the server (once, on first setup):
sudo nazuna init --server-net 10.50.0.1/24 --endpoint-ip 1.2.3.4 --endpoint-port 51820
2. Add a user:
nazuna add alice
# ✅ User 'alice' added with IP 10.50.0.2
3. Apply changes to the live interface:
sudo nazuna update
4. Get the client config to send to your user:
nazuna cat alice
# Outputs a complete WireGuard config they can import directly
Other Commands
nazuna list # Show all users and their IPs
nazuna remove alice # Delete a user
sudo nazuna start # Bring up the WireGuard interface
sudo nazuna stop # Bring it down
OpenRC Service (Gentoo/Alpine)
Nazuna includes an OpenRC init script to manage your VPN as a background service.
- Copy the init script:
sudo cp openrc/nazuna /etc/init.d/nazuna
- Start the service:
sudo rc-service nazuna start
- Enable on boot:
sudo rc-update add nazuna default
Systemd Service (Debian/Ubuntu/Arch)
Nazuna includes a systemd service file to manage your VPN as a background service.
- Ensure
nazunais accessible in your system path (e.g. symlink to/usr/local/bin):
sudo ln -s ~/.cargo/bin/nazuna /usr/local/bin/nazuna
- Copy the service file:
sudo cp systemd/nazuna.service /etc/systemd/system/
- Reload systemd and start the service:
sudo systemctl daemon-reload
sudo systemctl start nazuna
- Enable on boot:
sudo systemctl enable nazuna
License
MIT. See LICENSE for details.