عن المشروع

vpnonly هو أداة خفيفة لتقسيم التوجيه على نظام macOS توجه فقط التطبيقات التي تحددها عبر WireGuard VPN. على عكس عملاء VPN القياسية التي تعبر كل شيء، يحافظ vpnonly على تصفحك وتطبيقاتك البنكية وخدمات البث على اتصالك العادي بينما يرسل فقط التطبيقات المختارة عبر VPN. تعمل الأداة باستخدام جدار PFfirewall المدمج في macOS، الذي يمكنه مطابقة الحزم حسب انتماء مجموعة يونكس بدلاً من التطبيق. عند تشغيل تطبيق عبر vpnonly، يعمل بالتطبيق مع مجموعة خاصة مُسندة إليه، ثم تُوجِّه قواعد PF حركة تلك المجموعة عبر واجهة WireGuard بينما يستمر الباقي بشكل طبيعي. يتكون المشروع من حوالي 350 سطرًا من نصوص Shell وملف C صغير للإطلاق. لا يتطلب توسيع نواة، ولا صلاحيات Network Extension، ولا يعدّل /etc/pf.conf أو مسار التوجيه الافتراضي. تعيش القواعد في مراساة مخصصة، وإغلاق VPN يزيل القواعد الوحيدة. لدعم WireGuard، يضم wireguard-go القياسي من Homebrew. تعمل نسخة CLI مع NordVPN جاهزة، لكن الموفّرين الذين يستخدمون التوجيه بالمشفر (Mullvad، Proton، الخوادم المُستضافة ذاتيًا) يتطلبون wireguard-go المُعدَّل الذي يعيد كتابة عنوان المصدر الداخلي - هذه التعديلة مشمولة في تطبيق Mac المُجمَّع وليست موجودة بعد في صيغة CLI. تشمل القيود المعروفة Safari والتطبيقات الأخرى القائمة على WebKit (توجه الاتصالات عبر عمليات نظام منفصلة لا تحمل المجموعة مطلقًا)، واستعلامات DNS (غير معبرَة، لذا تبقى الاستعلامات تخرج بشكل طبيعي)، وIPv6 (محظور لتطبيقات المجموعة بدلاً من عبورها). كما لا يوجد إعادة اتصال تلقائي إذا انخفض الخادم. التثبيت عبر Homebrew: brew tap kanishkdan/vpnonly && brew install vpnonly. يتوفر أيضًا إصدار تطبيق Mac مدفوع (19 دولارًا لجهازين Mac) على vpnonly.app مع ميزات إضافية مثل المفاتيح الفردية لكل تطبيق بدون إعادة التشغيل، والتحديثات التلقائية، ومحدد الدولة. نُشر كود Source تحت app-engine/ مع طوابع تحقق حتى يتمكن المستخدمون من مراجعة ما يعمل بحقوق الجذر بدقة قبل الوثوق به. جميع النصوص المميزة قصيرة بما يكفي لقراءتها في خمس دقائق.