tcpproxy
sdk-golang
tcpproxy | sdk-golang | |
---|---|---|
3 | 3 | |
1,236 | 91 | |
1.1% | - | |
3.1 | 9.2 | |
about 1 month ago | 4 days ago | |
Go | Go | |
Apache License 2.0 | Apache License 2.0 |
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.
tcpproxy
-
I'm Using SNI Proxying and IPv6 to Share Port 443 Between Webapps
Neat. Kind of like a highly configurable https://github.com/inetaf/tcpproxy
> You can route raw TCP connections by using higher layer protocol matching logic like HTTP properties, SSH, TLS ClientHello info, and more, in composable routes that let you do nearly anything.
How do you foresee such a setup handle QUIC? The encrypted connection-ids, 0RTT handshakes, and roaming client-ip and server-ips make it non trivial to proxy connections transparently.
-
Roll your own Ngrok with Nginx, Letsencrypt, and SSH reverse tunnelling
Not sure if it has a name, but I've seen it called "reverse dialing": https://github.com/inetaf/tcpproxy/issues/8
-
Where and how to deploy Go API?
I run multiple services this way, behind a tcproxy, in a pair of Scaleway Stardust
sdk-golang
-
ngrok-go: embed ingress into your Go apps as a net.Listener
- WRT app embedded: We have some examples in https://github.com/openziti/sdk-golang. Also, our documents on embedding into Prometheus (https://docs.openziti.io/blog/zitification/prometheus/part1/) and Kubeclt (https://docs.openziti.io/blog/zitification/kubernetes/) should be useful. This use case is basically what Ozone did - https://ozone.one/blog/ozone-zitifies-private-kubernetes-deployments-with-netfoundry.
-
Would you build open source zero trust overlay networking into your greenfield app?
OpenZiti has two parts: the 'edge' and the 'fabric'. The OpenZiti fabric is all written in Go, and we have a Go SDK among the various edge endpoints - https://github.com/openziti/sdk-golang. By embedding the Go SDK in your app, you get many cool things for 'free' (see below).
-
I'm Using SNI Proxying and IPv6 to Share Port 443 Between Webapps
https://github.com/openziti/sdk-golang
Similarly, this eliminates the IP address dependencies.
Sample (Java in this case - see GitHub above for various language options):
What are some alternatives?
caddy-oidc - OpenId Connect plugin for Caddy Server
caddy-ngrok-listener - Caddy listener_wrapper to automatically listen on an ngrok tunnel
caddy-security - 🔐 Authentication, Authorization, and Accounting (AAA) App and Plugin for Caddy v2. 💎 Implements Form-Based, Basic, Local, LDAP, OpenID Connect, OAuth 2.0 (Github, Google, Facebook, Okta, etc.), SAML Authentication. MFA/2FA with App Authenticators and Yubico. 💎 Authorization with JWT/PASETO tokens. 🔐
boundary - Boundary enables identity-based access management for dynamic infrastructure.
caddy-l4 - Layer 4 (TCP/UDP) app for Caddy
frp - A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet.
coder - Coder provisions software development environments via Terraform on Linux, macOS, Windows, X86, ARM, and of course, Kubernetes.
website - The Caddy website
awesome-tunneling - List of ngrok/Cloudflare Tunnel alternatives and other tunneling software and services. Focus on self-hosting.