- *.onion にアクセスするメモ
概要
- Dockerをつかって、ラズパイを Tor proxyにします。
- https://github.com/PeterDaveHello/tor-socks-proxy をそのままつかってます。
環境
- Raspberry Pi 3B
- Raspbian:
2018-11-13-raspbian-stretch.zip
- パッケージ更新: 2018/3/27 (apt update && apt upgrade)
-
Chromiumが、72.0.になった
pi@raspberrypi:~ $ chromium-browser --version --disable-quic --enable-tcp-fast-open --disable-gpu-compositing --ppapi-flash-path=/usr/lib/chromium-browser/libpepflashplayer.so --ppapi-flash-args=enable_stagevideo_auto=0 --ppapi-flash-version= Chromium 72.0.3626.121 Built on Raspbian , running on Raspbian 9.8 pi@raspberrypi:~y $
-
- Docker 導入しておく。
curl -sSL https:/get.docker.com | sh && sudo usermod -aG docker $USER
手順
-
Torコンテナの準備
DOCKER_NAME=tor-socks-proxy # git クローン : ${DOCKER_CONTAINER_NAME} フォルダへ git clone https://github.com/PeterDaveHello/tor-socks-proxy ${DOCKER_NAME} cd ${DOCKER_NAME} # ビルド docker build . -t ${DOCKER_NAME}
-
コンテナ起動
-p
オプションにて、ローカルのみか、誰でも接続できるか、指定できる起動# ローカルのみ接続許可 docker run -d --name ${DOCKER_NAME} -p 127.0.0.1:9150:9150 ${DOCKER_NAME} # 誰でも接続できる # docker run -d --name ${DOCKER_NAME} -p 9150:9150 ${DOCKER_NAME} # 様子を見る docker logs ${DOCKER_NAME} # > ... # > Mar 28 01:34:19.000 [notice] Bootstrapped 100%: Done # こんな感じのが出てたら、起動OK
-
接続テスト
-
curl -x socks5h://localhost:9150 https://ipinfo.io/ip
pi@raspberrypi:~ $ curl -x socks5h://localhost:9150 https://ipinfo.io/ip 185.220.101.27 pi@raspberrypi:~ $
-
chromiumにて
https://3g2upl4pq6kufc4m.onion/
は DuckDuckGoへ行きます。chromium-browser --proxy-server="socks5://127.0.0.1:9150" \ https://ipinfo.io/ip \ https://3g2upl4pq6kufc4m.onion/ &
-
-
テスト終了
コンテナ動作停止、削除# DOCKER_NAME=tor-socks-proxy docker stop ${DOCKER_NAME} docker rm ${DOCKER_NAME}
-
(お好みで) Dockerコンテナをサービスに登録して、自動起動
こぴぺDOCKER_NAME=tor-socks-proxy DOCKER_CONTAINER_NAME=tor-socks-proxy # とりあえず起動させる docker run -d --name ${DOCKER_CONTAINER_NAME} -p 9150:9150 ${DOCKER_NAME} # systemdのファイル作成 sudo sh -c "cat <<EOF > /lib/systemd/system/${DOCKER_CONTAINER_NAME}.service [Unit] Description=${DOCKER_CONTAINER_NAME} container Requires=docker.service After=docker.service [Service] Restart=always ExecStart=/usr/bin/docker start -a ${DOCKER_CONTAINER_NAME} ExecStop=/usr/bin/docker stop ${DOCKER_CONTAINER_NAME} [Install] WantedBy=multi-user.target EOF" # systemdの設定 sudo systemctl daemon-reload sudo systemctl enable ${DOCKER_CONTAINER_NAME}.service sudo systemctl restart ${DOCKER_CONTAINER_NAME}.service # サービスが起動しているか? #sudo systemctl status ${DOCKER_CONTAINER_NAME}.service # なんちゃら、100%になっているか? #docker logs ${DOCKER_NAME}