# サーバーのインストール

本章では、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) をクリックしてダウンロードし、インストール後、アプリを開いて root 権限を許可し、自動起動スイッチをオンにします。インストールが完了するのを待ってからデバイスを再起動してください。この手順が正常に完了した場合、本章の残りの内容を読む必要はありません。

## デバイスアーキテクチャの取得

FIRERPA は複数の CPU アーキテクチャをサポートしているため、誤ったバージョンのサーバーをダウンロードすると正常に実行できません。そのため、インストール前に、現在のデバイスのアーキテクチャを取得する必要があります。以下のコマンドを実行して取得できます。

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

通常、現代の実際のスマートフォンでは、このコマンドの出力は `arm64-v8a` です。一方、LDPlayer などのエミュレータでは、新しいエミュレータを作成する際に 32 ビット版または 64 ビット版の Android システムを選択します。32 ビットのエミュレータシステムは `x86` に、64 ビットは `x86_64` に対応します。一部の古い Xiaomi モデルでは `armeabi-v7a` となります。この出力値を覚えておいてください。

## 起動設定ファイル

起動設定の記述方法については、`properties.local の設定` の章を参照してください。各機能の中でも関連する説明があります。

## Magisk を使用したインストール

お使いのデバイスで Magisk を使用している場合、最も簡単な方法でインストールでき、FIRERPA を**起動時に自動起動**させることができます。Magisk のバージョンが 20.4 以上であり、**Magisk App** 内でのインストールのみサポートされていることを確認してください。

まず、[lamda/releases](https://github.com/firerpa/lamda/releases) のリリースページから `lamda-magisk-module.zip` をダウンロードし、`/sdcard` に push します。次に、Magisk App を開き、「モジュール」->「ストレージからインストール」をタップし、`lamda-magisk-module.zip` を選択してしばらく待ちます。

```{tip}
途中で何らかの ERROR が発生して正常にインストールできない場合、モジュールの zip ファイルが大きすぎることが原因である可能性があります。圧縮ソフトでファイルを開き、server ディレクトリ内にある不要なアーキテクチャのサーバーファイルを削除してから再度インストールしてください。解凍してから再圧縮するのではなく、圧縮ソフト内で直接操作してください。
```

フラッシュが成功したら、デバイスを再起動してください。再起動後、FIRERPA は起動時に自動的に起動するはずです。ただし、クラッシュの可能性を避けるため、lamda はすぐには起動せず、30 秒後に起動します。これにより、FIRERPA モジュールを無効にするための十分な時間が確保されます（FIRERPA への接続は、起動後 2 分以上経ってから行ってください）。

カスタム設定を選択することもできます。例えば、この Magisk モジュールでフラッシュしたすべての FIRERPA でインターフェースサービス証明書を有効にしたい場合や、これらのデバイスが起動時に自動的にプロキシに接続するようにしたい場合などです。その場合は、`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` に push します。

```{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
```

すべてがエラーなく正常に実行されたら、インストールは完了です。`サーバーの起動` の章に進み、サービスプログラムの起動方法を確認してください。