UDPspeeder
Mosh
UDPspeeder | Mosh | |
---|---|---|
8 | 158 | |
4,793 | 12,763 | |
1.0% | 0.5% | |
0.9 | 0.0 | |
7 months ago | 6 months ago | |
C++ | C++ | |
MIT License | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
UDPspeeder
- File transfer solution on a high-latency link
-
Free Public WiFi
It's been a while since I set it up, but iirc I ended up going with https://github.com/wangyu-/UDPspeeder
Pretty sure I used the suggested config and it's been working flawlessly in the background.
Or something like that. With wireguard, it's just a matter of pointing the config at the local socket for the fec tunnel (or any other type of tunnel, there was a dicussion about making it look like TCP http traffic the other day), so it's pretty much plug and play.
- UDPSpeeder usage
-
Show HN: Go-Nbd – A Pure Go NBD Server and Client
I just use nbd-server, nbd-client (kernel module nbd). While at home things are fine, when not at home things can get bad unless you use something like UDPspeeder <https://github.com/wangyu-/UDPspeeder> then you just need to deal with slower speeds.
I do backups with borg while connected through ethernet.
- Packet Replication / Duplication for Noisy Channels AKA Wan Smoothing
-
How to configure GSWave for the lowest internet speed?
The good news is you can implement some kind of ghetto error-correction at a higher level. Set up a tunnel to your pbx with a VPN which supports FEC -- something like UDPspeeder and configure it to send duplicates or triplicates of every packet. In this case, you're sacrificing bandwidth to improve reliability.
-
How to rewrite this C++ inheritance pattern in Rust?
All it needs is a bit of reed solomon encoding in the transport for additional reliability https://github.com/wangyu-/UDPspeeder
- Improve lossy link performance with Forward Error Connection
Mosh
-
Developer wrote 25k lines of Neovim plugin code using phone and touchscreen
Try pairing tmux with mosh, it's how I've been working for years whenever I'm forced to admin through a brittle straw. Mosh combats lag pretty well and doesn't care if your connection drops intermittently. https://mosh.org/
-
Autossh – automatically restart SSH sessions and tunnels
Curious what advantages this has over mosh?
https://mosh.org/
-
You (probably) do not understand UDP
Normal ssh is TCP-based. But there is also a different implementation named mosh.
-
Show HN: Shpool, a Lightweight Tmux Alternative
Do you know mobile shell (mosh)? [1]
Seems like most of the features you need are what mosh offers. I've been using it for decades, probably, and it is pretty awesome for latent mobile connections (read as: throttled 2G @16kBit/s).
https://github.com/mobile-shell/mosh
-
Lsix: Like "Ls", but for Images
I use tmux, but as far as unreliable connections, I've found mosh[0] to be the best solution to the problem (when you have the ability to install it). It basically runs a background process on connection not tied to the session that your client will automatically reconnect to if the connection fails. I regularly close my laptop, travel between home and work, open it back up and the connection is available almost instantly.
[0] https://mosh.org/
- Show HN: A WireGuard Powered Remote Shell
-
The IDEs we had 30 years ago and we lost
If you haven’t already, and I know this doesn’t hold up for GUI emacs or vim, but consider running them through https://mosh.org/
- mosh: Mobile Shell
-
Write Your Own Terminal
FWIW, I wouldn't try to parse escape sequences "directly" from the input bytestream -- it's easy to end up with annoying bugs. Longer-term it's probably better to separate the logic e.g.:
- First step (for a UTF-8-input terminal emulator) means "lexing" the input bytestream as UTF-8 into a stream of USVs, which involves some subtleties (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- Second step is to run the DEC parser/FSM logic on the sequence of USVs, which is independent of the escape sequences (https://vt100.net/emu/dec_ansi_parser ; https://github.com/mobile-shell/mosh/blob/master/src/termina...).
- And then the third step is for the terminal to execute the "dispatch"/"execute"/etc. actions coming from the FSM, which is where the escape sequences and control chars get implemented (https://github.com/mobile-shell/mosh/blob/master/src/termina...).
Without this separation, it's easier to end up with bugs where, e.g., a UTF-8 sequence or an ANSI escape sequence is treated differently when it's split between multiple read() calls vs. all in one call.
-
Typing Fast Is About Latency, Not Throughput
Btw, you can use mosh to hide the latency of SSH. https://mosh.org/
What are some alternatives?
udp2raw - A Tunnel which Turns UDP Traffic into Encrypted UDP/FakeTCP/ICMP Traffic by using Raw Socket,helps you Bypass UDP FireWalls(or Unstable UDP Environment)
Eternal Terminal - Re-Connectable secure remote shell
tinyfecVPN - A VPN Designed for Lossy Links, with Build-in Forward Error Correction(FEC) Support. Improves your Network Quality on a High-latency Lossy Link.
Gravitational Teleport - The easiest, and most secure way to access and protect all of your infrastructure.
tmux - tmux source code
funnel-proxy - Transparent multiplexing proxy
Advanced SSH config - :computer: make your ssh client smarter
psc - E2E encryption for multi-hop tty sessions or portshells + TCP/UDP port forward
Code-Server - VS Code in the browser
ParPar - High performance PAR2 create client for NodeJS
PowerShell - PowerShell for every system!