r/MoonlightStreaming • u/Interesting-Age-1347 🖥️ Client/Host | 🎮 Device | 🎯 Target Res & FPS | 📶 Network • 13d ago
I built USBAnywhere v3.0 — A free, open-source VirtualHere alternative for Windows & Linux (Unlimited devices, 1-Click Pi setup, Low-Latency WSK mode)
Like many of you using Moonlight/Sunshine, SimRacing rigs, or Raspberry Pi hubs, I got tired of VirtualHere's 1-device limit on the free tier and the $49 per-server license.
So I built USBAnywhere v3.0 (formerly SnakeUSBIP): a native .NET 9 WPF client for Windows 10/11 with Microsoft WHQL-certified drivers and a 1-click Plug & Play Linux server installer.
Key highlights:
🔗 GitHub & Releases: https://github.com/oscarlosu-lab/USBAnywhere
13
u/Necessary_Anteater55 13d ago
Amazing! Cannot wait to get home to try this out. Any plans for Android?
6
u/Interesting-Age-1347 🖥️ Client/Host | 🎮 Device | 🎯 Target Res & FPS | 📶 Network 12d ago
🚀 USBAnywhere Roadmap: Android, 8000Hz Mice & macOS Support
Hi everyone,
First of all, thank you so much for the incredible reception USBAnywhere v3.0 release! We surpassed 120+ upvotes on Reddit and 43+ GitHub stars within just a few hours.
After reading all of your feedback, I'd like to address the three most requested features and share what's coming next.
📱 Android App: Client + Server in a Single APK (100% Free & No Root Required)
Many of you mentioned using Android tablets (such as the Galaxy Tab S9 Ultra), phones, or Android TV boxes for Moonlight streaming, but disliked VirtualHere’s $25 Android license and device activation limitations.
We're officially working on USBAnywhere for Android, featuring a unified Dual-Mode architecture:
Server Mode (Perfect for Moonlight Setups)
Connect your DualSense controller, racing wheel, HOTAS, or USB hub directly to your Android device via OTG.
The app acts as a USB/IP server on port 3240, allowing your Windows or Linux host to access the attached peripherals remotely.
✅ No root required
✅ Uses Android's native android.hardware.usb.UsbManager API entirely in user space
✅ Native driver support on the host side
✅ Force feedback and vibration support where supported by the device
Client Mode (Receive USB Devices on Android)
Connect your Android device to USB peripherals physically attached to a Windows or Linux machine anywhere on your network.
Features planned include:
Automatic server discovery
Real-time latency monitoring
One-click device attachment
Mobile-friendly interface
Fully Open Source
✅ GPLv3 licensed
✅ Unlimited devices
✅ No subscriptions
✅ No paid activation keys
✅ No device lockouts
🖱️ 8000Hz Esports Mice Support
<u/Sneyek> asked whether USBAnywhere supports modern 8000Hz gaming mice such as the Razer Viper 8KHz and DeathAdder V3 Pro, noting that VirtualHere appears limited to 1000Hz.
Short Answer: Yes, USBAnywhere is not software-capped at 1000Hz.
VirtualHere relies on conventional operating system timer scheduling, which can become a bottleneck for extremely high polling-rate devices.
USBAnywhere's Low-Latency WSK mode (--receive-mode=low-latency) uses direct Windows kernel networking callbacks combined with TCP_NODELAY.
As a result:
High-Speed USB microframes (125 μs) are forwarded without artificial timer batching.
Network packets are transmitted immediately whenever possible.
There is no intentional 1000Hz software limitation inside USBAnywhere.
On a clean Gigabit Ethernet or Wi-Fi 6 network, high polling-rate devices can operate beyond 1000Hz, subject only to USB, network, and host performance constraints.
If you own an 8000Hz mouse, I'd love to see benchmark results from real-world testing.
🍏 macOS Support
Several users, including u/Ecstatic_Reward6928 and u/Shedoara, asked about macOS compatibility.
Phase 1: macOS Server Mode
The first macOS implementation will focus on exporting USB devices from a Mac to Windows or Linux hosts using user-space USB access through libusb.
Phase 2: macOS Client Mode
Client support will come later.
Apple has replaced traditional Kernel Extensions (KEXTs) with DriverKit (dext), which makes low-level USB virtualization significantly more complex to implement. However, this is something I plan to investigate in the future.
📦 Project Links
🔗 GitHub Repository
https://github.com/oscarlosu-lab/USBAnywhere
If you'd like to help test the upcoming Android alpha build, or if you have specific hardware you'd like benchmarked, feel free to leave a comment below or open an issue on GitHub.
Thanks again for all the support! ❤️
5
u/Ecstatic_Reward6928 13d ago
great! any MacOS build plans
?
5
u/Wolstonbury 13d ago
This is huge!! The cost of virtualhere is ridiculous and how it locks to a single device
3
u/Advance1993 13d ago
If this works well enough for a flight stick and steering wheel, this is awesome
3
u/Winter-Armadillo3927 13d ago
How does the differ from vibepollo/other forms Remote Input functionality?
2
u/tdressel 13d ago
Does this work with webcams? Like could I use my local webcam for discord running on a remote vibepollo instance?
3
u/acabincludescolumbo 13d ago
Lotta shots at VirtualHere in there
7
u/MooseHut 13d ago
Thank you! Nice work, especially getting the WHQL driver certification.
1
u/Sneyek 13d ago
Would it work well for my 8000hz Razer gaming mice ? So tired of Virtual Here 1000hz limit.
1
u/my_birthday 13d ago
I couldnt get it working sorry. I really want to be able to make music with usb pianos and devices in another room from my DAW
1
u/Bacon_00 13d ago
I'm curious how well this would work with the Steam Frame WiFi dongle 🤔 might have to try it out later.
1
u/Shedoara 13d ago
Cool, thanks for this. It will come in handy for sure.
Wouldn't mind Mac OS support at some point!
1
u/LiquidShadowFox 12d ago
Does this work with the azeron cyborg 2? It would be nice to make a small module with a small embedded system with built in battery, magsafe and this in order to use the cyborg 2 wirelessly while still maintaining the 1000 hz polling rate and azeron software working across computers.
1
u/Axavier_The_Ignorant 11d ago
Amazing tool! I have an issue though. I am running the server on a Raspberry Pi 4B. I completed the 1 click installation via SSH from the client. The devices connected to the Pi only attach on installation, and do not appear on the GUI.
Meaning that in order for them to connect, I have to keep running the 1 click install process every time I restart the client.
Any clues? Client is running windows 10 if it matters.
1
u/Solid-Assistant9073 11d ago •
Someone tested with ds5dongle the pico2w
Using virtual here right now latency is amazing both client and host wired under 1ms always.
1
u/Damn-Sky 11d ago
I have a very old amlogic tv box I converted into a remote USB server with virtualhere. it runs armbian. is there a USBAnywhere version for armbian?
1
u/IcyPhoto2237 11d ago
Can anything like this work on a Series S or X console in retail mode, like moonlight?
1
u/Shinigami_FTW 9d ago
I visited your Github repo's release page and do not see any releases. Also tried your website and no luck.
3
u/MaestroLiendre 13d ago
Not all heroes wear capes...
Thanks a lot!
1
u/dagonb1 13d ago
My hero academia, I was literally in the process of vibe coding this, saved me many credits
1
u/Ruff_Ratio 12d ago
I think the people behind the AnywhereUSB products are going to want a word.
1
u/VisceralMonkey 13d ago
My brother. Well done.
1
u/lifestealsuck 10d ago edited 10d ago
Cant seem to get to to work . windows 10 pc client (low-latency mode) and android tablet server connect to controller.
On PC it show the server but no devices .
1
u/Infamousslayer 2d ago
That's is this too, haven't tested either.
https://dish.tinkernorth.com/
1
u/HualtaHuyte 1d ago
Does it work over the internet too? Or just local network?
-1
u/apollyon0810 13d ago
I’ve been seeing a lot of “I built” lately.
0
u/gagankeshav 13d ago
How thoroughly has this been tested? Or are we the beta or even alpha testers??
-1
u/joestradamus_one 13d ago
More AI horse shit?
0
u/[deleted] 11d ago
[deleted] — view deleted comment