You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+5-2Lines changed: 5 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,6 +15,7 @@ A secure HTTP/HTTPS proxy server in Go with Basic authentication, TLS support, a
15
15
## Features
16
16
17
17
- HTTP and HTTPS proxy modes
18
+
- HTTP/2 CONNECT multiplexing in HTTPS mode with HTTP/1.1 fallback
18
19
- Basic authentication
19
20
- TLS with configurable certificates
20
21
- Upstream proxy chaining (proxy chain support)
@@ -25,7 +26,7 @@ A secure HTTP/HTTPS proxy server in Go with Basic authentication, TLS support, a
25
26
- Bounded dial, TLS handshake, and response-header timeouts
26
27
- Configurable via YAML file
27
28
- Systemd service support
28
-
- Graceful shutdown of HTTP requests and hijacked CONNECT tunnels
29
+
- Graceful shutdown of HTTP requests and HTTP/1.1 or HTTP/2 CONNECT tunnels
29
30
30
31
## Installation
31
32
@@ -121,6 +122,8 @@ The bundled [docker-compose.yml](docker-compose.yml) starts an HTTP proxy, an HT
121
122
122
123
Certbot checks for renewals every 12 hours. On new TLS handshakes, the HTTPS proxy checks the mounted certificate files at most once per `PROXY_TLS_RELOAD_INTERVAL` (one minute by default). A valid replacement is loaded without restarting the container or interrupting existing connections. If Certbot is temporarily updating the certificate/key pair or the new files are invalid, the proxy keeps the last valid certificate and retries later.
123
124
125
+
HTTPS mode advertises HTTP/2 and HTTP/1.1 through ALPN. Browsers that support an HTTP/2 secure web proxy multiplex CONNECT tunnels as independent streams on one TLS connection; other clients continue to use the HTTP/1.1 CONNECT path.
126
+
124
127
### Build from source
125
128
126
129
1. Clone the repository:
@@ -143,7 +146,7 @@ cmd/https_proxy/ application entry point
143
146
internal/config/ configuration loading and validation
144
147
internal/auth/ proxy authentication
145
148
internal/proxy/ HTTP forwarding, upstream chaining, and server lifecycle
146
-
internal/tunnel/ CONNECT tunnel tracking and bidirectional relay
149
+
internal/tunnel/ HTTP/1.1 and HTTP/2 CONNECT tracking and bidirectional relay
0 commit comments