5.1 KiB
G3 Project
关于
本项目用于构建面向企业的通用代理解决方案,包括但不限于代理、反向代理(开发中)、负载均衡(待定)、NAT穿透(开发中)等。
应用程序
G3项目包含许多应用,每一个应用程序单独一个子目录,包含各自的代码、文档等。
除了应用程序目录,还有一些公共目录:
g3proxy
通用正向代理解决方案,同时带有TCP映射、TLS卸载/封装、透明代理、简单反向代理等功能。
主要特性
- Async Rust: 高效、稳定
- Http1 / Socks5 正向代理协议, SNI Proxy and TCP TPROXY
- 支持 easy-proxy & masque/http Well-Known URI
- 代理串联,动态下一级代理节点选择
- 丰富的出口路由选择方法,支持接入自定义选路Agent
- TCP/TLS反向代理,基础HTTP反向代理
- TLS支持OpenSSL / BoringSSL / AWS-LC / AWS-LC-FIPS / Tongsuo, 部分场景支持rustls
- TLS中间人劫持, 解密流量导出, HTTP1/HTTP2/IMAP/SMTP协议解析
- ICAP审计,支持HTTP1/HTTP2/IMAP/SMTP,无缝集成第三方安全审计/杀毒产品
- 优雅重载 & 热升级
- 灵活的负载均衡&容灾策略
- 用户认证,且支持丰富的配置选项
- 用户配置下可细化进行差异化站点配置
- 丰富的ACL/限流限速策略,包括入口/出口/用户维度
- 丰富的监控指标,包括入口/出口/用户/用户站点维度
- 多种日志 & 监控解决方案集成能力
g3statsd
StatsD兼容的监控打点指标聚合服务。
g3tiles
通用反向代理解决方案,开发中。
g3bench
压测工具,支持
- 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
g3mkcert
用来生成 根CA / 中间CA / TLS服务端 / TLS客户端 / 国密服务端 / 国密客户端 证书的工具。
g3fcgen
适用于g3proxy TLS劫持功能的伪造证书生成服务应用。
g3iploc
适用于g3proxy GeoIP功能的IP Location查找服务应用。
g3keymess
Cloudflare Keyless Server的简单实现。
支持平台
目前仅提供对Linux系统的完整支持,其他系统如FreeBSD、NetBSD、OpenBSD、macOS、Windows可以编译,但是未测试过功能。
如果需要支持其他系统,欢迎提交PR。
开发环境搭建
参考 Dev-Setup。
标准及约定
参考 Standards。
构建、打包及部署
预编译包可以在 cloudsmith 找到。
但是仍然建议自行编译打包,具体方法参考 Build and Package。
长期支持版本
贡献指南
参考 Contributing。
交流合作
请使用飞书加群, G3代理用户交流群加入链接, 或使用如下二维码:
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.
404星链计划