# 安裝伺服器端

本章將介紹如何安裝 FIRERPA 伺服器端，FIRERPA 伺服器端是最重要的一環，也是最基礎的底層服務。您可以選擇以 AUTORUN APP（支援開機自啟動）、Magisk 模組（支援開機自啟動）或手動方式安裝。它們的安裝難度也分別對應其排序。

```{important}
以預設方式安裝的 FIRERPA 未啟用任何認證，其他人可以存取裝置上的任意內容。請留意啟用服務憑證的部分，選擇性地啟用憑證。若您未啟用，請務必在可信任的網路環境內使用。
```

```{attention}
基於安全性考量，我們不建議將任何相關檔案（如伺服器端或設定檔）放置於 /data/local 目錄下。
```

## 透過 APP 安裝

我們將在最前面介紹最簡單的方法。這個安裝方法最為簡易，不需要您進行任何多餘的操作。您只需要安裝我們的自動安裝和自啟動 APK 即可。但您仍需注意，您的手機必須具備 root 權限（su），且對於部分國產機型，APK 的預設自啟動行為可能被禁止。在這種情況下，您可能需要尋找相關設定並允許我們的 APK 自啟動。

點擊下載我們的 FIRERPA 自啟動應用程式 [lamda-autorun.apk](https://lamda-assets.s3.bitiful.net/release/latest/lamda-autorun.apk) 並安裝。安裝後，開啟 APP 並授權 root 權限，打開自啟動開關，等待安裝完成後重啟裝置即可。如果您順利完成，則無需繼續閱讀本章的其餘內容。

## 取得裝置架構

由於 FIRERPA 支援多種 CPU 架構，下載錯誤版本的伺服器端將導致無法正常執行。因此，在安裝前，您需要取得目前裝置的架構。您可以執行以下命令來取得。

```bash
getprop ro.product.cpu.abi
```

通常情況下，對於現今的實體手機，此命令會輸出 `arm64-v8a`。而對於模擬器（如雷電模擬器），在新建模擬器時會選擇 32 位元或 64 位元的 Android 系統。
32 位元模擬器系統對應 `x86`，64 位元則對應 `x86_64`。部分小米舊機型則是 `armeabi-v7a`。現在請記住這個輸出值。

## 啟動設定檔

關於如何編寫啟動設定，請參閱 `properties.local 設定` 章節。各個功能中也會有相關介紹。

## 透過 Magisk 安裝

如果您的裝置使用了 Magisk，那麼您可以用最簡單的方法完成安裝，且 FIRERPA 可以**開機自啟動**。需確保 Magisk 版本 >= 20.4，且僅支援在 **Magisk App** 中安裝。

現在，從 [lamda/releases](https://github.com/firerpa/lamda/releases) 發布頁面下載 `lamda-magisk-module.zip`，並將其 push 至 `/sdcard`。開啟 Magisk App，點擊 模組 -> 從本機安裝，選擇 lamda-magisk-module.zip，稍作等待即可。

```{tip}
如果在過程中出現任何 ERROR 錯誤，且未正常安裝，可能是因為我們的模組壓縮檔太大了。請使用壓縮軟體開啟並刪除 server 目錄中不需要的架構的伺服器端檔案，然後再重新安裝。請勿解壓縮後再重新壓縮，應直接在壓縮軟體內操作。
```

刷入成功後，請重啟裝置。重啟後，FIRERPA 應該會在開機時自啟動。但為避免可能的崩潰問題，lamda 會在 30 秒後啟動，而非立即啟動。您將有足夠的時間停用 FIRERPA 模組（請在開機 2 分鐘後再連線使用 FIRERPA）。

您也可以選擇自訂設定。例如，您希望所有透過此 Magisk 模組刷入的 FIRERPA 都啟用 API 服務憑證，或希望這些裝置在啟動時自動連線至代理伺服器。您只需編寫 properties.local 或產生 PEM 憑證並重新命名為 `lamda.pem`（請參閱 tools/ 中的工具使用說明），隨後使用**壓縮軟體**開啟 `lamda-magisk-module.zip`，然後將您要設定的檔案（`lamda.pem` 或 `properties.local`）拖曳至 `common` 資料夾，即可實現啟動時自動設定。

```{attention}
請勿解壓縮後再重新壓縮，應直接在壓縮軟體上進行拖曳操作，否則模組將無法正常使用。
```

安裝完成後，您無需再閱讀下一段手動安裝的內容，可直接跳過。

## 手動安裝

由於部分老舊裝置可能無法透過系統的 `tar` 命令來解壓縮 .tar.gz 副檔名的檔案，因此提供了 `busybox` 作為補充工具，您可能需要同時下載我們提供的 busybox。假設已知裝置架構為 `arm64-v8a`，現在請將裝置連接至目前電腦，並確保已授權 ADB 且可正常切換至 root。

從發布頁面 [lamda/releases](https://github.com/firerpa/lamda/releases)
下載 `lamda-server-arm64-v8a.tar.gz` 以及 `busybox-arm64-v8a`，並將檔案暫時推送到 /data/local/tmp。

```{tip}
這裡僅為您介紹如何手動解壓縮並安裝伺服器端，啟動流程將在另一章節說明。
```

```bash
adb push lamda-server-arm64-v8a.tar.gz /data/local/tmp
adb push busybox-arm64-v8a /data/local/tmp
```

完成後，進入 `adb shell`，執行 `su` 切換為 root 身分，隨後執行以下命令：

```bash
chmod 755 /data/local/tmp/busybox-arm64-v8a

/data/local/tmp/busybox-arm64-v8a tar -C /data -xzf /data/local/tmp/lamda-server-arm64-v8a.tar.gz

rm /data/local/tmp/lamda-server-arm64-v8a.tar.gz
rm /data/local/tmp/busybox-arm64-v8a
```

全部指令正確執行完畢後，即表示安裝完成。請繼續閱讀 `啟動伺服器端` 章節以了解如何啟動服務程式。