
تشغيل التطبيقات عبر أنفاق VPN باستخدام مساحات أسماء الشبكة المؤقتة

vopono هي أداة لتشغيل التطبيقات عبر أنفاق VPN باستخدام مساحات أسماء شبكة مؤقتة. يتيح لك ذلك تشغيل حفنة صغيرة فقط من التطبيقات عبر شبكات VPN مختلفة في الوقت نفسه، مع إبقاء اتصالك الرئيسي على حاله الطبيعي.
تتضمن vopono مفاتيح إيقاف (killswitches) مدمجة لكل من Wireguard وOpenVPN.
حالياً، يُدعم كل من Mullvad وAzireVPN وMozillaVPN وProtonVPN وiVPN وNordVPN وAirVPN وPrivateInternetAccess مباشرةً، كما أن ملفات الإعداد المخصصة مدعومة عبر الوسيط --custom. وCloudflare Warp مدعوم أيضاً.
بالنسبة للاتصالات المخصصة، يُدعم أيضاً بروتوكولا OpenConnect وOpenFortiVPN (مثلاً لشبكات VPN الخاصة بالمؤسسات). راجع دليل مستخدم vopono لمزيد من التفاصيل.
لقطة شاشة توضح مثالاً مع firefox وgoogle-chrome-stable وlynx جميعها تعمل عبر اتصالات VPN مختلفة:

| المزوّد | دعم OpenVPN | دعم Wireguard |
|---|---|---|
| Mullvad | ❌ | ✅ |
| AzireVPN | ❌ | ✅ |
| iVPN | ✅ | ✅ |
| PrivateInternetAccess | ✅ | ✅* |
| ProtonVPN | ✅** | ✅*** |
| MozillaVPN | ❌ | ✅ |
| NordVPN | ✅ | ❌ |
| AirVPN | ✅ | ✅ |
| Cloudflare Warp**** | ❌ | ❌ |
| استضافة ذاتية (--custom) | ✅ | ✅ |
* إعادة توجيه المنافذ مدعومة عبر الخيار --port-forwarding والخيار --port-forwarding-callback لتشغيل أمر عند تحديث المنفذ.
** راجع دليل المستخدم للحصول على تعليمات المصادقة لتوليد ملفات إعداد OpenVPN عبر vopono sync. يجب نسخ ترويسة المصادقة بالصيغة AUTH-xxx=yyy حيث yyy هي قيمة ترويسة x-pm-uid في الطلب نفسه عند تسجيل الدخول في متصفح الويب.
*** بالنسبة لـ ProtonVPN يمكنك توليد وتنزيل ملفات إعداد Wireguard محددة واستخدامها كإعداد مزوّد مخصص. راجع دليل المستخدم للتفاصيل. إعادة توجيه المنفذ مدعومة عبر الوسيط --port-forwarding لكل من OpenVPN وWireguard.
لاحظ أنه لاستخدام إعداد مخصص مع Wireguard، يجب تحديد تنفيذ إعادة توجيه المنافذ الذي سيُستخدم عبر --custom-port-forwarding
(أي مع --provider custom --custom xxx.conf --protocol wireguard --custom-port-forwarding protonvpn). يجب تثبيت natpmpc.
لاحظ أيضاً أنه بالنسبة لـ OpenVPN يجب توليد ملفات إعداد OpenVPN بإلحاق +pmp باسم مستخدم OpenVPN الخاص بك، ويجب اختيار خوادم تدعم هذه الميزة
(على سبيل المثال، خوادم رومانيا تدعمها وقت كتابة هذه السطور). يُطبع المنفذ المعيّن بعد ذلك في الطرفية حيث أُطلق vopono - ويجب ضبطه بعد ذلك في أي تطبيقات تتطلبه.
يمكن أيضاً تمرير المنفذ إلى سكربت مخصص سيُنفَّذ داخل مساحة اسم الشبكة عبر الوسيط --port-forwarding-callback.
**** يستخدم Cloudflare Warp بروتوكوله الخاص. اضبط كل من المزوّد والبروتوكول على warp. لاحظ أنه يجب أولاً التسجيل عبر sudo warp-cli registration new ثم تشغيله مرة واحدة عبر sudo warp-svc وsudo warp-cli connect وsudo warp-cli debug connectivity-check disable خارج vopono - ثم إنهاء sudo warp-svc دون تشغيل sudo warp-cli disconnect بحيث يتصل تلقائياً عند التشغيل.
يرجى التحقق من أن هذا يعمل أولاً قبل تجربته مع vopono.
إعادة توجيه منافذ AirVPN مدعومة كقدرة من قدرات المزوّد، لكن يجب حالياً تكوين المنافذ المُعاد توجيهها في منطقة عميل AirVPN؛ لا تطالب vopono بمنافذ حساب AirVPN أو تقلّب حالتها تلقائياً.
قم بإعداد ملفات إعداد مزوّد VPN:
$ vopono sync
لاحظ أنه عند إنشاء أزواج مفاتيح Wireguard جديدة ورفعها قد يكون هناك تأخير بسيط حتى تصبح قابلة للاستخدام (حوالي 30-60 ثانية على Mullvad مثلاً).
شغّل Firefox عبر اتصال AzireVPN Wireguard إلى خادم في النرويج:
$ vopono exec --provider azirevpn --server norway firefox
يجب تشغيل vopono كمستخدم لديك (وليس عبر sudo) لأنه سيتولى رفع الصلاحيات عند الحاجة. لمزيد من التفاصيل حول التشغيل كخدمة systemd، إلخ، راجع دليل المستخدم.
لتجربة أكثر سلاسة، شغّل الخفي الجذري المتميز وواصل استخدام vopono كمستخدم عادي لديك. ترسل الواجهة السطرية تلقائياً طلبات exec إلى الخفي إذا كان يعمل.
sudo systemctl enable --now voponosudo vopono daemonsudo vopono daemon start؛ افحصه عبر vopono daemon status --json.vopono exec --provider mullvad --server se firefoxراجع USERGUIDE.md للحصول على وحدة systemd جاهزة للنسخ.
يمكن أن تتعامل vopono مع ما يصل إلى 255 مساحة اسم شبكة منفصلة (أي اتصالات خوادم VPN مختلفة - إذا كان مزوّد VPN لديك يسمح بذلك). الأوامر المُطلقة ببادئة الخادم نفسها ومزوّد VPN نفسه ستشترك في مساحة اسم الشبكة نفسها.
يمكن حفظ خيارات الإعداد الافتراضية في ملف ~/.config/vopono/config.toml، على سبيل المثال:
firewall = "NfTables"
provider = "Mullvad"
protocol = "Wireguard"
server = "usa-us22"
لاحظ أن القيم حساسة لحالة الأحرف.
راجع دليل مستخدم vopono للحصول على تعليمات استخدام أكثر تفصيلاً بكثير (بما في ذلك التعامل مع الخفيّات والخوادم).
ثبّت الحزمة vopono-git باستخدام مساعد AUR المفضل لديك.
$ paru -S vopono-git
$ vopono sync
بدلاً من ذلك، استخدم الحزمة vopono-bin إذا كنت لا ترغب في الترجمة من المصدر.
قم بتنزيل وتثبيت الحزمة vopono_x.y.z_armhf.deb من صفحة الإصدارات:
$ sudo dpkg -i vopono_0.2.1_armhf.deb
ستحتاج إلى تثبيت OpenVPN (متوفر في مستودعات Raspbian):
$ sudo apt install openvpn
يمكنك بعد ذلك استخدام vopono كما هو موضح أعلاه (لاحظ أن ثنائي Chromium هو chromium-browser):
$ vopono sync --protocol openvpn protonvpn
$ vopono exec --provider protonvpn --server sweden chromium-browser
لقطة شاشة لـ vopono مع OpenVPN تعمل على Raspbian:

