CreateYourVPN Academy
路由器

OpenWRT 路由器

如何透過 Nikki 將 OpenWRT 路由器連接到 CreateYourVPN — 加入一條訂閱連結,面板中的分流規則就會自動套用到整個家庭網路。

連接路由器能讓你整個家都置於 VPN 之後 — 每一支手機、每一台電視和筆記型電腦都能使用它,而無需為每台裝置個別設定。在 OpenWRT 上,這是所有方式中最順暢的一條路:你加入一條訂閱連結,路由器就會從中同時取得伺服器以及面板中的分流規則。在面板中修改規則後,路由器會在下次更新時接收。

我們使用 Nikki — 一個建構於 mihomo(Clash.Meta)核心之上的輕量 OpenWRT 應用程式。本指南涵蓋完整流程:安裝 Nikki(主要方法是手動安裝 — 許多人的網路環境連不上專案的 feed)、加入訂閱、自動更新,以及驗證。

Nikki 需要 OpenWRT 24.10 或更新版本(25.x 與 SNAPSHOT 也可以)。不支援 OpenWRT 23.05。

你需要準備的東西

  • 一台運行 OpenWRT ≥ 24.10 且可連上網際網路的路由器。
  • 能存取路由器的網頁介面(LuCI)與 SSH(使用者名稱 root,密碼與 LuCI 相同)。
  • 同一網路內的一台電腦,以及 10–15 分鐘時間。

步驟 1. 安裝 Nikki

Nikki 不在 OpenWRT 的標準 feed 中 — 它是透過自己專屬的套件 feed 安裝的。問題在於,這個 feed 與安裝腳本都放在 GitHub 上,而許多使用者的網路環境連上 GitHub 不太順暢 — 「兩條指令」的快速安裝方式常常因此失敗。所以這裡以手動安裝作為主要方法:它一定能用。如果你的網路能順利連上 GitHub,方法 B 會更快。

方法 A — 手動安裝(一定能用)

套件由你在電腦上下載,再自行傳到路由器 — 路由器本身不需要連上 GitHub。

確認路由器的架構:在 LuCI 中開啟 System → Software 並按下 Update lists… — 指令輸出中會顯示架構(例如 x86_64aarch64_cortex-a53)。也可以透過 SSH 執行 grep OPENWRT_ARCH /etc/os-release 來查詢。

開啟發布頁面 nikkinikki.pages.dev,進入你所使用的 OpenWRT 版本目錄(openwrt-24.10openwrt-25.12SNAPSHOT),再進入你的架構對應的資料夾。下載三個套件:mihomo-meta(核心)、nikkiluci-app-nikki — 如果需要繁體中文介面,再加上 luci-i18n-nikki-zh-tw。穩定版是 .ipk 檔案,SNAPSHOT 則是 .apk。把所有檔案放進一個獨立的資料夾,例如 Downloads/nikki

把資料夾複製到路由器上。-O 這個參數是必須的:沒有它,scp 會嘗試使用 OpenWRT 沒有的 SFTP(如果你的 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-zh-tw*.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-zh-tw

luci-i18n-nikki-zh-tw 是 Nikki 介面的繁體中文翻譯,非必要。SNAPSHOT 版本使用不同的套件管理器:同樣的套件改用 apk add 安裝。

如果腳本卡住不動,或套件安裝失敗 — 代表你的網路環境無法存取這個 feed。沒關係,方法 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 分頁中開啟 EnableFast 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 手動更新。伺服器也會隨著規則一起更新:如果為你選擇了新的伺服器,路由器會在下次訂閱更新時切換過去。

提示:P2P 下載與路由器負載

現在,整個家庭網路的流量都會經過路由器上的 mihomo 核心。如果硬體效能較弱,繁重的 P2P 下載可能會把路由器的處理器榨到極限,拖慢速度。如果你遇到這種情況,可以用連接埠清單限制被攔截的流量:在 Proxy Config → Bypass 分頁中,把 Destination TCP PortDestination UDP Port 切換為 Custom,然後列出應該經過 VPN 的連接埠(例如 80443;每輸入一個數值就按一次 Enter,最後按下 Save & Apply)。不在清單中的流量 — 包括使用隨機高位連接埠的 BT 下載軟體 — 都會直接連線,繞過 VPN 與核心。

這是一種取捨:使用清單之外連接埠的應用程式,也會因此不再經過 VPN。只有在路由器負載確實造成困擾時,才建議使用這個做法。

實用參考資料

On this page