🌐

日本のVPNGateにランダムでつなぐProxyをDocker化した

2021/09/07に公開

おはこんばんにちわ

IPを変えてブラウジングしたい気分なときってありますよね

ちょっとアクセスするだけであればBraveブラウザのTor機能を使うのが簡単なんですが
その状態で恒常的にブラウジングをするのであれば速度的にかなりキツイです

そんな時に気軽に使えるのがこれです

https://www.vpngate.net/ja/

ここからopenvpnの設定ファイル落としてきてopenvpnコマンドで読み込めばあら簡単
VPN経由で接続できるようになります

まぁでもぶっちゃけそれすらも面倒になってくるんですよねこれ
繋いでみたら使えないサーバとかも居るし一定時間立つと設定ファイル見えなくなったりするし

ってことでVPNGateに登録された日本のVPNサーバに繋がるまでランダムに接続してくれるDocker製のProxyコンテナを作りました

どうせブラウザでしか使わないのでこれで十分です

https://github.com/tantan-tanuki/ja-vpngate-proxy

DockerHubにも登録してるのでgitから取って自分でビルドしなくてもこれで起動します

$ docker run --rm -it \
--cap-add=NET_ADMIN --device=/dev/net/tun \
--dns=1.1.1.1 --dns=8.8.8.8 --dns=9.9.9.9 \
-p 8118:8118 \
tantantanuki/ja-vpngate-proxy

ちなみに起動時の引数の-itは最初だけ確認のために付けてるので-dにしてdocker logsで確認でも良いと思います

起動したらなんか色々ログ出ますが

before=xxx.xxx.xxx.xxx after=yyy.yyy.yyy.yyy

こんな感じでBeforeとAfterのIPが変わってるログが出たらVPN繋がってるのでcurlとかでホストOSから確認してみましょう

$ curl inet-ip.info
xxx.xxx.xxx.xxx

こんな感じでProxy指定しないと元のIPのままで

$ curl inet-ip.info -x http://localhost:8118
yyy.yyy.yyy.yyy

Proxyにlocalhost:8118を指定してアクセスするとVPNのIPになってることが確認できますね

この状態になったらhttp://localhost:8118をブラウザのProxyに指定すればブラウザからのアクセスはVPN経由で実行できるようになります

ちなみにchromeベースのブラウザは起動時の引数に--proxy-server="localhost:8118"と付けるとProxy経由で動作することが多いです

ランダムで繋がるようにしてるので回線に不満がある場合は再起動したら大抵違うサーバに繋がります

それではよいブラウジングライフを〜

しゃみしゃっきりー

P.S.

bashでかなり適当に作ったからソースは動けばいい感満載です🤣

Discussion