
उच्च-प्रदर्शन Rust HTTP/HTTPS प्रॉक्सी सक्रिय सुरक्षा के साथ: दर सीमा, प्रतिष्ठा-आधारित पहुँच, WAF (एंटी-बॉट, एंटी-इंजेक्शन, पथ सुरक्षा), टार्पिट, और रीयल-टाइम TUI अवलोकन।
Propox एक उच्च-प्रदर्शन, सुरक्षित और अवलोकनीय HTTP/HTTPS प्रॉक्सी है जो Rust में लिखा गया है। इसे उच्च-थ्रूपुट ट्रैफ़िक को संभालने के लिए डिज़ाइन किया गया है, साथ ही उन्नत सुरक्षा तंत्रों का उपयोग करके दुरुपयोग करने वाले क्लाइंट से सक्रिय रूप से बचाव करता है।
Propox केवल ट्रैफ़िक पास नहीं करता; यह आपके बैकएंड की रक्षा करता है:
sqlmap, nikto, curl, python UA को अवरुद्ध करता है।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% सफल, 1.0 = 100% त्रुटियाँ)।rq=ok|nok: सफलता या 404s के लिए त्वरित प्रीसेट।src/main.rs (TUI और ईवेंट लूप) + src/proxy.rs (ट्रैफ़िक लॉजिक)।Arc<Stats> संरचना।mpsc चैनल के माध्यम से लॉग प्राप्त करता है।handle_client की शुरुआत में की जाती है। यदि अवरुद्ध है, तो अनुरोध tokio::sleep टारपिट में प्रवेश करता है।Rust में ❤️ के साथ बनाया गया।