CreateYourVPN Academy
روترها

روتر OpenWRT

چگونه یک روتر OpenWRT را از طریق Nikki به CreateYourVPN وصل کنیم — یک لینک اشتراک اضافه کنید و قوانین split-tunneling پنل شما به‌صورت خودکار روی کل شبکهٔ خانگی اعمال می‌شوند.

اتصال یک روتر کل خانهٔ شما را پشت VPN قرار می‌دهد — هر گوشی، تلویزیون و لپ‌تاپ بدون هیچ راه‌اندازی جداگانه‌ای برای هر دستگاه از آن استفاده می‌کند. روی OpenWRT این روان‌ترین مسیر است: شما یک لینک اشتراک اضافه می‌کنید و روتر هم سرور و هم قوانین split-tunneling پنل شما را از آن دریافت می‌کند. قوانین را در پنل تغییر دهید — روتر آن‌ها را در به‌روزرسانی بعدی خود دریافت می‌کند.

ما از Nikki استفاده می‌کنیم — یک اپلیکیشن سبک OpenWRT که بر پایهٔ هستهٔ mihomo (Clash.Meta) ساخته شده است. در این راهنما کل مسیر را می‌بینید: نصب Nikki (روش اصلی، نصب دستی است — چون feed پروژه برای بسیاری از ارائه‌دهندگان باز نمی‌شود)، اتصال اشتراک، به‌روزرسانی خودکار و بررسی.

Nikki به OpenWRT 24.10 یا جدیدتر نیاز دارد (نسخه‌های 25.x و SNAPSHOT نیز کار می‌کنند). OpenWRT 23.05 پشتیبانی نمی‌شود.

به چه چیزهایی نیاز دارید

  • یک روتر که OpenWRT ≥ 24.10 را اجرا می‌کند و به اینترنت دسترسی دارد.
  • دسترسی به رابط وب روتر (LuCI) و به SSH (نام کاربری root، همان رمز عبور LuCI).
  • یک کامپیوتر در همان شبکه و ۱۰ تا ۱۵ دقیقه زمان.

گام ۱. Nikki را نصب کنید

Nikki در feedهای پیش‌فرض OpenWRT نیست — از feed بستهٔ اختصاصی خودش نصب می‌شود. مشکل اینجاست که این feed و اسکریپت نصب روی GitHub قرار دارند و GitHub برای بسیاری از ارائه‌دهندگان به‌خوبی باز نمی‌شود — نصب سریع «در دو دستور» اغلب اصلاً جواب نمی‌دهد. به همین دلیل روش اصلی در اینجا نصب دستی است: این روش همیشه جواب می‌دهد. اگر GitHub برای شما بدون مشکل باز می‌شود، روش B سریع‌تر است.

روش A — نصب دستی (همیشه کار می‌کند)

بسته‌ها را روی کامپیوتر خودتان دانلود می‌کنید و خودتان به روتر منتقل می‌کنید — نیازی به دسترسی خود روتر به GitHub نیست.

معماری روتر خود را مشخص کنید: در LuCI بخش System → Software را باز کنید و روی Update lists… کلیک کنید — در خروجی دستور، معماری قابل مشاهده خواهد بود (برای مثال x86_64 یا aarch64_cortex-a53). راه جایگزین از طریق SSH: grep OPENWRT_ARCH /etc/os-release.

صفحهٔ انتشارهای nikkinikki.pages.dev را باز کنید، وارد پوشهٔ نسخهٔ OpenWRT خودتان شوید (openwrt-24.10، openwrt-25.12 یا SNAPSHOT)، سپس وارد پوشهٔ معماری خودتان شوید. سه بسته را دانلود کنید: mihomo-meta (هسته)، nikki و luci-app-nikki — به‌علاوهٔ luci-i18n-nikki-ru، اگر به رابط روسی نیاز دارید. برای نسخه‌های پایدار این‌ها فایل‌های .ipk هستند، برای SNAPSHOT فایل‌های .apk. همه را در یک پوشهٔ جداگانه قرار دهید، مثلاً Downloads/nikki.

پوشه را به روتر منتقل کنید. فلگ -O الزامی است: بدون آن scp سعی می‌کند از SFTP استفاده کند که در OpenWRT وجود ندارد (و اگر نسخهٔ scp شما فلگ -O را نمی‌شناسد — فقط آن را حذف کنید: نسخه‌های قدیمی‌تر خودشان از پروتکل درست استفاده می‌کنند). اگر پوشه در Downloads نیست یا نام دیگری دارد — مسیر را در دستور اصلاح کنید.

