datadunia bf9cbba535 feat: complete WGDashboard config parity
Backend (server-core):
- Extend firewall NetManager with AddForwardRule, AddInputRule via nft CLI
- Sync FORWARD rules on peer create, update, delete, suspend/unsuspend
- Sync INPUT rules on server create, update (port change), delete
- Fix duplicate import and missing firewall cleanup calls

Frontend (dashboard-ui):
- Add Edit Node modal for MTU, DNS, ListenPort configuration
- Add Advanced Peer Settings accordion (AllowedIPs, DNS, MTU, Keepalive, Notes)
- Add Suspend/Unsuspend toggle with SUSPENDED badge
- Update API client for new endpoints and fields
2026-05-22 02:27:04 +07:00
2026-05-21 06:46:39 +07:00
ok
2026-05-16 03:31:23 +07:00

NexusGuard SD-WAN Suite

NexusGuard is an Enterprise Zero-Trust SD-WAN solution built with Go, Vue 3, and WireGuard. It enables stealth VPN tunneling, centralized IPAM, and real-time network isolation via nftables.

🏗️ System Architecture

This suite contains three main components:

  1. Server Core: The central API and VPN Hub managing database state, token distribution, and Linux firewall isolation.
  2. Dashboard UI: The Admin Web GUI for managing Nodes, Users, Devices, and Firewall rules.
  3. Device Agent: A stealth background daemon for Linux client machines that establishes memory-injected WireGuard tunnels.

🚀 Deployment & Installation

1. Initial Setup

To deploy the entire backend infrastructure (PostgreSQL, Redis, and Server-Core), simply clone this repository and run the setup script:

git clone https://git.datadunia.com/nexusguard/Nexus-Guard-Suite.git
cd Nexus-Guard-Suite
chmod +x setup.sh
./setup.sh

The setup.sh script will automatically:

  • Create a master .env file (if it doesn't exist).
  • Boot up all required infrastructure via docker-compose.

2. Domain & Port Configuration

If you are deploying this to production, you must edit the .env file generated in the root directory:

  • Change API Port: Modify API_PORT=8080.
  • Change Web/API Domain: Modify VITE_API_BASE_URL to point to your public API domain (e.g., https://api.yourdomain.com/api/v1).
  • Database & Crypto: Ensure you change the default database passwords and generate secure 256-bit Hex keys for JWT_SECRET and SERVER_SALT.

3. Creating / Changing the Admin Account

The system operates on a strict Zero-Attack Surface policy. The /auth/register API is locked down. To create the first Admin user (or reset their password), you must execute a command directly inside the running Docker container:

docker exec -it nexus-guard-suite-server-core-1 ./server-core -create-admin -user "admin" -pass "YourNewSecurePassword123!"

(You can use this exact same command later if you ever forget the admin password to forcefully reset it).


📖 Operational Workflow

Once the server is running and the Admin account is created, follow this flow:

  1. Log in to the Dashboard UI using the admin credentials.
  2. Register a WireGuard Node: Go to the Nodes menu. Add your public WireGuard server endpoint (e.g., vpn.yourdomain.com:51820) and its Public Key.
  3. Add a Device: Go to the Devices menu. Click + New Device, select the target Node, and name the device.
  4. Copy the Token: The system will display a single-use Registration Token.
  5. Install the Agent on Client: On the target Linux machine, run the agent installer:
    sudo ./install_agent.sh --server-url "https://api.yourdomain.com" --token "<REG_TOKEN>"
    
  6. The client will automatically connect, provision its WireGuard keys securely via AES-256-GCM, and appear as Online on your Dashboard.
S
Description
No description provided
Readme 26 MiB
v1.0.0 Latest
2026-06-21 13:29:56 +07:00
Languages
Shell 87.2%
TypeScript 6.1%
JavaScript 3.6%
Makefile 3.1%