shadowsocks

Shadowsocksのサーバーを構築する

はじめに

これを書いた次の日に実践しつつ色々探っていたら、Shadowsocksなるものを発見しまして。
なので、上述の記事のシリーズ的な感じでShadowsocksサーバーの構築方法を書くことにしました。1
クライアント編はAndroid版の使用方法を書きますので、上述の記事を発見してガッツポーズした方はお楽しみに。

Shadowsocksとは (超ざっくりと)

Shadowsocksというのは、中国の金盾2を飛び越える為に開発されたプロキシソフトウェアで、Socks5を暗号化して通信します。
Shadowsocksが開発される前は、これに似た方法でやっていたのだそうで。

インストール

ここでは、パッケージマネージャ3goを入れるのにだけ使ってくださいね。4
パッケージマネージャからは多分DLできないですが、出来ても説明はしません。というか多分古いから入れないでね。
コマンドは以下の通り:

go get github.com/shadowsocks/shadowsocks-go/cmd/shadowsocks-server

以上。
which shadowsocks-servershadowsocks-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を使う方法はこちらから。



  1. 一応他の記事はあるにはあります 

  2. 中国の検閲システムの名前 

  3. aptとかyumみたいなモノ 

  4. 筆者はLinuxbrewで入れました 

  5. 下の-Eは要らないかもしれない