لاحظ أن Wireguard غير متوفر في مستودعات Raspbian، لذا فإن تثبيته ليس بالأمر السهل. يمكنك اتباع هذا الدليل لمحاولة ذلك، لكن لاحظ أنه لا تحتاج فقط إلى تثبيت Wireguard وwireguard-tools لتوفر wg، بل أيضاً إلى linux-headers لضمان عمله بشكل صحيح (أي لا تحصل فقط على أخطاء Protocol not supported عند محاولة إنشاء اتصال).
راجع دليل المستخدم للتفاصيل حول إعادة توجيه المنافذ واستخدام vopono مع الخفيّات والخوادم، في حال أردت استخدام Raspberry Pi لتشغيل privoxy أو transmission-daemon، إلخ.
ثبّت حزمة deb المتوفرة في صفحة الإصدارات.
ثبّت حزمة rpm المتوفرة في صفحة الإصدار (اختر الإصدار الصحيح).
ثبّت vopono من المستودع الرئيسي.
$ emerge -av net-vpn/vopono
إما استخدام الثنائيات المجمّعة في صفحة الإصدارات، أو التثبيت من المصدر باستخدام Cargo كما هو موثق أدناه.
شغّل سكربت التثبيت المرفق: install.sh - سيقوم هذا بتنفيذ cargo install للمستودع ونسخ ملفات الإعداد إلى ~/.config/vopono/
لاحظ أن الحد الأدنى لإصدار Rust المدعوم هو 1.85 (مطلوب لإصدار 2024). يمكنك التحقق من إصدارك عبر:
$ rustc --version
gnome-terminal في مساحة اسم الشبكة بسبب نموذج العميل-الخادم - راجع المشكلة #48transmission-daemon) لا تعمل بشكل صحيح عند تشغيل vopono كجذر - راجع المشكلة #84vopono مرخّصة بموجب GPL الإصدار 3.0 (أو أعلى)، راجع ملف LICENSE أو https://www.gnu.org/licenses/gpl-3.0.en.html
vopono هو نطق الحروف VPN في الإسبرانتو.
Se vi ankaŭ parolas Esperanton, bonvolu serĉi min en la kanalo de Discord de Rust Programming Language Community.
ما لم تنص صراحةً على خلاف ذلك، فإن أي مساهمة تُقدَّم عمداً لإدراجها في العمل من قبلك ستُرخَّص بموجب GPLv3 (أو أعلى)، دون أي شروط أو أحكام إضافية.
جزيل الشكر لـ MozWire من NilsIrl على التحقيق في واجهة برمجة تطبيقات MozillaVPN.