はじめに
これを書いた次の日に実践しつつ色々探っていたら、Shadowsocksなるものを発見しまして。
なので、上述の記事のシリーズ的な感じでShadowsocksサーバーの構築方法を書くことにしました。1
クライアント編はAndroid版の使用方法を書きますので、上述の記事を発見してガッツポーズした方はお楽しみに。
Shadowsocksとは (超ざっくりと)
Shadowsocksというのは、中国の金盾2を飛び越える為に開発されたプロキシソフトウェアで、Socks5を暗号化して通信します。
Shadowsocksが開発される前は、これに似た方法でやっていたのだそうで。
インストール
ここでは、パッケージマネージャ3はgo
を入れるのにだけ使ってくださいね。4
パッケージマネージャからは多分DLできないですが、出来ても説明はしません。というか多分古いから入れないでね。
コマンドは以下の通り:
go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server
以上。
which shadowsocks-server
でshadowsocks-server
が存在するか確認してくださいね。
起動
以下の要領に従ってコマンドを入力して下さい。
shadowsocks-server -p サーバーポート -k パスワード -m aes-256-cfb
以上のコマンドを分解して説明すると、
-
shadowsocks-server
- コマンド名 -
-p サーバーポート
- サーバー上でのポートを指定 -
-k パスワード
- サーバーに接続するためのパスワードを指定 -
-m aes-256-cfb
- 暗号化する方式
暗号化する方式についてはaes-256-cfb
がデフォルトのようです。
0〜1024番のポートを使う場合
sudo -E
が働かないので、以下のようにします。5
sudo -E $(which shadowsocks-server) -p サーバーポート -k パスワード -m aes-256-cfb
$(which shadowsocks-server)
は、sudo
を呼び出したシェル上で実行されるので、問題なく動作します。(rootとして実行されるわけではない。)
後始末
Ctrl+C
で終了できます。
おわりに
クライアント編はAndroid版の使用方法を書きますので、上述の記事を発見してガッツポーズした方はお楽しみに。(大事な事なので2度書きました。)
AndroidでShadowsocksを使う方法はこちらから。