English | ΩΨ§Ψ±Ψ³Ϋ
vWireguard
vWireguard is a web-based management interface for WireGuard VPN, providing an easy-to-use dashboard for managing your WireGuard server and clients.
Features
- Web-based management interface
- User authentication and authorization
- Client management (add, edit, delete)
- Server configuration management
- Real-time monitoring
- Wake-on-LAN support
- System utilities and monitoring
- Multi-language support (English and Persian)
Installation
One-Line Install (Recommended)
Install vWireguard with a single command. The installer automatically downloads the latest pre-built binary from GitHub releases - no compilation required.
bash <(curl -Ls https://raw.githubusercontent.com/MmadF14/vwireguard/master/install.sh)
Requirements:
- Linux (amd64 or arm64)
- Root access
- Systemd-based system
- Internet connection
The installer will:
- Detect your system architecture
- Download the latest release from GitHub
- Install to
/usr/local/vwireguard
- Create and enable systemd service
- Install management CLI (
vwg command)
Manual Installation (Build from Source)
- Install required packages:
sudo apt-get update
sudo apt-get install -y wireguard wireguard-tools golang-go git
- Clone the repository:
sudo mkdir -p /opt/vwireguard
cd /opt/vwireguard
sudo git clone https://github.com/MmadF14/vwireguard.git .
- Build the application:
sudo go build -o vwireguard
- Create the systemd service:
sudo cat > /etc/systemd/system/vwireguard.service << EOL
[Unit]
Description=vWireguard Web Interface
After=network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/vwireguard
ExecStart=/opt/vwireguard/vwireguard
Restart=always
RestartSec=3
[Install]
WantedBy=multi-user.target
EOL
- Enable and start the service:
sudo systemctl daemon-reload
sudo systemctl enable vwireguard
sudo systemctl start vwireguard
Management CLI
After installation, you can use the vwg command to manage the service:
# Service management (requires root)
sudo vwg start # Start the service
sudo vwg stop # Stop the service
sudo vwg restart # Restart the service
vwg status # Check service status
vwg log # View logs (last 50 lines)
vwg log 100 # View last 100 lines
vwg log -f # Follow logs in real-time
# Update to latest release (requires root)
sudo vwg update # Update to latest GitHub release
# Show help
vwg help
Default Credentials
- Username:
admin
- Password:
admin
Important: Change the default password immediately after first login!
Accessing the Web Interface
After installation, you can access the web interface at:
http://YOUR_SERVER_IP:8080
Security Considerations
- Change the default admin password immediately after installation
- Configure your firewall to only allow access from trusted IP addresses
- Use HTTPS in production environments
- Regularly update the system and application
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
This project is licensed under the MIT License - see the LICENSE file for details.
πΈ Screenshots
Dashboard
Main dashboard showing system overview and statistics
Client Management
Client management interface with connection status and configuration options
System Monitor
Real-time system monitoring with resource usage graphs
π Features
- π Secure WireGuard VPN management
- π₯ Multi-user support with role-based access control
- π Wake-on-LAN functionality for remote devices
- π Real-time system monitoring
- π Automatic client configuration generation
- π± Responsive web interface
- π Bilingual support (English/Persian)
- π Comprehensive logging system
- π§ System utilities and maintenance tools
- π Secure key management
π Quick Start
- Clone the repository:
git clone https://github.com/MmadF14/vwireguard.git
cd vwireguard
- Install dependencies:
go mod download
- Build the application:
go build
- Run the application:
./vwireguard
π Prerequisites
- Go 1.21 or higher
- WireGuard installed on the server
- Linux-based system (Ubuntu recommended)
- Root privileges for system operations
π οΈ Configuration
- Configure WireGuard:
wg-quick up wg0
- Access the web interface:
http://localhost:5000
- Default credentials:
- Username: admin
- Password: admin
- To extend the "remember me" session duration, set the
SESSION_MAX_AGE environment
variable (in days). The default value is 7 days.
π Security
- All passwords are hashed using bcrypt
- HTTPS support for secure communication
- Role-based access control
- Secure key storage and management
- Regular security updates
π Troubleshooting
V2Ray Tunnel Issues
If you encounter issues with V2Ray tunnels, especially the "incomplete tunnel configuration" error, please refer to our comprehensive troubleshooting guide:
π V2Ray Tunnel Troubleshooting Guide
This guide covers:
- Common configuration errors and solutions
- Required fields for different V2Ray protocols
- Step-by-step configuration instructions
- Validation tips and best practices
General Issues
For other issues, please check:
- System logs:
journalctl -u vwireguard
- WireGuard status:
wg show
- Network connectivity
- Firewall settings
π€ Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
π License
This project is licensed under the MIT License - see the LICENSE file for details.
π₯ Authors
π Acknowledgments
- WireGuard team for their excellent VPN solution
- Echo framework for the web framework
- All contributors and users of this project