شروع به کار
این صفحه آلفای v0.3.10-alpha را نصب میکند. فایلها از صفحهٔ انتشار هسته و صفحهٔ انتشار پنل میآیند. اول نسخهٔ آلفا را بخوانید تا بدانید چه دارد و کجا محدود است.
چه چیزی لازم است
Section titled “چه چیزی لازم است”- یک سرور لینوکسی با systemd، x86_64 یا aarch64، که از اینترنت روی درگاههایی که انتخاب میکنید در دسترس باشد.
- دسترسی root (با
sudo) وcurl. اگرminisignنباشد، اسکریپت آن را از مدیر بسته نصب میکند. - برای پنل: یک نام دامنه که به سرور اشاره کند. اسکریپت میتواند وبسرور و گواهی را راه بیندازد (به یک وبسرور جلوی پنل بگذارید نگاه کنید)، یا وبسرور خودتان را بیاورید.
نصب با اسکریپت
Section titled “نصب با اسکریپت”اسکریپت روش پیشنهادی است. نود، پنل یا هر دو را نصب میکند و اول هر دانلود را بررسی میکند.
نصب با یک خط:
curl -fsSL https://raw.githubusercontent.com/veilway-project/veilway/main/scripts/veilway.sh | sudo bashبرای منو یا اجرای یک دستور، اول فایل را دانلود کنید:
curl -fsSL -o veilway.sh https://raw.githubusercontent.com/veilway-project/veilway/main/scripts/veilway.shsudo bash veilway.shگزینهٔ 1 (نصب) و بعد node، panel یا both (پیشفرض) را انتخاب کنید. برای رد کردن منو، sudo bash veilway.sh install both را اجرا کنید.
آنچه نصب روی سرور میگذارد
Section titled “آنچه نصب روی سرور میگذارد”- نود، در
/usr/local/bin/veilway، و سرویس آن،veilway.service. - پنل، در
/usr/local/bin/veilway-panel، و سرویس آن،veilway-panel.service. - دو کاربر سیستمی بدون پوستهٔ ورود:
veilwayبرای نود وveilway-panelبرای پنل. - پوشهٔ پیکربندی
/etc/veilwayو پوشههای داده/var/lib/veilwayو/var/lib/veilway-panel. - یک نسخهٔ پیکربندی نمونه از انتشار، و اگر نود هنوز پیکربندی نداشته باشد، یک پیکربندی اولیه.
اسکریپت را بدون آرگومان اجرا کنید:
| کلید | کار | دستور |
|---|---|---|
| 1 | نصب | install node|panel|both |
| 2 | بهروزرسانی | update (هر دو) |
| 3 | وضعیت | status |
| 4 | گزارشها | logs node یا logs panel |
| 5 | راهاندازی مجدد | restart (هر دو) |
| 6 | بررسی | check |
| 7 | تشخیص | doctor |
| 8 | پشتیبانگیری | backup |
| 9 | بازگردانی | restore <file> |
| 10 | حذف | uninstall |
| 11 | افزونهها | addon xray status، و بعد میپرسد که نصب یا حذف شود |
| 12 | مدیران | admin list، و بعد نام کاربریای را میپرسد که گذرواژهٔ تازه بگیرد |
| 0 | خروج |
دستورها
Section titled “دستورها”| دستور | کاری که انجام میدهد |
|---|---|
install node|panel|both|mirror [--version vX.Y.Z] |
بخشهای انتخابشده را از آخرین نسخه، یا از برچسبی که میدهید، نصب میکند. mirror یک آینهٔ رله از نقطهٔ پایانی اشتراک نصب میکند. آینههای رله را ببینید. |
install panel|both --domain <name> [--web caddy|nginx] |
علاوه بر آن برای آن دامنه یک وبسرور با HTTPS راه میاندازد، و برای هر مسیر دیگر یک سایت ساده. یک وبسرور جلوی پنل بگذارید را ببینید. |
install panel|both --no-two-step |
نصب تازهٔ پنل میپرسد که هنگام ورود کد برنامهٔ احراز هویت خواسته شود یا نه، و جواب بله است مگر نه بگویید. این گزینه بدون پرسیدن نه میگوید. پیشنهاد نمیشود: با خاموش بودنش، رمز مدیر بهتنهایی پنل را باز میکند. از v0.3.4. |
update [node|panel|mirror|both] |
آخرین نسخه یا برچسبی که میدهید را نصب میکند و سرویس را دوباره راه میاندازد. نصبکنندهٔ ذخیرهشده، /usr/local/sbin/veilway.sh، را هم با نسخهٔ امضاشدهٔ همان انتشار جایگزین میکند، هرگز با نسخهٔ قدیمیتر. دکمههای بهروزرسانی پنل آن را اجرا میکنند. بهروزرسانی پنل را ببینید. |
status |
وضعیت و نسخهٔ هر سرویس و پوشههای پیکربندی و وضعیت را نشان میدهد. root لازم ندارد. با root نشانی صفحههای مدیریت پنل، مسیر اشتراک و نام کاربری مدیران را هم نشان میدهد. |
logs [node|panel|mirror] |
۱۰۰ خط آخر گزارش سرویس را دنبال میکند. |
restart [node|panel|mirror|both] |
سرویس را دوباره راه میاندازد. راهاندازی مجدد نود همهٔ تونلهای زنده را لحظهای قطع میکند. |
check |
دستور veilway check را روی پیکربندی نود اجرا میکند. |
doctor |
دستور veilway doctor را با مسیرهای خود سرویس روی نود اجرا میکند. فقط میخواند. |
backup [file] |
یک tar.gz از پیکربندی، وضعیت مصرف نود، دادههای پنل و پیکربندی آینه مینویسد. کلید دارد، و تا وقتی gateway.next روی سرور است آن را هم، پس خصوصی نگهش دارید. |
restore <file> |
بعد از تأیید شما پشتیبان را بازمیگرداند. اول فایلهای فعلی را ذخیره میکند. |
admin [list|reset <username>] |
list نام کاربری مدیران را نشان میدهد. reset برای قفل شدن است: دو بار گذرواژهٔ تازهای با ۱۲ نویسه یا بیشتر میپرسد، آن را به آن مدیر میدهد و او را از همهجا بیرون میاندازد. کلید احرازگر و توکنهای API او میمانند. پنل v0.2.5 یا تازهتر لازم است. |
addon xray [install|remove|status] |
افزونهٔ Xray را نصب، حذف یا وضعیتش را نشان میدهد. پیشفرض install است. یک انتشار سنجاقشده از Xray-core رسمی را دانلود میکند و اگر SHA-256 آن با مقدار داخل اسکریپت یکی نباشد رد میکند. فایل اجرایی xray در /usr/local/lib/veilway/addons/xray میرود، با مالک root. Xray با کاربر جدای veilway-xray اجرا میشود و نود وقتی پیکربندیاش ورودی Xray دارد آن را راه میاندازد. افزونهٔ Xray را ببینید. |
mirror-sync <folder> [--version vX.Y.Z] |
یک انتشار نود و پنل را با امضاها و اشارهگرهای امضاشدهٔ latest در پوشهای با چینش GitHub کپی میکند و هر فایل را پیش از ذخیره بررسی میکند. پوشه را سرو کنید یا روی فلش ببرید. نصب از یک آینه را ببینید. root لازم ندارد. |
uninstall |
فایلهای اجرایی، یونیتها و خود نصبکننده را حذف میکند. پیش از حذف پیکربندی و دادهها میپرسد. پشتیبانها میمانند. تنظیمات وبسرور تا uninstall web میماند، که نصبکننده لازم دارد. |
uninstall web |
آنچه --domain راه انداخته را برمیگرداند: فایل سایت، سایت ساده اگر ویرایشش نکرده باشید، not_found پنل، و بستههایی که اسکریپت نصب کرده. |
version |
نسخهٔ اسکریپت، نود و پنل را چاپ میکند. |
پرچمها:
--dry-runمیگوید دستور چه میکرد و چیزی را عوض نمیکند.--yes(یا-y) به هر پرسش جواب پیشفرضش را میدهد.--version <tag>بهجای آخرین نسخه، یک برچسب انتشار را انتخاب میکند.--allow-downgradeاجازه میدهد--versionبرچسبی قدیمیتر از نسخهٔ نصبشده بگیرد. بدون آن اسکریپت رد میکند، و با آن هشدار میدهد.--mirror <url>از یک آینه نصب میکند (برای چند آینه تکرار کنید). نصب از یک آینه را ببینید.--mirror-onlyهرگز به GitHub برنمیگردد.--domain <name>و--web caddy|nginxیک وبسرور برای پنل راه میاندازند. پیشفرضcaddyاست.
متغیرهای محیطی:
NO_COLORرنگها را خاموش میکند.VEILWAY_PANEL_PORTدرگاه پنل را تعیین میکند. پیشفرض8480است.VEILWAY_MIRRORSنشانی آینهها را میگیرد، جدا شده با فاصله. بعد از--mirrorها امتحان میشوند.
دانلودهای بررسیشده
Section titled “دانلودهای بررسیشده”هر دانلود یک امضای minisign دارد. اسکریپت آن را با کلید عمومی داخل خودش بررسی میکند و اگر شکست بخورد میایستد. «Trusted comment» امضا باید برای نود veilway <tag> <asset> و برای پنل veilway-panel <tag> <asset> باشد، تا امضای یک فایل برای فایل دیگر کار نکند. بدون بررسی چیزی نصب نمیشود.
اگر مدیر بستهتان minisign ندارد (اوبونتو ۲۲.۰۴، دبیان ۱۱)، اسکریپت نسخهٔ 0.11 سازندهاش را در /usr/local/bin نصب میکند و اول آن را با SHA-256 سنجاقشده در اسکریپت بررسی میکند.
راهاندازی نود
Section titled “راهاندازی نود”install node تازه، اگر فایل نباشد، /etc/veilway/node/config.json را مینویسد، با مالک veilway و حالت 0600. پیکربندی اولیه اینها را دارد:
- یک خروجی به نام
This serverکه از اتصال خود نود بیرون میرود - بدون ورودی، پس هنوز هیچ دستگاهی نمیتواند وصل شود
- بدون کاربر
- دو قاعدهٔ مسیریابی: یکی ترافیک بین کاربران را رد میکند و یکی نشانیهای خصوصی را.
اسکریپت veilway check را اجرا میکند و نود را فقط اگر بگذرد راه میاندازد. اگر نگذرد، نود متوقف میماند و اسکریپت دلیلش را میگوید.
نود بدون ورودی هنوز کاری نمیکند. یک ورودی در پنل، زیر ورودیها، اضافه کنید. ساخت کلید کنار کلید خصوصی ورودی کلید میسازد و پنل نیمهٔ عمومی را خودش پر میکند. اولین ورودی و کاربر از اولین ورود تا لینک کاربر را میگوید. راهنمای پنل بقیه را توضیح میدهد.
برای بررسی پیکربندی در هر زمان، sudo bash veilway.sh check را اجرا کنید.
راهاندازی پنل
Section titled “راهاندازی پنل”install panel فایل /etc/veilway/panel.json را یک بار مینویسد و فایل موجود را هرگز عوض نمیکند. پنل فقط روی 127.0.0.1:8480 گوش میدهد، کوکیهایش امن (secure) هستند و مسیر مدیریتش تصادفی است، مثلاً /3f9c0a7e21b84d65. برای جابهجا کردن بعدی صفحههای مدیریت، sudo bash veilway.sh panel-prefix [/new-path] را اجرا کنید.
نصب در پایان مسیر مدیریت و یک توکن راهاندازی یکبارمصرف را چاپ میکند. برای دیدن دوبارهٔ توکن این را اجرا کنید:
sudo journalctl -u veilway-panel -o cat | grep 'Setup token' | tail -n 1پنل فقط تا وقتی حساب مدیری نیست توکن چاپ میکند. هر شروع پیش از آن، از جمله راهاندازی دوباره یا نصب دوباره، توکن تازهای چاپ میکند و قبلیها کار نمیکنند. آخری را به کار ببرید و خصوصی نگهش دارید.
یک وبسرور جلوی پنل بگذارید
Section titled “یک وبسرور جلوی پنل بگذارید”پنل TLS ندارد، پس یک وبسرور باید آن را روی HTTPS سرو کند. اسکریپت این کار را بکند، یا خودتان دستی انجام دهید.
راه خودکار
Section titled “راه خودکار”یک نام دامنه را به سرور اشاره دهید (یک رکورد A، و اگر سرور IPv6 دارد یک رکورد AAAA)، بعد --domain را اضافه کنید:
sudo bash veilway.sh install panel --domain panel.example.cominstall both هم آن را میپذیرد. بدون --domain، اسکریپتی که در ترمینال اجرا شود میپرسد وبسرور میخواهید یا نه و دامنه چیست. با --yes هرگز نمیپرسد.
--https-port <port> سایت HTTPS را روی درگاهی غیر از ۴۴۳ میگذارد، مثلاً --https-port 8443. آنوقت پنل در https://panel.example.com:8443/<prefix>/ است. درگاه ۸۰ در هر حال باید در دسترس بماند، چون گواهی از روی آن بررسی میشود. انتقال TCP نودی که روی آن درگاه است به ۸۴۴۳ میرود (اگر ۸۴۴۳ را انتخاب کرده باشید به ۸۴۴۴)، مثل درگاه ۴۴۳ پایینتر. اجرای دوباره بدون این گزینه درگاه قبلی را نگه میدارد.
روی Debian و Ubuntu این کارها را میکند:
- Caddy را نصب میکند، از بستههای سیستم اگر نسخهٔ ۲٫۶ یا جدیدتر باشند، وگرنه از مخزن apt خود Caddy با کلید امضایش.
--web nginxبهجای آن nginx و certbot (python3-certbot-nginx) را نصب میکند. - سایت را در فایل جدایی مینویسد. برای Caddy آن
/etc/caddy/conf.d/veilway-panel.caddyاست، بهعلاوهٔ یک خط،import /etc/caddy/conf.d/*.caddy، در انتهای/etc/caddy/Caddyfile. بقیهٔ Caddyfile موجود میماند، بعد از کپی در/var/backups/veilway. برای nginx فایل/etc/nginx/conf.d/veilway-panel.confاست. - دو مسیر پنل را هدایت میکند به
127.0.0.1:8480: پیشوند مدیریت و مسیر اشتراک، که ازpanel.jsonخوانده میشوند. - هر جای دیگر یک سایت ساده نشان میدهد: یک صفحهٔ معمولی در
/var/www/veilway-site، بدون نام یا متن Veilway. از v0.3.3 اسکریپت صفحه را برای هر سرور جدا میسازد (موضوع، متن، تاریخها، قلم و رنگها)، پس جستوجوی یک صفحه همهٔ سرورهای Veilway را پیدا نمیکند. صفحهای از خودتان سرور را بهتر پنهان میکند: آزادانه ویرایش یا جایگزینش کنید، سایت پوششی شما را ببینید. اسکریپت هرگز روی صفحهٔ ویرایششده نمینویسد.updateبه جای صفحهای که پیش از v0.3.3 در همهٔ نصبها یکی بود، صفحهٔ تازهای میسازد، فقط اگر هرگز ویرایشش نکرده باشید. همین سایت روی HTTP ساده در127.0.0.1:8080هم سرو میشود (فقط همین دستگاه، در همان فایل سایت). این مبدأ پوششی پیشفرض ترنسپورتهایtls،wsوfrontedنود است، پس غریبهای که به نود برسد همین صفحه را میبیند. اگر چیز دیگری آن درگاه را گرفته باشد، اسکریپت میگوید و از آن میگذرد.VEILWAY_DECOY_PORT=<port>درگاه دیگری انتخاب میکند.
برای اینکه ترنسپورت ws یا fronted از این وبسرور بگذرد، در پنل زیر خطهای وبسرور آن ترنسپورت افزودن به وبسرور همین سرور را بزنید (از v0.3.9). سرور خطها را در /etc/caddy/veilway-routes یا /etc/nginx/veilway-routes مینویسد که فایل سایت آن را شامل میکند، آزمایش میکند و وبسرور را دوباره بارگذاری میکند. اگر وبسرور آنها را نپذیرد، چیزی تغییر نمیکند. هنوز میتوانید خطها را دستی در فایل سایت بگذارید، راهنمای پنل را ببینید.
5. not_found پنل را برابر پاسخ ۴۰۴ خود وبسرور میگذارد، تا غریبه نتواند مسیرهای پنل را از هر صفحهٔ گمشدهٔ دیگر تشخیص دهد.
6. گواهی میگیرد. Caddy خودش میگیرد و تمدید میکند. برای nginx، certbot یک بار میگیرد و زمانسنجش تمدید میکند. هر دو لازم دارند دامنه به این سرور اشاره کند و درگاه ۸۰ در دسترس باشد. اگر certbot شکست بخورد، اسکریپت میگوید و سایت فقط روی http جواب میدهد تا sudo certbot --nginx -d panel.example.com را اجرا کنید.
اگر وبسروری از قبل اجرا میشود، یا چیز دیگری درگاه ۸۰ یا ۴۴۳ را گرفته، اسکریپت پیش از هر تغییر توضیح میدهد و میایستد. وبسروری را که خودش نصب نکرده هرگز متوقف یا جایگزین نمیکند. اگر Caddy (یا با --web nginx، nginx) از قبل اجرا میشود، اسکریپت پیش از افزودن فایل و خط import میپرسد. --yes بله میگوید.
درگاه ۴۴۳ و نود. نودی که روی درگاه ۴۴۳ ترنسپورت tls دارد، درگاهی را نگه داشته که وبسرور لازم دارد. اسکریپت راه امن را میرود: وبسرور ۴۴۳ را میگیرد و ترنسپورتهای TCP نود روی ۴۴۳ به ۸۴۴۳ میروند. اول میپرسد (--yes بله میگوید)، از پیکربندی نود پشتیبان میگیرد، پیکربندی تغییرکرده را بررسی میکند، نود را دوباره راه میاندازد و اگر چیزی شکست بخورد پیکربندی قبلی را برمیگرداند. پروفایلهایی که درگاه ۴۴۳ را نام میبرند تا دوباره در پنل منتشر نکنید کار نمیکنند. راهی که نود ۴۴۳ را نگه دارد و وبسرور پشتش باشد ساخته نشده: نود نمیتواند فایلهای گواهی وبسرور را بخواند، چون جعبهٔ امنیتی نود و مالک فایلها هر دو اجازه نمیدهند. برای نگه داشتن نود روی ۴۴۳، --domain را نزنید و وبسرور را دستی روی درگاه یا میزبان دیگری بگذارید.
sudo bash veilway.sh uninstall web همه را برمیگرداند: فایل سایت، خط import، سایت ساده اگر تغییر نکرده باشد، not_found پنل، و بستههایی که اسکریپت نصب کرده. ترنسپورتهای جابهجاشدهٔ نود روی ۸۴۴۳ میمانند.
برای وبسروری که پیش از v0.2.15 راه افتاده، sudo bash veilway.sh update سایت پوششی روی 127.0.0.1:8080 را در فایلی جدا اضافه میکند: /etc/caddy/conf.d/veilway-decoy.caddy با Caddy و /etc/nginx/conf.d/veilway-decoy.conf با nginx. uninstall web آن را هم برمیدارد.
مثالها از panel.example.com، مسیر مدیریت /3f9c0a7e21b84d65 و مسیر اشتراک /sub استفاده میکنند. از دامنه و مسیر مدیریت خودتان استفاده کنید.
برای nginx اسکریپت این بلوک را با مسیر مدیریت شما چاپ میکند:
location ~ ^(/3f9c0a7e21b84d65|/sub)(/|$) { proxy_pass http://127.0.0.1:8480; client_max_body_size 100m; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $remote_addr;}برای Caddy این را بگذارید:
panel.example.com { handle /3f9c0a7e21b84d65/* { reverse_proxy 127.0.0.1:8480 } handle /sub/* { reverse_proxy 127.0.0.1:8480 }}بعد https://panel.example.com/3f9c0a7e21b84d65/ را باز کنید، توکن راهاندازی را با یک نام کاربری و گذرواژه وارد کنید، شرایط اپراتور را بپذیرید و راهنمای پنل را دنبال کنید. در روش دستی، not_found پنل را برابر صفحهٔ ۴۰۴ وبسرور خودتان بگذارید، تا غریبه نتواند مسیر اشتراک را از هر مسیر گمشدهٔ دیگر تشخیص دهد.
بدون دامنه
Section titled “بدون دامنه”اگر دامنه ندارید، اسکریپت میتواند اشتراکها را روی آدرس IP سرور بدهد:
sudo bash veilway.sh install panel --no-domainاسکریپت وبسرور (پیشفرض nginx)، درگاه (۴۴۳ اگر آزاد باشد) و آدرس IP عمومی سرور را میپرسد. --https-port و --ip این دو مورد آخر را بدون پرسش تنظیم میکنند. با --yes مقدارهای پیشفرض گرفته میشود. روی سرور ابری پشت NAT، آدرسی که پیدا میشود خصوصی است: آدرس عمومی را با --ip بدهید. آدرس خصوصیای که با --ip بدهید همانطور به کار میرود، برای سروری که فقط در شبکهٔ خانه استفاده میشود.
اسکریپت برای همان IP یک گواهی خودامضا میسازد. صفحههای مدیریت روی 127.0.0.1 میمانند و در اینترنت نیستند. وبسرور فقط مسیر اشتراک، /sub، را میدهد. هر مسیر دیگری پاسخ ۴۰۴ میدهد.
برای باز کردن صفحههای مدیریت، از رایانه خودتان یک تونل SSH بسازید:
ssh -L 8480:127.0.0.1:8480 root@<IP سرور>بعد http://localhost:8480/<مسیر مدیریت>/ را باز کنید. اسکریپت دستور و نشانی دقیق را در پایان نشان میدهد.
گواهی خودامضا برای کاربرانتان امن است. برنامهها آن را با «پین» بررسی میکنند، یعنی هش کلید عمومی آن، نه با نام. اسکریپت پین را نشان میدهد. نقطه پایانی را زیر Settings > Endpoints با نشانی https://<IP سرور>:<درگاه>/sub/main و همان پین اضافه کنید.
صفحههای مدیریت را در مرورگر روی گواهی خودامضا باز نکنید. مرورگر هشدار میدهد و صفحههای مدیریت فقط برای تونل هستند.
نصب از یک آینه
Section titled “نصب از یک آینه”آینه کپی فایلهای انتشار روی سروری قابل دسترس است، برای شبکههایی که GitHub را مسدود میکنند. هر کس میتواند یکی راه بیندازد. لازم نیست به آن اعتماد کنید: نصبکننده هر فایل را، از هر آینهای که آمده باشد، با کلید داخل اسکریپت بررسی میکند.
sudo bash veilway.sh install node --mirror https://mirror.example.org--mirror <url>را میشود تکرار کرد. آینهها برای هر دانلود به ترتیب امتحان میشوند و GitHub آخر است.--mirror-onlyهرگز به GitHub برنمیگردد. بدون--mirror،VEILWAY_MIRRORS(نشانیها با فاصله) همین کار را میکند.- فقط نشانی
https://کار میکند.http://برای127.0.0.1،localhostو[::1]برای آزمایش پذیرفته میشود. - چینش همان چینش GitHub است:
<mirror>/<owner>/<repo>/releases/download/<tag>/<file>. - اگر آینهای از کار افتاده یا مسدود باشد، یا فایلی بدهد که امضایش درست نیست، اسکریپت هشدار میدهد و آینهٔ بعدی را امتحان میکند.
- بدون
--version، تازهترین برچسب از یک فایل اشارهگر امضاشده میآید،latest-veilway.txt(برای پنلlatest-veilway-panel.txt)، که اول از آینهها و بعد از نشانیreleases/latest/download/در GitHub خوانده میشود. اشارهگر قدیمیتر از نسخهٔ نصبشده رد میشود، پس آینهٔ کهنه نمیتواند شما را به عقب برگرداند. برچسب قدیمیتر--version <tag> --allow-downgradeمیخواهد. - انتشارهای پیش از وجود اشارهگر آن را ندارند. اسکریپت آنوقت آخرین انتشار را از GitHub میپرسد، مگر
--mirror-onlyداده باشید. در آن حالت از--versionاستفاده کنید. - افزونهٔ Xray و پیکربندی نمونه هنوز از GitHub میآیند.
اسکریپت را از یک آینه بگیرید
Section titled “اسکریپت را از یک آینه بگیرید”آینه نصبکنندهٔ امضاشده را هم دارد. پیش از اجرا دستی بررسیاش کنید. minisign لازم دارد (apt install minisign):
curl -fsSLO https://mirror.example.org/veilway.shcurl -fsSLO https://mirror.example.org/veilway.sh.minisigminisign -V -m veilway.sh -x veilway.sh.minisig -P RWQiodKlFCiJ3bkZD3ojKV7AYyTYf3F5x/XY8upWvpSFTVm3O2cNRbrVخروجی باید Signature and comment signature verified بگوید و Trusted comment: آن veilway <tag> veilway.sh باشد. فقط بعد از آن اجرایش کنید:
sudo bash veilway.sh install both --mirror https://mirror.example.orgاسکریپت آینه را مستقیم به bash پایپ نکنید. اول بررسیاش کنید.
یک پوشه برای سرو یا حمل بسازید
Section titled “یک پوشه برای سرو یا حمل بسازید”mirror-sync همین چینش را روی ماشینی که به GitHub (یا آینهٔ دیگری) میرسد میسازد، برای وبسرور یا فلش:
bash veilway.sh mirror-sync ./veilway-mirrorbash veilway.sh mirror-sync ./veilway-mirror --version v0.3.10-alphaفایلهای نود و پنل را با امضاها و اشارهگرها دانلود میکند، هر کدام را پیش از ذخیره بررسی میکند و veilway.sh را بالای پوشه میگذارد. اشارهگر جدیدتری را که از قبل آنجا باشد نگه میدارد. index.html قابل مرور را که veilway-release-mirror مینویسد نمینویسد.
نصب با Docker
Section titled “نصب با Docker”Docker جایگزین است. ایمیجها در GitHub Container Registry هستند، برای linux/amd64 و linux/arm64:
ghcr.io/veilway-project/veilway، نودghcr.io/veilway-project/veilway-panel، پنل
هر برچسب انتشار v* هر دو ایمیج را با یک برچسب نسخه و latest منتشر میکند.
پوشهٔ deploy/compose مخزن هسته نود و پنل را با هم اجرا میکند، با حجم مشترکی برای سوکت کنترل نود. README آن مراحل کامل را دارد، از جمله دستورهای کپی پیکربندیها داخل حجمها. خلاصه:
- پیکربندی نود را از
config.example.jsonبنویسید. ترنسپورتwsداخل کانتینر روی درگاه ۸۴۴۳ گوش میدهد و Compose درگاه ۴۴۳ میزبان را به آن میرساند. - کلیدها را با
docker compose run --rm --no-deps --entrypoint veilway node genkeyبسازید. - پیکربندی نود و پنل را داخل حجمها کپی کنید، با مالک uid
65532که ایمیجها با آن اجرا میشوند. - فایل
panel.jsonرا با یکprefixتصادفی وlistenبرابر127.0.0.1:8480بنویسید. - پشته را با
docker compose up -dراه بیندازید و باdocker compose psبررسی کنید. وقتی درگاه ۸۴۸۰ اتصال بپذیرد، پنلhealthyمیشود.
پنل از شبکهٔ میزبان استفاده میکند، چون فقط روی loopback گوش میدهد و میزبان به loopback کانتینر نمیرسد. مثل بالا یک وبسرور با TLS جلویش بگذارید.
نکتههای Docker
Section titled “نکتههای Docker”-
docker compose down -vحجمها را حذف میکند، که کلیدها و وضعیت مصرف را دارند. هنگام توقف پشته آنها را نگه دارید. -
فقط خروجی
l3دسترسی بیشتر میخواهد: root باNET_ADMINو دستگاه TUN. این خطوط را زیرnodeدرdocker-compose.ymlاضافه کنید:user: "0"cap_add: [NET_ADMIN]devices: ["/dev/net/tun"]خروجیهای
netstackبه هیچکدام نیاز ندارند. -
هر درگاه UDP برای WireGuard در پیکربندی یک خط جدا زیر
portsنود میخواهد.
محل فایلها
Section titled “محل فایلها”| مسیر | محتوا |
|---|---|
/usr/local/bin/veilway |
فایل اجرایی نود |
/usr/local/bin/veilway-panel |
فایل اجرایی پنل |
/etc/veilway/node/config.json |
پیکربندی نود. مالک veilway، حالت 0600 |
/etc/veilway/config.example.json |
پیکربندی نمونه از انتشار |
/etc/veilway/panel.json |
پیکربندی پنل |
/var/lib/veilway/veilway-state.json |
وضعیت مصرف نود |
/var/lib/veilway/veilway-replay |
حافظهٔ بازپخش نود |
/var/lib/veilway-panel/panel.db |
پایگاه داده پنل |
/var/lib/veilway-panel/panel.keys |
کلیدهای پنل برای رازهای رمزشده |
/var/lib/veilway-panel/signing.keys |
کلیدهای امضای اشتراک |
/var/lib/veilway-panel/gateway.keys |
کلیدهای دروازه که درخواستهای اشتراک را باز میکنند |
/var/lib/veilway-panel/gateway.next |
نیمهٔ خصوصی کلید دروازهٔ بعدی، تا وقتی آن را از سرور بیرون نبردهاید |
/etc/veilway-mirror/mirror.json |
پیکربندی آینهٔ رله، اگر نصب کرده باشید |
/usr/local/lib/veilway/addons/xray |
افزونهٔ Xray، اگر نصب کرده باشید |
/run/veilway/control.sock |
سوکت کنترل نود، با گروه veilway |
/etc/systemd/system/veilway.service |
یونیت نود |
/etc/systemd/system/veilway-panel.service |
یونیت پنل |
/var/backups/veilway |
پشتیبانها، و نسخههایی که اسکریپت پیش از بازنویسی یک فایل میگیرد |
نسخههای نصبشده در /var/lib/veilway/node.version و /var/lib/veilway-panel/panel.version هستند.
- نسخهٔ آلفا: آنچه در آلفا هست و آنچه هنوز محدود است.
- راهنمای کلاینت: برنامهٔ دسکتاپ برای لینوکس، macOS و ویندوز.
- برنامهٔ اندروید: نصب و استفاده از برنامهٔ اندروید.
- شبکهٔ خانگی: رسیدن به دستگاههای شبکهٔ خانگی از راه نود.
- راهاندازی نود ورودی: وصل نگه داشتن کاربران وقتی ارتباط بینالمللی قطع است، با سرور دومی در خارج.