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

github.com/google/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-20200125044825-b6bb9b5b8252
about 6 years ago
Versions
1
Dependent Packages
76
Dependent Repos
370
Links
Registry proxy.golang.org
Source Repository
Docs Documentation
JSON API View JSON
CodeMeta codemeta.json
Package Details
PURL pkg:golang/github.com/google/tcpproxy
spec
License Apache-2.0
Namespace github.com/google
First Release about 6 years ago
Last Synced about 24 hours ago
Repository
Stars 1,161 on GitHub
Forks 148 on GitHub
Docker Dependents 8
Docker Downloads 12,048,273
Rankings on proxy.golang.org
Overall Top 1.2%
Dependent packages Top 0.6%
Dependent repos Top 0.4%
Forks Top 2.3%
Docker downloads Top 0.7%