مبانی 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 |
حالت پیشفرض. براساس API / فراداده نود یک runtime پیشنهاد میکند و در صورت شکست به 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 بر اساس
meta.protocol، runtime را با اولویت انتخاب میکند؛ - اگر 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 برای مشاهده این استفاده میشود که یک هدف از کدام rule، 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 استفاده میکنید، سپس 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 چگونه logs را مشاهده کنم؟
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 محلی standalone است، packet VPN / TUN ندارد و محافظت معادل DNS و routing را نیز فراهم نمیکند. بنابراین 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
این یک مکانیزم عمومی reconnect خودکار در runtime نیست.
Q Split rules چیست؟
Split rules برای مشخص کردن این استفاده میشود که برخی دامنهها، کلمات کلیدی، regex یا IP از مسیر proxy، direct یا block عبور کنند.
فایلهای rules:
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، pending auto-connect که منتظر retry است بهطور خودکار wake نمیشود.
پیشنهاد میشود پس از login بهصورت دستی اجرا کنید:
panda connect
Q Split rules از چه syntaxهایی پشتیبانی میکند؟
- Pattern
- دامنه bare
- مثال
example.com- معنی
- تطبیق suffix
- Pattern
domain:- مثال
domain:api.example.com- معنی
- host دقیق
- Pattern
suffix:- مثال
suffix:google.com- معنی
- تطبیق suffix
- Pattern
- مثال
- معنی
- google.com
- تطبیق suffix
- Pattern
keyword:- مثال
keyword:netflix- معنی
- تطبیق substring
- Pattern
regexp:- مثال
regexp:.*\.cdn\.example\.com- معنی
- Go regex
- Pattern
ip-cidr:- مثال
ip-cidr:10.0.0.0/8- معنی
- قانون IP
Q آیا پس از تغییر Split DNS نیاز به reconnect است؟
معمولاً نیازی نیست. تغییرات پیکربندی Split DNS به صورت hot-load اعمال میشود.
دستورهای رایج:
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 نشان میدهد.