عن المشروع
FireX Proxy هو امتداد متصفح لـ Chrome/Chromium وFirefox يعمل كمبدّل بروكسي لنقاط نهاية HTTP وHTTPS وSOCKS4 وSOCKS5. موجود منذ أكثر من عشر سنوات ووصل سابقًا إلى ملايين المستخدمين؛ البنية التحتية المستضافة الأصلية لم تعد تعمل، ويعمل المشروع الآن بطريقة مستقلة وبلا خوادم، دون حسابات أو اعتماد على خوادم FireX Proxy.
يتيح الامتداد للمستخدمين إضافة البروكسيات يدويًا، ومزامنة البروكسيات من ملف نصي عادي واحد أو أكثر عن بُعد، وتطبيق قواعد تجاوز أصلية في المتصفح للمضيفات التي يجب ألا تستخدم البروكسي. يقوم محدّث مجدول عبر GitHub Actions بتحديث مصدر البروكسي الافتراضي في المستودع (`proxies.txt`) كل ست ساعات. يجلب المحدّث موجزات بروكسي عامة خاصة بكل بروتوكول، ويوحّدها في تنسيق المصدر، ويزيل التكرارات، ويستبعد العناوين غير القابلة للتوجيه/الخاصة. ويمكن أيضًا تشغيله محليًا عبر `make update-proxies` أو معاينته عبر `npm run update:proxies -- --dry-run --limit 20`.
ولأن قوائم البروكسي العامة تتقادم بسرعة، يستخدم الامتداد اختياريًا تطبيقًا مرافقًا بلغة Rust يُسمى `firex-native`. يعمل هذا التطبيق الأصلي على حاسوب المستخدم، ويختبر البروكسيات المرشحة مباشرة، ويقيس زمن الاستجابة، ويتوقف عند العثور على عدد كافٍ من البروكسيات العاملة، ويبلّغ عن التقدم إلى واجهة الامتداد. وبدون FireX Native، يظل الامتداد يعمل كمبدّل بروكسي عادي مع الإضافة اليدوية، ومزامنة المصدر، والاتصال/قطع الاتصال، وقواعد التجاوز.
تم بناء المشروع من قاعدة تعليمات برمجية واحدة لكل من Chrome وFirefox. تشمل أوامر التطوير `make dev` و`make dev-firefox` لوضع التطوير، و`make build-chrome` / `make build-firefox` لحزم الإنتاج المكتوبة إلى `dist/`. وتُوفَّر أدوات إصدار التطبيق الأصلي عبر `make native-manifest` و`make native-release VERSION=0.1.2`، والتي تحدّث إصدار حزمة Rust، وتحدّث `Cargo.lock`، وتزامن `native-manifest.json`، وتنشئ وسم إصدار، وتُفعّل عمليات بناء المثبّتات ونشر أصول الإصدار.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.