
アクティブディフェンスを備えた高性能Rust HTTP/HTTPSプロキシ: レート制限、レピュテーションベースのアクセス、WAF(アンチボット、アンチインジェクション、パス保護)、ターピット、リアルタイムTUI可観測性。
Propox は、Rust で書かれた高性能・高セキュリティ・高可観測性を備えた HTTP/HTTPS プロキシです。高度なセキュリティ機構で悪意のあるクライアントを積極的に防御しながら、高スループットのトラフィックを処理できるよう設計されています。
Propox はトラフィックを中継するだけでなく、バックエンドを保護します:
sqlmap、nikto、curl、python の User-Agent をブロック。UNION SELECT、OR 1=1、<script> をブロック。.env、.git、/admin をブロック。パフォーマンスのしきい値は src/proxy.rs で設定可能です:
const RATE_LIMIT_ReqPerSec: usize = 100;
const MAX_ERRORS_BEFORE_BAN: usize = 10;
プロフェッショナルな ターミナルユーザーインターフェース(Ratatui 製)を内蔵し、以下を表示します:
プロジェクトルートからプロキシサーバーを実行します。127.0.0.1:8100 で待ち受けます。
# Standard Mode (With Security & TUI)
cargo run --release
# View Full Traffic Logs
cargo run --release -- --full
# View Only Error Logs
cargo run --release -- --errors
# 🏎️ Benchmark Mode (Disables Security for Raw Performance Testing)
cargo run --release -- --benchmark
# 👻 Daemon Mode (Background)
# - No TUI, minimal resource usage.
# - Logs to Syslog (/var/log/syslog).
# - Auto-fallback to 'propox.log' if syslog is missing (common in WSL/Docker).
cargo run --release -- --daemon
分散攻撃をシミュレートできる強力な負荷テストツールが同梱されています。
cd propox-client
# Standard Load Test (100k requests, 400 concurrency)
cargo run --release -- nb=100000 cc=400 rq=ok ip=127.0.0.1
# ⚔️ Simulate Attack (Split-Test)
# Terminal 1: "Bad Actors" (90% Errors, 50 IPs) -> WILL BE BLOCKED/TARPITTED
cargo run --release -- ip=127.0.0.10 pool=50 ratio=0.9 nb=5000
# Terminal 2: "Good User" (100% Success) -> SHOULD BE UNAFFECTED
cargo run --release -- ip=127.0.0.200 pool=1 ratio=0.0 nb=5000
nb=N: 送信するリクエスト数(合計)。cc=N: 並行度(同時スレッド数)。ip=X.X.X.X: 送信元 IP の開始値(ローカルバインドでシミュレート)。pool=N: IP プールのサイズ(N 台の異なるクライアントをシミュレート)。ratio=0.X: エラー率(0.0 = 100% OK、1.0 = 100% エラー)。rq=ok|nok: 成功または 404 を指定するクイックプリセット。src/main.rs(TUI とイベントループ)+ src/proxy.rs(トラフィックロジック)。Arc<Stats> 構造体。mpsc チャネルを介してログを受信するため、プロキシのデータプレーンをブロックしません。handle_client の開始時に実行されます。ブロックされた場合、リクエストは tokio::sleep ターピットに入ります。Rust で ❤️ を込めて作られました。