目次
ルーターのプロキシプラグインの更新では、自作ルールが残るかだけでなく、失敗しても管理画面に入れるか、使えるバックアップがあるかも重要です。Web プラグイン、プロキシのコア、サブスクリプションを別々に扱い、まず一台の端末で復旧を確認してからほかを戻せば、更新で家中の通信を調べ直す事態を避けられます。
OpenClash 更新前に、パッケージ形式、空き容量、ルーターへの予備の接続手段を確認する
LuCI はルーターのウェブ管理画面、Mihomo はプロキシ接続を処理するコアです。OpenClash の更新ではウェブプラグイン、コア、サブスクリプション設定を個別に確認し、上書き設定も含めて一度に変更しないでください。それぞれのバックアップを残せば、失敗した部分を戻せます。
2026-07-16 時点で、OpenClash の公式 Latest は v0.47.116 です。luci-app-openclash_0.47.116_all.ipk と luci-app-openclash-0.47.116.apk の両方が提供されています。
従来の opkg システムでは IPK を使用し、apk パッケージマネージャーを採用する新しい OpenWrt ブランチでは APK を使用します。拡張子が似ていても混在させてインストールすることはできません。
有線接続またはローカルネットワーク経由で、OpenClash を停止してもルーターの管理画面を開けることを確認してから、/overlay と /tmp を点検します。離れた場所から管理していて予備の接続手段がない場合は、家全体のネットワークを担うプラグインやコアを直接アップグレードしないでください。
df -h /overlay /tmp
if command -v opkg >/dev/null 2>&1; then
opkg list-installed | grep -i openclash
else
apk list --installed | grep -i openclash
fi
uci show openclash.config.config_pathアプリ内バックアップと手動アーカイブの両方を残す
公式 Release の説明では、プラグイン設定をバックアップし、「設定ファイル管理」から圧縮ファイルをアップロードして復元できます。まず画面からバックアップを一つ作成してコンピューターへダウンロードし、その後で手動アーカイブも作成してください。後者を使えば、実際にどのファイルが保存されたかを確認できます。
主な保存場所には /etc/config/openclash、/etc/openclash/config、custom、overwrite、core があります。設定とサブスクリプションには実際の認証情報が含まれるため、アーカイブを公開クラウドストレージに置かないでください。
BACKUP=/tmp/openclash-backup-$(date +%F-%H%M).tgz
set --
for ITEM in etc/config/openclash etc/openclash/config etc/openclash/custom etc/openclash/overwrite etc/openclash/core; do
[ -e "/$ITEM" ] && set -- "$@" "$ITEM"
done
[ "$#" -gt 0 ] || { echo 'No OpenClash files found'; exit 1; }
tar -C / -czf "$BACKUP" "$@"
ls -lh "$BACKUP"
tar -tzf "$BACKUP" | sed -n '1,40p'LuCI プラグイン更新後も、画面と元の設定一覧を開ける必要がある
バックアップ内のファイルを一覧で確認できたら、まず Web プラグインだけを更新します。この段階では以前のコアと設定を使い続けるため、画面に問題が出ても原因を LuCI パッケージと依存関係に限定できます。
以下では、ルーターのパッケージマネージャーに合うインストールコマンドだけを実行します。opkg のシステムには IPK、apk のシステムには APK を使います。確認済みのプロジェクトのリリースページから入手したファイルであることを確かめ、両方のコマンドをまとめて貼り付けて実行しないでください。
# opkg 系统
opkg install /tmp/luci-app-openclash_0.47.116_all.ipk
# apk 系统只使用对应 APK,不执行上面的 opkg 命令
apk add --force-overwrite --clean-protected --allow-untrusted /tmp/luci-app-openclash-0.47.116.apkインストール後に LuCI を再読み込みし、OpenClash の画面、設定ファイル一覧、バージョン更新画面を確認します。画面が空白になる、依存関係のエラーが出る、メニューが消える場合は、プラグインとシステムパッケージに問題があります。この段階では Mihomo コアの変更やサブスクリプションの更新へ進まないでください。
clash_meta を CPU の種類に合わせ、旧コアを残す
OpenClash の公式説明では、まずバージョン更新画面でコアのビルド版を確認するよう求めています。手動でインストールする場合は、コアを /etc/openclash/core/ に展開して clash_meta という名前にし、ルーターの CPU アーキテクチャに合わせて実行権限も付与します。
以前のコアのコピーを残し、更新後はまず同じ設定を読み込みます。ログに Exec format error が出る場合は通常アーキテクチャが誤っており、Permission denied なら実行権限を確認します。YAML の解析に失敗した場合に限り、設定フィールドを見直してください。
下の一行目はバックアップ、続く二行は置き換え後の新しいコアの確認用です。全体を続けて実行しないでください。バックアップの成功を確認してから、アーキテクチャを確認済みの新しいファイルに置き換えます。その後で chmod とバージョン確認コマンドを実行し、どの段階でも失敗したら停止します。
cp -a /etc/openclash/core/clash_meta /etc/openclash/core/clash_meta.before-upgrade
chmod 0755 /etc/openclash/core/clash_meta
/etc/openclash/core/clash_meta -v「設定ファイルのサブスクリプション」で手動更新し、ノードと独自ルールを確認する
アップグレードの検証中は、以前の設定とノードを引き続き使用し、障害がプラグインやコアに起因しないことを確認します。画面、コアのバージョン、DNS、ルールがすべて正常になってから、「設定ファイルのサブスクリプション」で普段使うサブスクリプションを一つだけ更新し、更新時刻、ノード数、最初のエラーを記録します。アップグレード当日にサブスクリプションのアドレス、変換テンプレート、オーバーライドを同時に変更しないでください。
サブスクリプションの URL または token は、通常 OpenClash の設定と UCI 設定に保存されるため、バックアップファイルは機密情報として扱ってください。復元後、一覧に名前があっても更新できない場合は、URL が完全か、システム時刻が正しいか、401/403 が返っていないかを先に確認し、プラグインパッケージを再び上書きしないでください。
更新時に 401 / 403 が返る
サブスクリプションの認証情報またはサービス権限に問題があります。以前の設定で稼働を続けながら、正規の URL を取得し直してください。
ダウンロードには成功するが YAML の解析に失敗する
更新前後の設定と、現在の Mihomo が対応するフィールドを比較し、LuCI プラグインは元に戻しません。
ノードは更新されたが、カスタムルールが消えた
custom/overwrite を復元し、オーバーライドの読み込み順を確認します。キャッシュをバックアップとして扱わないでください。
復元方法は一つだけを選ぶ。画面からのインポートか、完全なアーカイブのどちらかにする
通常は OpenClash 自身がエクスポートしたバックアップを優先します。画面がすでに使えず、手動アーカイブの内容が正しいと確認できた場合に限り、SSH から元のパスへ復元してください。二つの方法を同じ復元作業で併用しないでください。
復元手順
OpenClash を停止する
展開中にプロセスが設定やキャッシュへ書き込み続けないようにします。
まず設定ファイル管理から公式バックアップをインポートする
一般ユーザーにはこれが最も確実な方法です。インポート後は、まず設定のパスを確認してください。
手動アーカイブしかない場合に限り SSH を使用する
先に現在のディレクトリを別名で保存してから、アーカイブを元のパスへ展開します。
権限を復元して起動する
clash_meta に実行権限があることを確認し、UCI をコミットしてから OpenClash を起動します。
まず一台の端末だけを接続する
直接接続、プロキシ、DNS、ルーター管理がすべて正常であることを確認してから、家全体の接続を復旧します。
BACKUP='/tmp/openclash-backup-YYYY-MM-DD-HHMM.tgz'
tar -tzf "$BACKUP" &&
/etc/init.d/openclash stop &&
cp -a /etc/openclash /etc/openclash.failed-$(date +%F-%H%M) &&
cp -a /etc/config/openclash /etc/config/openclash.failed-$(date +%F-%H%M) &&
tar -C / -xzf "$BACKUP" &&
chmod 0755 /etc/openclash/core/clash_meta &&
uci commit openclash &&
/etc/init.d/openclash restartこのコマンド列は && でつないでおり、前のコマンドが失敗すると後続は実行されません。まず失敗した手順を確認してください。一部のファイルを展開済みなら、サービスをすぐ再起動せず、設定とコアがそろっているか確認してから、復元を続けるか停止したままにするか判断します。
画面、コア、DNS、特定の端末で問題が起きたときの戻し方
LuCI の画面が空白になる、または 404 が返る
プラグインパッケージを元に戻し、依存関係を修復するか、ブラウザーキャッシュを消去します。コアとサブスクリプションは変更しません。
clash_meta を実行できない
before-upgrade ファイルを復元し、CPU アーキテクチャと権限を確認します。
コアは起動するが、すべての端末で DNS が失敗する
以前のコアまたは設定へ戻し、DNS ハイジャックとファイアウォールの変更を確認します。
カスタムルールまたはオーバーライドが消えた
custom/overwrite または公式バックアップから復元し、OpenWrt 全体は上書きしません。
テレビまたはゲーム機だけで異常が発生する
まずその端末を再接続し、DHCP の設定を再取得して古い DNS キャッシュを消去します。ほかのコンポーネントの更新には進まないでください。
家全体の接続を戻す前に
- LuCI の画面が開き、プラグインのバージョンがインストールパッケージと一致する
- clash_meta -v を実行でき、起動ログにアーキテクチャ、権限、解析のエラーがない
- 普段使うサブスクリプションを更新でき、カスタムルールとオーバーライドも残っている
- まず一台のコンピューターで、直接接続、プロキシ、DNS、ルーター管理画面を個別にテストする
- 最後にスマートフォン、テレビ、ゲーム機で DHCP と DNS を再取得する
