見出し画像

【中国】VPN Clash用Configファイル

私は1coinVPN(共用サーバコースプレミアム版)を契約し
iPhone、iPad:Stash (Clashベースのクライアントアプリ)
家:OpenClash (软路由 OpenWrt)
といった感じでClashでVPNを使用しています。
ClashではConfigファイルで様々なルールを設定します。
VPNプロバイダーから提供されるものや、ネット上に公開されているConfigファイルを使用するのもいいのですが、私は自分で作成したConfigファイルを使用しています。
Configファイルを作成するにあたり、日本語での情報がかなり少なくGitHubや中国語のサイトを参考にしました。
これから中国に行く方の参考になればと思い、Clash用Configファイルの作成方法をまとめておこうと思います。

1.VPNプロバイダーから提供されるConfigファイルを入手する

今回はVPNプロバイダーから提供されるConfigファイルをベースに改良する手順で紹介していきます。ConfigファイルはYAML形式のファイルとなっています。
VPNプロバイダーから直接YAML形式のConfigファイルを入手できる場合は直接入手してください。
1coinVPNなどのようにサブスクリプションURLが提供されている場合は、下記手順でYAML形式のConfigファイルを入手可能です。

①PCにClashをインストールする
②VPNプロバイダーのユーザーページから
 サブスクリプションURLをコピーする。
 画像のように、直接ClashにインポートしてもOKです。

ユーザーページ

③ClashにサブスクリプションURLを追加する
 ・Windows:Profileタブ上部に②でコピーしたURLを貼り付け
       Downloadを押す

Windows画面

 ・Mac:ツールバーのClashを押し
     Config>Remote Config>Manageを開き
     Addを押してUrl欄に②でコピーしたURLを貼り付けOKを押す

Mac画面

④YAMLファイルをコピーする
 ・Windows:追加されたプロファイルで右クリックしShow in folderを選択
 ・Mac:Config>Open config folderを選択
 の手順でYAMLファイルの保存先を開き
 ③の手順で作成されたYAMLファイルを
 ベースファイルとして適当な場所へコピーし名前を変更しておきます

2.Configファイルを編集する

適当なテキストエディタでコピーしたYAMLファイルを開きます
「proxies」までは基本そのまま利用で問題ありません。

mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: info
external-controller: '127.0.0.1:9090'
dns:
    enable: true
    ipv6: false
    default-nameserver: [223.5.5.5, 119.29.29.29]
    enhanced-mode: redir-host
    fake-ip-range: 198.18.0.1/16
    use-hosts: true
    nameserver: ['https://doh.pub/dns-query']
    fallback: ['tls://1.0.0.1:853', 'https://cloudflare-dns.com/dns-query', 'https://dns.google/dns-query']
    fallback-filter: { geoip: true, ipcidr: [240.0.0.0/4, 0.0.0.0/32] }
proxies:
    - サーバ1情報
    - サーバ2情報 ...

3.プロキシグループ

プロキシグループで
サーバーを手動/自動で選択するルールを設定します。
手動であればselect、自動であればurl-testのタイプのグループを作成します。
元々記載されているものを、そのまま利用してもOKです。

手動のグループの定義

proxy-groups:
  - name: #グループの名前
    type: select #グループのタイプ
    proxies:
      - #サーバ or グループの名前
      - #サーバ or グループの名前
  • name (グループの名前)
    好きな名前に設定可能です

  • type (グループのタイプ)

    • select
      手動で選択したproxies内のサーバorグループを使用

  • proxies (サーバorグループの名前)
    手動で選択したいサーバorグループの名前を定義
    サーバは「2.Configファイルを編集する」で定義したproxiesに含まれていないとエラーになるため注意

自動グループの定義

proxy-groups:
 - name: #グループの名前
     type: url-test #グループのタイプ
     proxies:
       - #サーバ or グループの名前
       - #サーバ or グループの名前
     url: 'http://www.gstatic.com/generate_204'
     interval: 3600 #更新の間隔
  • name (グループの名前)
    好きな名前に設定可能です

  • type (グループのタイプ)

    • url-test
      intervalで設定した間隔毎に更新をおこない
      proxiesの中で一番速いサーバorグループを自動で選択する

  • proxies (サーバorグループの名前)
    手動で選択したいサーバorグループの名前を定義
    サーバは「2.Configファイルを編集する」で定義したproxiesに含まれていないとエラーになるため注意

  • url
    そのままでOK

  • interval
    更新の間隔(秒)