macOS / Linux:

scp -O -r ~/Downloads/nikki root@192.168.1.1:/root/

Windows (PowerShell):

scp -O -r "$env:USERPROFILE\Downloads\nikki" root@192.168.1.1:/root/

از طریق SSH وصل شوید و بسته‌ها را از داخل پوشه نصب کنید — هستهٔ mihomo باید اول لیست باشد:

ssh root@192.168.1.1
opkg update
cd nikki
opkg install ./mihomo-meta*.ipk ./nikki*.ipk ./luci-app-nikki*.ipk

اجرای opkg update لازم است تا مدیر بسته بتواند وابستگی‌ها را از مخزن‌های استاندارد OpenWRT دریافت کند. اگر ترجمهٔ روسی را هم دانلود کرده‌اید، ./luci-i18n-nikki-ru*.ipk را به انتهای دستور اضافه کنید. در ساخت‌های SNAPSHOT خبری از opkg نیست — به‌جای دو دستور آخر، apk update و سپس apk add --allow-untrusted ./mihomo-meta*.apk ./nikki*.apk ./luci-app-nikki*.apk را اجرا کنید (این فلگ لازم است چون در نصب دستی، کلید امضای پروژه در سیستم وجود ندارد).

روش B — از feed پروژه (در صورت دسترسی به GitHub)

نصب کلاسیک در دو دستور. اگر GitHub برای ارائه‌دهندهٔ شما به‌خوبی باز می‌شود، این روش را امتحان کنید.

از طریق SSH به روتر وصل شوید و feed پروژه را اضافه کنید:

ssh root@192.168.1.1
wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash

192.168.1.1 — آدرس پیش‌فرض روتر است؛ اگر آدرس شما متفاوت است، آن را جایگزین کنید.

بسته‌ها را نصب کنید — هستهٔ mihomo به‌صورت خودکار اضافه می‌شود:

opkg install nikki luci-app-nikki luci-i18n-nikki-ru

luci-i18n-nikki-ru ترجمهٔ اختیاری رابط Nikki به زبان روسی است. در ساخت‌های SNAPSHOT مدیر بسته فرق می‌کند: همان بسته‌ها از طریق apk add نصب می‌شوند.

اگر اسکریپت گیر می‌کند یا بسته‌ها نصب نمی‌شوند — یعنی feed برای ارائه‌دهندهٔ شما در دسترس نیست. مشکلی نیست: روش A بدون آن هم کار می‌کند.

دستورالعمل رسمی همیشه به‌روز است — اگر دستوری تغییر کرده باشد، با آن مطابقت دهید:

به هر روشی که بسته‌ها را نصب کرده باشید، بعد از نصب از LuCI خارج شوید و دوباره وارد شوید — فقط بعد از ورود مجدد است که گزینهٔ Services → Nikki در منو ظاهر می‌شود.

گام ۲. لینک اشتراک را از حساب خود کپی کنید

وارد حساب خود شوید و بخش «روترها» را پیدا کنید.

سوئیچ «فعال کردن پشتیبانی از روترها» را روشن کنید.

لینک اشتراک (OpenWRT / Nikki) را کپی کنید — این لینک به /clash ختم می‌شود. روتر دقیقاً از طریق همین لینک هم سرور شما و هم قوانین split-tunneling پنل را دریافت می‌کند.

لینک اشتراک یک راز است: هر کسی که آن را داشته باشد می‌تواند از VPN شما استفاده کند. آن را به اشتراک نگذارید و جایی منتشر نکنید.

گام ۳. اشتراک را در Nikki اضافه کنید

در Services → Nikki تب Profile را باز کنید و یک اشتراک جدید اضافه کنید: نام آن هرچه می‌خواهید باشد (مثلاً CreateYourVPN)، و در فیلد Subscription Link لینک اشتراک را از حساب خود جای‌گذاری کنید. بقیهٔ فیلدها را می‌توانید دست‌نخورده رها کنید. روی Save & Apply بزنید.

روی Update کنار اشتراک بزنید — Nikki پروفایل را دانلود می‌کند: سرور و قوانین split-tunneling شما.

