NeutronVPN is a secure, high-performance VPN solution built with WireGuard, a Django backend (with REST API), and an Electron + React client. It provides encrypted tunnels, dynamic client management, real-time stats, and remote server management via SSH.
- π Features
- π οΈ Tech Stack
- π Folder Structure
- β‘ Quick Start
- π¦ Installation
- π Usage
- π§ Configuration & Env
- πΌοΈ Screenshots / Demo
- π§ Troubleshooting & FAQ
- π€ Contributing
- π‘οΈ Security
- π License & Acknowledgements
- π WireGuard-based VPN for fast and secure connections
- βοΈ Dynamic client management with automatic IP assignment
- π Real-time interface & public IP display, plus speed metrics
- π Connection speed monitoring and health checks
- π» Cross-platform Electron + React client with a modern UI
- π SSH-based server management (Paramiko) for adding/removing peers
- π Easy deployment options: local, Docker, or cloud droplets/EC2
- Backend: Django + Django REST Framework
- Frontend: React (Next.js) + Electron for desktop client
- Database: PostgreSQL
- VPN: WireGuard
- Server Management: SSH (Paramiko)
- CI / CD: (optional) GitHub Actions
.
βββ NeutronVPN-linux/
βββ backend
βββ frontend
βββ server (hosting files for DigitalOcean / AWS EC2)/
β βββ keys
β βββ scripts/
β βββ start.sh
β βββ stop.sh
βββ .gitignore
βββ install.sh
βββ start.sh
βββ README.md
-
Clone repo and start backend:
git clone <repo-url> cd NeutronVPN-linux/backend python -m venv .venv source .venv/bin/activate pip install -r requirements.txt cp .env.example .env # configure .env, then python manage.py migrate python manage.py runserver
-
Start frontend (Electron):
cd ../frontend chmod +x ../../install.sh ../../install.sh ./start.sh
Follow distribution-specific steps (Ubuntu / Fedora) β see original script blocks and ensure DB and user are created.
(Refer to the existing README for full commands; keep credentials secure.)
- Create virtualenv, install requirements.
- Configure
.env(DB, SSH, SERVER_INTERFACE_NAME). - Run migrations and start server.
- Run install script in repo root:
chmod +x ./install.sh ./install.sh
- Launch client:
./start.sh
A Docker setup can simplify deployment. Example (add Dockerfiles / docker-compose):
- Build containers for backend, frontend, and postgres.
- Use docker-compose with environment variables and volumes.
(Consider adding an official docker-compose.yaml in repo root.)
- Users connect to VPN servers via the Electron client.
- Client displays:
- Interface IP (VPN)
- Public IP
- Connection speed
- Security status
- Admins manage peers through Django REST API or server-side scripts (SSH).
Example WireGuard client config snippet (generated by backend):
[Interface]
PrivateKey = <client-private-key>
Address = 10.6.0.2/32
DNS = 1.1.1.1
[Peer]
PublicKey = <server-public-key>
Endpoint = your-server:51820
AllowedIPs = 0.0.0.0/0, ::/0
DB_NAME=neutronvpn
DB_USER=postgres
DB_PASSWORD=<pass>
DB_HOST=localhost
DB_PORT=5432
SSH_USER=root
SSH_PORT=22
SERVER_INTERFACE_NAME=wg0
SSH_KEY="-----BEGIN OPENSSH PRIVATE KEY----- ... -----END OPENSSH PRIVATE KEY-----"
SSH_KEY_PASSPHRASE=<hidden>
NEXT_PUBLIC_API_URL=http://127.0.0.1:8000/api/
Keep secrets out of version control and rotate keys as needed.
- Backend wonβt start: check .env, DB connection, and migrations.
- WireGuard errors: ensure kernel module is loaded and interface name matches SERVER_INTERFACE_NAME.
- SSH remote commands failing: verify SSH_KEY and permissions; test with ssh -i path root@server.
Common commands:
- Check WireGuard status: sudo wg show
- View logs: journalctl -u --no-pager
Contributions welcome β please:
- Fork the repo
- Create a feature branch
- Open a PR with description and tests/screenshots
- Respect code style and add changelog entry if appropriate
See CONTRIBUTING.md and CODE_OF_CONDUCT.md (add these files if not present).
Report vulnerabilities privately to the maintainers via the repository's security policy or email. Do not open public issues for security-sensitive information.
Planned improvements:
- Built-in auto-updates for Electron client
- Mobile clients (iOS/Android)
- Web dashboard for admin controls
- Improved CI/CD and Docker images
MIT License β see LICENSE file.
Thanks to the open source projects that power NeutronVPN: WireGuard, Django, Electron, Next.js, PostgreSQL.
If you'd like, I can:
- Add a docker-compose example
- Create CONTRIBUTING.md and CODE_OF_CONDUCT.md templates
- Generate a release-ready systemd unit for the backend



