Skip to content

FixLag-WorkSpace/FixLagAgent-Windows

FixLag Agent (Windows)

A specialized, high-performance Windows Service that intelligently installs, configures, and manages a WireGuard Tunnel.

Windows C++ License

📌 Features

  • 🌍 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, and Administrators.
  • 🚀 Performance First: Extremely lightweight footprint compiled natively in C++.
  • 📦 JSON Driven Architecture: Dynamically receives nlohmann::json payloads to configure routing, endpoints, peer keys, AllowedIPs, DNS, and MTU limits directly from the client.

🛠 Prerequisites and Dependencies

  • Git to clone the repository.
  • Visual Studio 2022 (Standard/Community with Desktop Development with C++).
  • CMake 3.10 or newer.
  • Windows 10 SDK.

🚀 Building the Agent

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 Release

The resulting CLI tool/executable (fixlag-agent.exe) will be generated inside the Release folder.

💻 Usage & Installation

You must run the agent commands with Administrator Privileges, as it controls the Windows Service Manager (SCM).

Installing the Service

# Installs the agent natively as a background active Windows Service
.\fixlag-agent.exe --install

Typical Usage

The 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.

Uninstalling the Service

To stop all operations and remove the FixLag service:

.\fixlag-agent.exe --uninstall

🏗 Architecture Layout

This 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.

🤝 Contributing

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.

📜 License

This project is licensed under the MIT License.

About

A specialized, high-performance Windows Service that intelligently installs, configures, and manages a WireGuard Tunnel.

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Contributors