OpenWRT 路由器
如何通过 Nikki 将 OpenWRT 路由器连接到 CreateYourVPN——只需添加一条订阅链接,面板中的分流规则就会自动应用到整个家庭网络。
连接路由器会让整个家庭都置于 VPN 之后——每台手机、电视和笔记本都能使用它,无需在每台设备上单独配置。在 OpenWRT 上,这是所有方式中最顺畅的一条路:你添加一条订阅链接,路由器就会从中同时拉取服务器以及面板中的分流规则。在面板里更改规则,路由器会在下次刷新时同步。
我们使用 Nikki——一个基于 mihomo(Clash.Meta)核心构建的轻量级 OpenWRT 应用。本指南涵盖完整流程:安装 Nikki(以手动方式为主——很多网络下都访问不了项目的软件源)、连接订阅、自动更新以及验证。
Nikki 需要 OpenWRT 24.10 或更新版本(25.x 和 SNAPSHOT 也可以)。不支持 OpenWRT 23.05。
你需要准备什么
- 一台运行 OpenWRT ≥ 24.10 且能联网的路由器。
- 能访问路由器的 Web 管理界面(LuCI)以及 SSH(用户名
root,密码与 LuCI 相同)。 - 一台处于同一网络的电脑,以及 10–15 分钟时间。
步骤 1. 安装 Nikki
Nikki 不在 OpenWRT 的标准软件源中——它需要从自己独立的软件源安装。麻烦在于,这个软件源和安装脚本都托管在 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-zh-cn。稳定版本对应的是 .ipk 文件,SNAPSHOT 对应的是 .apk 文件。把它们放进单独的文件夹,例如 Downloads/nikki。
把这个文件夹拷贝到路由器上。-O 参数是必须的:没有它,scp 会尝试使用 OpenWRT 上并不存在的 SFTP(如果你的 scp 版本不认识 -O 参数,去掉它就行:老版本本来就用的是正确的协议)。如果文件夹不在「下载」目录,或者名字不一样——请相应修改命令里的路径。
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*.ipkopkg update 是必须的,这样包管理器才能从 OpenWRT 官方仓库拉取依赖。如果你下载了中文翻译包,在命令末尾加上 ./luci-i18n-nikki-zh-cn*.ipk。SNAPSHOT 版本没有 opkg——把最后两条命令换成 apk update,然后执行 apk add --allow-untrusted ./mihomo-meta*.apk ./nikki*.apk ./luci-app-nikki*.apk(需要这个参数,是因为手动安装时系统里没有项目的签名密钥)。
方法 B——通过项目软件源安装(如果能访问 GitHub)
经典的两条命令安装方式。如果你的网络能正常访问 GitHub,可以试试这个方法。
通过 SSH 连接路由器,添加项目的软件源:
ssh root@192.168.1.1
wget -O - https://github.com/nikkinikki-org/OpenWrt-nikki/raw/refs/heads/main/feed.sh | ash192.168.1.1 是路由器的默认地址;如果你的不一样,换成实际地址。
安装这些包——mihomo 核心会自动拉取:
opkg install nikki luci-app-nikki luci-i18n-nikki-zh-cnluci-i18n-nikki-zh-cn 是可选的 Nikki 中文界面翻译包。SNAPSHOT 版本用的是另一个包管理器:同样这些包改用 apk add 安装。
如果脚本卡住,或者包安装不上——说明你的网络访问不了这个软件源。没关系,方法 A 不依赖它,同样能用。
官方说明始终保持最新——如果某条命令发生了变化,请以它为准:
无论你用哪种方式安装包,装完之后请退出 LuCI 再重新登录——只有重新登录后,菜单里才会出现 Services → Nikki。
步骤 2. 从账户复制订阅链接
登录你的账户,找到**「路由器」**模块。
打开**「启用路由器支持」**开关。
复制订阅链接 (OpenWRT / Nikki)——它以 /clash 结尾。路由器正是通过它获取你的服务器,以及面板中的分流规则。
订阅链接是机密:谁拿到它,谁就能使用你的 VPN。不要把它分享出去,也不要发布到任何地方。
步骤 3. 在 Nikki 中添加订阅
在 Services → Nikki 中打开 Profile 标签页,添加一个新的订阅:名称随意(例如 CreateYourVPN),在 Subscription Link 字段中粘贴账户里的订阅链接。其余字段可以不用管。点击 Save & Apply。
点击订阅旁的 Update——Nikki 会下载配置文件:服务器和你的分流规则。
步骤 4. 启用 Nikki
在 Proxy Config 标签页中,确认代理已启用(Enable),并把 TCP Mode 切换为 TPROXY。点击 Save & Apply。防火墙规则由 Nikki 自动处理。
在 App Config 标签页中,启用 Enable 和 Fast Reload,在配置文件选择框中选择你添加的订阅,然后点击 Save & Apply——服务就会启动。
建议同时开启同一页面里的 Scheduled Restart,填入 cron 表达式,例如 0 5 * * *(每天 05:00)。每次重启,Nikki 都会重新下载订阅——这样路由器会自动获取面板里修改过的规则和最新的服务器,无需手动更新任何内容。
步骤 5. 检查是否生效
点击 Nikki 中的 Open Dashboard——会打开显示状态和你的服务器信息的核心面板。然后在任意一台通过路由器联网的设备上,打开一个应当走 VPN 的网站,确认显示的地理位置已经改变。你标记为例外(绕开 VPN)的网站应当依旧能直接打开。
如果核心第一次没能启动。 mihomo 首次启动时会从 GitHub 下载 geo 数据库(国家和分类规则需要用到),因此路由器需要联网——如果你的网络访问 GitHub 不顺畅,第一次启动可能会失败。重启 Nikki(或整个路由器)后再次打开 Dashboard——有时需要试几次,等数据库下载完成。一旦服务启动成功,之后就会稳定运行。
规则和服务器如何更新
分流规则你在面板中编辑——路由器上无需改动任何东西。每次订阅更新时,路由器都会拉取最新版本:可以按计划自动进行(第 4 步中的 Scheduled Restart),也可以在 Profile 标签页手动点击 Update 按钮。规则更新的同时服务器也会一起更新:如果给你切换了新的服务器,路由器会在下一次订阅更新时切换过去。
小贴士:种子下载与路由器负载
现在整个家庭网络的流量都要经过路由器上的 mihomo 核心。较弱的硬件遇到高负载的 P2P 下载时,处理器可能会被跑满,从而拖慢速度。如果你遇到这种情况,可以把流量拦截范围限制为一份端口列表:在 Proxy Config → Bypass 标签页中,把 Destination TCP Port 和 Destination UDP Port 切换为 Custom,列出需要走 VPN 的端口(例如 80 和 443;每输入一个值都按一次 Enter,然后点击 Save & Apply)。不在列表中的流量——包括使用随机高位端口的种子客户端——都会直接联网,绕开 VPN 和核心。
这是一种取舍:运行在列表之外端口上的应用,也会因此不再走 VPN。只有在路由器负载确实造成影响时,才建议这样使用。
有用的参考资料
- OpenWrt-nikki(官方仓库)——安装与配置。
- Nikki wiki——订阅、模式、配置文件编辑器。
- Nikki 发布页面——手动安装用的安装包(方法 A)。