6.3 KiB
G3プロジェクト
概要
これは、エンタープライズ向けの汎用プロキシソリューションを構築するために使用されるプロジェクトです。 プロキシ / リバースプロキシ(作業中) / ロードバランサー(未定) / NATトラバーサル(作業中)などを含むがこれらに限定されません。
アプリ
G3 プロジェクトは多数のアプリケーションで構成されており、各アプリケーションには独自のコード、ドキュメントなどを含む個別のサブディレクトリがあります。
アプリ ディレクトリに加えて、いくつかのパブリック ディレクトリもあります。
- doc プロジェクトレベルのドキュメントが含まれます。
- sphinx は、各アプリの HTML リファレンス ドキュメントを生成するために使用されます。
- scripts には、カバレッジ テスト、パッケージ化スクリプト
g3proxy
汎用のフォワードプロキシソリューションですが、TCPストリーミング / トランスペアレントプロキシ / リバースプロキシとしても使用できます。 基本的なサポートが組み込まれています。
特徴のハイライト
- 非同期Rust: 高速で信頼性が高い
- Http1 / Socks5フォワードプロキシプロトコル、SNIプロキシおよびTCP TPROXY
- サポート easy-proxy & masque/http Well-Known URI
- プロキシチェイニング、上流プロキシの動的選択をサポート
- 多くの出口ルート選択方法、カスタム出口選択エージェントをサポート
- TCP/TLSストリームプロキシ、基本的なHTTPリバースプロキシ
- OpenSSL、BoringSSL、AWS-LC、AWS-LC-FIPS、Tongsuo、さらにはrustlsを使用したTLS
- TLS MITMインターセプション、復号化されたトラフィックダンプ、HTTP1/HTTP2/IMAP/SMTPインターセプション
- HTTP1/HTTP2/IMAP/SMTPのICAP適応、サードパーティのセキュリティ製品とシームレスに統合可能
- 優雅なリロード
- カスタマイズ可能なロードバランシングおよびフェイルオーバー戦略
- ユーザー認証、豊富な設定オプション
- 各ユーザーに対して差別化されたサイト設定を行うことが可能
- 豊富な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クライアント / TLCPサーバー / TLCPクライアント 証明書を作成するツール。
g3fcgen
g3proxyのための偽の証明書ジェネレーター。
g3iploc
g3proxyのGeoIPサポートのためのIPロケーションルックアップサービス。
g3keymess
Cloudflare keylessサーバーの簡単な実装。
対応プラットフォーム
現在、完全にサポートされているのはLinuxのみです。コードはFreeBSD、NetBSD、OpenBSD、macOS、Windowsでコンパイルされますが、そこでのテストは行っていません。
他のプラットフォームのサポートを追加するためのPRを歓迎します。
開発環境のセットアップガイド
Dev-Setup に従ってください。
標準
Standards に従ってください。
ビルド、パッケージ化、デプロイ
コンパイル済みのパッケージはcloudsmithにあります。
ただし、パッケージはご自身でコンパイルしてパッケージ化することをお勧めします。詳細な手順については、ビルドとパッケージ化 を参照してください。
LTSバージョン
Long-Term Support を参照してください。
貢献
詳細については Contributing を参照してください。
行動規範
詳細については Code of Conduct を参照してください。
セキュリティ
このプロジェクトで潜在的なセキュリティ問題を発見した場合、またはセキュリティ問題を発見したと思われる場合は、 セキュリティセンター または 脆弱性報告メール を通じてBytedance Securityに通知してください。
公開のGitHub issueを作成しないでください。
ライセンス
このプロジェクトは Apache-2.0 License の下でライセンスされています。