
radmin-vpn-linux v1.0.0-rc8
شغّل Radmin VPN على لينكس عبر Wine — برنامج تشغيل مخصص، جسر TAP، فقدان صفري للحزم.
Radmin VPN لأنظمة لينكس
شغّل Radmin VPN على لينكس عبر Wine. انضم إلى شبكات VPN، وشاهد الأقران، والعب الألعاب — كل ذلك دون جهاز افتراضي يعمل بنظام ويندوز.
لم أبنِ هذا لأنه كان أسهل من جهاز افتراضي. بنيته لأنني اعتقدت أنه أسهل من جهاز افتراضي.
كود بمساعدة الذكاء الاصطناعي. بُني بالتعاون بين إنسان وClaude (Anthropic). كُتب السائق، والخطافات، والجسر بهندسة عكسية موسّعة بمساعدة الذكاء الاصطناعي لبروتوكول سائق Radmin VPN غير الموثّق باستخدام Ghidra. هذا يعمل، لكن دون أي ضمانات. غير مرتبط بـ Famatech. Radmin VPN برنامج ملكي — نزّله بنفسك من radmin-vpn.com. استخدمه على مسؤوليتك الخاصة.
كيف يعمل
تتحدث خدمة Radmin VPN الخاصة بويندوز مع سائق NDIS مصغّر لمحول الشبكة الافتراضي الخاص بها. لا يدعم Wine تقنية NDIS، لذا نستبدل السائق بتنفيذنا الخاص الذي يجسر إلى جهاز TAP في لينكس. تتعامل مكتبة خطاف DLL مع مشاكل توافق Wine (تسمية المحول، صلاحيات السجل). النتيجة هي عميل Radmin VPN يعمل بكامل وظائفه تحت Wine.
Linux app ← TAP (radminvpn0) ← tap_bridge ← FIFO ← rvpnnetmp.sys (Wine driver) ← RvControlSvc.exe
بدء سريع (AppImage، موصى به)
احصل على RadminVPN-Linux-x86_64.AppImage من أحدث إصدار. لا شيء لتثبيته — Wine مضمّن.
إصدارات مرشحة (مثل
v1.0.0-rc1) تُنشر كإصدارات ما قبل الإصدار على GitHub. رابطlatestأعلاه يشير دائمًا إلى أحدث بناء مستقر، لذا لن تظهر الإصدارات المرشحة هناك — احصل عليها من قائمة الإصدارات الكاملة.
chmod +x RadminVPN-Linux-x86_64.AppImage
./RadminVPN-Linux-x86_64.AppImage
عند أول تشغيل، يقوم بتنزيل مثبّت Radmin VPN الذي تم التحقق منه ضده (أو مرّر مثبّتك الخاص مع --installer). تُفتح نافذة طرفية مع تقدم العملية، ويلزم طلب كلمة مرور sudo واحدة لإعداد TAP.
تعيش الحالة الدائمة (wineprefix، MAC، السجلات) في ~/.local/share/radmin-vpn-linux/.
هل يُغلق Radmin من تلقاء نفسه؟ مُحدِّثه الخاص يقوم بتثبيت بناء أحدث داخل الـ prefix قيد التشغيل. قم بالترقية بطريقة محكومة بدلاً من ذلك — فهي تحافظ على الـ prefix الخاص بك وعلى معرّف Radmin الخاص بك:
./RadminVPN-Linux-x86_64.AppImage --updateثم أوقف "التحديثات التلقائية" في إعدادات Radmin حتى يتوقف عن المحاولة. التفاصيل في مُحدِّث Radmin التلقائي الخاص به.
المتطلبات الأساسية (بناء من المصدر / غير AppImage)
- Wine >= 11.0 (مُختبَر على Wine 11.5 في Arch Linux وعلى Wine 11.6 في Ubuntu 24.04)
- مترجمات mingw-w64 المتقاطعة (
i686-w64-mingw32-gcc,x86_64-w64-mingw32-gcc) — للبناء من المصدر - iconv (glibc) — لتحليل سجلات الخدمة
- وصول sudo — لإنشاء جهاز TAP والتوجيه
- دعم نواة TUN/TAP — مدمج عادةً، تحقق منه مع
modprobe tun - مثبّت Radmin VPN — يُنزَّل تلقائيًا إذا كان غائبًا. الإصدار الذي تم التحقق من هذا المشروع ضده مثبّت في مكان واحد،
RADMIN_VERSIONفيlib.sh(حاليًا 2.1.4951.1؛ 2.0.4899.9 يعمل أيضًا). Radmin VPN 1.4 غير مدعوم — يسجّل ويفتح المحول لكنه لا يكمل الاتصال أبدًا تحت طبقة Wine، تاركًا الواجهة الرسومية عالقة عند "Connecting...".
Arch Linux
sudo pacman -S wine mingw-w64-gcc
Ubuntu/Debian
sudo apt install wine64 wine32 gcc-mingw-w64
بدء سريع من المصدر
git clone https://github.com/baptisterajaut/radmin-vpn-linux.git
cd radmin-vpn-linux
# الخيار أ: تنزيل ملفات ثنائية مبنية مسبقًا من إصدارات GitHub
mkdir -p build
TAG=$(curl -sI https://github.com/baptisterajaut/radmin-vpn-linux/releases/latest | grep -i location | grep -oP 'v[\d.]+')
curl -sL "https://github.com/baptisterajaut/radmin-vpn-linux/releases/download/${TAG}/radmin-vpn-linux-${TAG}.tar.gz" \
| tar xz -C build/
# الخيار ب: البناء من المصدر
make
# تنزيل مثبّت Radmin VPN من https://www.radmin-vpn.com/
./run.sh --installer ~/Downloads/Radmin_VPN_*.exe
في التشغيلات اللاحقة، فقط:
./run.sh
خيارات سطر الأوامر
| الخيار | الوصف |
|---|---|
--installer <path> | المسار إلى مثبّت Radmin_VPN_*.exe (لأول تشغيل فقط). |
--no-ui | تشغيل الخدمة دون إطلاق واجهة Radmin الرسومية. |
--update | ترقية Radmin إلى الإصدار المثبّت في مكانه. يحافظ على الـ prefix، لذا يبقى معرّف RID المسجّل لدى Famatech. |
--no-broadcast-routes | عدم إضافة مسارات البث/البث المتعدد → TAP. |
--filter-ui | إطلاق واجهة تصفية الحزم GTK4 الاختيارية (مطفأة افتراضيًا). |
--fix-chat | تصحيح qwindows.dll الخاص بـ Qt لإصلاح انهيار نافذة الدردشة تحت Wine (مطفأ افتراضيًا). |
مُحدِّث Radmin التلقائي الخاص به
يمكن لواجهة Radmin الرسومية تنزيل بناء أحدث وتشغيل مثبّته داخل الـ prefix الحي،
مما يقتل الواجهة الرسومية ويُعطّل الخدمة قيد التشغيل (ثم يُظهر سجل الواجهة الرسومية مثبّتًا
تحت AppData\\Local\\Temp). دفاعان: يُرسل المُشغِّل البناء الحالي المُتحقق منه
بحيث لا يكون لدى المُحدِّث ما يدفعه، والواجهة الرسومية التي تموت لم تعد تأخذ النفق
معها — يُعاد تشغيلها مرة واحدة، ثم تستمر VPN في العمل بدون واجهة. للترقية
بشكل متعمد، استخدم ./run.sh --update، الذي يوقف كل شيء أولاً. إيقاف
"التحديثات التلقائية" في إعدادات الواجهة الرسومية يتجنب السباق تمامًا.
كل من --filter-ui و --fix-chat اختياريان. تحتاج واجهة التصفية إلى ملف rvpn_filter_ui
الثنائي (المبني بواسطة make)؛ إصلاح الدردشة يحتاج إلى patch_qwindows_font.py ومفسّر Python 3.
أوضاع بدون واجهة / الخوادم
مُشغِّلان إضافيان يشغّلان Radmin VPN دون سطح مكتب محلي — لخادم VPS أو مركز بيانات. كلاهما يُثبَّت ويُهيَّأ تمامًا مثل run.sh (نفس wineprefix، نفس تدفق أول تشغيل --installer، نفس جسر TAP)؛ يختلفان فقط في كيفية الوصول إلى الواجهة الرسومية.
run_datacenter.sh — واجهة رسومية عبر المتصفح
يشغّل واجهة Radmin الرسومية الحقيقية على شاشة افتراضية (Xvfb) ويقدّمها عبر VNC + noVNC، بحيث يمكنك تهيئة شبكاتك من متصفح ثم تركها تعمل.
sudo apt install -y xvfb x11vnc websockify novnc # أو: make install-datacenter-deps
./run_datacenter.sh --installer ~/Downloads/Radmin_VPN_*.exe
| الخيار | الافتراضي | الوصف |
|---|---|---|
--vnc-port <n> | 5900 | منفذ خادم x11vnc. |
--web-port <n> | 6080 | منفذ نقطة نهاية noVNC على الويب. |
--vnc-password <pw> | (لا شيء) | كلمة مرور جلسة VNC / الويب. |
--web-bind <addr> | 127.0.0.1 | العنوان الذي يستمع عليه noVNC. |
افتراضيًا يرتبط noVNC بـ 127.0.0.1، لذا لا يمكن الوصول إليه إلا عبر نفق SSH:
ssh -L 6080:localhost:6080 your-vps # ثم افتح http://localhost:6080/vnc.html
لكشفه للعامة، مرّر --web-bind 0.0.0.0 مع --vnc-password — وإلا فإن أي شخص يصل إلى منفذ الويب سيهبط على سطح مكتب غير مصادق عليه وذو صلاحيات جذر. يطبع السكربت تحذيرًا صاخبًا إذا ربطت للعامة دون كلمة مرور.
run_vps.sh — خدمة فقط، GUID ثابت
يبدأ الخدمة بدون واجهة مع GUID TAP مكتوب يدويًا (بدون Wine WMI مطلوب) وبدون واجهة رسومية إطلاقًا. إذا كان عداد الشبكات المخصص (rv_net_enum.exe، غير مضمّن في هذا المستودع) موجودًا في مجلد أعلى، يتم تشغيله؛ وإلا تعمل الخدمة فقط حتى تضغط Ctrl+C. يُقبل --installer فقط.
./run_vps.sh --installer ~/Downloads/Radmin_VPN_*.exe
البناء من المصدر
يتطلب مترجمات mingw-w64 المتقاطعة. الملفات الثنائية المبنية مسبقًا متاحة من الإصدارات (مبنية بواسطة CI على كل إصدار موسوم) إذا كنت لا تريد تثبيت mingw.
make # بناء كل شيء إلى build/
make clean # إزالة نواتج البناء
ينتج:
build/rvpnnetmp.sys— سائق نواة Wine (PE 64-بت)build/adapter_hook.dll— مكتبة خطاف DLL (PE 32-بت)build/rvpn_launcher.exe— حاقن DLL (PE 32-بت)build/netsh.exe— بديل netsh (PE 32-بت، يُثبَّت إلى SysWOW64)build/netsh64.exe— بديل netsh (PE 64-بت، يُثبَّت إلى System32)build/drvinst.exe— كعب لا يعمل شيئًا يستبدل مثبّت سائق NDIS الحقيقي لـ Radmin (المشكلة #12)build/tap_bridge— جسر TAP أصلي للينكسbuild/rvpn_dnsfix.so— طبقة LD_PRELOAD أصلية، تُحمَّل مسبقًا في الخدمة فقطbuild/rvpn_reuseport.so— طبقة LD_PRELOAD أصلية، تُحمَّل مسبقًا فيwineserverbuild/rvpn_filter_ui— واجهة تصفية حزم GTK4 اختيارية (--filter-ui)
بناء AppImage
make
./packaging/build-appimage.sh # → packaging/dist/RadminVPN-Linux-x86_64.AppImage
ينزّل بناء Kron4ek Wine-Staging amd64-wow64 (~100 ميجابايت) وappimagetool عند أول تشغيل، ويخزّن كليهما في packaging/dist/. يتطلب curl وImageMagick (convert).
ما يفعله run.sh
- أول تشغيل: يثبّت Radmin VPN عبر Wine (
/VERYSILENT)، يزيل سائق NDIS الحقيقي (غير متوافق مع Wine)، يسجّل سائقنا المخصص - كل تشغيل: ينشئ جهاز TAP، يبدأ جسر TAP-to-FIFO، يهيئ سجل Wine (GUID المحول، خدمة السائق)، يطلق خدمة Radmin VPN والواجهة الرسومية
- عند الخروج (Ctrl+C أو إغلاق الواجهة الرسومية): يقتل Wine، يزيل جهاز TAP، ينظف
يُخزَّن wineprefix في ./wineprefix/ (تشغيل من المصدر) أو ~/.local/share/radmin-vpn-linux/wineprefix/ (AppImage). يُنشأ عنوان MAC دائم عند أول تشغيل ويُحفظ في wineprefix.
البنية
| المكوّن | الوصف |
|---|---|
rvpnnetmp.sys | سائق نواة Wine. يحاكي منفذ NDIS المصغّر لـ Radmin. يعالج IOCTLs (VERSION, STATUS, SETUP, PEERMAC)، ترميز/فك ترميز إطارات TLV، قائمة انتظار IRP للإدخال/الإخراج المتداخل، توجيه الإطارات المستند إلى MAC لدعم الأقران المتعددين. |
adapter_hook.dll | مكتبة DLL مرافقة تُحمَّل مع RvControlSvc.exe. خطافات IAT: يعيد تسمية محول TAP ليطابق الاسم المتوقع لـ Radmin، يلغي RegSetKeySecurity للالتفاف على خلل Wine SCM حيث تفتقر الخدمات إلى SID النظام، ويجيب على عمليات البحث الأربع Perf{Increment,Decrement}ULong{,Long}CounterValue التي لا يصدرها advapi32 الخاص بـ Wine. هذا الأخير ليس تجميليًا: يحل Radmin 2.1 سبع نقاط دخول perflib في سلسلة كل-أو-لا-شيء، ثم يمرر كائن العداد الناتج لكل قرين كحمولة لمصافحة الأقران — لذا فإن أربعة تصديرات قياس عن بُعد مفقودة تُسقط مسار البيانات بالكامل (المشكلة #24، docs/wine-perflib.md). |
tap_bridge | ملف ثنائي أصلي للينكس. يمرر إطارات الإيثرنت بين جهاز TAP والأنابيب المسماة (FIFOs) التي يقرأها/يكتبها سائق Wine. |
netsh.exe / netsh64.exe | يستبدل كعب netsh الخاص بـ Wine (32-بت في SysWOW64، 64-بت في System32). يترجم أوامر Windows netsh interface ip إلى أوامر لينكس ip addr/ip link عبر مرحّل قائم على الملفات، مع التحقق من العنوان قبل وصوله إلى المرحّل الجذري. |
rvpn_launcher.exe | يحقن adapter_hook.dll في عملية خدمة Radmin عبر CreateRemoteThread + LoadLibrary. |
drvinst.exe | كعب لا يعمل شيئًا يستبدل مثبّت سائق NDIS الحقيقي لـ Radmin. يشغّله Radmin في وقت التشغيل لتحميل NetMP60_1_1_64.sys، الذي يُجهض Wine 11.x عبر NdisInitializeReadWriteLock (المشكلة #12)؛ وبما أن سائقنا يستبدل ذلك المحول بالفعل، يجب ألا يُحمَّل الحقيقي أبدًا. |
rvpn_dnsfix.so | طبقة LD_PRELOAD أصلية، تُحقن في إطلاق الخدمة فقط. تقصر DNS العكسي (getnameinfo/gethostbyaddr) لعناوين IPv4/IPv6 الخاصة عند طبقة glibc. يقوم Radmin بحل PTR لكل عنوان مرشح محلي يجمعه؛ على مضيف يحجب محللُه استعلامات PTR الخاصة بـ RFC1918، يتعطل ذلك لدقائق وتسجّل الخدمة لكنها لا تصبح جاهزة أبدًا (المشكلة #16). يصدر البحث من جانب Unix الخاص بـ Wine، خارج متناول أي خطاف داخل adapter_hook.dll. |
rvpn_reuseport.so | طبقة LD_PRELOAD أصلية، تُحمَّل مسبقًا في wineserver (وليس في الخدمة — مآخذ Unix تنتمي إلى wineserver). يضبط SO_REUSEPORT على كل مأخذ TCP عند الإنشاء. يقوم Radmin 2.1 بعبور NAT بإعادة استخدام المنفذ عبر TCP: يربط مستمعًا بـ uplink:PORT، يعلن عن ذلك التعيين، ثم يربط مآخذ الأقران الصادرة بنفس المنفذ المحلي مع SO_REUSEADDR، وهو ما يسمح به ويندوز. يترجم Wine ذلك الطلب إلى لا خيار على مستوى Unix لـ TCP (server/sock.c، SO_REUSEPORT مُجمَّع لـ __APPLE__ فقط)، لذا يرفض النواة الربط الثاني ويرى العميل WSAEACCES على كل اتصال قرين (المشكلة #24). لا يزال حفظ تعارضات wineserver يعمل، لذا فإن عمليات الربط التي يرفضها ويندوز ما زالت مرفوضة. |
rvpn_filter_ui | واجهة GTK4 اختيارية لفحص وتصفية الحزم العابرة للجسر. مطفأة افتراضيًا؛ أطلقها مع --filter-ui. |
استكشاف الأخطاء وإصلاحها
الواجهة الرسومية عالقة عند "Waiting for adapter": السائق لا يُحمَّل. تحقق من أن /tmp/radmin_driver.log موجود وله محتوى. إذا كان فارغًا، فقد يكون تسجيل خدمة السائق مفقودًا — احذف wineprefix وأعد التشغيل.
مسجّل لكنه لا يصبح "ready" أبدًا: تصل الخدمة إلى Registered as #… وتتوقف هناك. سببان معروفان، كلاهما مذكور في كتلة التشخيص المطبوعة عند انتهاء المهلة. (أ) وكيل شفاف أو نفق بسياسة توجيه خاصة به (sing-box، clash/mihomo، v2ray…) يعترض الاتصال الصادر — مثل هذه الحزم تجيب على مصافحة TCP محليًا، لذا يقرأ المأخذ ESTABLISHED بينما لا يُمرَّر شيء. استبعد 26.0.0.0/8 من مساراته، و*.radminte.com أيضًا إذا كان يمكنك الوصول إليها مباشرة. (ب) محلل يحجب عمليات البحث العكسية للعناوين الخاصة (عادةً ما يكون docker0 عند 172.17.0.1 هو المحفّز). يتعامل rvpn_dnsfix.so مع هذا، لكنه طبقة 64-بت: نظام Wine مبني كـ old-wow64 يتجاهله. الحل البديل هناك — أضف سطرًا للعنوان إلى /etc/hosts، أو استخدم contrib/run-in-netns.sh (الذي يجعل الخدمة "ready" لكنه يُبقي VPN داخل مساحة اسم: لا يمكن لتطبيقات المضيف الوصول إلى 26.0.0.0/8، اقرأ التحذير في ترويسته).
تطبيقات Wine الأخرى لديك تعطلت بعد تشغيل Radmin (unimplemented function ndis.sys.NdisInitializeReadWriteLock): الإصدارات حتى 1.0.0 سمحت بتشغيل winemenubuilder.exe الخاص بـ Wine، الذي يعيد كتابة ارتباطات ملفات ويندوز على المضيف (.exe, .msi, .lnk, .reg, .chm, …) لتُفتح في prefix الخاص بنا. ثم تبدأ برامج ويندوز الأخرى داخل prefix الخاص بـ Radmin، وإذا كان منفذ NDIS المصغّر الحقيقي لـ Radmin (RvNetMP60) ما زال مسجلاً هناك، فإن كل واحد منها يُجهض على كعب ndis ذلك. يعطّل 1.0.1 winemenubuilder في كل مكان، وينظف الإدخالات التي كتبها لـ prefix الخاص بـ Radmin، ويزيل RvNetMP60 من system.reg دون اتصال — فقط شغّل 1.0.1 مرة واحدة وسيتم إصلاح كلاهما. لاحظ أن echo $WINEPREFIX لا يُظهر شيئًا في هذه الحالة: الاختطاف يعيش في ~/.local/share/applications/*.desktop، وليس في بيئتك. التنظيف اليدوي، إذا فضّلت:
grep -rl 'WINEPREFIX=[^"]*radmin' ~/.local/share/applications --include='*.desktop' | xargs -r rm
rm -rf ~/.local/share/applications/wine/Programs/"Radmin VPN"
update-desktop-database ~/.local/share/applications
متصل وفي شبكاتك، لكن لا يتصل أي قرين أبدًا (error: 0x700000000): هذا هو Radmin 2.1 على بناء أقدم من 1.1.0. يبدو سجل الخدمة سليمًا حتى اتصالات الأقران، التي تفشل بعد ذلك في حلقة بهذا الرمز وتستسلم أخيرًا مع node offline. فجوتان مستقلتان في Wine، كلتاهما أُصلحتا في 1.1.0 وكلتاهما موضحة أعلاه في صفّي rvpn_reuseport.so وadapter_hook.dll: لا يضبط Wine أي خيار على مستوى Unix لـ TCP SO_REUSEADDR، لذا يحصل عبور NAT بإعادة استخدام المنفذ في 2.1 على WSAEACCES عند كل اتصال قرين؛ وadvapi32 الخاص بـ Wine يفتقد أربعة تصديرات perflib، وبدونها يرسل 2.1 حمولة فارغة كمصافحة أقرانه. لاحظ أن الرمز نفسه لا يحمل أي معلومات — إنه الاستسلام العام في نهاية سلسلة الأخطاء، لذا لا تحاول قراءة نظام فرعي منه. الإصلاح هو تحديث هذا المشروع إلى 1.1.0؛ لا شيء يحتاج إلى التغيير على جانب Radmin.
الخدمة تموت فورًا: تحقق من /tmp/radmin_service.log بحثًا عن أخطاء Wine. السبب الشائع: wineprefix قديم من إصدار Wine مختلف. احذف ./wineprefix/ وأعد التشغيل.
0% فقدان حزم مع قرين واحد، فقدان عالٍ مع العديد: كان هذا هو الخطأ الأصلي — أُصلح بتوجيه الإطارات المستند إلى MAC في السائق. تأكد من استخدامك لأحدث بناء.
أول ping بطيء (~1 ثانية): أحدث إصدار يخزّن عناوين MAC مؤقتًا لكل حزمة IP يراها السائق. إذا أرسل عنوان IP الهدف حزمة واحدة على الأقل بينما كان السائق يعمل، فإن MAC مخزّن بالفعل ولا يوجد تأخير ARP. فقط الأقران الصامتون تمامًا (أولئك الذين لم يرسلوا حزمة أبدًا) يتطلبون حل ARP الأولي، الذي يضيف ~1 ثانية.
ألعاب الشبكة المحلية لا ترى أقرانًا آخرين / "الاكتشاف التلقائي" معطوب: تكتشف معظم ألعاب الشبكة المحلية بعضها البعض باستخدام استكشافات البث (UDP إلى 255.255.255.255) أو البث المتعدد (224.0.0.0/4). على ويندوز، يعلن سائق TAP الخاص بـ Radmin عن نفسه كواجهة مفضلة لتلك التدفقات؛ على لينكس عليك إخبار النواة صراحةً. يثبّت run.sh الآن مسارين إضافيين عند ظهور VPN:
ip route append 255.255.255.255/32 dev radminvpn0 metric 0
ip route append 224.0.0.0/4 dev radminvpn0 metric 0
الأثر الجانبي: mDNS / Bonjour / SSDP على شبكتك المحلية الفعلية (Chromecast، AirPrint، Sonos، أجهزة التلفاز الذكية، ...) ستمر عبر VPN أثناء تشغيلها. إذا كنت بحاجة إلى اكتشاف الشبكة المحلية وRadmin بالتوازي، شغّل مع --no-broadcast-routes:
./run.sh --no-broadcast-routes
المسارات محصورة في جهاز TAP، لذا تُزال تلقائيًا عندما يهدم run.sh الجهاز عند الخروج.
القيود المعروفة
- يمكن تشغيل مثيل واحد فقط في كل مرة (FIFOs مشتركة في
/tmp/) - مسار on-link
26.0.0.0/8يؤثر على النظام بأكمله أثناء التشغيل (يُنظَّف عند الخروج) - مسارات البث الافتراضية (
255.255.255.255/32) والبث المتعدد (224.0.0.0/4) تُوجَّه إلى VPN — عطّلها مع--no-broadcast-routesإذا كنت بحاجة إلى mDNS / SSDP للشبكة المحلية بالتوازي - إصدارات Wine الأقدم (< 11.0) قد يكون لها سلوك إدخال/إخراج متداخل مختلف يكسر السائق
ملاحظات
التفاف حول خلل Wine. خطاف RegSetKeySecurity يلتف حول قيود Wine المعروفة حيث لا تتلقى الخدمات SID النظام (S-1-5-18). قد يُصلح هذا في المنبع في إصدار Wine مستقبلي.
الاعتمادات
الهندسة العكسية وطبقة Wine: @baptisterajaut.
- @ayozetr — تتبّع تعليق "يسجّل لكنه لا يصبح جاهزًا أبدًا" إلى
بحث DNS عكسي لعنوان خاص حجبه محلل المضيف، وأثبته بإعادة إنتاج
بـ bare-libc بعد التخلص من أربع نظريات خاطئة (بما فيها نظريتي)، وكتب
الأصل لـ
src/rvpn_dnsfix.cوcontrib/run-in-netns.sh. - @gringoestrangeiro — عمل استقرار لينكس: مرشحات الحزم، ذاكرة ARP المؤقتة، استرداد الانهيار، أوضاع بدون واجهة ومراكز البيانات.
- @yuxiaole-bili — اكتشف أن Wine SCM يبدأ تلقائيًا مثيل خدمة ثانٍ غير مربوط يتنافس مع المثيل المحقون على المحول.
- @D1spell-tech, @Milkiway13 و كل من لصق كتلة تشخيص كاملة — مضيفان مستقلان هما ما يجعل الخطأ قابلاً للاكتشاف.
الترخيص
GPL-3.0. انظر LICENSE.
بروحه، هذا الكود في المجال العام — افعل ما تشاء به. GPL هنا كشبكة أمان قانونية: يحمي صراحةً الهندسة العكسية للتوافق التشغيلي، وهو ما يفعله هذا المشروع. حزام وحمالات.
Radmin VPN برنامج ملكي لشركة Famatech Corp. يوفر هذا المشروع أدوات توافق تشغيلي فقط — لا يُضمَّن أو يُوزَّع أي كود من Famatech.