๐ Language / Idioma: English | Espaรฑol
v3.2.0 | Part of the USBAnywhere Ecosystem
๐ Official Website | ๐ฆ Releases & APK | ๐ USBAnywhere Windows Client | ๐ฅ๏ธ USBAnywhere Windows Server | ๐ฌ Reddit Community | โ๏ธ Sunshine & Moonlight Setup | ๐ Strategic Roadmap | ๐ Engineering Workflow
Why pay $49.00 per server and be restricted to a single USB device?
USBAnywhere Android is the definitive open-source USB-over-IP engine for Android phones, tablets, and Android TV / Google TV (Nvidia Shield). It seamlessly integrates into the USBAnywhere Suite, enabling zero-cost, multi-device USB tunneling between your living room TV and remote gaming PCs running Sunshine/Moonlight or the USBAnywhere Windows Client.
| Feature | USBAnywhere Android | VirtualHere Android |
|---|---|---|
| Pricing & License | 100% Free & Open Source (GPLv3) | ๐ฐ $49.00 USD per server (locked to hardware) |
| Simultaneous USB Devices | โพ๏ธ Unlimited | |
| Root Requirement | ๐ก๏ธ Zero Root Required (OTG user-space mediation) | |
| Sunshine & Moonlight Integration | โก Built-in Webhook (Port 3242) + Auto-Handoff | โ Manual batch scripts and disconnect pain |
| Gamepad Quick-Toggle | ๐ฎ Guide + Select (2.5s) switch TV/PC |
โ None |
| DualSense & Sim Racing | ๐๏ธ Dedicated Haptics Buffer & FFB Jitter-Guard | |
| Android TV / Shield 10-Foot UI | ๐บ Native D-Pad Focus & Leanback Banner | ๐ฐ๏ธ Basic Android interface |
| WAN & Remote Connectivity | ๐ Tailscale, WireGuard & Cyber QR Token | โ Manual port forwarding |
| Package Size | ๐ 2.07 MB APK (Includes 20.5K device database) | ~6 MB |
flowchart LR
subgraph LivingRoom ["๐๏ธ Living Room (Android TV / Nvidia Shield)"]
ATV["<b>USBAnywhere Android</b><br><i>(Rootless Server / Client)</i>"]
GP["๐ฎ Gamepad / Sim Wheel / Hotas"]
DAC["๐ง USB DAC / Mic"]
GP --> ATV
DAC --> ATV
end
subgraph Network ["๐ Low-Latency Network (LAN / Tailscale VPN)"]
direction TB
NET["TCP Port 3240 (USB/IP)<br>HTTP Port 3242 (Sunshine Webhook)<br>mDNS Discovery (_usbanywhere._tcp)"]
end
subgraph GamingPC ["๐ฅ๏ธ Gaming Room / Cloud Host"]
WIN_C["<b>USBAnywhere Windows Client</b><br><i>(WHQL Driver + WSK Engine)</i>"]
WIN_S["<b>USBAnywhere Windows Server</b><br><i>(usbipd-win GUI)</i>"]
SUN["โ๏ธ Sunshine Game Streamer"]
end
ATV <==> NET
NET <==> WIN_C
NET <==> WIN_S
NET <==> SUN
- Android as Living Room USB Server: Plug racing wheels (Logitech G29, Fanatec), flight sticks, or DualSense gamepads into your Nvidia Shield or Android TV box. Stream your game with Sunshine/Moonlight while the USBAnywhere Windows Client receives raw USB packets with full force feedback and adaptive triggers.
- Android as Client for Remote Peripherals: Access 3D printers (OctoPrint), CNCs, SDR dongles, or office scanners connected to a Windows host running USBAnywhere Windows Server.
- Sunshine Auto-Handoff: Sunshine triggers
POST /api/stream/starton launch andPOST /api/stream/stopon exit, automatically toggling controller ownership without manual intervention.
| Component | Platform / Role | Description |
|---|---|---|
| USBAnywhere Client | ๐ฅ๏ธ Windows 10/11 (x64 / ARM64) | Connect to remote USB devices with WHQL drivers & WSK engine |
| USBAnywhere Server | ๐ Windows 10/11 (.NET 9.0) | Share local USB peripherals over network with GUI & Auto-Bind |
| USBAnywhere Android | ๐ฑ Android & Android TV | Rootless USB/IP server, Sunshine handoff & DualSense haptics |
| Official Website | ๐ Web Portal | Interactive guides, documentation & download hub |
| Reddit Community | ๐ฌ r/UsbAnywhere | Support, discussions, community setups & announcements |
| Support on Ko-fi | โ Community | Support hosting, driver testing & open-source engineering |
| Downloads & Mirrors | ๐ฆ Backup Archive | Centralized distribution mirror and checksum verification |
- Zero Root Required: Operates completely in user-space using
android.hardware.usb.UsbManager(UsbDeviceConnection,controlTransfer,bulkTransfer). - Share gamepads, flight sticks, racing wheels, 3D printers, CNCs, and webcams connected via USB-OTG or USB-C hubs.
- High-Performance Foreground Service with
WakeLockandWifiLockpreventing Android OS power throttling.
- Full Foreground Service Persistence:
- Operates as a resilient Android Foreground Service (
UsbIpServerService) typed withandroid:foregroundServiceType="connectedDevice". - Holds an active
PARTIAL_WAKE_LOCKandWIFI_MODE_FULL_HIGH_PERFlock, ensuring the Android kernel never throttles network traffic or kills the USB mediation daemon when running mobile games, emulators, or switching apps. - Informative persistent status notification in the Android notification shade with real-time client connection metrics.
- Operates as a resilient Android Foreground Service (
-
Sunshine Auto-Handoff & Quick-Toggle:
- Embedded HTTP micro-server (Port 3242) for Sunshine
doandundocommands. - Gamepad combo (
Guide + Selectheld for 2.5s) toggles control between Android TV navigation and PC USB/IP streaming.
- Embedded HTTP micro-server (Port 3242) for Sunshine
-
Sony DualSense Engine:
- Circular isochronous audio buffer delivering pristine haptics and adaptive triggers over Wi-Fi without audio underflows.
-
Sim Racing & HOTAS FFB Jitter-Guard:
- Monotonic sequence ordering and stale packet dropper eliminating violent wheel shakes from delayed Wi-Fi packets.
-
Multiplayer Hub Slot Locks:
- Deterministic P1-P4 player binding tied to USB port topology so controllers never scramble player numbers.
-
Live Esports Gamepad HUD:
- Real-time frequency tracker in Hz, min/max bounds, jitter (
$\sigma$ in ms), analog stick crosshairs, and 1000/8000 Hz synthetic simulator.
- Real-time frequency tracker in Hz, min/max bounds, jitter (
- Tailscale & WireGuard Native Discovery:
- Automatically identifies CGNAT (
100.64.0.0/10) and VPN interfaces. - Generates compact pairing tokens (
UA1:...) and renders dynamic Cyber QR codes natively on Compose Canvas without heavy third-party libraries.
- Automatically identifies CGNAT (
- Friction-Free WAN Mesh & TLS 1.3:
- Direct RFC-compliant USB/IP protocol negotiation over encrypted VPN tunnels (Tailscale/WireGuard) with zero PIN friction.
- UAC2 Audio & Headset Microphone Bridge:
- 48 kHz / 16-bit PCM stereo bridge with user-selectable buffer profiles: 2ms (Esports local), 4ms (Wi-Fi), 8ms (WAN).
- Official Leanback launcher integration with custom high-contrast cyber banner (
tv_banner.xml). - Declares
android.hardware.touchscreen=falsefor full Android TV Play Store compliance. - D-Pad remote control focus indicators with glowing
NeonCyanborders.
- Offline SQLite catalog with 3,427 vendors and 20,551 products indexed from official USB-IF databases.
- Semantic classification: ๐ฎ Gamepad, ๐๏ธ Racing Wheel, ๐ฑ๏ธ Mouse, โจ๏ธ Keyboard, ๐ท Camera, ๐จ๏ธ 3D Printer, ๐ง Audio, ๐พ Storage, ๐ Generic.
BootCompletedReceiverandUsbAttachedReceiverareandroid:enabled="false"by default in the Manifest.- Dynamic
PackageManager.setComponentEnabledSettingensures zero background battery drain or unwanted OS dialogs until explicitly enabled in Settings.
The user interface is built on Jetpack Compose Material 3 with native 10-foot D-Pad remote control focus indicators for Android TV / Google TV:
| Tab | Icon | Purpose |
|---|---|---|
| Server | ๐ | One-tap rootless USB/IP server start/stop, real-time USB-OTG peripheral discovery, and connection status hero card. |
| Client | ๐ป | Multi-tier auto-discovery of remote USB/IP servers (Parallel TCP 3240 subnet scan, UDP 3241 probe & mDNS), manual host IP connection, and connection guide. |
| Gamepad | ๐ฎ | Live polling rate monitor in Hz, jitter ( |
| Settings | โ๏ธ | Esports low-latency tuning (TCP_NODELAY, ring buffers), opt-in auto-start on boot/USB, TV kiosk mode, and port configuration (:3240, :3242). |
app/src/main/
โโโ AndroidManifest.xml # Leanback, Non-Touch, USB Host, Foreground Service
โโโ assets/
โ โโโ usb_catalog.db # SQLite database (3,427 vendors, 20,551 products)
โโโ java/com/usbanywhere/
โ โโโ MainActivity.kt # Edge-to-edge Compose host & D-Pad key dispatcher
โ โโโ audio/ # UAC2 Audio Bridge & Jitter Buffering
โ โโโ catalog/ # Semantic Hardware Classification Engine (SQLite)
โ โโโ client/ # USB/IP Client Implementation (mDNS, UDP, Roaming)
โ โโโ data/ # Persistent AppPreferences & UsbModels
โ โโโ gamepad/ # Gamepad Testing & Polling Rate Engine
โ โโโ gaming/sunshine/ # Sunshine Webhook (Port 3242) & Handoff Manager
โ โโโ network/wan/ # Tailscale/WireGuard WAN & Cyber QR Matrix
โ โโโ protocol/ # Standard Binary USB/IP Wire Protocol (RFC Draft)
โ โโโ receiver/ # Non-Intrusive Boot & USB Attached Receivers
โ โโโ security/ # TLS 1.3 Socket Factory & Encryption Helpers
โ โโโ server/ # Rootless USB/IP Server Daemon (Port 3240)
โ โโโ ui/ # Jetpack Compose Material 3 (Cyber Neon Theme)
โโโ res/drawable/
โโโ tv_banner.xml # Android TV 320x180 dp Leanback home banner
- JDK: JDK 17+ or JDK 21 (Microsoft Hotspot)
- Android SDK: Build Tools 35.0.0+, Platform API 35/36
- Gradle: 8.9+ (Wrapper included)
# 1. Run unit test suite (38 tests)
.\gradlew.bat test
# 2. Build Minified Signed Production APK (2.07 MB)
.\gradlew.bat assembleRelease
# 3. Build Google Play Store App Bundle (4.26 MB)
.\gradlew.bat bundleRelease# Execute the full unit test suite (38 tests)
.\gradlew.bat testThis repository adheres to strict Zero-Trust engineering and security practices. Contributions, security audits, and issue reports are welcomed via standard GitHub Pull Requests and Issues.
This project is licensed under the GNU General Public License v3.0 (GPLv3).
USBAnywhere Android is 100% Free and Open Source. You are free to run, study, share, and modify the software under the terms of the GNU General Public License as published by the Free Software Foundation.
See LICENSE for full legal terms and conditions.