昨日の記事『AzureでShadowsocksサーバーを簡単に立てる方法』の続き。
Azureの東日本リージョンにShadowsocksサーバーを立てることに成功したので、次はShadowsocksRに挑戦する。といってもやり方は同じで超簡単。
コンピューター、プログラミング、モバイル、ガジェットなどエレクトロニクス分野を中心にネタを提供するウェブサイトです。最近は中国ネタにも注力中。かつてはHWD15向けのAndroidアプリ「HWD15 Status Notifier」を作ってたりしていました。
昨日の記事『AzureでShadowsocksサーバーを簡単に立てる方法』の続き。
Azureの東日本リージョンにShadowsocksサーバーを立てることに成功したので、次はShadowsocksRに挑戦する。といってもやり方は同じで超簡単。
このフォーラムにすべて書いてある。
(翻墙)Azure一条命令架设ShadowSocksR(SSR)服务器+客户端设置(Win10, 手机, 盒子)
参考元が消えてしまった時の為、内容をここに転載しておく。
相关下载请到 https://www.dengnz.com/youtube/
用到的命令: // 创建resource group az group create --name testSSR --location eastus
方法1: // 单命令架设SSR az container create --name ssr --image malaohu/ssr-with-net-speeder --resource-group testSSR --ip-address public --port 81 --command-line "/usr/local/bin/entrypoint.sh -s 0.0.0.0 -p 81 -k P@ssw0rd -m rc4-md5 -o http_simple" // 删除以上SSR, 不用的时候 az container delete --name ssr --resource-group testSSR
方法2: //先跟着这个页面的1,2,3,4步添加docker repository https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-using-the-repository //安装docker sudo apt-get update && sudo apt-get install docker-ce //单命令架设SSR sudo docker run -d --rm --name ssr -p 81:81 malaohu/ssr-with-net-speeder -s 0.0.0.0 -p 81 -k P@ssw0rd -m rc4-md5 -o http_simple 推荐的协议和混淆参数看这里 https://github.com/shadowsocksr-backup/shadowsocks-rss/wiki/obfs 不是所有的参数都能在这个教程里用, 比如chacha20的加密算法就用不了, 因为这个docker image 的作者没有加libsodium 的包. 我有空会定制一个新的docker image, 把这些加进去.
对原理有兴趣的请看这里: https://github.com/shadowsocksrr/shadowsocks-rss/blob/master/ssr.md
这里分享一个ShadowSocksR 服务器 ShadowSocks R
server: 35.229.147.33 port: 81 protocol: origin password: 看视频最后几分钟 method: rc4-md5 obfs: http_simple
可以试的加密算法 -m 选项 rc4 rc4-md5 aes-128-cfb aes-192-cfb aes-256-cfb bf-cfb camellia-128-cfb camellia-192-cfb camellia-256-cfb cast5-cfb des-cfb idea-cfb rc2-cfb seed-cfb salsa20 chacha20 chacha20-ietf
可以试的混淆 -o 选项 plain http_simple http_simple_compatible http_post http_post_compatible random_head (已过时) random_head_compatible (已过时) tls1.2_ticket_auth tls1.2_ticket_auth_compatible
可以试的协议 -O 选项 origin verify_deflate (不建议) verify_sha1 (已过时) verify_sha1_compatible (已过时) auth_sha1 (已过时) auth_sha1_compatible (已过时) auth_sha1_v2 (已过时) auth_sha1_v2_compatible (已过时) auth_sha1_v4 (不建议) auth_sha1_v4_compatible (不建议) auth_aes128_md5 auth_aes128_sha1 auth_chain_a auth_chain_b
結論から言ってしまえば、SSの時と同様に以下の一行を叩いてやればいい。太字にしたリソースグループとパスワード文字列は前回同様に適宜変更すること。
az container create --name ssr --image malaohu/ssr-with-net-speeder --resource-group testSSR --ip-address public --port 81 --command-line "/usr/local/bin/entrypoint.sh -s 0.0.0.0 -p 81 -k P@ssw0rd -m rc4-md5 -o http_simple"
また、SSRは更に導入時に-m -o -Oの3つのオプションを選択できる。-mは暗号化アルゴリズム、-oはスクランブル方式(?)、-Oはプロトコルを選択できる。
これらのオプションについては正直よくわからないのだが、
ShadowSocksRのGitHubページによると、プロトコルはauth_chain_aがベストで、このとき暗号化アルゴリズムはnone、スクランブル方式はtls1.2_ticket_authがいいと書いてある。
かと思えばこちらには、プロトコルはauth_sha1_v4_compatible、暗号化はchacha20-ietfかaes-128-ctr、スクランブルはtls1.2_ticket_auth_compatibleがいいとある。
でも上に転載した投稿ではauth_sha1_v4_compatible(非推奨)となってるし...
全く分からん。こことかここに詳しい解説もあるけど全然分からん...
とりあえずここに書いてある「auth_aes128_md5かauth_aes128_sha1を選ぶなら暗号化をrc4に」というのと、「スクランブルはtls1.2_ticket_authを推奨」という事が分かったので、この情報とGitHubの情報を合わせると、
プロトコル:auth_chain_a 暗号化:none スクランブル:tls1.2_ticket_auth
または
プロトコル:auth_aes128_md5かauth_aes128_sha1 暗号化:rc4 スクランブル:tls1.2_ticket_auth
のどちらが良さそうだということになる。こればっかりはトライ&エラーで探るしかなさそうだ。
Androidアプリはこちらからダウンロードできる。SSと違ってGoogle Playストアにはなく野良アプリをインストールする。
実際は日本語に対応しているが、スクリーンショット制限があったため拾い画で。
サーバー側導入時に指定したポート、プロトコル、暗号化方式、スクランブル方式を設定し、Azure管理画面のIPアドレスを入力すればOKだ。
心配とは裏腹にあっけなく繋がった。簡単だ。
結局最適なオプションを見つけるには至らなかったが、SS同様びっくりするぐらい簡単に構築できた。
日本にいる間は金盾に対する実地テストができないので、次回訪中時に色々試してみたいと思う。
ただ、中国のネット規制事情は日々変わっているため、今回構築した環境が3か月後に通用する保証はない。が、少なくともAzureであれこれする下地はできたので、今後新しいものが出てきても何とかなるだろう。遊ばせていたAzureを少しでも活用できるのは悪いことではないし。
一通り触った後に気が付いたのだが、同様の方法を使うことで、日本在住の中国人がよく行う逆VPN(中国国内オンリーのサービスにアクセスするため、日本から中国国内へVPN接続すること)も実現できる。
やり方は簡単で、あらかじめAzureで「東アジア」リージョンのリソースグループを作っておき、そこにShadowsocksをインストールするだけだ。
東アジアのサーバーは香港にあるようなので、日本に居ながら香港経由でネットにアクセスできることになる。
ちなみに、日本-香港間の通信に金盾は関与しないのでわざわざShadowsocksにこだわる理由はない。もっと素直にVPNトンネリングできるDockerコンテナがあれば試してみたい。
コメントする