A specialized, high-performance Windows Service that intelligently installs, configures, and manages a WireGuard Tunnel.
- 🌍 WireGuard Native Integration: Installs and mounts a high-performance WireGuard tunnel seamlessly under the hood.
- 🔒 Secure IPC Commmunications: Operates as an elevated Windows Service listening natively on Named Pipes using restricted Security Descriptors to allow IPC communications only from
Authenticated Users,LocalSystem, andAdministrators. - 🚀 Performance First: Extremely lightweight footprint compiled natively in C++.
- 📦 JSON Driven Architecture: Dynamically receives
nlohmann::jsonpayloads to configure routing, endpoints, peer keys, AllowedIPs, DNS, and MTU limits directly from the client.
- Git to clone the repository.
- Visual Studio 2022 (Standard/Community with Desktop Development with C++).
- CMake 3.10 or newer.
- Windows 10 SDK.
Clone this repository and compile it using CMake:
# 1. Clone the Source
git clone https://github.com/FixLag-WorkSpace/FixLagAgent-Windows.git
cd FixLagAgent-Windows
# 2. Build the Service via CMake
mkdir build
cd build
cmake ..
cmake --build . --config ReleaseThe resulting CLI tool/executable (fixlag-agent.exe) will be generated inside the Release folder.
You must run the agent commands with Administrator Privileges, as it controls the Windows Service Manager (SCM).
# Installs the agent natively as a background active Windows Service
.\fixlag-agent.exe --installThe Agent runs autonomously in the background!
A frontend/client simply connects directly to \\.\pipe\FixLagPipe via IPC to pass commands! Example commands:
START– Provides required configuration and starts the tunnel routing.STOP– Purges current tunnels and shuts down routing.
To stop all operations and remove the FixLag service:
.\fixlag-agent.exe --uninstallThis agent has been heavily optimized:
src/fixlag-agent.cpp — Service Control Lifecycle management (ServiceMain).
src/ipc_server.cpp — The active listener. Spawns threads and binds to \\.\pipe\FixLagPipe, securely capturing dynamic user settings.
src/wg_tunnel.cpp — Programmatic interfacing with WireGuard drivers.
We heartily welcome contributions from everyone! If you want to refine, submit a suggestion, fix a bug, or write documentation: Please see our CONTRIBUTING.md to understand how to get started.
This project is licensed under the MIT License.