Find a file
lxcxjxhx ac4f482ee3
Some checks failed
CodeQL Advanced / Analyze (rust) (push) Has been cancelled
CrossCompiling / Build (push) Has been cancelled
CrossCompiling / Build-1 (push) Has been cancelled
CrossCompiling / Build-2 (push) Has been cancelled
CrossCompiling / Build-3 (push) Has been cancelled
CrossCompiling / Build-4 (push) Has been cancelled
CrossCompiling / Build-5 (push) Has been cancelled
CrossCompiling / Build-6 (push) Has been cancelled
CrossCompiling / Build-7 (push) Has been cancelled
CrossCompiling / Build-8 (push) Has been cancelled
CrossCompiling / Build-9 (push) Has been cancelled
MacOS-CI / Build (push) Has been cancelled
MacOS-CI / Build vendored (push) Has been cancelled
CodeQL Advanced / Analyze (actions) (push) Has been cancelled
CodeQL Advanced / Analyze (java-kotlin) (push) Has been cancelled
CodeQL Advanced / Analyze (python) (push) Has been cancelled
Linux-CI / Build-1 (push) Has been cancelled
Linux-CI / Build-2 (push) Has been cancelled
Linux-CI / Build-3 (push) Has been cancelled
Linux-CI / Clippy (push) Has been cancelled
CodeCoverage / g3keymess test (push) Has been cancelled
CodeCoverage / g3proxy test (push) Has been cancelled
CodeCoverage / g3bench test (push) Has been cancelled
CodeCoverage / g3statsd test (push) Has been cancelled
Linux-CI / Build (push) Has been cancelled
Linux-CI / Build vendored (push) Has been cancelled
Linux-CI / Build vendored-1 (push) Has been cancelled
Linux-CI / Build vendored-2 (push) Has been cancelled
Linux-CI / Build vendored-3 (push) Has been cancelled
Linux-CI / Build vendored-4 (push) Has been cancelled
Linux-CI / Build vendored-5 (push) Has been cancelled
Linux-CI / Build vendored-6 (push) Has been cancelled
Linux-CI / Build vendored-7 (push) Has been cancelled
Linux-CI / Build vendored-8 (push) Has been cancelled
Linux-CI / Build vendored-9 (push) Has been cancelled
Linux-CI / Build vendored-10 (push) Has been cancelled
Linux-CI / Build vendored-11 (push) Has been cancelled
Linux-CI / Build vendored-12 (push) Has been cancelled
Linux-CI / Build vendored-13 (push) Has been cancelled
Linux-CI / Build vendored-14 (push) Has been cancelled
Linux-CI / Build vendored-15 (push) Has been cancelled
CodeCoverage / lib unit test (push) Has been cancelled
CodeCoverage / g3mkcert test (push) Has been cancelled
Linux-CI / Build vendored-16 (push) Has been cancelled
Linux-CI / Build vendored-17 (push) Has been cancelled
Linux-CI / Build vendored-18 (push) Has been cancelled
Linux-CI / Build vendored-19 (push) Has been cancelled
Linux-CI / Build vendored-20 (push) Has been cancelled
Linux-CI / Build vendored-21 (push) Has been cancelled
Linux-CI / Build vendored-22 (push) Has been cancelled
Linux-CI / Build vendored-23 (push) Has been cancelled
Linux-CI / Build vendored-24 (push) Has been cancelled
Linux-CI / Build vendored-25 (push) Has been cancelled
Linux-CI / Build vendored-26 (push) Has been cancelled
Linux-CI / Build vendored-27 (push) Has been cancelled
Linux-CI / Build vendored-28 (push) Has been cancelled
Linux-CI / Build vendored-29 (push) Has been cancelled
Linux-CI / Build vendored-30 (push) Has been cancelled
Linux-CI / Build with OpenSSL Async Job (push) Has been cancelled
Linux-CI / Build with OpenSSL Async Job-1 (push) Has been cancelled
MacOS-CI / Build vendored-1 (push) Has been cancelled
MacOS-CI / Build vendored-2 (push) Has been cancelled
MacOS-CI / Build vendored-3 (push) Has been cancelled
MacOS-CI / Build vendored-4 (push) Has been cancelled
MacOS-CI / Build vendored-5 (push) Has been cancelled
MacOS-CI / Build vendored-6 (push) Has been cancelled
MacOS-CI / Build vendored-7 (push) Has been cancelled
MacOS-CI / Build vendored-8 (push) Has been cancelled
MacOS-CI / Build vendored-9 (push) Has been cancelled
MacOS-CI / Build vendored-10 (push) Has been cancelled
MacOS-CI / Build vendored-11 (push) Has been cancelled
MacOS-CI / Build vendored-12 (push) Has been cancelled
MacOS-CI / Build vendored-13 (push) Has been cancelled
MacOS-CI / Build vendored-14 (push) Has been cancelled
MacOS-CI / Build vendored-15 (push) Has been cancelled
MacOS-CI / Build vendored-16 (push) Has been cancelled
MacOS-CI / Build vendored-17 (push) Has been cancelled
MacOS-CI / Build vendored-18 (push) Has been cancelled
MacOS-CI / Build vendored-19 (push) Has been cancelled
MacOS-CI / Build vendored-20 (push) Has been cancelled
MacOS-CI / Build vendored-21 (push) Has been cancelled
MacOS-CI / Build vendored-23 (push) Has been cancelled
Windows-CI / Build vendored-7 (push) Has been cancelled
Windows-CI / Build vendored-8 (push) Has been cancelled
Windows-CI / Build vendored-9 (push) Has been cancelled
Windows-CI / Build vendored-10 (push) Has been cancelled
Windows-CI / Build vendored-11 (push) Has been cancelled
Windows-CI / Build vendored-12 (push) Has been cancelled
Windows-CI / Build vendored-13 (push) Has been cancelled
Windows-CI / Build vendored-14 (push) Has been cancelled
Windows-CI / Build vendored-15 (push) Has been cancelled
Windows-CI / Build vendored-16 (push) Has been cancelled
Windows-CI / Build vendored-17 (push) Has been cancelled
Windows-CI / Build vendored-18 (push) Has been cancelled
Windows-CI / Build vendored-19 (push) Has been cancelled
Windows-CI / Build vendored-20 (push) Has been cancelled
Windows-CI / Build vendored-21 (push) Has been cancelled
Windows-CI / Build vendored-22 (push) Has been cancelled
Windows-CI / Build vendored-23 (push) Has been cancelled
MacOS-CI / Build vendored-22 (push) Has been cancelled
MacOS-CI / Build vendored-24 (push) Has been cancelled
StaticLinking / musl (push) Has been cancelled
StaticLinking / musl-1 (push) Has been cancelled
StaticLinking / msvc-vcpkg (push) Has been cancelled
StaticLinking / msvc-vendored (push) Has been cancelled
StaticLinking / msvc-vendored-1 (push) Has been cancelled
StaticLinking / msvc-vendored-2 (push) Has been cancelled
StaticLinking / msvc-vendored-3 (push) Has been cancelled
Windows-CI / Build (push) Has been cancelled
Windows-CI / Build vendored (push) Has been cancelled
Windows-CI / Build vendored-1 (push) Has been cancelled
Windows-CI / Build vendored-2 (push) Has been cancelled
Windows-CI / Build vendored-3 (push) Has been cancelled
Windows-CI / Build vendored-4 (push) Has been cancelled
Windows-CI / Build vendored-5 (push) Has been cancelled
Windows-CI / Build vendored-6 (push) Has been cancelled
fix(g3-types): replace unwrap() with error handling in openssl cert pair
2026-07-31 15:52:20 +08:00
.cargo update packages 2025-10-25 14:34:29 +08:00
.circleci build package for opensuse/leap 16.0 2025-10-16 14:51:33 +08:00
.github build(deps): bump EmbarkStudios/cargo-deny-action from 2.0.20 to 2.1.1 2026-07-20 16:16:13 -07:00
ansible ansible: switch to use the rolling binary package repo 2024-06-18 17:10:15 +08:00
doc g3proxy: add ldap user group 2026-02-02 22:56:08 +08:00
g3bench migrate hickory dns client to 0.26.1 2026-06-14 16:48:11 -07:00
g3fcgen update package build files 2026-01-10 21:48:51 +08:00
g3iploc bump MSRV to 1.90 2025-12-26 22:53:05 +08:00
g3keymess chore: address clippy warnings 2026-04-22 09:47:55 -07:00
g3mkcert update package build files 2026-01-10 21:48:51 +08:00
g3proxy chore: address clippy warnings 2026-04-22 09:47:55 -07:00
g3statsd bump MSRV to 1.90 2025-12-26 22:53:05 +08:00
g3tiles move tls & quic parser code to g3-codec 2026-02-13 00:35:08 +08:00
lib fix(g3-types): replace unwrap() with error handling in openssl cert pair 2026-07-31 15:52:20 +08:00
scripts g3bench: add thrift compact protocol testcase 2026-02-10 07:24:23 +08:00
sphinx add maintaince note 2026-07-14 08:55:34 +08:00
.cirrus.yml use freebsd 15.0 for cirrus ci 2026-02-24 20:51:20 +08:00
.clippy.toml style change for username_params_to_escaper 2025-09-11 09:10:56 +08:00
.dockerignore misc update 2024-07-12 10:29:36 +08:00
.gitignore add sphinx doc for g3tiles (#202) 2024-04-08 16:48:12 +08:00
.readthedocs.yaml move sphinx together and support to upload to Read the Docs (#411) 2024-12-03 12:51:57 +08:00
Cargo.lock build(deps): bump the patch-versions group with 12 updates 2026-07-20 16:37:03 -07:00
Cargo.toml chore: upgrade packages 2026-06-23 00:33:27 -07:00
CODE_OF_CONDUCT.md initial commit 2023-03-09 17:55:45 +08:00
CONTRIBUTING.md update doc 2023-04-11 14:58:17 +08:00
deny.toml allow OpenSSL license 2025-06-09 16:17:54 +08:00
G3-FEISHU-USER-GROUP.png rename user group image 2023-04-12 11:32:57 +08:00
justfile add basic example of justfile (#345) 2024-10-08 20:02:29 +08:00
LICENSE update license info 2023-04-07 11:28:57 +08:00
LICENSE-FOREIGN add doc about aws-lc 2024-01-03 18:58:28 +08:00
NOTICE update license info 2023-04-07 11:28:57 +08:00
README.ja_JP.md add maintaince note 2026-07-14 08:55:34 +08:00
README.md add maintaince note 2026-07-14 08:55:34 +08:00
README.zh_CN.md add maintaince note 2026-07-14 08:55:34 +08:00

minimum rustc: 1.90 License: Apache 2.0 codecov docs

G3 Project

中文版 README | 日本語 README

About

This is the project we used to build enterprise-oriented generic proxy solutions, including but not limited to proxy / reverse proxy (WIP) / load balancer (TBD) / NAT traversal (WIP).

The G3 project is now in maintenance mode, and active development has been moved to the VEY project.

Applications

The G3 project consists of many applications, each of which has a separate subdirectory containing its own code, documentation, etc.

In addition to the application directories, there are some public directories:

  • doc Contains project-level documentation.
  • sphinx is used to generate HTML reference documents for each application.
  • scripts Contains various auxiliary scripts, including coverage testing, packaging scripts, etc.

g3proxy

A generic forward proxy solution, but you can also use it as tcp streaming / transparent proxy / reverse proxy as we have basic support built in.

Feature highlights

  • Async Rust: fast and reliable
  • Http1 / Socks5 forward proxy protocol, SNI Proxy and TCP TPROXY
  • Support easy-proxy and masque/http Well-Known URI
  • Proxy Chaining, with support for dynamic selection of upstream proxies
  • Plenty of egress route selection methods, with support for custom egress selection agent
  • TCP/TLS Stream Proxy, Basic HTTP Reverse Proxy
  • TLS over OpenSSL / BoringSSL / AWS-LC / AWS-LC-FIPS / Tongsuo, and even rustls
  • TLS MITM interception, decrypted traffic dump, HTTP1/HTTP2/IMAP/SMTP interception
  • ICAP adaptation for HTTP1/HTTP2/IMAP/SMTP, can integrate seamlessly with 3rd-party security products
  • Graceful reload
  • Customizable load balancing and failover strategies
  • User Auth, with a rich set of config options
  • Can set differential site config for each user
  • Rich ACL/Limit rules, at ingress / egress / user level
  • Rich monitoring metrics, at ingress / egress / user / user-site level
  • Support for a variety of observability tools

README | User Guide | Reference Doc

g3statsd

A StatsD compatible stats aggregator.

README | Reference Doc

g3tiles

A work in progress reverse proxy solution.

Reference Doc

g3bench

A benchmark tool that supports:

  • HTTP: HTTP/1.1, HTTP/2, HTTP/3
  • WebSocket
  • TLS Handshake
  • DNS: UDP, TCP, DNS over TLS, DNS over HTTP, DNS over QUIC, DNS over HTTP/3
  • Thrift RPC
  • Cloudflare Keyless

README

g3mkcert

A tool to make root CA / intermediate CA / TLS server / TLS client / TLCP server / TLCP client certificates.

README

g3fcgen

Fake certificate generator for g3proxy.

README

g3iploc

IP location lookup service for g3proxy GeoIP support.

README

g3keymess

A simple implementation of Cloudflare keyless server.

README | Reference Doc

Target Platform

Linux is fully supported.

The code also compiles on the following platforms:

  • macOS
  • Windows >= 10
  • FreeBSD >= 14.3
  • NetBSD >= 10.1
  • OpenBSD >= 7.8

Dev-env Setup Guide

Follow Dev-Setup.

Standards

Follow Standards.

Build, Package and Deploy

Pre-Built packages can be found at cloudsmith.

But it is still recommended to build packages yourself, see Build and Package for more details.

LTS Version

See Long-Term Support.

Contribution

Please check Contributing for more details.

Code of Conduct

Please check Code of Conduct for more details.

Security

If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify Bytedance Security via our security center or vulnerability reporting email.

Please do not create a public GitHub issue.

License

This project is licensed under the Apache-2.0 License.

g3proxy has joined 404Starlink