Coursera、edX、Udemyなどのオンライン講座をClash経由で利用していると、講義動画だけが途中で止まったり、字幕やログイン画面の読み込みに時間がかかったりすることがあります。原因は回線速度だけではありません。動画配信CDN、認証API、画像配信、決済ページなどが複数のドメインに分かれているため、サービスの一部だけが異なる経路へ送られると、再生品質やログイン状態が不安定になる場合があります。この記事では、Clashで学習サービスをまとめて振り分け、必要な通信だけをプロキシ経由にする設定を解説します。国内の一般サイトや銀行、行政サービスなどは直接接続に残し、オンライン講座を安定して使いやすい構成を目指します。

オンライン講座の通信を振り分ける基本方針

まず理解しておきたいのは、CourseraやUdemyのページを開く通信が一つのドメインだけで完結しないという点です。トップページ本体、ログイン認証、講義動画、字幕、サムネイル、進捗保存などが別々のホスト名を利用することがあります。そのため、最初に見つけたドメインだけをルールへ追加すると、ページは表示できても動画だけが再生できない、または字幕が読み込まれないといった状態になりがちです。

Clashのルールは上から順番に評価され、最初に一致したルールが適用されます。学習サービス用のルールを一般的な国別ルールや最後のMATCHより前に置くことが重要です。基本的な考え方は次のとおりです。

  • Coursera、edX、Udemyなど、学習に使うサービスのドメインは専用のプロキシグループへ送る。
  • サービスのサブドメインも含めるため、必要に応じてDOMAIN-SUFFIXを使う。
  • 日本国内の一般サイトや社内サービスは、既存の直接接続ルールを優先する。
  • 動画配信CDNのドメインはサービスごとに異なるため、接続ログを見ながら追加する。
  • ルールを追加した後は、ブラウザのキャッシュや既存接続を整理してから再生テストを行う。
最初からすべてをプロキシにしない:学習サイトだけを対象にすると、国内サイトの表示速度や動画配信サービスの使い勝手を保ちやすくなります。対象を広げる前に、Clashの接続ログで実際に使われているドメインを確認してください。

Coursera・edX・Udemyのドメインルール

サービス本体のドメインを指定するには、完全一致のDOMAINと、サブドメインをまとめて対象にするDOMAIN-SUFFIXを使い分けます。たとえばDOMAIN-SUFFIX,coursera.orgは、www.coursera.orgapi.coursera.orgのようなサブドメインにも一致します。複数のサービスを同じプロキシグループへ送るなら、同じグループ名を指定すれば管理しやすくなります。

オンライン講座用の基本ルール
# 学習サービス本体
rules:
  - DOMAIN-SUFFIX,coursera.org,Learning
  - DOMAIN-SUFFIX,coursera.com,Learning
  - DOMAIN-SUFFIX,edx.org,Learning
  - DOMAIN-SUFFIX,udemy.com,Learning

  # 必要に応じて追加する認証・動画関連ドメインの例
  - DOMAIN-SUFFIX,vimeo.com,Learning
  - DOMAIN-SUFFIX,vimeocdn.com,Learning

  # 既存の国内直接接続ルールやその他のルールを続ける
  - GEOIP,JP,DIRECT
  - MATCH,Global

上の動画関連ドメインはすべての環境で必要になるわけではありません。講座提供者や動画配信方式によっては、別のCDNやクラウドストレージが使われます。不要なドメインまでプロキシへ送ると、通信量が増えたり、別サービスの動画まで同じ経路になったりするため、コピーして無条件に追加するのではなく、実際の接続先を確認してください。

なお、サービスの利用地域や契約条件を変更する目的でルールを設定することは推奨しません。ここで扱う振り分けは、正規に利用できる講義ページや動画の接続安定性を改善し、経路を整理するためのものです。アカウント、決済、利用規約については各サービスの最新の条件に従ってください。

学習サービス専用プロキシグループを作る

オンライン講座用に専用グループを作ると、通常のWeb閲覧用ノードと学習用ノードを分離できます。たとえば、学習サービスでは動画再生の安定性を優先し、一般サイトでは低遅延の国内経路を使う、といった運用が可能です。グループ名はルール内の名前と完全に一致させる必要があります。大文字・小文字やハイフンの違いにも注意してください。

学習用プロキシグループの設定例
proxy-groups:
  - name: Learning
    type: url-test
    proxies:
      - US-01
      - SG-01
      - JP-01
    url: https://www.gstatic.com/generate_204
    interval: 300
    tolerance: 80

  - name: Global
    type: select
    proxies:
      - Learning
      - DIRECT

url-testは定期的にテストURLへ接続し、応答の速いノードを自動的に選択します。ただし、テストURLのレイテンシが低いことと、講義動画の再生品質が高いことは必ずしも同じではありません。動画の停止が続く場合は、ダッシュボードから別のノードを手動で選び、再生品質を比較してください。長時間の講義では、短いping値よりも帯域幅、パケットロス、接続の安定性が重要になることがあります。

Clashで振り分けを適用する手順

