wsp VS wstunnel

Compare wsp vs wstunnel and see what are their differences.

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 2
38 566
- -
0.0 0.0
over 2 years ago 3 months ago
Go JavaScript
- MIT License
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 2023-06-27.

What are some alternatives?

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

wsp - HTTP tunnel over Websocket

ngrok - Unified ingress for developers

goflyway - An encrypted HTTP server

stunnel - Wrapping openvpn with stunnel

wstunnel - Tunnel all your traffic over Websocket or HTTP2 - Bypass firewalls/DPI - Static binary available