4.ルールプロバイダー

有志たちがGFWによりブロックされているサービス・アプリを日々更新したルールをGitHub上で公開してくれています。
ルールプロバイダーで、この日々更新されるルールを使用するように設定します。上記GitHubリンク先に詳しい説明を記載してくれていますが、下記をコピペでもOKです。

rule-providers:
  reject:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
    path: ./ruleset/reject.yaml
    interval: 86400

  icloud:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/icloud.txt"
    path: ./ruleset/icloud.yaml
    interval: 86400

  apple:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/apple.txt"
    path: ./ruleset/apple.yaml
    interval: 86400

  google:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/google.txt"
    path: ./ruleset/google.yaml
    interval: 86400

  proxy:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
    path: ./ruleset/proxy.yaml
    interval: 86400

  direct:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
    path: ./ruleset/direct.yaml
    interval: 86400

  private:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/private.txt"
    path: ./ruleset/private.yaml
    interval: 86400

  gfw:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/gfw.txt"
    path: ./ruleset/gfw.yaml
    interval: 86400

  greatfire:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/greatfire.txt"
    path: ./ruleset/greatfire.yaml
    interval: 86400

  tld-not-cn:
    type: http
    behavior: domain
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/tld-not-cn.txt"
    path: ./ruleset/tld-not-cn.yaml
    interval: 86400

  telegramcidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/telegramcidr.txt"
    path: ./ruleset/telegramcidr.yaml
    interval: 86400

  cncidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/cncidr.txt"
    path: ./ruleset/cncidr.yaml
    interval: 86400

  lancidr:
    type: http
    behavior: ipcidr
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/lancidr.txt"
    path: ./ruleset/lancidr.yaml
    interval: 86400

  applications:
    type: http
    behavior: classical
    url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/applications.txt"
    path: ./ruleset/applications.yaml
    interval: 86400

5.ルール

4.ルールプロバイダーで取得したルールにマッチした場合、どのように通信するか(VPNを通すか通さないか)を設定します。

ルールの定義

rules:
  - #ルール方式, #条件, #通信方式
  • ルール方式
    様々なルール方式が準備されています。詳しく知りたい方はコチラのGitHubをご確認ください。
    今回使用するのは以下です。

    • RULE-SET
      4.ルールプロバイダーで取得したルールを使用
      条件:取得したルールに定義した名前を入力

    • DOMAIN
      ドメイン を指定
      条件:ドメイン 名を入力

    • GEOIP
      IPアドレスで地域を指定
      条件:エリアを入力(中国であればCN)

    • MATCH
      どのルールにもマッチしなかった場合
      条件:記載不要

  • 通信方式

    • VPNを通さない場合
      DIRECT

    • VPNを通す場合
      3.プロキシグループで定義したグループの名前

上記ルールプロバイダーを利用する場合の例

rules:
  - RULE-SET,applications,DIRECT
  - DOMAIN,clash.razord.top,DIRECT
  - DOMAIN,yacd.haishan.me,DIRECT
  - RULE-SET,private,DIRECT
  - RULE-SET,reject,REJECT
  - RULE-SET,icloud,DIRECT
  - RULE-SET,apple,DIRECT
  - RULE-SET,google,DIRECT
  - RULE-SET,proxy,PROXY
  - RULE-SET,direct,DIRECT
  - RULE-SET,lancidr,DIRECT
  - RULE-SET,cncidr,DIRECT
  - RULE-SET,telegramcidr,PROXY
  - GEOIP,LAN,DIRECT
  - GEOIP,CN,DIRECT
  - MATCH,PROXY

6.作成したConfigファイル

プロキシグループ、ルールプロバイダー、ルールを定義して
Netflix、AbemaTV、AmazonPrimeなどは日本のストリーミング対応のサーバの中で一番速いものを利用、中国外のサービス・アプリは全てのサーバの中で一番速いものを利用、中国のサービス・アプリはVPNを通さず通信するようにしています。
自分でConfigファイルを作るのがめんどくさいという方は
契約されているVPNプロバイダーのサーバ情報のみ下記へ追記し使用してみてください!

ここから先は

6,888字

¥ 100

期間限定 PayPay支払いすると抽選でお得に!

この記事が気に入ったらサポートをしてみませんか?