ここではClash Verge、Clash Verge Rev、Mihomo系クライアントで共通しやすい流れを紹介します。メニュー名や設定ファイルの編集方法はクライアントによって異なりますが、考え方は同じです。設定を変更する前に、現在使っているYAMLファイルを複製してバックアップしておくと、問題が起きた際にすぐ戻せます。

  1. Clashのプロファイル画面を開き、現在アクティブな設定ファイルを確認します。
  2. 設定ファイルのバックアップを作成し、編集可能なYAMLとして開きます。
  3. proxy-groupsLearningグループを追加します。すでに同じ名前がある場合は新規作成せず、既存グループを利用してください。
  4. rulesの上部、少なくとも一般的な地域ルールやGEOIPより前に、Coursera、edX、Udemyのルールを追加します。
  5. 設定を保存してClashへ戻り、プロファイルの更新または再読み込みを実行します。
  6. ブラウザで学習サービスへログインし、講義ページ、動画、字幕、進捗保存の順に確認します。
  7. Clashの接続ログを開き、関連ドメインが本当にLearningへ送られているかを確認します。
ルールの配置イメージ
rules:
  # 先に学習サービスを判定
  - DOMAIN-SUFFIX,coursera.org,Learning
  - DOMAIN-SUFFIX,edx.org,Learning
  - DOMAIN-SUFFIX,udemy.com,Learning

  # その後に既存の一般ルールを評価
  - RULE-SET,private,DIRECT
  - GEOIP,JP,DIRECT
  - MATCH,Global

設定エラーが表示された場合は、インデントを確認してください。YAMLではタブ文字ではなく半角スペースを使い、同じ階層の項目をそろえる必要があります。また、プロキシ名に日本語や記号を使っている場合、引用符で囲むと解析エラーを避けやすくなります。クライアントが設定の検証機能を持っているなら、反映前に必ず検証を実行してください。

動画CDNとDNSの問題を切り分ける

サービス本体が開くのに動画だけ再生できない場合、動画CDNのドメインが別のルールに一致している可能性があります。接続ログで、再生ボタンを押した直後に新しく現れるドメインを確認してください。特に、ページを開いた時点では見えなかった動画ホスト、字幕ホスト、ライセンス確認用のAPIが再生開始時に追加されることがあります。

DNS設定も重要です。fake-ipを利用している場合、ドメインベースのルールを適用しやすくなりますが、特定のアプリやブラウザ拡張機能がfake-ipと相性を持たないことがあります。症状が「動画だけでなくログイン画面も開かない」「一部のAPIだけ名前解決に失敗する」という場合は、DNSログを確認し、必要なドメインをfake-ip-filterへ追加するか、問題の切り分けとして一時的にredir-hostへ変更します。

IP-CIDRを先に追加しない:動画CDNのIPアドレスは変動しやすく、同じIPが複数サービスで共有されることもあります。固定IPを大量に登録するより、まずドメインルールと接続ログを確認するほうが安全です。どうしてもIPルールが必要な場合は、no-resolveの意味を理解してから使用してください。

講義動画を安定させる運用のコツ

設定が正しくても、ノードの混雑や経路品質によって再生は変わります。長時間の講義では、再生前に学習用グループのノードをテストし、開始後しばらく接続ログを監視すると問題を早く発見できます。再生中にノードを切り替えると、動画セッションが切断されることがあるため、頻繁な自動切り替えが気になる場合は、安定したノードをselectグループで手動選択する方法も有効です。

  • 高画質で停止する場合は、まず画質を一段下げ、帯域幅不足か経路不安定かを切り分ける。
  • 動画だけでなく字幕も止まる場合は、字幕配信ドメインが別ルートになっていないか確認する。
  • ログインが繰り返し解除される場合は、認証APIやCookie関連の通信をブロックしていないか確認する。
  • 会社や学校のネットワークではUDPや特定ポートが制限されることがあるため、別のトランスポートを試す。
  • ノードの自動テストURLだけで判断せず、実際の講義動画を数分再生して比較する。
  • 設定ファイルを定期的に整理し、使っていないサービスや古いCDNルールを削除する。

Clash Verge RevやMihomoでルールプロバイダーを使える場合は、学習サービスのドメインリストを外部ファイルへ分離する方法もあります。サービス側の構成変更に合わせてリストだけ更新できるため、複数の端末で同じ振り分けを利用したい場合に便利です。ただし、信頼できる配布元を選び、更新後に内容を確認してください。外部リストに誤ったルールが含まれていると、意図しないサイトまでプロキシされる可能性があります。

最後に、Clashの接続ログで「どのルールが一致したか」「どのプロキシグループを使ったか」を確認する習慣をつけましょう。オンライン講座の安定化は、単にプロキシを有効にするだけでなく、サービス本体、認証、動画CDN、DNSを同じ方針で整理することがポイントです。まずはCoursera、edX、Udemyの基本ドメインから始め、必要な通信だけを段階的に追加すれば、設定を複雑にしすぎず快適な学習環境を構築できます。

はじめる

Clash でトラフィックを完全制御

Windows・macOS・Linux・Android・iOS 対応。柔軟なルール、すぐに使えます。

無料ダウンロード セットアップガイドを見る →