أساسيات CLI والتثبيت
9 إجاباتتعرف على ما هو PandaVPN CLI، وكيف يختلف عن تطبيق سطح المكتب، وكيفية تثبيته.
Q ما هو Panda CLI؟
Panda CLI هو عميل سطر الأوامر الخاص بـ Panda، ويدعم تنفيذ ما يلي من خلال الطرفية:
- تسجيل الدخول وإدارة الحساب
- تحديث العقد والاتصال بها
- التبديل بين أوضاع PandaVPN / Proxy / WireGuard / Auto
- تكوين وكيل النظام
- قواعد Split rules لتقسيم المسارات
- تكوين Split DNS
- حماية Kill-switch
- Auto-connect
- السجلات والتشخيصات
وهو مناسب لمستخدمي الاختبار الداخلي والمطورين والمستخدمين المتقدمين وسيناريوهات الاختبار التي تتطلب عمليات قابلة للبرمجة النصية.
Q ما الفرق بين Panda CLI وعميل سطح المكتب؟
Panda CLI يعتمد على التشغيل عبر سطر الأوامر، وهو أكثر ملاءمة لما يلي:
- الاختبار الآلي
- استكشاف المشكلات عن بُعد
- الاتصال عبر السكربتات
- عرض معلومات تشخيصية مفصلة
- التحقق من السلوكيات منخفضة المستوى مثل Kill-switch وDNS والتوجيه ووكيل النظام
أما عميل سطح المكتب فهو أكثر ملاءمة للمستخدمين العاديين لإجراء العمليات الرسومية اليومية.
ملاحظة: لا يُنصح بأن يدير عميل سطح المكتب القديم المبني على Qt وCLI شبكة VPN / وكيل النظام في الوقت نفسه، وذلك لتجنب أن يستبدل أحدهما إعدادات الآخر.
Q لماذا يحتاج Panda CLI إلى daemon / service؟
تتطلب بعض القدرات صلاحيات على مستوى النظام، مثل:
- إنشاء واجهات شبكة TUN / WireGuard
- تعديل DNS
- إعداد وكيل النظام
- تطبيق Kill-switch
- إصلاح التوجيه
- إدارة packet VPN runtime
لذلك، ينفذ CLI هذه العمليات عبر daemon / service المناسبة للمنصة.
أشكال daemon على المنصات المختلفة:
| المنصة | شكل daemon |
|---|---|
| macOS | LaunchDaemon / privileged helper |
| Linux | systemd service |
| Windows | Windows Service |
Q ما الفرق بين طرق التثبيت على Windows / macOS / Linux؟
الفرق الأساسي هو: في Windows وmacOS عادةً ما يتم تثبيت الخدمة تلقائياً عبر حزمة التثبيت، بينما في Linux يحتاج المستخدم عادةً إلى تنفيذ sudo panda service install يدوياً.
| النظام | طريقة التثبيت الموصى بها | هل يلزم تثبيت service يدوياً؟ |
|---|---|---|
| Windows | حزمة التثبيت | عادةً لا؛ ستطلب حزمة التثبيت صلاحيات أعلى وتُسجّل Windows Service |
| macOS | حزمة تثبيت .pkg | عادةً لا؛ ستقوم حزمة التثبيت بتثبيت LaunchDaemon / helper |
| Linux | binary + systemd service | يلزم تنفيذ sudo panda service install |
في Windows، لا تحتاج إلى تنفيذ الأمر التالي من PowerShell بصلاحيات المسؤول إلا عند عدم استخدام حزمة التثبيت ووضع الملفات الثنائية يدوياً:
panda service install windows
في macOS، لا تحتاج إلى الأمر التالي إلا أثناء التطوير والتصحيح، أو عند عدم استخدام حزمة تثبيت .pkg، أو إذا لم يبدأ daemon تلقائياً:
sudo panda start
في Linux، يوصى بما يلي:
sudo panda service install
panda service status
Q هل خطوات تثبيت Windows ARM64 و AMD64 / x64 هي نفسها؟
نعم، هي نفسها. يكمن الاختلاف الأساسي في معمارية حزمة التثبيت التي يتم تنزيلها.
| المعمارية | الأجهزة المناسبة |
|---|---|
| Windows x64 / AMD64 | معظم أجهزة Windows التي تعمل بمعالجات Intel / AMD |
| Windows ARM64 | أجهزة Windows on ARM |
خطوات التثبيت والأوامر وطريقة إدارة الخدمة متطابقة. ستقوم حزمة التثبيت تلقائيًا برفع الصلاحيات وتسجيل Windows Service.
أوضاع الاتصال والتوجيه
10 إجاباتفهم أوضاع اتصال CLI وخيارات التوجيه والاتصال الذكي والعقد والحالة الحالية.
Q ما الأوضاع التي يدعمها Panda CLI؟
يدعم بشكل أساسي:
| الوضع | الوصف |
|---|---|
auto |
الوضع الافتراضي. يوصي بالـ runtime بناءً على API / بيانات تعريف العقدة، وعند الفشل يعود إلى PandaVPN global |
proxy |
وكيل محلي SOCKS5 / HTTP / PAC |
pandavpn |
PandaVPN packet VPN / TUN runtime |
wireguard |
WireGuard packet VPN |
الإعدادات الشائعة:
panda mode auto
panda mode pandavpn global
panda mode proxy global
panda mode wireguard
لا يُنصح حاليًا بعرض openvpn كمسار رئيسي في وثائق المستخدم.
Q كيف تختار بين auto وproxy وpandavpn وwireguard؟
التوصية:
| السيناريو | الوضع الموصى به |
|---|---|
| مستخدم جديد / اتصال يومي | auto |
| تريد استخدام VPN عالمي ثابت | pandavpn global |
| تريد فقط أن يستخدم المتصفح أو وكيل النظام Panda | proxy |
| تحتاج إلى Kill-switch | auto أو pandavpn أو wireguard |
| العقدة توفر WireGuard metadata | auto أو wireguard |
| تحتاج إلى تحقق متقدم من Split rules / Split DNS | pandavpn |
ملاحظة: mode proxy يتعارض مع Kill-switch.
Q ما هو mode auto؟
mode auto هو الوضع الافتراضي في الإصدار الجديد.
سلوكه هو:
- يقوم API node / smart connect باختيار runtime أولًا حسب
meta.protocol؛ - إذا كان WireGuard هو الخيار الموصى به، فسيحاول WireGuard أولًا؛
- إذا فشلت بيانات WireGuard الوصفية، أو تخصيص العنوان، أو بدء runtime، أو handshake، أو فحص الاتصال، فسيعود إلى PandaVPN global المجمّع من SS payload؛
- ستستخدم بروتوكولات
SSوOPENVPNوالبروتوكولات غير المعروفة أو المفقودة PandaVPN global كخيار احتياطي؛ mode autoلا يقبل معامل policy، وسيكون runtime الناتج دائمًا global.
يُنصح المستخدمون الجدد باستخدام:
panda mode auto
panda connect
Q ما الفرق بين global وgfwlist وdirect-region وproxy-region؟
| Policy | المعنى |
|---|---|
global | كل الحركة تمر عبر proxy / tunnel |
gfwlist | default direct؛ العناصر المطابقة لـ GFWList تمر عبر proxy / tunnel |
direct-region in | default proxy / tunnel؛ عند مطابقة رمز الدولة المكوّن من حرفين in يتم الاتصال مباشرة |
proxy-region us | default direct؛ عند مطابقة رمز الدولة المكوّن من حرفين us تمر الحركة عبر proxy / tunnel |
direct-region هي الصيغة الموصى بها؛ bypass-region / bypass هي أسماء بديلة للتوافق.
مثال:
panda mode pandavpn direct-region in
وهي مكافئة للاسم البديل المتوافق:
panda mode pandavpn bypass-region in
Q ما هو الأمر الطويل الصريح لـ split في PandaVPN؟
يدعم الإصدار الجديد صياغة split profile أكثر اكتمالًا:
panda mode pandavpn split default direct proxy-region <cc>
panda mode pandavpn split default proxy direct-region <cc>
الـ token الشائعة:
| Token | المعنى |
|---|---|
default direct |
الاتصال المباشر افتراضيًا عند عدم مطابقة أي قاعدة |
default proxy |
استخدام النفق افتراضيًا عند عدم مطابقة أي قاعدة |
proxy-region <cc> |
توجيه المنطقة المحددة عبر النفق |
direct-region <cc> |
الاتصال المباشر للمنطقة المحددة |
gfwlist |
تفعيل GFWList source |
direct-lan |
اتصال LAN مباشر |
proxy-lan |
توجيه LAN عبر النفق أيضًا |
custom-rules |
تفعيل split rules مخصصة |
exclude-custom-rules |
عدم تحميل split rules مخصصة |
أمثلة:
panda mode pandavpn split default direct proxy-region us custom-rules
panda mode pandavpn split default proxy direct-region in direct-lan custom-rules
لا يُنصح بعرض الأوامر الطويلة في وثائق المبتدئين؛ فهي مناسبة لوثائق split المتقدمة.
Diagnostics and logs
9 إجاباتاستخدم هذه الأسئلة للطبيب، والإصلاح، والسجلات، ووكيل النظام، وقواعد الانقسام، وتقسيم DNS، وسلوك Kill-switch.
Q ما وظيفة panda doctor؟
doctor هو أمر تشخيصي للقراءة فقط، يُستخدم لعرض الحالات الأساسية الحالية لـ Panda CLI.
panda doctor
panda doctor --json
الصيغة المختصرة:
panda do
ركّز بشكل خاص على:
runtime
kill_switch
selected_node
vpn_dns
dns_lockdown
split_policy
system_proxy_state
vpn_routes
last_error
Q ما هو panda trace؟
يُستخدم trace لمعرفة أي قاعدة وDNS action وroute سيستخدمها هدف معيّن.
panda trace example.com:443
panda trace 8.8.8.8:53 --json
ملاحظة: تتطلب قدرة trace الكاملة active PandaVPN packet runtime. عند عدم وجود runtime متوافق، يمكن فقط إجراء تحقق محدود أو الرجوع إلى legacy trace.
Q لماذا يظهر Panda daemonان يتنافسان على route؟
عادةً ما يحدث ذلك لأنك قمت بتثبيت service / LaunchDaemon الرسمي، ثم نفذت يدويًا:
sudo panda start
سيؤدي sudo panda start إلى تشغيل daemon unmanaged / خارج الإدارة، وقد يدير بالتزامن مع daemon الرسمي ما يلي:
- VPN route
- DNS
- TUN
- system proxy
- Kill-switch
مبدأ المعالجة هو: احتفظ بـ daemon واحد فقط.
المعالجة الشائعة على macOS / Linux:
panda disconnect
panda kill-switch off
sudo panda stop
panda repair
panda doctor
على Linux، إذا كنت تستخدم systemd service، فأعد تشغيل الخدمة الرسمية بعد ذلك:
sudo panda service restart
panda doctor
على macOS، إذا كنت تستخدم تثبيت .pkg، فعادةً يجب ترك LaunchDaemon / helper يدير daemon، ولا تستخدم sudo panda start لفترة طويلة كطريقة تشغيل يومية.
Q كيف أخرج من Panda daemon؟
إذا كنت تريد فقط قطع اتصال VPN، فلا حاجة إلى الخروج من daemon:
panda disconnect
panda kill-switch off
إذا كنت تريد فعلاً إيقاف daemon:
sudo panda stop
للتحقق:
panda status
إذا ظهر panda daemon unavailable، فهذا يعني أن daemon الرئيسي قد توقف.
ملاحظة: قد تتم إدارة LaunchDaemon / helper المثبّت عبر macOS .pkg بواسطة النظام، ولا يُنصح المستخدمون العاديون بإيقاف الخدمة يدويًا بشكل متكرر.
Q كيف أ查看日志؟
panda log
panda log --lines 200
panda log --all
مسح logs:
panda log clear
تفعيل debug مؤقتًا:
panda log level debug dns,tcp --ttl 10m
استعادة الإعداد الافتراضي:
panda log level reset
Proxy and repair
5 إجاباتاستخدم هذه الأسئلة للطبيب، والإصلاح، والسجلات، ووكيل النظام، وقواعد الانقسام، وتقسيم DNS، وسلوك Kill-switch.
Q ما الفرق بين panda repair و panda proxy repair؟
panda repair أكثر شمولًا، وقد يصلح:
- VPN route
- DNS snapshot
- Kill-switch guard
- الحالات المتعلقة بـ system proxy
panda proxy repair يصلح بشكل أساسي system proxy drift للمستخدم الحالي.
panda repair
panda proxy repair
Q هل سيتم تفعيل system proxy افتراضيًا؟
في Fresh install يكون الإعداد الافتراضي proxy system-proxy on.
إذا كان المستخدم قد حفظ off صراحةً، فسيتم الاحتفاظ بهذا الإعداد.
العرض أو الإعداد:
panda proxy system-proxy on
panda proxy system-proxy off
panda proxy system-proxy lock-on
ملاحظة: في mode auto وpandavpn وwireguard، سيتجاهل VPN runtime تفضيل system proxy المحفوظ؛ يظل VPN companion proxy متاحًا ويستخدم scoped egress.
Q لماذا لم يعمل system proxy على Windows؟
Windows system proxy هو إعداد HKCU WinINET للمستخدم الحالي، ويتطلب per-user user-agent.
إذا كنت في جلسة SSH أو جلسة غير تفاعلية، فقد لا يتمكن proxy repair دائمًا من تشغيل user-agent تلقائيًا.
يوصى بالتالي:
panda proxy status
panda proxy repair
panda doctor
إذا بقي غير فعّال، يرجى إعادة المحاولة داخل جلسة تسجيل دخول سطح المكتب.
Q لماذا يظهر system proxy على Linux كـ unsupported؟
يدعم Linux Phase 1 بشكل أساسي GNOME gsettings.
قد تظهر بيئات مثل KDE / XFCE كـ unsupported.
لا يؤثر ذلك بالضرورة على PandaVPN packet runtime، لكنه قد يؤثر على تجربة system proxy mode.
Q لماذا لا يمكن استخدام Kill-switch مع proxy mode؟
تعني Kill-switch السماح للمرور فقط عبر TUN، بينما يتم حظر أي حركة مرور عادية أخرى.
proxy mode هو وضع proxy محلي مستقل، ولا يحتوي على packet VPN / TUN، كما لا يوفر حماية مكافئة لـ DNS والتوجيه. لذلك لا يدعم Kill-switch وضع standalone proxy mode.
عند الحاجة إلى Kill-switch، استخدم:
panda mode auto
panda kill-switch on
أو:
panda mode pandavpn global
panda kill-switch on
أو:
panda mode wireguard
panda kill-switch on
Split rules and Kill-switch
11 إجاباتاستخدم هذه الأسئلة للطبيب، والإصلاح، والسجلات، ووكيل النظام، وقواعد الانقسام، وتقسيم DNS، وسلوك Kill-switch.
Q هل Auto-connect يعني إعادة الاتصال تلقائيًا بعد انقطاع الاتصال؟
لا.
يغطي Auto-connect بشكل أساسي best-effort connect عند بدء daemon / service، وكذلك pending retry عندما لا تكون الشبكة متاحة مؤقتًا عند بدء التشغيل.
التفعيل:
panda config auto-connect on
الإيقاف:
panda config auto-connect off
إنه ليس آلية عامة لإعادة الاتصال تلقائيًا أثناء runtime.
Q ما هي Split rules؟
تُستخدم Split rules لتحديد أن بعض أسماء النطاقات أو الكلمات المفتاحية أو regex أو IP تمر عبر proxy أو direct أو block.
ملفات القواعد:
split/rules/proxy.txt
split/rules/direct.txt
split/rules/block.txt
الأوامر الشائعة:
panda split rules list
panda split rules add proxy suffix:github.com
panda split rules add direct ip-cidr:10.0.0.0/8
panda split rules add block keyword:adservice
Q هل سيؤدي تسجيل الدخول إلى تشغيل pending auto-connect تلقائيًا؟
القيد المعروف حاليًا: بعد login، لن يتم wake تلقائيًا لـ pending auto-connect الذي ينتظر إعادة المحاولة.
يُوصى بتنفيذ الأمر يدويًا بعد login:
panda connect
Q ما هي الصيغ التي تدعمها Split rules؟
- النمط
- نطاق bare
- مثال
example.com- المعنى
- مطابقة suffix
- النمط
domain:- مثال
domain:api.example.com- المعنى
- host دقيق
- النمط
suffix:- مثال
suffix:google.com- المعنى
- مطابقة suffix
- النمط
- مثال
- المعنى
- google.com
- مطابقة suffix
- النمط
keyword:- مثال
keyword:netflix- المعنى
- مطابقة substring
- النمط
regexp:- مثال
regexp:.*\.cdn\.example\.com- المعنى
- Go regex
- النمط
ip-cidr:- مثال
ip-cidr:10.0.0.0/8- المعنى
- قاعدة IP
Q هل أحتاج إلى reconnect بعد تغيير Split DNS؟
عادةً لا تحتاج إلى ذلك. يتم hot-load لتغييرات إعدادات Split DNS.
الأوامر الشائعة:
panda split dns status
panda split dns local set 223.5.5.5 114.114.114.114
panda split dns policy tunnel-only
panda split dns fake-ip on
إذا كانت المنصة لا تدعم بعض مصادر local DNS، فسيعرض doctor warning.