Wstunnel is a tunneling tool that routes traffic over WebSocket, HTTP2, or WebTransport protocols to bypass firewalls and DPI restrictions.
The tool addresses the problem of constrained network access behind firewalls and proxies by encapsulating traffic within HTTP-compatible protocols that are typically allowed through network equipment. It works by accepting connections on a local endpoint and forwarding them through a WebSocket or HTTP2 tunnel to a remote server, which then relays the traffic to its final destination. This approach makes the tunneled traffic appear as ordinary web traffic, helping it evade protocol-based filtering.
Wstunnel suits users who need to access resources from restricted networks, whether for legitimate remote access or circumventing network policies. It supports both static tunneling for specific services and dynamic tunneling through SOCKS5 and HTTP proxies, as well as transparent proxy mode. The tool handles TCP, UDP, and Unix socket traffic, and can itself operate behind an HTTP proxy. It includes TLS/HTTPS support with automatic certificate reloading and mutual TLS authentication. Standalone binaries are available, requiring no runtime dependencies. The README names an earlier Node.js-based project as inspiration but does not compare the current tool to other tunneling solutions.
The project maintains a substantial user base, with almost all open issues coming from outside users rather than the core team. Maintainers typically respond to new issues and pull requests within a day. Work in the issue tracker centers on bug reports, enhancement requests, and decisions not to implement certain features.