【中国】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を押す
・Mac:ツールバーのClashを押し
Config>Remote Config>Manageを開き
Addを押してUrl欄に②でコピーしたURLを貼り付けOKを押す
④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
そのままでOKinterval
更新の間隔(秒)
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を通さない場合
DIRECTVPNを通す場合
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プロバイダーのサーバ情報のみ下記へ追記し使用してみてください!
ここから先は
¥ 100
この記事が気に入ったらチップで応援してみませんか?