پالت فرمان

دنبال فرمانی برای اجرا بگردید…

ZarynZaryn
شبکه‌های خصوصی و پروکسی·۱۳ دقیقه مطالعه·

وی‌پی‌ان برای کل رایانه (zev vpn)

sudo zev vpn on همهٔ برنامه‌ها را از سرور پروکسی خودتان می‌برد، با DNS و IPv6 آن‌ها، کیل‌سوییچ، سایت‌هایی که به پروکسی نیاز ندارند مستقیم، و آزمون نشتی (zev vpn check) که ثابت می‌کند هیچ چیز از کنارش نمی‌گذرد.

`zev proxy share` به برنامه‌ها پورت پروکسی‌ای می‌دهد که اگر برایش تنظیم شده باشند از آن استفاده می‌کنند. `zev vpn` هیچ تنظیمی نمی‌خواهد: **همهٔ برنامه‌های این رایانه**، پرسش‌های DNS و IPv6 آن‌ها، از سرور پروکسی شما می‌گذرند، همانی که `zev proxy use` برگزیده. فعلاً فقط برای لینوکس است. ```bash sudo zev vpn on --kill-switch # همه‌چیز از پروکسی؛ اگر بایستد چیزی نشت نمی‌کند zev vpn check # ثابتش کن: TCP، UDP (WebRTC)، DNS، IPv6 sudo zev vpn off # درست همان‌طور که بود ``` ```diagram type: graph title: وی‌پی‌ان چه چیزی را می‌برد، و چه چیزی مستقیم می‌ماند alt: ترافیک همهٔ برنامه‌ها به رابط zev0 می‌رود که موتور Xray آن را می‌خواند و از سرور پروکسی شما به اینترنت می‌فرستد؛ شبکهٔ محلی، شبکه‌های Docker و سایت‌های مستثنا مستقیم می‌روند؛ اتصال‌های خود موتور نشانه دارند تا دور نزنند legend: path=از پروکسی; path2=مستقیم، عمداً; new=اتصال‌های خود موتور (نشانه‌دار) start: همهٔ برنامه‌ها caption: یک رابط، zev0، همه چیز را می‌گیرد. روی هر بخش بروید تا ببینید چیست. height: 62 --- box این رایانه | 2 2 56 58 | dim node apps | همهٔ برنامه‌ها | 12 12 | folder | accent | مرورگرها، بازی‌ها، تلگرام، apt، دانلودهای Docker: هیچ تنظیم پروکسی در هیچ‌کدام node dns | DNS آن‌ها | 12 30 | log | | هر پرسش روی پورت 53 را تونل می‌گیرد، به هر جا که فرستاده شده باشد node lan | شبکهٔ محلی، Docker | 12 48 | host | good | هر چیزی که رایانه برایش مسیر دقیق‌تری دارد مستقیم می‌ماند node tun | zev0 | 34 21 | router | | یک رابط TUN: مسیرها همه چیز را به آن می‌فرستند node xray | موتور (Xray) | 48 21 | collector | | لینک شما را اجرا می‌کند؛ اتصال‌های خودش نشانهٔ 7701 دارند و از مسیر عادی بیرون می‌روند node proxy | سرور پروکسی شما | 74 21 | server | | مال خودتان: هیچ ترافیکی از آن از Zaryn نمی‌گذرد node web | اینترنت | 94 12 | cloud node ex | سایت‌های مستثنا | 94 40 | cloud | good | --exclude، و سایت‌هایی که zev proxy learn یافت روی این شبکه به پروکسی نیاز ندارند link apps tun | | path link dns tun | | path link tun xray | | path link xray proxy | | new link proxy web | | path link xray ex | | path2 note 30 56 | در هیچ برنامه‌ای چیزی برای تنظیم نیست | accent ``` ## در یک دقیقه شروع کنید ```diagram type: cards title: از هیچ تا وی‌پی‌ان --- 1️⃣ | یک سرور | zev proxy add home 'vless://…' --use، یا یک اشتراک: zev proxy sub add myvpn <url> (راهنمای پروکسی را ببینید) 2️⃣ | موتور | zev proxy engine install، یک بار (Xray، بررسی‌شده با SHA-256 آن) 3️⃣ | روشن | sudo zev vpn on --kill-switch: یک سرویس سیستمی که پس از راه‌اندازی دوباره هم روشن می‌ماند 4️⃣ | اثبات | zev vpn check: سایت‌ها، WebRTC و DNS حالا چه می‌بینند ``` `sudo` فقط شبکه را آماده می‌کند: پروکسی، راه‌حل‌ها و مسیرهایش مال خودتان می‌مانند (`~/.config/zev`)، و وی‌پی‌ان وقتی عوضشان کنید بی خاموش و روشن شدن دنبالشان می‌کند. ## همهٔ دستورها | دستور | نمونه | چه می‌کند | |---|---|---| | `sudo zev vpn on` | `sudo zev vpn on` | همهٔ برنامه‌ها از پروکسی، به شکل سرویسی (`zev-vpn`) که با رایانه روشن می‌شود | | `--kill-switch` | `sudo zev vpn on --kill-switch` | اگر وی‌پی‌ان به هر دلیلی بایستد، هیچ چیز مستقیم بیرون نمی‌رود؛ تا برگردد فقط شبکهٔ محلی کار می‌کند | | `--exclude` | `sudo zev vpn on --exclude bank.example.com,192.0.2.0/24` | این نام‌ها، نشانی‌ها یا بازه‌ها مستقیم می‌روند | | `zev vpn status` | `zev vpn status` | روشن یا خاموش، از کدام سرور، از کی، شروع‌های دوباره و ترمیم‌ها | | `zev vpn check` | `sudo zev vpn check` | آزمون نشتی پایین؛ با `sudo` نشانی خود این شبکه را هم برای مقایسه نشان می‌دهد | | `sudo zev vpn off` | `sudo zev vpn off` | رابط، مسیرها، قاعده‌ها و جدول دیوارهٔ آتش برداشته می‌شوند؛ چیزی باقی نمی‌ماند | | `direct --` | `sudo zev vpn direct -- steam` · `sudo zev vpn direct -- firefox --private-window` | یک برنامه (و هر چه اجرا می‌کند) بیرون از وی‌پی‌ان؛ بقیه داخل می‌مانند | | `direct` | `sudo zev vpn direct` | الان چه چیزی بیرون از وی‌پی‌ان اجرا می‌شود | | `pause` | `sudo zev vpn pause` · `sudo zev vpn pause 1h` · `sudo zev vpn pause forever` | همه‌چیز مستقیم برای مدتی (اگر نگویید ۱۰ دقیقه)، کیل‌سوییچ هم، بعد خودش برمی‌گردد | | `resume` | `sudo zev vpn resume` | همین الان مکث را تمام کن | | `trust` | `sudo zev vpn trust` · `sudo zev vpn trust ls` | روی این شبکه وی‌پی‌ان کنار می‌رود؛ روی هر شبکهٔ دیگری همه‌چیز را می‌برد | | `untrust` | `sudo zev vpn untrust this` · `sudo zev vpn untrust all` | آنجا دوباره وی‌پی‌ان همه‌چیز را می‌برد | | `zev proxy start --tun` | `zev proxy start --tun --kill-switch` | وی‌پی‌ان، پورت اشتراکی و تنظیم میزکار، با یک دستور (sudo را می‌پرسد) | | `zev proxy top` | `zev proxy top` | ترافیک زنده: وی‌پی‌ان، هر سرور، آنچه مستقیم رفته | | `zev proxy usage` | `zev proxy usage quota 50G` | حجم پروکسی روز به روز، سهمیهٔ ماهانه، اینکه به کجا می‌رسد ([حجم](/docs/fa/proxy#حجم-و-سهمیه-zev-proxy-usage)) | | `zev proxy learn on` | `zev proxy learn on` | سایت‌هایی که روی این شبکه بی پروکسی کار می‌کنند مستقیم می‌روند ([یادگیری](/docs/fa/proxy#فقط-آنچه-لازم-دارد-zev-proxy-learn)) | | `zev proxy why` | `zev proxy why youtube.com` | یک سایت از کدام راه می‌رود، و چرا ([چرا](/docs/fa/proxy#از-کدام-راه-و-چرا-zev-proxy-why)) | ## آزمون نشتی: zev vpn check وی‌پی‌انی که روشن است لزوماً وی‌پی‌انی نیست که همه چیز را بپوشاند. `zev vpn check` از اینترنت می‌پرسد چه می‌بیند، همان‌طور که یک سایت، یک مرورگر و یک سرور DNS می‌بینند: ```text $ sudo zev vpn check zev vpn check a leak test: what the internet sees of this computer ✓ the VPN is on (zev0), through vless proxy.example.com:443 tcp+tls ✓ sites see 185.220.101.4 (DE) this network's own address is 198.51.100.34 (FR): hidden ✓ UDP too (what WebRTC in a browser shows): 185.220.101.4 ✓ DNS: a question to an address with no DNS server was answered inside the tunnel; no DNS question leaves around it ✓ IPv6: none on this network, nothing to leak ✓ kill switch: on; if the tunnel drops, nothing leaves direct on purpose (--exclude): bank.example.com No leaks found. ``` ```diagram type: cards title: هر خط چه چیزی را ثابت می‌کند --- 🌐 | سایت‌ها می‌بینند | یک اتصال عادی به صفحهٔ trace کلادفلر، از برنامه‌ای بی تنظیم پروکسی: نشانی‌ای که هر سایتی می‌بیند 🏠 | نشانی خود این شبکه | با sudo، همان درخواست با نشانه‌ای که از کنار تونل می‌رود: اگر هر دو یکی باشند، ترافیک در تونل نیست 🎥 | فقط UDP یا WebRTC | یک درخواست STUN، همان‌طور که WebRTC مرورگر نشانی شما را برای تماس پیدا می‌کند: نشتی معروف وی‌پی‌ان‌ها. اگر UDP از جای دیگری بیرون بیاید، سایت‌ها نشانی واقعی شما را می‌بینند 🔎 | پرسش DNS | پرسشی DNS به 192.0.2.53 فرستاده می‌شود، نشانی‌ای که هیچ سرور DNS آنجا نیست. فقط چیزی که همهٔ پرسش‌های DNS را می‌گیرد می‌تواند جواب دهد: تونل. پس DNS هیچ برنامه‌ای از کنارش نمی‌گذرد 6️⃣ | نشانی IPv6 | یک نشانی عمومی IPv6 روی این رایانه راهی برای دور زدن تونلی است که فقط IPv4 است: کیل‌سوییچ آن را می‌بندد 🔒 | کیل‌سوییچ | روشن یا خاموش، و اینکه اگر وی‌پی‌ان بایستد چه می‌شود ``` خطی با `✗` یک نشتی است، همراه با کاری که باید کرد؛ آنگاه `zev vpn check` با وضعیت ۱ تمام می‌شود، پس اسکریپت‌ها می‌توانند به آن تکیه کنند. وقتی وی‌پی‌ان خاموش است، برای مقایسه نشان می‌دهد الان چه چیزی از رایانه بیرون می‌رود. ## کیل‌سوییچ ```diagram type: flow title: وقتی وی‌پی‌ان می‌ایستد، با --kill-switch --- در حال کار | همه چیز از zev0 و پروکسی می‌گذرد | good | 🛡️ ~ موتور از کار می‌افتد، سرور از دسترس می‌رود، سرویس کشته می‌شود بسته | جدولی در دیوارهٔ آتش (inet zev_vpn) جز شبکهٔ محلی و خود سرور پروکسی چیزی را بیرون نمی‌گذارد | warn | 🔒 ~ systemd سرویس را دوباره راه می‌اندازد برگشت | موتور کار می‌کند و ترافیک دوباره از تونل می‌گذرد؛ در این میان هیچ چیز مستقیم بیرون نرفت | good | ✅ ~ دستور sudo zev vpn off خاموش | جدول، مسیرها و رابط برداشته می‌شوند: رایانه همان‌طور است که بود | dim | 🏠 ``` بدون `--kill-switch`، تا وی‌پی‌ان خاموش است ترافیک مستقیم بیرون می‌رود، که روی شبکه‌ای که آنلاین بودن را به حریم خصوصی ترجیح می‌دهید بهتر است. ## چه چیزی مستقیم می‌رود ```bash sudo zev vpn on --exclude bank.example.com,192.0.2.0/24 # این نام‌ها و بازه‌ها مستقیم می‌روند sudo zev vpn on --kill-switch --exclude intranet.example # و اگر وی‌پی‌ان قطع شود هیچ چیز دیگری بیرون نمی‌رود sudo zev vpn run --for 60 # وی‌پی‌ان در این ترمینال برای یک دقیقه (همان که سرویس اجرا می‌کند؛ اول با sudo zev vpn on راه‌اندازی شود) ``` - **شبکهٔ محلی، شبکه‌های Docker، شبکه‌های خصوصی**: هر چیزی با مسیری دقیق‌تر از پیش‌فرض، تا چاپگر، NAS و کانتینرها کار کنند. - **`--exclude`**: نام‌ها (و همهٔ نام‌های زیرشان)، نشانی‌ها و بازه‌های CIDR که فهرست می‌کنید. - **مسیرهای شما**: `zev proxy route direct …` و بقیه برای وی‌پی‌ان هم به کار می‌روند. - **یک برنامه**: آنچه با `sudo zev vpn direct -- <program>` اجرا کرده‌اید ([پایین‌تر](#یک-برنامه-بیرون-zev-vpn-direct)). - **در مدت مکث، و روی شبکه‌های مورد اعتماد**: همه‌چیز ([مکث](#یک-وقفه-zev-vpn-pause)، [اعتماد](#شبکههای-مورد-اعتماد-zev-vpn-trust)). - **آنچه zev یاد گرفته**: با [`zev proxy learn on`](/docs/fa/proxy#فقط-آنچه-لازم-دارد-zev-proxy-learn)، سایت‌هایی که اندازه‌گیری نشان داده روی این شبکه بی پروکسی کار می‌کنند مستقیم می‌روند: سریع‌ترند و حجم پروکسی را مصرف نمی‌کنند. در وی‌پی‌ان، zev از نام‌هایی که برنامه‌ها می‌پرسند یاد می‌گیرد. `zev proxy why <site>` می‌گوید کدام‌یک از این‌ها برای یک سایت صدق می‌کند. ## یک برنامه بیرون: zev vpn direct بعضی برنامه‌ها نباید از وی‌پی‌ان بگذرند: بانکی که نشانی‌های خارجی را رد می‌کند، بازی‌ای که کمترین تأخیر را می‌خواهد، تماس تصویری روی شبکهٔ اداره. فقط همان برنامه را بیرون از آن اجرا کنید؛ بقیه داخل می‌مانند: ```bash sudo zev vpn direct -- steam sudo zev vpn direct -- firefox --private-window sudo zev vpn direct -- curl -s https://example.com/ # بررسی: این یکی مستقیم می‌رود sudo zev vpn direct # الان چه چیزی بیرون اجرا می‌شود ``` ```text Outside the VPN now 48213 steam 48290 steamwebhelper ``` برنامه با کاربر خودتان اجرا می‌شود (نه root)، و هر چه اجرا کند هم بیرون می‌ماند. با کیل‌سوییچ روشن هم کار می‌کند: ترافیکش علامت می‌خورد که اجازه دارد مستقیم برود، و فقط ترافیک خودش. نام‌هایی که می‌پرسد همچنان از DNS وی‌پی‌ان می‌گذرند، پس چیزی دربارهٔ بقیهٔ کامپیوتر تغییر نمی‌کند. ```diagram type: flow title: دو برنامه، دو راه --- یک برنامه | بقیه، مثل قبل | | 🌐 ~ داخل تونل zev vpn | از راه سرور پراکسی شما | accent | 🔒 ~ steam | با zev vpn direct اجرا شده | good | 🎮 ~ علامت‌خورده: مسیر خود کامپیوتر مستقیم | از وای‌فای یا کابل بیرون می‌رود، کیل‌سوییچ اجازه می‌دهد | | ➡️ ``` چطور: برنامه در cgroup خودش (`zev-direct`) شروع می‌شود؛ یک قاعدهٔ دیوارهٔ آتش اتصال‌های آن cgroup را علامت می‌زند، و اتصال‌های علامت‌خورده مسیر خود کامپیوتر را می‌روند، همان‌طور که موتور zev به سرور پراکسی می‌رسد. `sudo zev vpn off` قاعده و cgroup را برمی‌دارد. ## یک وقفه: zev vpn pause چند دقیقه اتصال واقعی لازم دارید (صفحهٔ ورود یک شبکه، سایتی که وی‌پی‌ان را مسدود می‌کند، تست سرعت خط خودتان)؟ مکثش کنید؛ خودش برمی‌گردد: ```bash sudo zev vpn pause # ۱۰ دقیقه sudo zev vpn pause 30s sudo zev vpn pause 1h30m sudo zev vpn pause forever # تا وقتی خودتان ادامه بدهید sudo zev vpn resume # همین الان مکث را تمام کن ``` ```text ⏸ VPN paused for 1 min: traffic goes directly, the kill switch is off too. The engine keeps running, so it comes back at once. sudo zev vpn resume ends the pause now. ``` `zev vpn status` نشان می‌دهد چقدر مانده. در مدت مکث کیل‌سوییچ هم کنار می‌رود (معنی مکث همین است)؛ با وی‌پی‌ان برمی‌گردد. ## شبکه‌های مورد اعتماد: zev vpn trust ممکن است در خانه وی‌پی‌ان نخواهید؛ روی وای‌فای کافه می‌خواهید. شبکه‌هایی را که به آن‌ها اعتماد دارید علامت بزنید: آنجا وی‌پی‌ان خودش کنار می‌رود، و روی هر شبکهٔ دیگری همه‌چیز را می‌برد: ```bash sudo zev vpn trust # شبکه‌ای که الان رویش هستید sudo zev vpn trust ls sudo zev vpn untrust this # یا نامی از فهرست، یا all ``` ```diagram type: flow title: همان لپ‌تاپ، سه شبکه --- خانه | مورد اعتماد: ترافیک مستقیم می‌رود | good | 🏠 ~ بیرون می‌روید وای‌فای کافه | نه مورد اعتماد: همه‌چیز از وی‌پی‌ان، کیل‌سوییچ روشن | accent | ☕ ~ برمی‌گردید خانه | دوباره مستقیم، خودبه‌خود | good | 🏠 ``` هر شبکه با روترش (نشانی و نشانی سخت‌افزاری‌اش) شناخته می‌شود و هر پنج ثانیه بررسی می‌شود، پس به‌محض وصل شدن به شبکهٔ دیگر جابه‌جایی انجام می‌شود. این فقط وقتی مهم است که وی‌پی‌ان روشن باشد: اعتماد به یک شبکه هیچ‌وقت خودش وی‌پی‌ان را روشن یا خاموش نمی‌کند، و هیچ چیز با روشن شدن کامپیوتر شروع نمی‌شود مگر اینکه `sudo zev vpn on` را اجرا کرده باشید. هر مکث، شبکهٔ مورد اعتماد و برگشت در تاریخچه نوشته می‌شود ([zev proxy history](/docs/fa/proxy#چطور-دوام-آورد-zev-proxy-history)). ## چطور کار می‌کند ```diagram type: sequence title: یک اتصال از وی‌پی‌ان lanes: برنامه | zev0 و موتور | سرور پروکسی | سایت alt: یک برنامه به روال عادی وصل می‌شود؛ مسیرها بسته‌هایش را به zev0 می‌فرستند؛ موتور آن‌ها را می‌خواند، نام سایت را پیدا می‌کند، مسیرها را بررسی می‌کند و اتصال را با نشانهٔ 7701 از سرور پروکسی می‌فرستد تا از مسیر عادی بیرون برود؛ سایت از راه پروکسی جواب می‌دهد --- برنامه -> zev0 و موتور : اتصال به 104.16.124.96:443، مثل همیشه zev0 و موتور -> zev0 و موتور : نام از سلام TLS (www.cloudflare.com)، سپس مسیرها: مستقیم یا پروکسی zev0 و موتور -> سرور پروکسی : از راه لینک شما، با نشانهٔ 7701 تا دور نزند سرور پروکسی -> سایت : اتصال، از نشانی سرور سایت --> برنامه : جواب، از همان راه برمی‌گردد note zev0 و موتور : پرسش DNS روی پورت 53 هرگز بیرون نمی‌رود: موتور آن را روی HTTPS جواب می‌دهد | good ``` zev رابط `zev0` را می‌سازد (172.19.0.1/30)، قاعده‌های مسیریابی سیاستی می‌گذارد (نشانهٔ 7701 به جدول اصلی، بقیه به جدول 7701 که به `zev0` اشاره دارد)، systemd-resolved را به DNS تونل (172.19.0.2) می‌فرستد و موتور را به شکل سرویس systemd از نسخهٔ خودش در `/var/lib/zev/vpn` که مال root است اجرا می‌کند. `sudo zev vpn off` همهٔ این‌ها را برمی‌دارد. ## خودش درست می‌شود سرویس هر ۳۰ ثانیه بررسی می‌کند که ترافیک واقعاً می‌گذرد. پس از سه شکست پشت سر هم به شما خبر می‌دهد، [`zev proxy doctor`](/docs/fa/proxy#وقتی-کار-نمیکند-zev-proxy-doctor) را اجرا می‌کند (دروغ DNS، پورت بسته، فیلتر SNI، ساعت نادرست)، راه‌حل را برای این شبکه ذخیره می‌کند و موتور را با آن دوباره راه می‌اندازد. سروری که از کار بیفتد خودبه‌خود با بعدی گروه جایگزین می‌شود. با کیل‌سوییچ روشن، zev برای اجرای doctor وی‌پی‌ان را متوقف نمی‌کند. ## با zev dns وی‌پی‌ان همین حالا همهٔ پرسش‌های DNS را به تونل می‌برد. [zev dns](/docs/fa/dns) برای وقتی است که وی‌پی‌ان خاموش است، یا برای نام‌هایی که مستقیم می‌فرستید: پیدا می‌کند کدام سرورهای DNS روی این شبکه راست می‌گویند، امضاهای DNSSEC را خودش بررسی می‌کند و DNS خود شبکه را پشتشان نگه می‌دارد. با هم کار می‌کنند؛ هیچ‌کدام تنظیمات دیگری را عوض نمی‌کند. ## وقتی چیزی درست نیست | می‌بینید | یعنی | چه کنید | |---|---|---| | `zev vpn check`: UDP از جای دیگری بیرون می‌آید | پروتکل یا تنظیم سرور پروکسی UDP را نمی‌برد، یا چیزی آن را دور می‌زند | لینکی که UDP را می‌برد (VLESS، Trojan، Hysteria2، WireGuard)؛ `--kill-switch` در این میان جلوی نشتی را می‌گیرد | | `zev vpn check`: هشدار IPv6 | این شبکه به شما IPv6 عمومی می‌دهد و تونل IPv4 است | `sudo zev vpn on --kill-switch` | | هیچ چیز باز نمی‌شود، `zev vpn status` می‌گوید failing | سرور از این شبکه در دسترس نیست | `zev proxy doctor`، یا سروری دیگر: `zev proxy use auto` | | سایتی فقط بدون وی‌پی‌ان کار می‌کند | بازدیدکنندهٔ کشور پروکسی را نمی‌پذیرد | `zev proxy route direct that-site.example`، یا `zev proxy learn` | | `sudo zev vpn on` روی macOS یا ویندوز | هنوز نه | `zev proxy share on` همراه با `zev proxy system on` | ## امنیت - سرویس نسخه‌ای از موتور را اجرا می‌کند که مال root است، هرگز فایلی که حساب کاربری شما بتواند جایگزینش کند. - بررسی گواهی‌ها روشن می‌ماند و لینک می‌تواند گواهی سرور را سنجاق کند. - نام‌هایی که zev از آن‌ها یاد می‌گیرد در پوشهٔ سرویس نگه داشته می‌شوند، فقط برای root خواندنی، و پس از هر اندازه‌گیری (هر نیم ساعت) پاک می‌شوند. - `sudo zev vpn off`، یا ایستادن سرویس بدون کیل‌سوییچ، مسیریابی و DNS را همان‌طور که بود برمی‌گرداند.