گام ۴. Nikki را فعال کنید

در تب Proxy Config مطمئن شوید که پروکسی فعال است (Enable) و TCP Mode را روی TPROXY بگذارید. روی Save & Apply بزنید. قوانین فایروال را خود Nikki تنظیم می‌کند.

در تب App Config، Enable و Fast Reload را فعال کنید، در فیلد انتخاب پروفایل اشتراکی را که اضافه کردید مشخص کنید و روی Save & Apply بزنید — سرویس راه‌اندازی می‌شود.

توصیه می‌کنیم همان‌جا Scheduled Restart را هم با یک عبارت cron فعال کنید، مثلاً 0 5 * * * (هر روز ساعت ۰۵:۰۰). با هر بار ری‌استارت، Nikki دوباره اشتراک را دانلود می‌کند — به این ترتیب روتر خودش قوانین تغییریافته در پنل و سرور به‌روز را دریافت می‌کند و دیگر نیازی به به‌روزرسانی دستی نخواهد بود.

گام ۵. بررسی کنید که همه‌چیز کار می‌کند

روی Open Dashboard در Nikki بزنید — Dashboard هسته به‌همراه وضعیت و سرورتان باز می‌شود. سپس روی هر دستگاهی که از طریق روتر متصل است، سایتی را باز کنید که باید از VPN عبور کند و مطمئن شوید موقعیت مکانی قابل‌مشاهده‌تان تغییر کرده است. سایت‌هایی که در پنل روی bypass (دور زدن) VPN تنظیم کرده‌اید باید همچنان مستقیم باز شوند.

اگر هسته از همان اولین بار راه‌اندازی نشود. در اولین اجرا، mihomo پایگاه‌های دادهٔ جغرافیایی را از GitHub دانلود می‌کند (این‌ها برای قوانین بر اساس کشور و دسته‌بندی لازم‌اند)، پس روتر در این مرحله به اینترنت نیاز دارد — و اگر GitHub از شبکهٔ شما به‌خوبی باز نشود، اولین راه‌اندازی ممکن است شکست بخورد. Nikki (یا کل روتر) را ری‌استارت کنید و دوباره Dashboard را باز کنید — گاهی یکی‌دو بار تلاش لازم است تا پایگاه‌های داده دانلود شوند. به‌محض اینکه سرویس بالا آمد، از آن به بعد پایدار کار می‌کند.

قوانین و سرور چطور به‌روزرسانی می‌شوند

قوانین split-tunneling را در پنل ویرایش می‌کنید — نیازی به تغییر چیزی روی روتر نیست. روتر نسخهٔ تازه را با هر بار به‌روزرسانی اشتراک دریافت می‌کند: خودکار طبق زمان‌بندی (Scheduled Restart از گام ۴) یا دستی با دکمهٔ Update در تب Profile. سرور هم همراه با قوانین به‌روز می‌شود: اگر سرور جدیدی برای شما انتخاب شده باشد، روتر در به‌روزرسانی بعدی اشتراک به آن سوییچ می‌کند.

نکته: تورنت و بار روی روتر

از این پس تمام ترافیک شبکهٔ خانگی از هستهٔ mihomo روی روتر عبور می‌کند. دانلودهای سنگین P2P روی سخت‌افزار ضعیف می‌توانند پردازندهٔ روتر را تا حد نهایت درگیر کنند و سرعت را پایین بیاورند. اگر با این مشکل روبه‌رو شدید، دریافت ترافیک را به فهرستی از پورت‌ها محدود کنید: در تب Proxy Config → Bypass، Destination TCP Port و Destination UDP Port را روی Custom بگذارید و پورت‌هایی را که باید از VPN عبور کنند فهرست کنید (مثلاً 80 و 443؛ بعد از وارد کردن هر مقدار Enter را بزنید، سپس Save & Apply را بزنید). هر چیزی که در این فهرست نباشد — از جمله کلاینت‌های تورنت با پورت‌های تصادفی و بالای خودشان — مستقیم، بدون عبور از VPN و هسته، خواهد رفت.

این یک مصالحه است: برنامه‌هایی که روی پورت‌های خارج از این فهرست کار می‌کنند هم دیگر از VPN عبور نخواهند کرد. فقط زمانی از این روش استفاده کنید که بار روی روتر واقعاً مشکل‌ساز باشد.

منابع مفید

On this page