# 如何在 OpenWrt 上安裝 VilaNet？

安裝與路由器相符的兩個套件，然後在 LuCI 中開啟**網路 > VilaNet**，登入並連線。請先備份路由器，並在下載任何檔案前確認套件管理器及 CPU 架構。

> **需要完整圖文參考？** 請開啟[內容更豐富的 VilaNet OpenWrt 指南](https://openwrt.vilavpn.com/)，查看不同套件的安裝步驟、架構選擇、螢幕截圖及進階疑難排解。本頁會繼續作為多語言安全入門指南。

{% hint style="warning" %}
變更路由器可能會中斷網路上每部裝置的連線。開始前，請保留路由器設定的副本，並確保可透過區域網路連上 LuCI 或 SSH。
{% endhint %}

## 所需項目

- 受支援的 OpenWrt 或 iStoreOS 路由器
- 使用 `opkg` 的 OpenWrt 24.x，或使用 `apk` 的 OpenWrt 25.x
- 已設定路由器的 root 密碼
- LuCI 及 SSH 的管理員存取權限
- 有效的 VilaVPN 帳號
- 目前的 [VilaNet OpenWrt 版本](https://github.com/vilavpn/vilanet-openwrt/releases/tag/v1.0.33)

本指南目前已驗證的公開版本是 **v1.0.33**。

## 備份路由器

在 LuCI 中開啟**系統 > 備份 / 升級**，並建立設定備份。請將壓縮檔儲存在路由器以外的位置。

也請記錄：

- 路由器型號
- OpenWrt 版本
- CPU 架構
- 路由器使用 `opkg` 還是 `apk`

在 SSH 工作階段中，以下命令會顯示相關資訊：

```sh
cat /etc/openwrt_release
command -v opkg || command -v apk
opkg print-architecture 2>/dev/null || apk --print-arch
```

`opkg print-architecture` 可能傳回多行。核心套件請使用優先序數字最高的特定架構；忽略 `all` 及 `noarch`。例如，若 `aarch64_cortex-a53` 的優先序較高，請選用它而不是 `all`。

## 選擇安裝方式

| 路由器 | 檔案 | 安裝方式 |
|---|---|---|
| iStoreOS | `vilanet-istore-install_1.0.33.run` | **iStore > 手動安裝** |
| OpenWrt 24.x | `vilanet-core_1.0.33_<arch>.ipk` 及 `luci-app-vilanet_1.0.33_all.ipk` | `opkg install` |
| OpenWrt 25.x | `vilanet-core_1.0.33_<arch>.apk` 及 `luci-app-vilanet_1.0.33_noarch.apk` | `apk add` |

請將 `<arch>` 替換為路由器回報的架構。不要只依據路由器的行銷名稱猜測。

## 驗證 OpenWrt 25 下載項目

OpenWrt 25 套件會使用 `--allow-untrusted` 安裝，因為它們是本機版本檔案，而不是來自路由器已設定軟體庫的套件。複製或安裝前，請**先**驗證其 SHA-256 值。

| 檔案 | v1.0.33 預期 SHA-256 |
|---|---|
| `vilanet-core_1.0.33_aarch64_cortex-a53.apk` | `b66dba97bc2c8d3c18eca3556e087651fc9d8ec6d84ebed2ac1d4ab65b03a982` |
| `vilanet-core_1.0.33_aarch64_generic.apk` | `5479c84c8b1373150dd4afd5a337e7e4cfbbcf7109b8c2861e40f979784677b8` |
| `vilanet-core_1.0.33_arm_arm926ej-s.apk` | `5c8c211f9aa9708bab10cdfc80d3171d6f6d6453d0f836927b199f938c5e4569` |
| `vilanet-core_1.0.33_arm_cortex-a7_neon-vfpv4.apk` | `de7425cc9c23cb5f981f78344b75822a11c7624a7033a044bf8eb701415a4d7e` |
| `vilanet-core_1.0.33_mipsel_24kc.apk` | `643ff91ca501ef7605146bf3c9e2490a5177ecfdfc5bc9613e48ac4a8b22867d` |
| `vilanet-core_1.0.33_x86_64.apk` | `f22fa045b777677a647da808110eb00af8ad661bafeb07b48aae13e7ff6187c4` |
| `luci-app-vilanet_1.0.33_noarch.apk` | `201782ccebba81d170ed7193ca75aee8e46fe9d542fa4992dc7222960dc04502` |

在 macOS 上執行 `shasum -a 256 <filename>`。在 Linux 或路由器上執行 `sha256sum <filename>`。若任一數值不符，請勿安裝這些檔案。

## 在 iStoreOS 上安裝

1. 從目前版本下載 `vilanet-istore-install_1.0.33.run`。
2. 開啟 iStoreOS 網頁介面。
3. 前往 **iStore > 手動安裝**。
4. 上傳 `.run` 安裝程式。
5. 離開頁面前，請檢查安裝結果。
6. 開啟**網路 > VilaNet**。

## 在 OpenWrt 24.x 上安裝

下載符合架構的核心 IPK 及不受架構限制的 LuCI IPK。將它們複製到路由器：

```sh
scp -O vilanet-core_1.0.33_<arch>.ipk root@<router>:/tmp/
scp -O luci-app-vilanet_1.0.33_all.ipk root@<router>:/tmp/
```

透過 SSH 安裝兩個套件：

```sh
opkg install /tmp/vilanet-core_1.0.33_<arch>.ipk \
  /tmp/luci-app-vilanet_1.0.33_all.ipk
/etc/init.d/vilanet enable
vilanet version
```

## 在 OpenWrt 25.x 上安裝

下載符合架構的核心 APK 及 noarch LuCI APK。將它們複製到路由器：

```sh
scp -O vilanet-core_1.0.33_<arch>.apk root@<router>:/tmp/
scp -O luci-app-vilanet_1.0.33_noarch.apk root@<router>:/tmp/
```

透過 SSH 安裝兩個套件：

```sh
apk add --allow-untrusted --force-non-repository \
  /tmp/vilanet-core_1.0.33_<arch>.apk \
  /tmp/luci-app-vilanet_1.0.33_noarch.apk
/etc/init.d/vilanet enable
vilanet version
```

## 登入並連線

1. 安裝後重新整理 LuCI。
2. 開啟**網路 > VilaNet**。
3. 在**總覽**中輸入 VilaVPN 帳號的電子郵件地址及密碼。
4. 選取**登入**。
5. 開啟**伺服器**並選擇一個位置，或在提供自動選項時保留為**自動選擇**。
6. 返回**總覽**並選取**連線**。

![在真實 OpenWrt LuCI 介面中使用範例合成地址的 VilaNet 登入表單](/assets/openwrt/openwrt-vilanet-login-en-24.10.2.png)

這張真實 LuCI 畫面使用保留的範例地址 `you@example.com`，密碼欄位則為空白。為了讓登入控制項在手機上清楚可讀，寬幅的路由器畫面已經裁切；沒有任何介面元素是重新製作的。

實體路由器螢幕截圖及區域網路流量檢查仍是發布證據門檻；只有「已連線」標籤絕不是通道已建立的證明。

## 確認運作正常

先檢查路由器：

```sh
vilanet version
vilanet status --json
/etc/init.d/vilanet status
logread | grep vilanet
```

接著使用一部連上路由器的裝置：

1. 開啟一般 HTTPS 網站。
2. 返回**網路 > VilaNet > 總覽**。
3. 確認服務仍在執行，且連線維持**已連線**。

只有「已連線」標籤並不足夠。路由器狀態及來自區域網路裝置的流量都必須正常運作。

## 如果找不到 VilaNet 選單

1. 強制重新整理 LuCI 頁面。
2. 透過 SSH 執行 `/etc/init.d/rpcd restart`。
3. 重新開啟 LuCI 並檢查**網路 > VilaNet**。
4. 確認核心及 LuCI 套件都已安裝。

## 如果 VilaNet 啟動後停止

重新安裝前，請保留證據：

```sh
vilanet version
vilanet status --json
/etc/init.d/vilanet status
logread | grep vilanet
```

聯絡支援時，請提供路由器型號、OpenWrt 版本、套件管理器及經過遮蔽處理的輸出。請勿傳送密碼或原始訂閱資料。

## 不受支援的舊版安裝程式

舊版 `vilanet-test-*.tar.gz` 手動複製方式已停用。請使用官方版本中的目前 IPK、APK 或 iStoreOS 安裝程式。

## 下一步

變更路由模式、升級套件或移除 VilaNet 前，請先閱讀[復原與回復](/zh-tw/routers/recovery-and-rollback/)。
