#proxy #server #pipe #networking #reverse-proxy #sosistab2

bin+lib sosistab2-obfsws

Websocket Pipe (pluggable-transport) support for sosistab2

5 unstable releases

0.3.1 Feb 18, 2024
0.3.0 Feb 18, 2024
0.2.6 Jan 19, 2024
0.1.0 Jan 10, 2024

#161 in WebSocket

23 downloads per month

MPL-2.0 license

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).

  1. 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 use https://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–76MB
~1.5M SLoC