
وكيل HTTP/HTTPS عالي الأداء بلغة Rust مع دفاع نشط: تحديد المعدل، والوصول القائم على السمعة، و WAF (مكافحة الروبوتات، ومكافحة الحقن، وحماية المسار)، و tarpit، ومراقبة TUI في الوقت الفعلي.
بروبوكس هو وكيل HTTP/HTTPS عالي الأداء وآمن وقابل للمراقبة مكتوب بلغة Rust. صُمم للتعامل مع حركة المرور عالية الإنتاجية مع الدفاع النشط ضد العملاء المسيئين باستخدام آليات أمان متقدمة.
Propox لا يقوم فقط بتمرير حركة المرور؛ بل يحمي خلفيتك:
sqlmap و nikto و curl و python.UNION SELECT و OR 1=1 و <script> في عناوين URL..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.
# الوضع القياسي (مع الأمان وواجهة المستخدم الطرفية)
cargo run --release
# عرض سجلات حركة المرور الكاملة
cargo run --release -- --full
# عرض سجلات الأخطاء فقط
cargo run --release -- --errors
# 🏎️ وضع المعيار (يعطل الأمان لاختبار الأداء الخام)
cargo run --release -- --benchmark
# 👻 وضع الخلفية (Daemon)
# - بدون واجهة مستخدم طرفية، استخدام ضئيل للموارد.
# - يسجل في سجل النظام (/var/log/syslog).
# - احتياطي تلقائي إلى 'propox.log' إذا كان syslog مفقودًا (شائع في WSL/Docker).
cargo run --release -- --daemon
مضمنة أداة قوية لاختبار الحمل قادرة على محاكاة هجمات موزعة.
cd propox-client
# اختبار الحمل القياسي (100,000 طلب، 400 التزامن)
cargo run --release -- nb=100000 cc=400 rq=ok ip=127.0.0.1
# ⚔️ محاكاة الهجوم (اختبار مقسم)
# الطرفية 1: "العملاء السيئون" (90% أخطاء، 50 عنوان IP) -> سيتم حظرهم / وضعهم في المصيدة
cargo run --release -- ip=127.0.0.10 pool=50 ratio=0.9 nb=5000
# الطرفية 2: "المستخدم الجيد" (100% نجاح) -> يجب ألا يتأثر
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 (يحاكي عدد عملاء مميزين).ratio=0.X: نسبة الأخطاء (0.0 = 100% صحيح، 1.0 = 100% أخطاء).rq=ok|nok: إعداد سريع للنجاح أو أخطاء 404.src/main.rs (واجهة المستخدم الطرفية وحلقة الأحداث) + src/proxy.rs (منطق حركة المرور).Arc<Stats> مشترك باستخدام Atomics و DashMaps لسلامة الخيوط.mpsc لتجنب حظر مستوى بيانات الوكيل.handle_client. إذا كان محظورًا، يدخل الطلب إلى مصيدة tokio::sleep.بُني بـ ❤️ في Rust.