Releases: bytedance/g3
Releases · bytedance/g3
g3proxy-v1.12.2
This is a minor for v1.12 LTS branch:
- support to build rpm package on OpenSUSE
Prebuilt rpm and deb packages can be found at cloudsmith.
g3proxy-v1.12.1
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.
g3proxy-v1.10.7
This is a bug fix release for v1.10 LTS branch:
- fix panic when detect DNS over TLS traffic
- fix default min ttl value in c-ares resolver
g3proxy-v1.10.6
This is a bug fix release for v1.10 LTS branch.
- fix read of H2 zero size body frame
- fix format of HTTP 1 OPTIONS header line
- fix h2 max concurrent streams settings sent to client
- fix h2 connection level IDLE check
- use more reasonable h2 default settings value
g3proxy-v1.10.5
This is a bug fix release for v1.10 LTS branch.
- fix dead lock when reloading chained servers
- fix alignment of RawSocketAddr used in sendmmsg/recvmmsg
- fix body Chunked encoding after ICAP preview
g3proxy-v1.10.4
This is a bug fix release for v1.10 LTS branch.
- correctly handle ICAP null-body response
- fix ICAP connection state when reading modified SMTP/IMAP message
- fix chunked encoding of H2 body stream when sending to ICAP server
- keep control socket open on accept error
g3proxy-v1.10.3
This is a bug fix release for v1.10 LTS branch.
- fix read of trailer for chunked FTP over HTTP upload
- fix idle check in udp copy and udp relay task
- respect Content-Length header when sending ICAP adapted body
g3proxy-v1.10.2
This is a bug fix release for v1.10 LTS branch.
- fix handle of ICAP preview data in HTTP/2 interception
- fix panic when sending H2 stream data if peer gone
- do not send Allow-204 in ICAP preview request
g3proxy-v1.10.1
This is a bug fix release for v1.10 LTS branch.
- fix socket usage on Windows
- set expire info for udp tasks with socks5 proxy peers
- send ppv2 header on http forward connections in divert_tcp escaper
- fix match of TLS ticker name in decryption
- fix global datagram limiter
- fix handle of ICAP Preview data in HTTP/1 interception
- fix DELETE in FTP over HTTP task
- support chunked upload in FTP over HTTP task
g3proxy-v1.10.0
Feature Highlights since v1.8
ICAP
- Support ICAP reqmod service for:
- H1 CONENCT and Upgrade request
- H2 (Extended) CONNECT request
- SMTP DATA Command
- IMAP APPEND Command
- Support ICAP over TLS
TLS Interception
- Upgraded cert generation protocol to allow to mimic the original cert, this will require g3fcgen >= 0.8
- Allow to use custom TLS client config at user-site level, which can be used to enable mTLS
- Support TLCP protocol
Traffic Redirection
- Added
divert_tcpescaper to divert traffic to third party servers - Added
stream_detourfeature to allow third party servers to intercept connected streams remotely - Allow to set inspect policy for each supported protocols separately, which can b based on domain rules
- Added
comply_auditescaper to allow select auditors based route rules
Misc
- Support compilation on Windows
- Support Redis over TLS
- Improved capability with non-RFC-compliant socks5 server implementations
- Added support for Socks5 over TLS
See g3proxy/CHANGELOG for detailed changelogs.
Pre-Build packages can be found at cloudsmith g3-stable repo.