問題
中国だとgoogleとかyoutubeとか使えない
解決方法
- VPN (tailscale exit-node)
- shadowsocks
- socks5
VPN
個人的にはtailscaleが好きなので、自分の家のサーバーをexit-nodeとして使っていたが、たまに激遅になったりしたんで、たぶんGFWに検知されたんだと思う
shadowsocks
socks5経由だとGFWに検知されにくいということで使ったが全然悪くなかった
が、中国外のサイトを見るにはいいが、中国内のサイトを見ると激遅になるので帯に短し襷に長し
socks
これがサーバーだとアプリ毎でproxyとして指定できるので、chromeは中国内サイトを、firefoxは中国外サイトをと言うふうに振り分けて使えるので便利と聞いたのでやってみた
socksサーバー構築
兎にも角にも中国外にサーバーが必要なので、VPSなり自宅のサーバーなりをどうにかする
その上でdockerをインストールする
(今のバージョンならdocker composeもついてくる)
version: '3'
services:
socks5:
image: serjs/go-socks5-proxy
container_name: socks5
ports:
- "1080:1080"
environment:
PROXY_USER: your_user_name
PROXY_PASSWORD: your_password
restart: always
your_user_name
your_password
は自分で書き換えるとして、これを中国外のサーバー上で起動するだけでOK
$ sudo docker compose up -d
socks クライアント設定
クライアントとしてはsocks5の設定が楽なfirefoxを通常は使うようで、ブラウザの設定でsocks
と検索してみると
とあるが、ID/PASSの設定ができない(ID:PASS@IP_ADDRESSとしてもだめだった)
ので、どうやら通常はextensionを入れるらしい
自分はこれを使った
https://addons.mozilla.org/en-US/firefox/addon/foxyproxy-standard/
- サーバーのIPなりドメイン名なり
- ポート番号(上の設定のままなら1080)
- ID
- PASS
を設定すればすぐに繋がるはず
が、遅い...
socks5でyoutubeなりを見れるようになったが激遅
速度の解決
参考にしたのは下の記事
$ wget https://raw.githubusercontent.com/teddysun/across/master/bbr.sh
$ bash bbr.sh
をサーバー側で実行して、表示されるままにエンターを押すと設定が終わり、一応
$ docker compose down
$ docker compose up -d
と再起動をして繋げ直すとむちゃくちゃ早くなった
因みにshadowsocks
version: '3'
services:
shadowsocks:
image: shadowsocks/shadowsocks-libev
container_name: shadowsocks
ports:
- "8388:8388"
- "8388:8388/udp"
environment:
PASSWORD: your_password
restart: always
your_password
は変えるとして、
$ sudo docker compose up
とあえて-d
はつけずにまず起動してみた方がいい
表示されるログにどのencrypt_method
が使われているのか表示されるはず
shadowsocks クライアント
- サーバーのIPなりドメイン名なり
- ポート番号(上の設定のままなら8388)
- PASS
- encrypt_method
をshadowsocksのクライアントに設定でOK
windows クライアント
https://github.com/shadowsocks/shadowsocks-windows/releases
mac クライアント
https://github.com/shadowsocks/ShadowsocksX-NG/releases