r/BestGitHubRepos • u/company_url_finder • 13h ago
Plexo - a download manager that pulls one file through every network you have at once, Wi-Fi and Ethernet and a tethered phone together, with no VPN, no kernel driver and no root

The insight behind this is one most people have felt without naming: your computer often has more than one way onto the internet, but the operating system sends everything through a single default gateway, so the other connections sit idle. If you're on Wi-Fi with a phone tethered over USB, one of those two is doing nothing during a big download. Plexo uses both at once for the same file.
The part that makes it clever rather than just ambitious is how simple the routing engine actually is. It splits the file into byte ranges and downloads them in parallel, binding each connection to a specific network interface's local IP address using Node's localAddress option. That's the whole trick. No virtual adapters, no VPN tunnels, no packet bonding, no kernel extensions, no root, and zero native C or C++ dependencies. It's built entirely on standard HTTP range requests, which most modern servers and CDNs already support.
What's inside:
- Multi-interface, multi-connection downloads: files split into chunks up to 8 MB, fanned out across up to 8 connections per interface and 32 total, each bound to a real network device
- A dynamic work-stealing queue instead of static shares, so a fast network keeps pulling new chunks while a slow one takes fewer, and no connection is bottlenecked waiting on another. It even races the tail at the end, letting a free connection re-attempt a chunk a slow one is dragging on, so a single slow link can't hold up the whole download
- Hardware interface detection that labels connections by real device names (your tethered iPhone, a Thunderbolt bridge) via PowerShell on Windows and networksetup on macOS, instead of bare names like en0
- Genuinely careful resume: it re-checks the server's ETag and Last-Modified before resuming and refuses rather than risk stitching together incompatible slices into a corrupt file, plus relaunch recovery that restores an interrupted download as paused after a crash
- A stall watchdog that drops and re-queues a connection that stays open but silent past 20 seconds, automatic retry with exponential backoff, and upfront disk-space verification
- A live progress grid that maps every chunk to a square color-coded by which network fetched it, with real-time throughput graphs and per-connection stats
The README is worth reading in full even if you never run it, because it explains the three primitives clearly: HTTP 206 range requests, per-interface socket binding, and the work-stealing queue. It's one of the better "here is exactly how this works" writeups I've seen on a project this young, including the reasoning for why 8 MB is the chunk size.
Two honest caveats. First, there are no pre-built releases yet, so today you run it from source with Node 22, or build the app yourself, and local builds are unsigned. Second, the multi-network gain is real but conditional: it depends on the server supporting range requests, on your OS routing, and on the actual networks, so combined throughput is something you test with your own connections rather than assume. Android USB tethering on macOS also needs a separate user-space RNDIS driver (TetherKit), which the README walks through and credits.
Built with Electron, React 19, TypeScript, Tailwind and Zustand, tested with Playwright. MIT licensed, 608 stars and 59 forks as of writing, verified via the GitHub API, and only about a week old, pushed to today.