Overview
WireGuird provides configurable settings to customize application behavior. Settings are stored in a JSON file (wireguird.settings) and persist across application restarts.
Accessing Settings
Available Settings
WireGuird offers three main configuration options:Multiple Active Tunnels
Setting ID:settings_multiple_active_tunnels
Type: Checkbox
Default: Disabled (off)
Controls whether multiple WireGuard tunnels can be active simultaneously.
- Disabled (Default)
- Enabled
When Multiple Tunnels is disabled:
- Only one tunnel can be active at a time
- Activating a new tunnel automatically deactivates all other active tunnels
- Simpler routing configuration
- Recommended for most users
Start on Tray
Setting ID:settings_start_tray
Type: Checkbox
Default: Disabled (off)
Controls whether WireGuird starts minimized to the system tray or shows the main window on launch.
- Disabled (Default)
- Enabled
When Start on Tray is disabled:
- The main WireGuird window appears when you launch the application
- Normal desktop application behavior
- Easier to discover and interact with on startup
- Recommended for manual VPN management
- Icon:
wireguard_offwhen no tunnels are active - Icon:
wg_connectedwhen at least one tunnel is active - Right-click menu:
- Show: Display the main WireGuird window
- Quit: Exit the application and disconnect all tunnels
You can close the main window at any time (without quitting), and WireGuird continues running in the system tray. Active VPN connections remain connected.
Check for Updates
Setting ID:settings_check_updates
Type: Checkbox
Default: Enabled (on)
Controls whether WireGuird automatically checks for new versions on GitHub.
- Enabled (Default)
- Disabled
When Check Updates is enabled:
- First check occurs 60 seconds after application startup
- Subsequent checks occur every 24 hours
- If a new version is available, a dialog appears: “Wireguird: update available => [version-tag]”
- Checks are performed in the background without disrupting usage
- No automatic downloads or installations
- Queries GitHub API:
https://api.github.com/repos/UnnoTed/wireguird/releases - Compares latest release tag with current version (
1.1.0) - If different, shows notification dialog
- User must manually visit GitHub to download updates
WireGuird does not automatically download or install updates. The update check only notifies you that a new version is available. You must manually download and install updates from the GitHub releases page.
Saving Settings
After modifying any settings:
Settings File:
./wireguird.settings (in the current working directory when WireGuird is launched)
Canceling Changes
If you want to discard your modifications:Settings Implementation
WireGuird uses a simple settings system:Settings Structure
Loading Settings
Settings are loaded automatically when WireGuird starts:If
wireguird.settings doesn’t exist, WireGuird uses default values (MultipleTunnels: false, StartOnTray: false, CheckUpdates: true).Saving Settings
0660 (read/write for owner and group, no access for others).
Debug Mode
There’s an additional hidden setting in the settings structure: Debug: Enables debug-level logging This setting is not exposed in the GUI but can be manually added towireguird.settings:
- Settings initialization
- Device list queries
- UI event handling
- Configuration file parsing
Debug mode affects console output only. The WireGuard logs panel in the GUI shows INFO and ERROR messages regardless of the debug setting.
Checking Current Version
To see which version of WireGuird you’re running:- Click the Menu button in the main window
- The menu shows: “VERSION: v[version]” (e.g., “VERSION: v1.1.0”)
- Clicking this menu item opens the GitHub repository in your browser
Advanced Configuration
Advanced users can manually editwireguird.settings while the application is closed:
Troubleshooting Settings
Settings Don’t Persist
If your settings reset after closing WireGuird:- Check that
wireguird.settingsexists in the working directory - Verify file permissions:
ls -l wireguird.settings - Ensure you clicked Save, not Cancel
- Check the console for error messages about file writing
