このページは、Privacy Proxy への接続に使えるオープンソースライブラリとツールを一覧します。
tokio-quiche ↗ は、Cloudflare のオープンソースの非同期 QUIC / HTTP/3 ライブラリ(Rust)です。quiche ↗ の QUIC 実装と Tokio ↗ の非同期ランタイムを組み合わせています。
tokio-quiche は Privacy Proxy の基盤で使われています。iCloud Private Relay 向けの Proxy B や、Cloudflare の Oxy ベースのプロキシも含まれます。本番環境では、毎秒数百万件の HTTP/3 リクエストを処理します。
- 非同期 QUIC クライアントとサーバー
H3Driverによる HTTP/3 サポート- MASQUE CONNECT と CONNECT-UDP のサポート
- Cloudflare のネットワーク上で大規模に運用済み
Cargo.toml に tokio-quiche を追加します。
[dependencies]
tokio-quiche = "0.1"quiche ↗ は、Cloudflare の低レベルな QUIC / HTTP/3 実装(Rust)です。任意のアプリケーション構成に組み込める sans-io 設計です。
quiche は tokio-quiche の土台です。I/O を細かく制御したい場合や、Tokio 以外のランタイムに組み込む場合は、quiche を直接使います。
Chaussette ↗ は、Privacy Proxy 向けの SOCKS5-to-CONNECT プロキシです。ローカルの SOCKS5 接続を受け取り、HTTP CONNECT リクエストとして Privacy Proxy へ転送します。
SOCKS5 には対応しているが HTTP CONNECT プロキシには対応していないアプリケーションを組み込むときに便利です。
- SOCKS5 から HTTP CONNECT への変換
- 事前共有キーによる認証
- 位置情報ヒント向けの Geohash サポート
- 任意の mTLS 認証
MASQUE_PRESHARED_KEY=<YOUR_PSK> chaussette \
--listen 127.0.0.1:1987 \
--proxy https://your-proxy.example.com:443 \
--geohash xn76c-JP次に、アプリケーションのプロキシとして socks5://127.0.0.1:1987 を設定します。
HTTP/2 での基本的なテストには、標準の curl が CONNECT プロキシに対応しています。
curl -v \
--proxy https://your-proxy.example.com \
--proxy-header "Proxy-Authorization: Preshared <YOUR_PSK>" \
https://example.comHTTP/3 サポート向けに、curl を quiche 付きでビルド ↗ することもできます。
privacypass-ts ↗ は、Cloudflare による Privacy Pass プロトコルの TypeScript 実装です。Privacy Proxy への認証に使う Privacy Pass トークンの発行と引き換えに、このライブラリを使います。
- Privacy Pass トークンの発行と引き換え
- 公開検証可能なトークンとレート制限トークンの両タイプに対応
- ブラウザーと Node.js 環境に対応
npm install @cloudflare/privacypass-ts