An open API service providing package, version and dependency metadata of many open source software ecosystems and registries.

inet.af/tcpproxy

Package tcpproxy lets users build TCP proxies, optionally making routing decisions based on HTTP/1 Host headers and the SNI hostname in TLS connections. Typical usage: Calling Run (or Start) on a proxy also starts all the necessary listeners. For each accepted connection, the rules for that ipPort are matched, in order. If one matches (currently HTTP Host, SNI, or always), then the connection is handed to the target. The two predefined Target implementations are: 1) DialProxy, proxying to another address (use the To func to return a DialProxy value), 2) TargetListener, making the matched connection available via a net.Listener.Accept call. But Target is an interface, so you can also write your own. Note that tcpproxy does not do any TLS encryption or decryption. It only (via DialProxy) copies bytes around. The SNI hostname in the TLS header is unencrypted, for better or worse. This package makes no API stability promises. If you depend on it, vendor it.

Ecosystem
proxy.golang.org
Latest Release
v0.0.0-20231102063150-2862066fc2a9
over 2 years ago
Versions
4
Dependent Packages
76
Dependent Repos
155
Links
Registry proxy.golang.org
Docs Documentation
JSON API View JSON
CodeMeta codemeta.json
Package Details
PURL pkg:golang/inet.af/tcpproxy
spec
License Apache-2.0
Namespace inet.af
First Release over 4 years ago
Last Synced about 22 hours ago
Repository
Stars 1,161 on GitHub
Forks 148 on GitHub
Docker Dependents 46
Docker Downloads 3,300,515,928
Rankings on proxy.golang.org
Overall Top 1.1%
Dependent packages Top 0.6%
Dependent repos Top 0.5%
Forks Top 2.2%
Docker downloads Top 0.2%