VPN برای شبکههایی که VPN را میبندند
Veilway نرمافزاری متنباز برای راهاندازی سرور VPN شخصی روی شبکهای سانسورشده یا ناامن است، برای خودتان یا یک گروه کوچک. نسخهٔ فعلی، v0.3.11-alpha، سرور و پنل وب آن را با یک اسکریپت یا Docker نصب میکند. برنامههای ویندوز، لینوکس و اندروید به آن وصل میشوند. برای macOS فقط کلاینت خط فرمان هست و هنوز برنامهای برای آیفون نیست.
- یک سرور لینوکس بیرون از ایران اجاره کنید.
- روی آن یک دستور اجرا کنید، بعد پنل را باز کنید و یک کاربر اضافه کنید.
- برنامه را نصب کنید و لینک کاربر را در آن بگذارید.
کسی به شما لینک داده؟ برنامه را دانلود کنید.
آلفاهنوز هیچ بازبینی امنیتی بیرونی نداشته است. همهٔ روشهای اتصال قابل شناساییاند: شبکهای که با دقت نگاه کند میتواند آنها را بشناسد. هیچکدام در مقیاس بزرگ در برابر فیلترینگ ایران آزموده نشدهاند. برنامهٔ ویندوز هرگز روی یک PC واقعی به نود وصل نشده است. منتظر باگ باشید و آنها را به ما گزارش کنید.
نصب سرور
روی یک سرور لینوکس تازه، این را با دسترسی root اجرا کنید. چند سؤال میپرسد و در پایان نشانی پنل شما را چاپ میکند.
curl -fsSL https://raw.githubusercontent.com/veilway-project/veilway/main/scripts/veilway.sh | sudo bashگزینههای بیشتر در راهنما هست.
دانلود
اینها در صفحهٔ انتشار v0.3.11-alpha هستند:
- ویندوز
- برنامهٔ دسکتاپ، بهصورت نصبکننده.
- لینوکس
- برنامهٔ دسکتاپ، بهصورت
.debو.rpm. - اندروید
- برنامه، برای arm64.
- لینوکس، macOS، ویندوز
- کلاینت خط فرمان و نود.
- برنامهٔ آیفون و مک
- برای آیفون و مک هنوز برنامهای نیست.
آینههای نصبکننده امضا دارند و انتشار قدیمیتر را رد میکنند. پنل نسخههای جداگانهٔ خودش را دارد. اسکریپت نصب هر دو را برایتان دانلود میکند.
چه چیزی را متفاوت انجام میدهد
خود تونل استاندارد میماند. تلاش اصلی برای رساندن آن از شبکه است، و برای یک مجموعه ابزار یکپارچه از سرور تا گوشی.
-
رمزنگاری خود WireGuard
تونل همان WireGuard دستنخورده است و با boringtun کار میکند. Veilway فقط راه رسیدن تونل را میسازد و رمزنگاری تازهای اختراع نمیکند.
-
روشهای اتصال برای جایی که UDP بسته است
تونل میتواند از راه UDP مبهمسازیشده، TLS، WebSocket یا یک مسیر پنهان پشت CDN برود. کسی که بدون حساب کاربری سرور را بررسی کند، همان پاسخ معمولی وبسایت خود اپراتور را میگیرد.
-
یک موتور برای سرور و برنامهها
سرور و برنامهها روی یک هستهٔ Rust ساخته میشوند. این هسته یک کتابخانه هم هست، برای هر کسی که یک موتور WireGuard در برنامهٔ خودش میخواهد. درخواستهای اشتراک سرتاسر رمزنگاری میشوند و برنامهها پیش از استفاده از نشانی پشتیبان بهروزرسانی میپرسند.
-
ورود از یک سرور، خروج از سروری دیگر
دو سرور را میشود به هم وصل کرد تا کاربران به یکی وصل شوند و ترافیکشان از دیگری بیرون برود. راهنمای تونل ورودی در ایران و خروجی در خارج را میسازد. اپراتورها آنها را در پنل یا از خط فرمان با دو کد جفت میکنند و یک اثر انگشت را با هم مقایسه میکنند. یک پنل میتواند چند سرور را هم اداره کند، با یک اشتراک و یک سهمیه برای همهٔ آنها.
-
کنار برنامههای Xray و v2ray کار میکند
Veilway جای Xray، 3x-ui یا v2ray را نمیگیرد. افزونهٔ اختیاری Xray بهطور پیشفرض خاموش است. بعد از نصب آن، برنامههای استاندارد میتوانند با VLESS، Trojan یا Shadowsocks وصل شوند و ترافیکشان در همان سهمیهها حساب میشود و از همان قانونها پیروی میکند.
-
فارسی و انگلیسی از روز اول
سیستم طراحی و مستندات به هر دو زبان نوشته شدهاند، با چیدمان راستبهچپ، رقمهای فارسی و تاریخ شمسی، و هر برنامهای که روی آنها ساخته شود هم همینطور است.
پنج روش اتصال، یک تونل
- UDP سادهudp
- UDP مبهمسازیشدهudp-obfs
- TLStls
- WebSocketws
- مسیر پنهان پشت CDNfronted
کار به کجا رسیده
جایی که از کار افتادن Veilway شما را به خطر میاندازد، به آن تکیه نکنید. هیچ بخشی از آن در برابر بازرسی عمیق بستهها (DPI) یا کاوش فعال آزموده نشده، و مشخصات پروتکلش پیشنویسی است که فقط خود پروژه بازبینیاش کرده است.
چه چیزی آزموده شده
- سرور و پنل
- آزمون alpha یک سرور تازهٔ systemd را از فایلهای امضاشدهٔ انتشار نصب میکند و یک کلاینت را وصل میکند، و ۵۵ بررسی را میگذراند. آزمون Xray ۱۱۹ بررسی را میگذراند.
- لینوکس
- یک بررسی ۷۰نقطهای در Docker، با یک نود و کلاینت واقعی.
- اندروید
- روی یک گوشی واقعی با یک نود دمو به کار رفته است.
- ویندوز
- آزمونهای واحد و یک آزمون کوتاه روی یک ماشین ویندوزی سرویس ساخت خودکار (CI). کارت شبکه، مسیرها، قاعدهٔ DNS و قطع اضطراری اثر میکنند و چیزی نشت نمیکند. هرگز روی یک PC واقعی به نود وصل نشده است.
- macOS و آیفون
- برنامهٔ macOS و برنامهٔ آیفون وجود ندارد. کلاینت خط فرمان macOS فقط آزمونهای واحد روی یک ماشین مک سرویس ساخت خودکار (CI) دارد و هرگز روی یک Mac واقعی اجرا نشده است.
آنچه امروز کار میکند
- سروری که WireGuard را برای کاربران زیادی روی پنج روش اتصال اجرا میکند، با قانونهای مسیریابی، سهمیه و بارگذاری دوبارهٔ پیکربندی. کسی که بدون حساب کاربری سرور را کاوش کند، وبسایت خود اپراتور را میبیند.
- یک پنل وب به فارسی و انگلیسی: کاربران، دستگاهها، لینکهای اشتراک و کد QR، خروجیها، مسیریابی، تاریخچهٔ ترافیک، پشتیبانگیری و بازیابی، و یک API مدیریتی.
- اشتراکهایی که در راه خصوصی میمانند: درخواست و پاسخ سرتاسر رمزنگاری میشوند، پس آینهٔ رله چیزی از آنها نمیبیند.
- برنامههای دسکتاپ برای ویندوز و لینوکس و یک برنامهٔ اندروید (arm64)، به فارسی و انگلیسی. اشتراک را با لینک یا فایل وارد میکنند، با یک دکمه وصل میشوند و قطع اضطراری دارند.
- اتصال دو سرور به هم، و یک افزونهٔ اختیاری Xray تا برنامههای استاندارد بتوانند وصل شوند.
بقیه در صفحهٔ آلفا در مستندات هست.
هنوز ساخته نشده
برنامهٔ اندروید هنوز به پیوندهای Xray وصل نمیشود، و افزونهٔ سرور VMess، Reality و خروجیهای l3 یا chain را ندارد. تونل تفکیکی (split tunneling) و ساختهای فروشگاه برای انتشاری بعدی برنامهریزی شدهاند. HTTP/2 و شکلهای fronted هنوز پشت یک CDN واقعی اجرا نشدهاند.
بخوانید، اجرا کنید، گزارش دهید
همهچیز آشکارا و در سازمان veilway-project در GitHub انجام میشود.
-
مستندات
راهنمای نصب، راهنماها، مرجع پیکربندی و مشخصات پروتکل. صفحههای پروتکل به فارسی هنوز فقط طرح کلی دارند.
veilway-project.github.io/veilway-docs -
کد
هسته، API کنترل، برنامهها و اسکریپت نصب. برنامهها و نود در صفحهٔ نسخههای آن هستند.
github.com/veilway-project/veilway -
پنل
پنل وب برای گرداندن سرور: کاربران، دستگاهها، لینکهای اشتراک، اتصال سرورها و آینهها، و API مدیریتی.
github.com/veilway-project/veilway-panel -
سیاست امنیتی
آسیبپذیری را بهصورت خصوصی و از راه فرم GitHub گزارش دهید، هرگز در یک issue عمومی.
SECURITY.md -
مشارکت
پیش از نخستین pull request این را بخوانید. در همان بار اول از شما خواسته میشود CLA را امضا کنید.
CONTRIBUTING.fa.md -
همهٔ مخزنها
هسته، پنل، مستندات و سیستم طراحی، هر کدام در مخزن خودش.
github.com/veilway-project