Skip to content

FixLag-WorkSpace/FixLag-Desktop

Repository files navigation

FixLag - Gaming VPN Client

FixLag is a desktop application designed to reduce latency and jitter in online games like Valorant by routing traffic through optimized WireGuard servers. It features a modern, dark-themed UI built with Compose Multiplatform and communicates with a background Windows Service for secure tunnel management.

FixLag Home Screen

Features

  • Optimized Routing: Connects to dedicated gaming servers (e.g., Mumbai, Singapore) using the WireGuard protocol.
  • Real-time Metrics: Displays live Ping and Jitter stats to monitor connection quality.
  • Session Stats: Tracks historical data for your connections including duration, average ping, and max jitter.
  • Modern UI: A sleek, dark-themed interface with animated transitions and a custom window frame.
  • Secure:
    • Uses a background Windows Service for privileged network operations.
    • Communicates via secure Named Pipes (IPC).
    • Encrypts sensitive configuration (keys, endpoints) on disk using AES-GCM.
    • Protects the encryption key using Windows ACLs.
  • Live Logs & Debug Tools: View real-time service and UI logs, and access advanced tools via the Dev Mode flag.

Architecture

The project follows a clean architecture using Kotlin Multiplatform (KMP) targeting Desktop (JVM).

  • UI Layer: Built with Compose Multiplatform.
    • HomeWindow: Main dashboard with server selection, metrics, and power button.
    • SplashWindow: Handles initialization and key generation.
    • ViewModels: Manage state and business logic (HomeViewModel, SplashViewModel).
  • Domain/Data Layer:
    • Persistence: AppPreferences stores encrypted configuration using DataStore. EncryptionManager handles AES-GCM encryption.
    • IPC: IpcUseCase and FixLagIpcClient handle communication with the Windows Service via Named Pipes.
    • Command Execution: CommandUseCase executes system commands (e.g., ping, wg.exe).
  • Dependency Injection: Uses Koin for modularity and testability.

Prerequisites

  • OS: Windows 10/11 (64-bit).
  • WireGuard: The app requires wg.exe to be present in the files/ directory or system path for key generation.
  • FixLag Service: The companion Windows Service must be installed and running to handle the actual VPN connection.

Build and Run

Development

  1. Ensure wg.exe is placed in the files/ directory in the project root.

  2. Provide a CLIENT_PRIVATE_KEY in your local.properties file for build config generation.

  3. Run the app using Gradle:

    .\gradlew.bat :composeApp:run

    Tip: To enable the Debug tab, run with -DIS_DEV=true VM option.

Production Build

To create a distributable executable (MSI/EXE):

.\gradlew.bat :composeApp:packageDistributionForCurrentOS

The output will be located in composeApp/build/compose/binaries/main/. For a full installation setup, use the provided Inno Setup script (installer.iss).

Configuration

On first launch, the app generates a WireGuard key pair (wg genkey / wg pubkey) and initializes a default configuration. This data is stored securely in: C:\Users\<User>\AppData\Local\fixlag_app\fixlag.preferences_pb

The encryption key is securely stored in: C:\ProgramData\FixLag\secret.key

Logs

  • App Logs: Displayed in the "Logs" tab within the application.
  • Service Logs: Read from C:\ProgramData\FixLag\logs\agent.log.
  • UI Logs: Read from C:\Users\<User>\AppData\Roaming\FixLag\ui.log (in Dev mode).

Tech Stack

  • Language: Kotlin
  • UI Framework: Compose Multiplatform
  • DI: Koin
  • Async: Kotlin Coroutines & Flow
  • Storage: DataStore Preferences
  • Serialization: Kotlinx Serialization

Server Setup

If you want to host your own routing servers, please refer to the Server Setup Guide.


Built with ❤️ for Gamers.

About

FixLag is a desktop application designed to reduce latency and jitter in online games like Valorant by routing traffic through optimized WireGuard servers. It features a modern, dark-themed UI built with Compose Multiplatform and communicates with a background Windows Service for secure tunnel management.

Topics

Resources

Stars

Watchers

Forks

Contributors