エラーは大きく4種類に分かれる
「更新」ボタンを押して数秒くるくる回った後、赤字のエラーが出る。クライアントごとに文言は違うが、突き詰めれば4パターンしかなく、それぞれ対処法もまったく異なる。まずは自分がどのタイプに当たっているかを見極めよう。
| エラーの表示 | 実際の意味 | まず疑うべきもの |
|---|---|---|
| タイムアウト / timeout / EOF | リクエストがサーバーに届いていない | ネットワーク環境やドメインブロック |
| 401 / 403 / Unauthorized | リンク内のトークンがサーバーに拒否された | プラン期限切れ、通信量超過、リンクのリセット |
| 404 / Not Found | 購読パスが変更された | リンクの期限切れ。再取得が必要 |
| 解析失敗 / yaml error / format error | 取得できたのがノードデータではない | 購読変換の異常、HTMLエラーページが返っている |
よくある誤解として、エラーが出るとすぐクライアントを再インストールしてしまう人がいる。だが再インストールしてもリンクもネットワークも変わらないため、上記4パターンのどれも解決しない。時間の無駄になるだけだ。
ステップ1:購読リンク自体を確認する
購読リンクは設定全体の出発点なので、まず30秒でこれを検証しよう。リンク全文をブラウザのアドレスバーに貼り付けてEnterを押し、返ってきた内容を確認する。
proxies:から始まる長いYAMLテキスト、または不規則な文字列が続くbase64データが表示された場合:リンクは生きている。原因はクライアント側かネットワーク側にあるので、この先の確認を続ける。- 403エラー、期限切れ通知、通信量超過のお知らせが出た場合:アカウント側が停止されている。運営サイトにログインしてプランの状態を確認し、更新するか通信量リセットを待ってから再度試す。
- ログインページへリダイレクトされる、リンクが存在しないと表示される場合:購読トークンがリセットされた可能性が高い。運営サイトで最新のリンクを再取得し、クライアント側でその設定を編集して旧アドレスを丸ごと差し替える。
正常な購読は、返ってくる内容の先頭がこのような形になる(YAML形式の例):
proxies:
- name: "香港 01"
type: ss
server: hk01.example.com
port: 8388
cipher: aes-128-gcm
password: "your-password"
加えて、見落としがちな2点も確認しておきたい。
- リンクをコピーした際に先頭・末尾に余分な空白や改行が混入すると、クライアントはそのアドレスを無効と判定する。貼り付け後は前後の文字を確認し、余計なものは削除する。
- 一部の運営はUser-Agentで返す内容を区別している。ブラウザで開けてもクライアントで取得できるとは限らず、逆のケースもある。ブラウザでの確認は「リンクが存在するか」の確認にしか使えず、クライアントでの実測の代わりにはならない。
ステップ2:ネットワーク環境を確認し、堂々巡りを打破する
購読の更新は、本質的には普通のHTTPSリクエストだ。厄介なのは、運営の購読ドメイン自体が既にブロックされていて、しかもノードが全部期限切れというケース――更新するには使えるプロキシが必要で、使えるプロキシを得るには更新が成功する必要がある。これは購読トラブルの中でも典型的な堂々巡りだ。この循環を破る方法は3つある。
プロキシ経由で更新する
手元に1つでも接続できるノードが残っていれば、それを活用できる。Clash Verge Revでは「設定」ページを開き、対象の購読を右クリックして「編集」を選び、「プロキシ経由で更新」(バージョンによっては「プロキシを通して更新」)にチェックを入れて保存する。再度更新すれば、リクエストは現在のプロキシ経由で送信される。
ネットワークを切り替えて更新する
自宅の固定回線でつながらないなら、スマホのテザリングに切り替える。モバイル回線と固定回線では同じドメインでもブロック方針が異なることが多く、「どうやっても更新できない」状態が4G/5Gに切り替えた瞬間に解決することも多い。更新が終わったら元のネットワークに戻せばよく、その後の使用に影響はない。
TUNモードを有効にして更新する
TUNモードは仮想ネットワークアダプタを通じて全トラフィックを引き受けるため、クライアント自身が送る更新リクエストもプロキシ経由になる。実質的にプロキシ経由の更新を強制するのと同じだ。前提としてカーネルが正常に動作していて、まだ使えるノードが残っている必要がある。
会社・学校のネットワーク環境の場合
社内ネットワークは未知のドメインをブロックしたり、常用外のポートを制限することが多い。同じクライアントが自宅では正常でも会社では失敗するなら、原因はほぼ出口側のネットワークにある。まずネットワークを切り替えて検証するのが最速で、クライアント設定をいじる必要はない。
ステップ3:クライアントと購読変換を確認する
- 購読変換は故障ポイントを1つ増やす。変換リンク = 元の購読 + 変換バックエンド + ルールテンプレートという構成のため、どこか1つでも障害が起きれば更新は失敗する。まずは運営が提供する元のリンクに戻して試そう。それで通れば問題は変換サービス側にあるので、バックエンドを変えるか、元のリンクをそのまま使う。
- ローカル設定のキャッシュ破損。更新ボタンを押しても反応しない、または解析エラーが繰り返し出るのが症状だ。この設定を削除し、リンクを貼り付けて新規作成する方が、クライアントの再インストールよりずっと速い。
- クライアントのカーネルが古すぎる。今どきの購読はmihomo専用のプロトコルフィールド(hysteria2、tuic、vlessなど)を含むのが一般的で、無印Clashのカーネルはこれらの種類を認識できず、更新後にノードが大量に消える、あるいは解析エラーになるといった症状になる。mihomo(Clash Meta)カーネルを採用したクライアントに切り替えれば正しく認識される。各プラットフォーム対応版はダウンロードページを参照。
- 権限やディレクトリの問題(まれ)。クライアントを読み取り専用ディレクトリにインストールしている、または設定ディレクトリがセキュリティソフトにロックされていると、取得は成功してもキャッシュに書き込めなくなる。通常のディレクトリに入れ直せば解決する。
更新失敗 ≠ ノード全滅
取得に失敗した場合、クライアントは直前の設定をそのまま保持するため、旧ノードの中に使えるものがあればプロキシは切れない。慌てず落ち着いて確認作業を進め、すぐに購読を乗り換える必要はない。
自動更新の間隔を設定する
手動での更新は忘れがち。主要なクライアントはいずれも時間間隔での自動取得に対応しているので、一度設定しておけば済む。
Clash Verge Rev
「設定」ページを開き、対象の購読を右クリック →「編集」→「更新間隔」(単位:分)を見つけて数値を入力し保存する。設定画面でグローバルなデフォルト間隔を設定しておけば、以降新規作成する購読にも自動で適用される。
FlClash / Clash for Android
設定一覧で対象の購読を長押し(または右側の編集アイコン)して詳細ページに入り、自動更新間隔を設定して保存する。
間隔は360~720分の範囲がおすすめだ。短すぎると頻繁なリクエストが運営側のレート制限に引っかかり、逆に更新失敗の原因になる。長すぎるとノードの増減や入口IPの変更に追いつかない。運営から「更新間隔を短くしてほしい」と告知があった際は一時的に短く調整する。
前提として、自動更新は同じ取得処理を定時実行するだけだという点に注意。失敗の根本原因がネットワークブロックであれば、自動更新も同様に失敗する。まず前の2ステップでネットワークを開通させてから、間隔設定に意味が出てくる。
確認手順チェックリスト
- ブラウザで購読リンクを開き、リンク自体が生きているか確認する。
- 運営サイトにログインし、プランが有効期限内で通信量も残っているか確認する。
- スマホのテザリングに切り替えて一度更新し、ローカルネットワークのブロックかどうか判断する。
- 「プロキシ経由で更新」にチェックを入れる、またはTUNモードを有効にしてから更新する。
- 購読変換を外し、運営が提供する元のリンクを使う。
- 設定を削除して再作成する。それでも失敗するならmihomoカーネル対応クライアントにアップグレードする。
6ステップで9割は特定できる
この6ステップを順に進めれば、9割以上の更新失敗は具体的な原因箇所まで特定できる。残りの1割は運営がサーバー移行や購読システムの変更を行っているケースが多い。公式サイトの告知を確認するか、数時間待ってから再度試そう。