5 unstable releases
0.3.1 | Feb 18, 2024 |
---|---|
0.3.0 |
|
0.2.6 | Jan 19, 2024 |
0.1.0 | Jan 10, 2024 |
#160 in WebSocket
56 downloads per month
59KB
1.5K
SLoC
Websocket (with or without TLS) pluggable-transport implementation for sosistab2.
TODO
- Try to solve "flow cut-offs" in BUG.txt
- Try to solve the TCP-over-TCP problem in sosostab2. should be to add a trait type called "Reliable Pipe" to tell sosistab2 to turn off retransmission and reordering.
Background
Most CDNs, "serverless", or web app hosting platforms does not allow "unknown traffic" to pass through their load balancing facilities, and worse, their server network environments are basically firewalled or behind a Symmetric NAT, so users can't simply set up a service that can be accessed from the public internet (unless through these "reverse-proxy" set up by hosting providers).
- For example, if you have a web server listening
http://0.0.0.0:8080/
on the machine provided by your hosting platform, then you can usehttps://your-app-name.hosting-platform.com/
to access your Web service, but not any other method. (even P2P applications such as IPFS, which use UDP and STUN, are unable to implement NAT Traversal in this network environment).
For example, back in the day, when heroku.com
still offered free plans: there were many people from mainland China using v2ray ws+tls servers on their platforms to bypass GFW internet censorship, which is actually a proxy protocol delivered over websockets (after all, any unknown traffic like shadowsocks can't pass through their web reverse proxy).
Dependencies
~31–73MB
~1.5M SLoC