افزودن کلاینت
Section titled “افزودن کلاینت”meridian client add aliceاین به “alice” کلید خود و دو چیز را برای اشتراک میدهد:
- لینک صفحه اتصال با کد QR — سادهترین راه برای ارسال
- URL اشتراک برای درج مستقیم در برنامه Xray/V2Ray
چندین نفر را یکزمان اضافه کنید:
meridian client add alice bob charlieکلاینتها به کل فلیت شما تعلق دارند، نه یک سرور. هر exit و relay شما در اشتراک آنها نمایش داده میشود.
آنچه گیرنده میبیند
Section titled “آنچه گیرنده میبیند”صفحه اتصال از اشتراک واقعی فرد ساخته میشود، بنابراین دقیقاً همان چیزی را نشان میدهد که برنامههای او دریافت میکنند: exitهای مستقیم، relayها و هر روش فعال. شامل:
- دو مرحله: نصب برنامهای که برای پلتفرم او پیشنهاد شده (اول Happ، بعد FlClashX و Clash Mi، و روی دسکتاپ Throne) و سپس اضافه کردن اتصال با یک ضربه
- کد QR برای اشتراک؛ روی کامپیوتر کنار مرحلهها نشان داده میشود تا بتوان گوشی را تنظیم کرد
- هر اتصال جداگانه با دکمههای «باز کردن»، «کپی» و QR، که تا وقتی لازم نشود جمع شده است
- بخش «متصل نمیشوید؟» با چند توصیه و آزمایش «بررسی اتصال من» که گزارشی بدون لینک کپی میکند تا برای شما بفرستد
در برنامه، ورودیها بر اساس کشور exit و روش نامگذاری میشوند: «🇩🇪 DE · Reality · Chrome»، «🇩🇪 DE · XHTTP · Chrome»، «🇩🇪 DE · WebSocket · CDN»، «🇩🇪 DE · Hysteria2 · UDP»؛ برای ورودیهای relay عبارت «via relay» هم اضافه میشود. اگر دو exit در یک کشور باشند، نام آنها بعد از پرچم نمایش داده میشود («🇩🇪 main»)؛ exit بدون کشور مشخص، وقتی چند exit دارید با نام خودش نشان داده میشود. Reality و XHTTP نسخههای «· Firefox» هم دارند با اثر انگشت TLS دیگر، برای وقتی که یک اثر انگشت مسدود شود. برنامههایی که خودکار تعویض میکنند (برنامههای Xray JSON مثل Happ، و Mihomo و sing-box) خودشان یک ورودی کارآمد انتخاب میکنند اما هرگز بین اثر انگشتها جابهجا نمیشوند؛ Happ برای این کار یک ورودی جدا به نام «Automatic · Firefox» نشان میدهد.
لینک را از طریق هر پیامرسانی ارسال کنید. گیرنده آن را باز میکند، برنامه را نصب میکند، «افزودن به …» را میزند (یا کد QR را با دستگاه دیگری اسکن میکند) و متصل میشود.
نمایش جزئیات اتصال
Section titled “نمایش جزئیات اتصال”برای اشتراک دوباره لینکهای کلاینت:
meridian client show aliceاین صفحه اتصال و URL اشتراک را چاپ میکند، بهعلاوه وضعیت، ترافیک و زمان آخرین اتصال. اگر صفحه گم باشد (مثلاً بارگذاری ناموفق بود)، آن را دوباره منتشر کنید:
meridian client show alice --repair-pageفهرست کلاینتها
Section titled “فهرست کلاینتها”meridian client listهر کلاینت را با وضعیت، ترافیق، زمان ایجاد و آخرین اتصال نمایش میدهد.
معلق کردن و از سرکشی درآوردن کلاینت
Section titled “معلق کردن و از سرکشی درآوردن کلاینت”meridian client disable alicemeridian client enable alicedisable کلاینت را فوراً قطع میکند؛ enable آنها را با همان لینکها دوباره فعال میکند.
معلق کردن تا زمان client enable پابرجاست: apply، بازاستقرار و تغییرات fleet به آن دست نمیزنند.
حذف کلاینت
Section titled “حذف کلاینت”meridian client remove NAME کلاینت را برایابد حذف میکند: پیوندهای آنها کار نمیکنند و صفحه اتصال آنها حذف میشود. فلیت حداقل یک کلاینت نگه میدارد. کاربران را در پنل Remnawave مستقیماً حذف نکنید — Meridian هر کلاینتی را که در topology باقی است در بعدی اعمال دوباره ایجاد میکند.
لینکهای اشتراک
Section titled “لینکهای اشتراک”URLهای اشتراک مثل https://198.51.100.10/<page-path>/sub/<id> هستند. آنها زیر مسیر صفحه اتصال زندگی میکنند؛ پنل مدیریت Remnawave روی مسیر مخفی جداگانه است که لینکهای اشتراکی هرگز آن را فاش نمیکنند.
هر اشتراک از برنامهها میخواهد آن را هر ۶ ساعت تازه کنند (هدر profile-update-interval که برنامههایی مثل Happ و Clash Verge از آن پیروی میکنند)، بنابراین هنگام افزودن exit یا relay، کلاینتها ظرف چند ساعت و بدون لینک جدید آن را بهدست میآورند. برنامههایی که این هدر را نادیده میگیرند طبق برنامهٔ خودشان تازه میکنند؛ تازهسازی دستی در برنامه تغییرات را فوراً میگیرد.
برنامهها و engineهای آزمایششده
Section titled “برنامهها و engineهای آزمایششده”یک URL اشتراک به هر برنامه همان قالبی را میدهد که آن برنامه میخواند. با هر تغییر در Meridian یک آزمایشگاه چندنودی اجرا میشود که هر قالب را از یک پنل واقعی Remnawave میگیرد و با engineی که این برنامهها بر پایهٔ آن ساخته شدهاند بررسی میکند:
| قالب | برنامهها | engine آزمایششده | آزمایشگاه چه چیزی را بررسی میکند |
|---|---|---|---|
| Xray JSON | Happ | Xray 26.7.28 | ترافیک از هر نقطهٔ ورود و از failover خودکار عبور میکند؛ کلید اشتباه رد میشود |
| Mihomo | FlClashX, Clash Mi | Mihomo 1.19.32 | mihomo -t پروفایل، قوانین آن و گروه fallback آن را بارگذاری میکند |
| sing-box | sing-box (SFA, SFI), Karing | sing-box 1.14.3 | sing-box check پروفایل را بارگذاری میکند و گروه خودکار آن مسیر پیشفرض است |
| لینکهای Base64 | هر برنامهٔ Xray/V2Ray | — | هر لینک تجزیه میشود و همان سرورها و کلیدی را نام میبرد که قالبهای دیگر نام میبرند |
برنامهها بهروزرسانی engine خودشان را عرضه میکنند، بنابراین ممکن است یک برنامه engineی کمی قدیمیتر یا جدیدتر از engine آزمایششده اجرا کند.
محل زندگی اطلاعات کلاینت
Section titled “محل زندگی اطلاعات کلاینت”حسابهای کلاینت (کلیدها، وضعیت، ترافیق) در پایگاه داده پنل Remnawave روی سرور control-plane زندگی میکنند. فهرست کلاینتهای که Meridian مدیریت میکند بخش توپولوژی شما در ~/.config/meridian/cluster.yml است. فرمانهای کلاینت از API پنل استفاده میکنند و SSH نیاز نیست؛ منتشر کردن صفحه اتصال از SSH به سرور control-plane استفاده میکند.
پنل وب
Section titled “پنل وب”پنل مدیریت Remnawave ترافیق، کاربران و نودها را در مرورگر نشان میدهد، و میتوانید از آن استفاده کنید. meridian panel URL و نام کاربری مدیریت را چاپ میکند؛ meridian panel --show-password همچنین رمز عبور را چاپ میکند.
Meridian و پنل کار را split میکنند تا ویرایشهای شما بیشتر نشود:
| Meridian مدیریت میکند (بعدی اعمال نسخه آن را بازگردانده) | مال شما برای تغییر (اعمال هرگز به آنها نمیرسد) |
|---|---|
| Nodes، پروفایلهای config، inbounds، منتشر شدهٔ Hosts، squads | وضعیت هر کلاینت: فعال/غیرفعال، محدودیتهای ترافیک، انقضا، محدودیتهای HWID، توضیح |
| Subscription templates و تنظیمات که Meridian تنظیم میکند (عنوان، بازهٔ تازهسازی) | کاربرانی که خود در پنل ایجاد میکنید |
| کدام کلاینتها وجود دارند، نامهای آنها و squads آنها | اطلاعات، plugins، کنترل IP و سایر تنظیمات پنل |
meridian plan هر تفاوت در آنچه Meridian مدیریت میکند را پیش از هر تغییر نشان میدهد. کاربرانی که در پنل اضافه میکنید هرگز توسط Meridian فهرست نمیشوند، تغییر نمیخورند یا حذف نمیشوند؛ برای اعطای کسی لینک مریدیانمدیریتشده و صفحهٔ اتصال، meridian client add را بجای استفاده کنید.
Node pluginها
Section titled “Node pluginها”Node pluginهای Remnawave (Ingress Filter، Egress Filter، Torrent Blocker، Connection Drop) اختیاریاند و در پنل قرار دارند. برای استفاده از آنها، Node Plugins را در UI مدیریت باز کنید، یک پیکربندی plugin بسازید، pluginهای دلخواه را فعال کنید و آن را به nodeهای خود متصل کنید. Meridian از قبل هر node را با capability NET_ADMIN که pluginها لازم دارند اجرا میکند و پیکربندیهای plugin شما را هرگز تغییر نمیدهد و حذف نمیکند.
pluginها قوانین nftables را روی host مینویسند، بنابراین upstream به کرنل Linux نسخهٔ 5.7 یا جدیدتر هم نیاز دارد؛ روی کرنل قدیمیتر بیصدا هیچ کاری نمیکنند. meridian check این را روی هر exit و gateway با عنوان Node plugin readiness گزارش میکند و دربارهٔ کرنل قدیمی هشدار میدهد (به Ubuntu 22.04+ یا Debian 11+ بروید). اگر از pluginها استفاده نمیکنید، میتوانید آن هشدار را نادیده بگیرید.
Torrent Blocker از طریق sniffing ترافیک، BitTorrent را تشخیص میدهد و Meridian آن را (بهصورت route-only، بنابراین مقصدها هرگز بازنویسی نمیشوند) روی هر inboundی که تولید میکند روشن میکند. plugin را در پنل فعال کنید تا روی هر exit کار کند.
اتصال یک ربات به پنل
Section titled “اتصال یک ربات به پنل”رباتهای جامعه، مثل ربات تلگرامی که میگوید چقدر ترافیک باقی مانده، مستقیم با API Remnawave صحبت میکنند. به هر ربات توکن جداگانهای بدهید که فقط دسترسی لازم را داشته باشد:
- پنل را باز کنید (
meridian panelنشانی را چاپ میکند)، به Remnawave Settings → API tokens (تنظیمات Remnawave، توکنهای API) بروید و Create API token را بزنید. - توکن را به نام ربات نامگذاری کنید و Expires in (days) را روی مدتی بگذارید که واقعاً آن را میچرخانید، مثلاً ۳۰ یا ۹۰ روز.
- از پیشتنظیم Read only شروع کنید، یا endpointهای مشخصی را انتخاب کنید و فقط آنچه ربات استفاده میکند بدهید. پنل توکن را فقط یک بار نشان میدهد؛ آن را کنار secretهای ربات نگه دارید.
- ربات را به URL پنل از
meridian panelراهنمایی کنید و توکن را بهصورتAuthorization: Bearer <token>بفرستید. مسیرهای API زیر آن URL قرار میگیرند، مثلاًhttps://198.51.100.10/<secret-path>/api/users/by-username/alice. این URL شامل مسیر مخفی پنل است، پس آن را مثل توکن محرمانه نگه دارید.
scopeها به شکل resource:endpoint نامگذاری میشوند؛ resource:read همهٔ endpointهای خواندن یک resource را میدهد و resource:write همهٔ endpointهای نوشتن را. یک ربات فقطخواندنی معمولاً به اینها نیاز دارد:
| Scope | Endpoint | برمیگرداند |
|---|---|---|
users:by-username | GET /api/users/by-username/{username} | وضعیت، ترافیک مصرفشده و محدودیت، و انقضای یک کاربر |
users:by-short-uuid | GET /api/users/by-short-uuid/{shortUuid} | همانها، با یافتن کاربر از شناسهٔ موجود در لینک اشتراکش |
users:list | GET /api/users | همهٔ کاربران، صفحهبندیشده |
system:stats | GET /api/system/stats | مجموع کاربران و ترافیک کل پنل |
nodes:list | GET /api/nodes | وضعیت و ترافیک هر node |
scope نوشتن را فقط وقتی اضافه کنید که ربات حسابها را تغییر میدهد، مثلاً users:extend (POST /api/users/{id}/actions/extend) برای ربات پرداخت که انقضا را تمدید میکند. وضعیت، محدودیتها و انقضا مال شما برای تغییر است (جدول بالا را ببینید)، پس apply بعدی ویرایشهای ربات را نگه میدارد. ربات نباید کلاینتهای Meridian را تغییر نام دهد یا حذف کند: apply بعدی آنها را دوباره میسازد.
توکن خود Meridian را (meridian-provisioner در فهرست توکنها) به ربات ندهید. دسترسی کامل به پنل دارد و عملاً هرگز منقضی نمیشود، پس نشت از میزبان ربات همهٔ nodeها، کلیدها و کاربران را فاش میکند. توکن جداگانه آسیب را به کارهایی که ربات میتواند انجام دهد محدود میکند، خودش منقضی میشود و بدون تأثیر بر Meridian قابل حذف است. به meridian-provisioner دست نزنید؛ همهٔ دستورهای کلاینت و apply از آن استفاده میکنند.
