Overview
This quick start guide will have you managing WireGuard VPN tunnels with WireGuird in just a few minutes. We’ll cover launching the application, adding a tunnel, and establishing your first connection.Before starting, ensure you have installed WireGuird and have at least one WireGuard configuration file (
.conf) ready.Launch WireGuird
Start the Application
Launch WireGuird with root privileges (required for managing WireGuard tunnels):Or use the application launcher with graphical authentication:First Launch Appearance:
WireGuird requires root access because it executes
wg-quick commands that modify network interfaces (gui/tunnels.go:232, 286).- Main window with an empty tunnel list
- System tray icon (black = disconnected)
- Header showing “Not connected!”
Verify System Tray Icon
Look for the WireGuird icon in your system tray:
- Black icon: No active tunnels
- Red icon: One or more tunnels active
- Show: Display the main window
- Quit: Exit the application
The system tray integration uses Ayatana AppIndicator (main.go:60) for broad compatibility across desktop environments.
Add Your First Tunnel
WireGuird manages tunnels stored in/etc/wireguard/. You can add tunnels in several ways:
- Import Configuration File
- Copy Configuration Manually
- Create New Configuration
Import from File Browser
Click Add Tunnel Button
In the main window, click the “Add Tunnel” button (+ icon) in the toolbar.This opens a file chooser dialog (gui/tunnels.go:349).
Select Configuration File(s)
Navigate to your WireGuard configuration file(s):
- Single file: Select one
.conffile - Multiple files: Hold Ctrl and select multiple
.conffiles - ZIP archive: Select a
.zipcontaining multiple.conffiles
WireGuird supports importing multiple tunnel configurations at once. ZIP archives are automatically extracted, and all
.conf files are imported (gui/tunnels.go:375-396).- File is read from your selected location
- Content is validated as a proper WireGuard configuration
- File is copied to
/etc/wireguard/<filename>.conf - Permissions are set to 666 (readable/writable)
- Tunnel list is refreshed automatically
Connect to a Tunnel
Select a Tunnel
In the main window, click on a tunnel name in the left sidebar.The right panel displays tunnel details:Interface Information:
- Status: Inactive
- Addresses: IP addresses from config
- DNS Servers: DNS configuration
- Public Key: Remote peer’s public key
- Endpoint: Server address and port
- Allowed IPs: Routed IP ranges
Activate the Tunnel
Click the “Activate” button in the interface section.What Happens:Success Indicators:
- WireGuird executes
sudo wg-quick up <tunnel-name>(gui/tunnels.go:286) - WireGuard creates a network interface
- Routes are configured based on AllowedIPs
- DNS settings are applied (if configured)
If “Multiple Tunnels” is disabled in Settings, activating a tunnel automatically disconnects any currently active tunnels (gui/tunnels.go:249-268).
- Button label changes to “Deactivate”
- Status changes to “Active”
- System tray icon turns red
- Green indicator appears next to tunnel name
- Header shows “Connected to [tunnel-name]”
Monitor Connection
Once connected, real-time statistics update every second:Interface Stats:
- Public Key: Your interface’s public key
- Listen Port: UDP port for incoming connections
- Latest Handshake: Time since last handshake (e.g., “2 minutes ago”)
- Transfer: Received and sent bytes in human-readable format
Statistics only update when the WireGuird window has focus to conserve resources (gui/tunnels.go:837).
Disconnect from a Tunnel
Select Active Tunnel
Click on the active tunnel in the left sidebar (marked with a green indicator).
Click Deactivate
Click the “Deactivate” button.What Happens:
- WireGuird executes
sudo wg-quick down <tunnel-name>(gui/tunnels.go:232) - Network interface is removed
- Routes are cleaned up
- DNS settings are restored
- Button label changes back to “Activate”
- Status changes to “Inactive”
- System tray icon turns black
- Gray indicator appears next to tunnel name
- Header shows “Not connected!”
Essential Features
Keyboard Shortcuts
| Shortcut | Action |
|---|---|
| F5 | Refresh tunnel list (gui/tunnels.go:88) |
Toolbar Buttons
Add Tunnel
Import
.conf files or .zip archives containing tunnel configurations.Edit Tunnel
Open the built-in editor to modify the selected tunnel’s configuration with syntax highlighting.
Delete Tunnel
Remove the selected tunnel configuration from
/etc/wireguard/ (prompts for confirmation).Export Tunnels
Export all tunnel configurations to a dated ZIP archive for backup (gui/tunnels.go:462-537).
Application Menu
Click the menu button (hamburger icon) in the header to access:- Settings: Configure application behavior
- VERSION: v1.1.0: View version and open GitHub repository (gui/tunnels.go:125)
Configuration Settings
Access Settings from the application menu to customize WireGuird:Multiple Active Tunnels
- Disabled (Default)
- Enabled
Single Tunnel ModeWhen disabled, activating a new tunnel automatically disconnects any active tunnels.Best for:
- Users who only need one VPN connection at a time
- Preventing routing conflicts
- Simpler connection management
Start on Tray
When enabled, WireGuird launches minimized to the system tray instead of showing the main window (main.go:147). Useful for:- Automatic startup at login
- Keeping the application running in background
- Quick access from system tray
Check for Updates
When enabled, WireGuird automatically checks for new releases:- First check: 60 seconds after launch
- Subsequent checks: Every 24 hours
- Notification dialog when updates are available
Settings are saved to
./wireguird.settings in JSON format (settings/settings.go:12, 44-56).Common Tasks
Import tunnels from another computer
Import tunnels from another computer
Export on source computer
Click the Export button (zip icon) in WireGuird toolbar.Save the ZIP file (e.g.,
wg_tunnels_5_Mar_2026.zip).Transfer to destination computer
Copy the ZIP file to your other computer via USB, network, or cloud storage.
Rename a tunnel
Rename a tunnel
View connection logs
View connection logs
WireGuird displays connection logs at the bottom of the main window:
- Timestamp: When the event occurred
- Level: INFO or ERROR (errors in red)
- Message: Description of the event
- Tunnel activation/deactivation
- Connection errors
- wg-quick command output
Check tunnel configuration is valid
Check tunnel configuration is valid
Before activating, verify your configuration:Or use the WireGuard config validator:Common configuration issues:
- Missing or invalid PrivateKey
- Malformed Endpoint (must be
host:port) - Invalid IP addresses in Address or AllowedIPs
- Missing [Interface] or [Peer] sections
Troubleshooting
Can't activate tunnel - Permission denied
Can't activate tunnel - Permission denied
Cause: WireGuird wasn’t launched with root privileges.Solution:WireGuard requires root to create network interfaces.
Tunnel activates but no internet connection
Tunnel activates but no internet connection
Cause: DNS or routing configuration issue.Check DNS:Check routes:Solution: Ensure your tunnel configuration includes DNS servers:
Tunnel name too long error
Tunnel name too long error
Cause: Tunnel filename exceeds 15 characters (gui/tunnels.go:217).Solution: Rename the configuration file:Press F5 in WireGuird to refresh.
System tray icon not visible
System tray icon not visible
Cause: Desktop environment doesn’t support system tray.GNOME Solution:KDE/XFCE: System tray support is built-in. Check panel settings.
wg-quick command output errors
wg-quick command output errors
WireGuird displays wg-quick errors in the logs panel (gui/tunnels.go:234-240, 288-294).Common errors:
-
“Name or service not known”: DNS can’t resolve Endpoint
- Check internet connection
- Verify Endpoint address
-
“Operation not permitted”: Permission issue
- Ensure running with sudo
-
“Cannot allocate memory”: System resource limit
- Check available memory:
free -h
- Check available memory:
-
“File exists”: Interface already exists
- Disconnect first:
sudo wg-quick down <name>
- Disconnect first:
Next Steps
Now that you’re familiar with the basics, explore more advanced features:Tunnel Editor
Learn about the built-in configuration editor with syntax highlighting and real-time validation.
Multiple Tunnels
Configure and manage multiple simultaneous VPN connections for advanced routing.
Backup & Restore
Export tunnel configurations for backup or migration to another system.
Keyboard Shortcuts
Master keyboard shortcuts for faster tunnel management.
Getting Help
If you encounter issues:- GitHub Issues: Report bugs or request features
- WireGuard Docs: Official WireGuard documentation
- System Logs: Check
journalctl -xefor system-level WireGuard errors
WireGuird is open source! View the source code, contribute, or fork the project on GitHub.
