{"repo":"opencoff/go-tunnel","free":true,"listed":false,"github":"https://github.com/opencoff/go-tunnel","clone":"git clone https://github.com/opencoff/go-tunnel.git","description":"TLS/SSL Tunnel - A modern STunnel replacement written in golang","language":"Go","stars":310,"topics":["tls-proxy","tls-tunnel","ssl-termination","golang","golang-application","golang-proxy","tls-sni","stunnel-replacement","quic","quic-server"],"license":"GPL-2.0","category":"networking-infra","readme_excerpt":"go-tunnel - Robust Quic/TLS Tunnel (Stunnel replacement) What is it? A supercharged Stunnel replacement written in golang. is in a sense a proxy enabling addition of network-encryption to existing clients without any source code changes. Features - TLS 1.3 for client and server mode (TLS Connect or TLS Listen) - Quic client and server mode (Quic listen or Quic connect) - Optional SOCKS for connecting endpoint (SOCKS server) - Optional TLS client certificate (for Quic/TLS Connect) - SNI on the listening Quic/TLS server - Ratelimits - global and per-IP - Proxy-Protocol v1 support when connecting to downstream servers - YAML Configuration file - Access Control on per IP or subnet basis (allow/deny combination) - Strong ciphers and curves preferred on both client & server - Comes with end-to-end tests covering variety of scenarios Note that TLS private keys need to be unencrypted ; we don't support password protected private keys yet. The main reason for this is that when gotun is daemonized, it may not be possible to obtain the password in an interactive manner. Additionally, for SNI support, it may be impossible to ask for interactive password in the middle of a client connection setup. Motivating Example Lets assume you have a public server on proxy.example.com listening on Quic/UDP supporting SOCKS protocol for connecting to outbound destinations. For security reasons, you want to limit access to only clients that are TLS authenticated (TLS client certs). Lets also assume tha","default_branch":null,"files":null,"tree":[],"storefront":"/r/opencoff","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/opencoff/go-tunnel/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}