「Sing-box」の版間の差分

1,834 バイト追加 、 2023年5月28日 (日)
sing-boxのバージョンアップに合わせ設定見直し
三男wiki>一反もめん
(Androidクライアントについて追記しました。)
三男wiki>一反もめん
(sing-boxのバージョンアップに合わせ設定見直し)
12行目: 12行目:


== 導入 ==
== 導入 ==
shadow-tlsサーバーの構築を前提に以下に導入方法を記載する。
shadow-tlsサーバーの構築を前提に以下に導入方法を記載する。 ※sing-box 1.2.7で動作確認済み




54行目: 54行目:
shadow-tlsのサーバー側設定は以下の通り。
shadow-tlsのサーバー側設定は以下の通り。


"server"はファイヤーウォールに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">
{
{
  "inbounds": [
    "log": {
    {
        "level": "info",
      "type": "shadowtls",
        "timestamp": true
      "listen_port": 443,
    },
      "handshake": {
    "route": {
         "server": "www.bing.com",
         "rules": [
        "server_port": 443  
            {
      },
                "network": "udp",
      "detour": "shadowsocks-in"
                "port": [
                    443
                ],
                "outbound": "block"
            }
        ]
     },
     },
     {
     "inbounds": [
      "type": "shadowsocks",
        {
      "tag": "shadowsocks-in",
            "type": "shadowtls",
      "listen": "127.0.0.1",
            "tag": "shadowtls-in",
      "method": "2022-blake3-aes-256-gcm",
            "listen": "::",
      "password": "Yz/779GBeiBoh+pg/0GbZG7lAfviOVUWGGzQPl/1u/8="
            "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-tlsのクライアント側設定は以下の通り。socks/httpプロキシを使用する例を記載する。
shadow-tlsのクライアント側設定は以下の通り。tunを使用する例を記載する。
 
tunではデバイスの全てのトラフィックをsing-boxを通して処理できる。


"outbounds"の"password"にはサーバーサイドで設定したパスワードを入力。
※旧バージョンで記載していたドメイン迂回・広告ブロックルールは確認中


"server"にはVPSインスタンスのIPアドレスを入力。


"server_name"にはサーバーサイドで入力したTLSハンドシェイクを行わせる証明書のドメイン名を入力。
"outbounds(shadowsocks側).password"にはサーバーサイドで設定したパスワードを入力。


"route"は無くても良い。以下の設定では、広告をブロックし、cnドメインのサイトではプロキシを通さない設定(金盾に不審な通信を察知されないため)となっている。
"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": "mixed",
       "type": "tun",
       "listen_port": 1080,
       "interface_name": "ipv4-tun",
       "sniff": true,
      "inet4_address": "172.19.0.1/28",
       "set_system_proxy": true
      "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",
       "multiplex": {
       "udp_over_tcp": {
         "enabled": true,
         "enabled": true,
         "max_connections": 4,
         "version": 2
        "min_streams": 4
       }
       }
     },
     },
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"
        }
       }
       }
     },
     },
     {
     {
      "type": "direct",
       "tag": "dns-out",
       "tag": "direct"
       "type": "dns"
    },
    {
       "type": "block",
      "tag": "block"
     }
     }
   ],
   ],
   "route": {
   "route": {
    "auto_detect_interface": true,
    "final": "ss",
     "rules": [
     "rules": [
       {
       {
         "geosite": "category-ads-all",
         "protocol": "dns",
         "outbound": "block"
         "outbound": "dns-out"
      },
      {
        "geosite": "cn",
        "geoip": "cn",
        "outbound": "direct"
       }
       }
     ]
     ]
   }
   }
}
}  
</syntaxhighlight>
</syntaxhighlight>


160行目: 218行目:


=== Linux ===
=== Linux ===
※Ubuntu 18.04 LTSで接続確認済み
※Ubuntu 18.04 LTS、sing-box 1.2.7で接続確認済み


・GDebiでインストール
・GDebiでインストール


・クライアント用のconfig.jsonをユーザーディレクトリに配置
・クライアント用のconfig.jsonをユーザーディレクトリに配置
・ブラウザのプロキシ設定でsocks5(host:127.0.0.1, port:1080)を使用するよう設定


・接続
・接続
173行目: 229行目:
=== Android ===
=== Android ===
==== NekoBox For Android ====
==== NekoBox For Android ====
 2023年3月にリリースされたオープンソースのAndroid用マルチプロキシクライアント。shadow-tlsをサポートしている。日本語対応。
 2023年3月にリリースされたオープンソースのAndroid用マルチプロキシクライアント。shadow-tlsをサポートしている。一部日本語対応。


 GitHubからapkファイルをダウンロードする事で無料で利用できる。PlayStore版はダウンロードが有料で開発者への寄付を意味する。
 GitHubからapkファイルをダウンロードする事で無料で利用できる。PlayStore版はダウンロードが有料で開発者への寄付を意味する。
 クライアントサイドのconfig.jsonをアプリ側でインポートすると、AndroidのVPNとして使用できる。
 (右上部アイコンの右から二番目をタップ→Import from file)
※Android12、NekoBox 1.1.1で動作確認済み