LANCommander.Interposer
1.0.7
dotnet add package LANCommander.Interposer --version 1.0.7
NuGet\Install-Package LANCommander.Interposer -Version 1.0.7
<PackageReference Include="LANCommander.Interposer" Version="1.0.7" />
<PackageVersion Include="LANCommander.Interposer" Version="1.0.7" />
<PackageReference Include="LANCommander.Interposer" />
paket add LANCommander.Interposer --version 1.0.7
#r "nuget: LANCommander.Interposer, 1.0.7"
#:package LANCommander.Interposer@1.0.7
#addin nuget:?package=LANCommander.Interposer&version=1.0.7
#tool nuget:?package=LANCommander.Interposer&version=1.0.7
LANCommander.Interposer
.NET bindings for LANCommander Interposer - a Windows DLL that hooks into game processes to provide virtual registry, file redirection, DNS redirection, identity overrides, FastDL, and Discord rich presence for LAN gaming.
Everything goes through InterposerService:
- Injection - Launch processes with
ProcessStartInfoor inject into runningProcessinstances, with optional runtime overrides for username, computer name, and FastDL URL. - Plugin API - Logging, config, virtual registry, and rich presence (in-process only).
- Hook Events - Subscribe to file, registry, DNS, network, and identity events (in-process only).
Launch and Inject
using System.Diagnostics;
using LANCommander.Interposer;
using var interposer = new InterposerService();
interposer.Username = "Player1";
interposer.ComputerName = "GAMEPC";
interposer.FastDlUrl = "http://fastdl.lan/";
// Launch suspended, inject the DLL, resume - returns a standard Process
var startInfo = new ProcessStartInfo(@"C:\Games\game.exe", "-fullscreen");
Process game = interposer.Start(startInfo);
// Or inject into an already-running process
interposer.Inject(existingProcess);
interposer.Inject(1234); // by PID
The DLL is located automatically next to the application (interposer.dll or LANCommander.Interposer.dll). Pass an explicit path to override:
interposer.Start(startInfo, dllPath: @"C:\Tools\LANCommander.Interposer.dll");
Plugin API (in-process)
These methods are only callable from within a process that has the Interposer DLL loaded.
using var interposer = new InterposerService();
interposer.Log("[MANAGED] ", "Hello from .NET!");
string setting = interposer.GetConfigString("Plugins.MyPlugin.ApiKey");
interposer.RegisterPluginConfig("MyPlugin", "ApiKey: ''\nEnabled: true");
string username = interposer.GetUsername();
interposer.SetRegistryValue(
@"HKEY_LOCAL_MACHINE\SOFTWARE\MyGame", "CDKey", "ABCD-1234-EFGH");
interposer.SetPresenceName("My Game");
interposer.SetPresenceDetails("Playing on de_dust2");
interposer.UpdatePresence();
Hook Events (in-process)
Subscribe to hook events from within an injected process. Events fire on the game's thread - subscribers must be thread-safe.
using LANCommander.Interposer;
using LANCommander.Interposer.Events;
using var interposer = new InterposerService();
interposer.EnableEvents();
interposer.FileAccessed += (s, e) =>
Console.WriteLine($"{e.Verb}: {e.Path}");
interposer.RegistryAccessed += (s, e) =>
Console.WriteLine($"{e.Verb}: {e.KeyPath} -> {e.ValueName}");
interposer.DnsResolved += (s, e) =>
Console.WriteLine($"DNS: {e.Hostname} -> {e.RedirectedHostname}");
interposer.NetworkConnection += (s, e) =>
Console.WriteLine($"Connect: {e.Address}:{e.Port}");
interposer.IdentityQueried += (s, e) =>
Console.WriteLine($"{e.IdentityType}: {e.Value}");
Requirements
- Windows - The Interposer DLL and injection APIs are Windows-only.
- .NET 8.0 / 9.0 / 10.0 - Targets modern .NET runtimes.
- The native
LANCommander.Interposer.dll(or proxy variant) must be deployed alongside the target process. Download it from Releases.
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
-
net9.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.