wsp VS wstunnel

Compare wsp vs wstunnel and see what are their differences.


HTTP tunnel over Websocket (by hgsgtk)


Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available (by erebe)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
wsp wstunnel
4 14
38 3,199
- -
0.0 9.6
over 2 years ago 7 days ago
Go Rust
- GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.


Posts with mentions or reviews of wsp. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-12-14.
  • Reverse HTTP proxy over WebSocket in Go (Part 4)
    1 project | | 27 Dec 2021
    func (s *Server) request(w http.ResponseWriter, r *http.Request) { // (omit): [1]: Receive requests to be proxied // [2]: Take a WebSocket connection available from pools for relaying received requests. request := NewConnectionRequest(s.Config.GetTimeout()) // "Dispatcher" is running in a separate thread from the server by `go s.dispatchConnections()`. // It waits to receive requests to dispatch connection from available pools to clients requests. // // // Notify request from handler to dispatcher through Server.dispatcher channel. s.dispatcher <- request // Dispatcher tries to find an available connection pool, // and it returns the connection through Server.connection channel. // // // Here waiting for a result from dispatcher. connection := <-request.connection if connection == nil { // It means that dispatcher has set `nil` which is a system error case that is // not expected in the normal flow. wsp.ProxyErrorf(w, "Unable to get a proxy connection") return } // [3]: Send the request to the peer through the WebSocket connection. if err := connection.proxyRequest(w, r); err != nil { // An error occurred throw the connection away log.Println(err) connection.Close() // Try to return an error to the client // This might fail if response headers have already been sent wsp.ProxyError(w, err) } }
  • Reverse HTTP proxy over WebSocket in Go (Part 3)
    1 project | | 16 Dec 2021
    This handler process registered an idle connection that can be used for relay. NewConnection() function mark a new connection as a usable connection for relay in the pool and start a thread (technically, start a new goroutine running) that keeps reading messages over the connected WebSocket connection from the wsp client.
  • Reverse HTTP proxy over WebSocket in Go (Part 2)
    2 projects | | 14 Dec 2021
    Let's read the Go code. First is the main function (cmd/client/main.go), which is the entry point.
  • Reverse HTTP proxy over WebSocket in Go (Part 1)
    6 projects | | 14 Dec 2021
    However, maintenance has stopped since the days of Go 1.6, so I'll proceed with this post based on code hgsgtk/wsp that I forked and modified for the Go situation in 2021 (Thank you root-gg).


Posts with mentions or reviews of wstunnel. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-04-30.

What are some alternatives?

When comparing wsp and wstunnel you can also consider the following projects:

wsp - HTTP tunnel over Websocket


wstunnel - tunnel over websocket

udptunnel - It allows TCP/UDP/ICMP traffic over UDP tunneling. It's useful to avoid Internet restrictions.

goflyway - An encrypted HTTP server

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)

ngrok - Unified ingress for developers

shadowsocks-rust - A Rust port of shadowsocks

Cloak - A censorship circumvention tool to evade detection by authoritarian state adversaries

outline-apps - Outline Client and Manager, developed by Jigsaw. Outline Manager makes it easy to create your own VPN server. Outline Client lets you share access to your VPN with anyone in your network, giving them access to the free and open internet.