g3proxy-v1.12.1
·
187 commits
to master
since this release
This is the first version for the g3proxy v1.12 LTS branch.
New Features
HTTP
- New standards supported:
- masque/http Well-Known URI
- easy-proxy Well-Known URI
- allow to drop the default port part in Host header in http_proxy server
- retry HTTP connection if upstream close connection without any data
TLS
- support aws-lc-fips
- add 'insecure' config option to OpenSSL Client config to skip cert verification
- set supported ALPN protocols in HTTP Proxy server
- use more detailed error message for OpenSSL stream
ICAP
- improved ICAP connection pool
- allow to connect via UNIX domain socket
- allow ICAP 204 response for small HTTP/IMAP messages
- try to receive as much as possible preview data in h1&h2 reqmod/respmod service
Socket Options
- allow to set hop_limit and traffic_class ipv6 socket options
- allow to set congestion control algorithm for TCP socket
- allow to set tcp keepalive on tcp listen socket in server
- allow to bind to interface in tcp & udp listen config
Resolver
- update TTL calculation in resolver, cache longer and query earlier
- support to set bind interface and many other socket options in hickory resolver
- make server address in c-ares resolver optional
ACL
- more effeicient match for regex domain rules
Log and Metrics
- allow to emit task log on created/connected and periodically
- log partial shutdown event in task/intercept log
- emit more tokio runtime metrics
- add more tcp connect and tls handshake metrics in escaper
Others
- changed default idle-check-interval to 60s and set default max-idle-count to 5
- support to use PROXY Protocol in direct-fixed escaper
- add an extra exported-pdu layer to represent client side addresses when dump traffic to wireshark
- keep wait and forward when TCP partial shutdown
- allow to quit process on panic
- support multi-threaded runtime in worker
Deprecated
The following config options are deprecated:
emit_durationin statsd config, useemit_intervalinsteadauto_reply_local_ip_mapin socks server config, usetransmute_udp_echo_ipinsteaduntrusted_read_limitin server config, useuntrusted_read_speed_limitinsteadtcp_conn_speed_limit/tcp_conn_limit/conn_limitin server & escaper config, usetcp_sock_speed_limitinsteadudp_relay_speed_limit/udp_relay_limit/relay_limitin server & escaper config, useudp_sock_speed_limitinsteadtcp_conn_speed_limit/tcp_conn_limitin user config, usetcp_sock_speed_limitinsteadudp_relay_speed_limit/udp_relay_limitin user config, useudp_sock_speed_limitinstead
Compatibility
- The MSRV is 1.86
- A recent version of Linux is required, such as Debian >= 11, or RHEL >= 8
- The code would compile on the latest version of MacOS, Windows, FreeBSD, NetBSD, OpenBSD. Please fill a bug report if it doesn't work.