Skip to content

Add hardened Linux support and v1.1.0 release pipeline - #1

Merged
onderaktas54 merged 3 commits into
masterfrom
feat/linux-support
Jul 16, 2026
Merged

Add hardened Linux support and v1.1.0 release pipeline#1
onderaktas54 merged 3 commits into
masterfrom
feat/linux-support

Conversation

@onderaktas54

@onderaktas54 onderaktas54 commented Jul 16, 2026

Copy link
Copy Markdown
Owner

Summary

Adds a native Linux edition of InputBridge that interoperates with the existing Windows Host and Client. Linux input capture uses evdev and injection uses uinput, so both X11 and Wayland are supported.

This update also hardens the shared transport and prepares the repository for a v1.1.0 cross-platform release.

What changed

  • Added Linux client and host modes with evdev/uinput input handling.
  • Added ISO/Turkish keyboard and common media-key mappings.
  • Fixed mouse input being discarded after a Linux client reconnect.
  • Serialized concurrent TCP writes so keyboard, mode-switch and heartbeat frames cannot interleave.
  • Added frame-size and handshake-message limits.
  • Added real handshake cancellation and five-second connection timeouts.
  • Added authenticated heartbeat tracking and safer evdev exclusive-grab behavior.
  • Ensured keys and mouse buttons are released during uinput shutdown.
  • Removed the public default secret, require at least 16 characters, mask it on Windows, and prevent persistence to settings files.
  • Added self-contained Linux packaging and automated Linux/Windows CI and tagged releases.
  • Bumped the application version to 1.1.0.

Validation

  • Core tests: 20 passed.
  • Linux behavior tests: 7 passed.
  • Linux x64 self-contained publish: succeeded and opened /dev/uinput on Arch Linux / Hyprland / Wayland.
  • Windows x64 Host publish: succeeded.
  • Windows x64 Client publish: succeeded.
  • C# formatting verification: passed for all projects.
  • NuGet vulnerability audit: no known vulnerable packages in Linux, Windows Host, or Windows Client projects.

Release behavior

Tags matching v* publish three release archives plus SHA-256 checksums:

  • Linux x64 self-contained
  • Windows Host x64 self-contained
  • Windows Client x64 self-contained

onderaktas54 and others added 3 commits July 16, 2026 08:16
Introduces InputBridge.Linux, a headless console app that runs on Linux and
speaks the exact same protocol as the Windows apps by reusing InputBridge.Core
(discovery, handshake, AES-256-GCM, transports). Linux and Windows machines
interoperate in either role.

- client mode: injects received input via /dev/uinput
- host mode: captures local input via evdev (/dev/input/event*), with
  Ctrl+Alt+S toggle and Ctrl+Alt+Esc emergency release
- Works under both X11 and Wayland (kernel-level, no XTEST dependency)
- Windows VK <-> Linux evdev key mapping (KeyMap)
- docs/LINUX.md guide + packaging/99-inputbridge.rules udev rule for sudo-less use
- README: Linux badge + section; project added to InputBridge.sln

Verified on Arch (Wayland): clean build (0 warnings), uinput device creation,
evdev enumeration (4 devices), and full host<->client handshake over loopback.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- Delete build.txt (a stale build log that leaked a local absolute path)
- Ignore build.txt/publish/ going forward
- Allow docs/*.md through the blanket *.md ignore so guides are tracked

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@onderaktas54 onderaktas54 changed the title Add Linux edition — evdev capture + uinput injection (X11 & Wayland) Add hardened Linux support and v1.1.0 release pipeline Jul 16, 2026
@onderaktas54
onderaktas54 merged commit 6f9d60a into master Jul 16, 2026
4 checks passed
@onderaktas54
onderaktas54 deleted the feat/linux-support branch July 16, 2026 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant