راهنمای Deploy
این راهنما تمام گزینههای meridian deploy را پوشش میدهد. اگر این استقرار اول شما است، با Getting Started شروع کنید.
استقرار بنیادی
meridian deploy 198.51.100.10
یک سرور هم به صورت control plane (پنل Remnawave) و هم به عنوان exit تبدیل میشود که ترافیک را حمل میکند. Meridian توپولوژی بررسیشدهای را ایجاد میکند که meridian setup تولید میکند و آن را با نقاط checkpoint اعمال میکند. قبل از اینکه “Done” چاپ کند، ترافیق واقعی را از طریق اشتراک تحویلدادهشده هدایت میکند.
meridian deploy را بدون IP اجرا کنید و آن برای شما درخواست میکند. برای رد کردن تأییدها --yes اضافه کنید:
meridian deploy 198.51.100.10 --client-name alice --yes
تمام پرچمها
| پرچم | پیشفرض | توضیح |
|---|---|---|
--sni HOST | (خودکار) | هدف camouflage. بدون آن، deploy سایتی را در زیرشبکهٔ خود سرور ترجیح میدهد، سپس www.google.com، dl.google.com، www.cloudflare.com |
--domain DOMAIN | (هیچ) | دامنه شما برای XHTTP و WSS، با fallback CDN Cloudflare |
--hysteria2/--no-hysteria2 | فعال | Hysteria2 را روی UDP/443 به عنوان آخرین fallback ارائه دهید |
--client-name NAME | default | نام کلاینت اول |
--display-name NAME | (هیچ) | برچسب برای صفحات اتصال (مثل “VPN علی”) |
--icon EMOJI_OR_URL | (هیچ) | آیکون صفحه — emoji یا URL تصویر |
--color PALETTE | ocean | تم رنگ صفحه (ocean/sunset/forest/lavender/rose/slate) |
--user USER | root | کاربر SSH (کاربران non-root نیاز به sudo بدون رمز عبور دارند) |
--ssh-port PORT | 22 | پورت SSH، اگر 22 نیست |
--server NAME | سرور ذخیرهشده برای استقرار (نام یا IP) | |
--harden / --no-harden | فعال | ورود تنهای کلید SSH، fail2ban و firewall UFW. از --no-harden برای سروری که خدمات دیگری روی آن است استفاده کنید |
--warp / --no-warp | غیرفعال | ترافیک خروجی را از طریق Cloudflare WARP ارسال کنید |
--geo-block / --no-geo-block | فعال | IPهای روسی و دامنههای روسی را روی سرور block کنید |
--client-ips / --no-client-ips | خاموش | به پنل اجازه میدهد IP واقعی هر کلاینت را ببیند (ببینید IP کلاینتها) |
--country CC | جستوجو میشود | کشور نمایشدادهشده در نام اتصالها، مثل DE. Meridian آن را از رجیستری آدرس پیدا میکند؛ اگر اشتباه بود خودتان مشخص کنید |
--yes | پرسش تأیید را رد کنید |
پرچمهای برای اسکریپتها و UIها (--json، --events، --request، --dry-run) در CLI reference توصیف شدهاند.
انتخاب هدف camouflage
هدف camouflage (SNI) وبسایتی است که سرور شما شخصیتسازی میکند. این نه دامنهای است که مالک آن هستید — یک سایت واقعی با TLS 1.3 است. هر کسی که سرور شما را probe کند گواهینامه واقعی آن سایت را میبیند.
بهترین هدف کنار سرور شما قرار دارد. سانسورچی SNI را همراه با IP سرور شما میبیند؛ وقتی DNS آن سایت واقعاً به همان شبکه اشاره میکند، این جفت مثل ترافیک عادی به نظر میرسد، در حالی که یک سایت خارجی مشهور روی آدرس VPS به چشم میآید.
بدون --sni، استقرار اول زیرشبکهٔ خود سرور را برای چنین سایتهایی اسکن میکند (حدود یک دقیقه) و فقط آنهایی را نگه میدارد که DNSشان به همان زیرشبکه اشاره میکند و بررسی TLS 1.3 و HTTP/2 در Reality را میگذرانند. بعد به www.google.com، dl.google.com و www.cloudflare.com برمیگردد. از اولین هدفی استفاده میکند که ترافیک واقعی از آن عبور کند. meridian node add همسایه را به همین شکل انتخاب میکند. هدفی که با --sni میدهید هرگز جابهجا نمیشود؛ اگر ترافیک ناموفق باشد، استقرار متوقف میشود و گزارش میدهد. بازاستقرار هدف ذخیرهشده را نگه میدارد.
برای دیدن خودتان نامزدها، محله IPv4 سرور را اسکن کنید:
meridian scan 198.51.100.10
اسکن یک build ثابت و checksumبررسیشده RealiTLScanner را روی سرور اجرا میکند و دامنههای گواهینامهای که پیدا کرده را فهرست میکند. سپس با انتخاب خود استقرار کنید:
meridian deploy 198.51.100.10 --sni dl.google.com
برای بررسی دستی یک هدف، meridian check 198.51.100.10 --sni HOST را اجرا کنید. apple.com و icloud.com را از دست بدهید — شبکههای آنها با VPS providers مطابقت ندارند.
هدف camouflage در مقابل دامنه
- هدف camouflage (
--sni) — یک وبسایت محبوب که مالک آن نیستید. Reality آن را شخصیتسازی میکند. - دامنه (
--domain) — دامنهای که مالک آن هستید، که به سرور شما اشاره میکند. XHTTP و Hysteria2 به آن منتقل میشوند، و آن مسیر WSS را از طریق CDN Cloudflare اضافه میکند. Domain mode را ببینید.
Hysteria2
meridian deploy 198.51.100.10 --no-hysteria2
هر deploy Hysteria2 را روی UDP/443 با گواهینامه دامنه شما یا IP گواهینامه بدون دامنه ارائه میدهد. ترافیک آن در obfuscation salamander بستهبندی میشود، پس سانسورگرها UDP تصادفی را میبینند نه QUIC. در شبکههای lossy یا پرتاخیری کمک میکند؛ جایی که UDP مسدود است، برنامهها به روشهای TCP که قبل از آن ذکر شدهاند برمیگردند. --no-hysteria2 آن را خاموش میکند. Hysteria2 از relay عبور نمیکند.
برندسازی
صفحات اتصال را شخصیسازی کنید تا دریافتکنندگان بدانند چه کسی VPN خود را راهاندازی کرده:
meridian deploy 198.51.100.10 --display-name "VPN علی" --icon 🚀 --color sunset
--display-name— در سرتیتر و عنوان صفحه نمایش داده میشود--icon— emoji یا URL تصویر در بالای صفحه نمایش داده میشود--color— پالت رنگی:ocean(پیشفرض)،sunset،forest،lavender،rose،slate
برندسازی در cluster.yml ذخیره میشود و برای صفحه اتصال هر کلاینت اعمال میشود.
بازاستقرار
برای بازاستقرار، دستور را دوباره اجرا کنید. Meridian مسیرها، کلیدها و کاربران ذخیرهشده را نگه میدارد، بنابراین لینکهای موجود کار میکند. بازاستقرار بدون --sni هدف camouflage ذخیرهشده را نگه میدارد.
در انتهای هر استقرار، Meridian دستور بازاستقرار دقیق را با تنظیمات فعلی شما چاپ میکند. با دستورات متفاوت دوباره اجرا آن سرور را تغییر میدهد: اضافهکردن یا حذف --domain یا --no-hysteria2 این مسیرها را اضافه یا حذف میکند.
meridian deploy فقط سروری را بازاستقرار میکند که قبلاً exit در فلیت شما است. برای اضافه کردن سرور دیگر، از meridian node add NEW_IP استفاده کنید.
بررسی قبل از پرواز
مطمئن نیستید که یک سرور مناسب است؟
meridian check 198.51.100.10
هدف camouflage را بررسی میکند، آیا پورت 443 آزاد است و از بیرون قابل دسترس است، DNS دامنه اختیاری، سیستمعامل، فضای دیسک و اختلاف ساعت، بدون نصب چیزی.
استقرار non-root
meridian deploy 198.51.100.10 --user ubuntu
دستورات از طریق sudo اجرا میشوند، بنابراین کاربر به sudo بدون رمز عبور نیاز دارد.
استقرار محلی
اگر به سرور به عنوان root وارد شدهاید:
meridian deploy local
این SSH را رد میکند. check local، scan local و doctor local به همین شکل کار میکنند و بعد از استقرار، دستورات بعدی روی سرور نیز به صورت محلی اجرا میشود. اجرای Meridian از ماشین خود همچنان توصیه میشود، زیرا meridian test نیاز به نقطه نظر بیرونی است.
Cloudflare WARP
WARP ترافیک خروجی سرور شما را از طریق Cloudflare ارسال میکند، بنابراین وبسایتها به جای IP VPS شما آدرس Cloudflare را میبینند.
meridian deploy 198.51.100.10 --warp
زمانی که WARP کمک میکند: سایتهایی که محدوده IP datacenter را مسدود میکنند، یا زمانی که میخواهید آدرس VPS را از سایتهای مقصد مخفی کنید.
زمانی که نیاز ندارید: اکثر سایتها بدون آن خوب کار میکنند، و یک hop اضافه میکند (VPS → Cloudflare → مقصد).
Meridian کلاینت cloudflare-warp را در حالت proxy نصب میکند (SOCKS5 روی 127.0.0.1:40000) و آن را outbound Xray میسازد. اتصالات ورودی تحت تأثیر قرار نمیگیرند. WARP رایگان است و به حساب Cloudflare نیاز ندارد.
WARP تنها برای برخی سایتها
برای ارسال تنها سایتهای انتخابشده از طریق WARP و نگه داشتن بقیه مستقیم، یک route روی exit اضافه کنید بجای روشن کردن WARP برای تمام ترافیک. Meridian WARP را بر روی exit برای اولین بار که یک route نیاز دارد تنظیم میکند:
meridian route add exit-1 --via warp chatgpt.com netflix.com
meridian route add exit-1 --via block geosite:category-ads-all
meridian route list
meridian route remove exit-1 warp
مقادیر دامنهها (subdomainها شامل)، لیستهای geosite:NAME یا لیستهای geoip:NAME از فایلهای v2fly stock هستند؛ یک route تک نوع را نگه میدارد. --via direct برعکس بر روی exit WARP انجام میدهد: آن مقاصد WARP را skip میکنند. Routes به ترتیبی که آنها را اضافه کردید اعمال میشوند، پیش از egress پیشفرض exit و پیش از geo-blocking. این routes روی سرور زندگی میکنند؛ آنها جدا از قوانین سمت client هستند که سایتهای روسی مستقیم را در دستگاه کاربر ارسال میکند.
مسدودسازی جغرافیایی
بهطور پیشفرض، سرور دامنههای روسی (geosite:category-ru) و محدودههای IP روسی (geoip:ru) را از طریق proxy مسدود میکند. این IP VPS شما را از لاگهای خدمات روسی دور میکند، که احتمال یافتن و مسدود کردن آن را کاهش میدهد.
اگر کاربران شما نیاز به آن سایتها از طریق Meridian دارند، آن را خاموش کنید:
meridian deploy 198.51.100.10 --no-geo-block
برای راهی برای باز کردن سایتهای روسی بطور مستقیم در حالیکه مسدودسازی را نگه میدارید، Split routing را ببینید.
IP کلاینتها
بهطور پیشفرض، پنل هرگز نمیفهمد کاربران شما از کجا متصل میشوند: هر اتصال TCP از طریق nginx روی سرور به Xray میرسد، بنابراین Remnawave آدرس خود سرور را ثبت میکند. این حالت حریم خصوصی را حفظ میکند و هیچ اطلاعاتی درباره مکان کاربران ذخیره نمیشود.
محدودیت IP برای هر کاربر در Remnawave و لاگهای اتصال به آدرسهای واقعی نیاز دارند. آنها را اینطور فعال کنید:
meridian deploy 198.51.100.10 --client-ips
سپس nginx آدرس هر کلاینت را برای Xray و پنل منتقل میکند. Hysteria2 مستقیم و روی UDP است و همیشه آدرس واقعی را نشان میدهد. اتصالهایی که از relay میگذرند آدرس relay را نشان میدهند، و WebSocket یا XHTTP از طریق CDN Cloudflare آدرس Cloudflare را. این تنظیم برای کل fleet اعمال میشود؛ برای خاموش کردنش، بدون این پرچم دوباره deploy کنید.
افزودن relay
پس از اجرای exit، یک relay روی سرور داخلی اضافه کنید تا کاربران زمانیکه IP خروج مسدود میشود راه ورودی داشته باشند. راهنمای Relay را ببینید.
meridian relay add 203.0.113.10 --exit 198.51.100.10
پنل مدیریت
Meridian Remnawave را به عنوان پنل آن نصب میکند. پنل توسط nginx روی مسیر مخفی تصادفی، جدا از مسیر صفحه اتصال، پروکسی معکوس میشود، بنابراین لینکهای که اشتراک میکنید هرگز آن را فاش نمیکنند. meridian panel URL و ورود را چاپ میکند (--show-password برای رمز عبور).
مسیر پنل را مثل رمز عبور رفتار کنید. CLI از همان API پنل استفاده میکند، بنابراین تغییرات CLI در پنل نمایش داده میشوند. Meridian میزبانها، profileها و templateهای را که ایجاد میکند مالک است: اگر آنها را در پنل ویرایش کنید، meridian plan تفاوت را گزارش میدهد و بعدی اعمال نسخه Meridian را بازگردانده. وضعیت client، محدودیتها، انقضا و کاربرانی که خود اضافه میکنید مال شما هستند؛ Web panel را ببینید.
Meridian نسخههای Remnawave را که تست کرده است pin میکند. meridian fleet upgrade سرورهای شما را بدون انتظار برای بهروزرسانی Meridian به جدیدترین نسخه Remnawave در همان major میبرد. اگر خودتان Remnawave را ارتقا دهید، Meridian آن را downgrade نمیکند.