sing-boxのバージョンアップに合わせ設定見直し
三男wiki>一反もめん (Androidクライアントについて追記しました。) |
三男wiki>一反もめん (sing-boxのバージョンアップに合わせ設定見直し) |
||
12行目: | 12行目: | ||
== 導入 == | == 導入 == | ||
shadow- | shadow-tlsサーバーの構築を前提に以下に導入方法を記載する。 ※sing-box 1.2.7で動作確認済み | ||
54行目: | 54行目: | ||
shadow-tlsのサーバー側設定は以下の通り。 | shadow-tlsのサーバー側設定は以下の通り。 | ||
" | "inbounds(shadow-tls側).users.password"はshadow-tls接続用パスワードを示し、値を必ず一意の値に変更する。以下のサンプルでは"abeshinzo" | ||
"password"は接続用パスワードを示し、値を必ず一意の値に変更する。32ビット長のパスワードが必須で、openssl rand -base64 32で生成すると良い。 | "inbounds(shadow-tls側).handshake.server"はファイヤーウォールにTLSハンドシェイクを行わせる証明書のドメイン名。大企業や機関のドメイン名推奨。 | ||
"inbounds(shadowsocks側).password"は接続用パスワードを示し、値を必ず一意の値に変更する。32ビット長のパスワードが必須で、openssl rand -base64 32で生成すると良い。 | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
"log": { | |||
"level": "info", | |||
"timestamp": true | |||
}, | |||
"route": { | |||
" | "rules": [ | ||
{ | |||
"network": "udp", | |||
"port": [ | |||
443 | |||
], | |||
"outbound": "block" | |||
} | |||
] | |||
}, | }, | ||
{ | "inbounds": [ | ||
{ | |||
"type": "shadowtls", | |||
"tag": "shadowtls-in", | |||
"listen": "::", | |||
"listen_port": 443, | |||
} | "sniff": false, | ||
"sniff_override_destination": false, | |||
"detour": "shadowsocks-in", | |||
"version": 3, | |||
"users": [ | |||
{ | |||
"password": "abeshinzo" | |||
} | |||
], | |||
"handshake": { | |||
"server": "www.bing.com", | |||
"server_port": 443 | |||
}, | |||
"strict_mode": true | |||
}, | |||
{ | |||
"type": "shadowsocks", | |||
"tag": "shadowsocks-in", | |||
"listen": "127.0.0.1", | |||
"method": "2022-blake3-aes-256-gcm", | |||
"password": "Yz/779GBeiBoh+pg/0GbZG7lAfviOVUWGGzQPl/1u/8=" | |||
} | |||
], | |||
"outbounds": [ | |||
{ | |||
"type": "direct", | |||
"tag": "direct" | |||
}, | |||
{ | |||
"type": "block", | |||
"tag": "block" | |||
} | |||
] | |||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
89行目: | 127行目: | ||
shadow- | shadow-tlsのクライアント側設定は以下の通り。tunを使用する例を記載する。 | ||
tunではデバイスの全てのトラフィックをsing-boxを通して処理できる。 | |||
※旧バージョンで記載していたドメイン迂回・広告ブロックルールは確認中 | |||
" | "outbounds(shadowsocks側).password"にはサーバーサイドで設定したパスワードを入力。 | ||
" | "outbounds(shadow-tls側).server"にはVPSインスタンスのIPアドレスを入力。 | ||
"outbounds(shadow-tls側).password"にはサーバーサイドで設定したパスワードを入力。 | |||
"outbounds(shadow-tls側).tls.server_name"にはサーバーサイドで入力したTLSハンドシェイクを行わせる証明書のドメイン名を入力。 | |||
<syntaxhighlight lang="json"> | <syntaxhighlight lang="json"> | ||
{ | { | ||
"dns": { | |||
"rules": [], | |||
"servers": [ | |||
{ | |||
"address": "tls://1.1.1.1", | |||
"tag": "dns-remote", | |||
"detour": "ss", | |||
"strategy": "ipv4_only" | |||
} | |||
] | |||
}, | |||
"inbounds": [ | "inbounds": [ | ||
{ | { | ||
"type": " | "type": "tun", | ||
" | "interface_name": "ipv4-tun", | ||
" | "inet4_address": "172.19.0.1/28", | ||
" | "mtu": 1500, | ||
"stack": "gvisor", | |||
"endpoint_independent_nat": true, | |||
"auto_route": true, | |||
"strict_route": true, | |||
"sniff": true | |||
} | } | ||
], | ], | ||
112行目: | 171行目: | ||
{ | { | ||
"type": "shadowsocks", | "type": "shadowsocks", | ||
"tag": "ss", | |||
"method": "2022-blake3-aes-256-gcm", | "method": "2022-blake3-aes-256-gcm", | ||
"password": "Yz/779GBeiBoh+pg/0GbZG7lAfviOVUWGGzQPl/1u/8=", | "password": "Yz/779GBeiBoh+pg/0GbZG7lAfviOVUWGGzQPl/1u/8=", | ||
"detour": "shadowtls-out", | "detour": "shadowtls-out", | ||
" | "udp_over_tcp": { | ||
"enabled": true, | "enabled": true, | ||
" | "version": 2 | ||
} | } | ||
}, | }, | ||
126行目: | 185行目: | ||
"server": "インスタンスのIPアドレス", | "server": "インスタンスのIPアドレス", | ||
"server_port": 443, | "server_port": 443, | ||
"version": 3, | |||
"password": "abeshinzo", | |||
"tls": { | "tls": { | ||
"enabled": true, | "enabled": true, | ||
"server_name": "www.bing.com" | "server_name": "www.bing.com", | ||
"utls": { | |||
"enabled": true, | |||
"fingerprint": "chrome" | |||
} | |||
} | } | ||
}, | }, | ||
{ | { | ||
"tag": "dns-out", | |||
"tag": " | "type": "dns" | ||
"type": " | |||
} | } | ||
], | ], | ||
"route": { | "route": { | ||
"auto_detect_interface": true, | |||
"final": "ss", | |||
"rules": [ | "rules": [ | ||
{ | { | ||
" | "protocol": "dns", | ||
"outbound": " | "outbound": "dns-out" | ||
} | } | ||
] | ] | ||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
160行目: | 218行目: | ||
=== Linux === | === Linux === | ||
※Ubuntu 18.04 | ※Ubuntu 18.04 LTS、sing-box 1.2.7で接続確認済み | ||
・GDebiでインストール | ・GDebiでインストール | ||
・クライアント用のconfig.jsonをユーザーディレクトリに配置 | ・クライアント用のconfig.jsonをユーザーディレクトリに配置 | ||
・接続 | ・接続 | ||
173行目: | 229行目: | ||
=== Android === | === Android === | ||
==== NekoBox For Android ==== | ==== NekoBox For Android ==== | ||
2023年3月にリリースされたオープンソースのAndroid用マルチプロキシクライアント。shadow- | 2023年3月にリリースされたオープンソースのAndroid用マルチプロキシクライアント。shadow-tlsをサポートしている。一部日本語対応。 | ||
GitHubからapkファイルをダウンロードする事で無料で利用できる。PlayStore版はダウンロードが有料で開発者への寄付を意味する。 | GitHubからapkファイルをダウンロードする事で無料で利用できる。PlayStore版はダウンロードが有料で開発者への寄付を意味する。 | ||
クライアントサイドのconfig.jsonをアプリ側でインポートすると、AndroidのVPNとして使用できる。 | |||
(右上部アイコンの右から二番目をタップ→Import from file) | |||
※Android12、NekoBox 1.1.1で動作確認済み | |||