Limour

Limour

临床医学在读。

【記録】Warp と Tor の共存

Zero Trust の登録#

  1. CF Zero Trustにアクセスし、オンラインチュートリアルに従って登録します。
  2. GitHub 認証を有効にする:設定 - 認証 - ログイン方法 - 新規追加
  3. デバイスの登録を追加する:設定 - WARP クライアント - デバイス登録の権限 - 管理 - ルールを追加
  4. セレクターを Emails に選択し、値に GitHub のメールアドレスを入力します。
  5. Warp-goにアクセスし、WARP Teams の Linux での使用方法のチュートリアルに従って warp-account.conf を取得します。
  6. https://your-team-name.cloudflareaccess.com/warp にアクセスし、要素を検査して authtoken を取得します。
  7. warp-account.conf ファイルの ["account"]["private_key"] と ["config"]["peers"]["public_key"] を記録します。
  8. bash api.sh -i -f ./warp-account.confを実行して reserved を取得します。

Tor のデプロイ#

mkdir -p ~/app/tor && cd ~/app/tor && nano Dockerfile && nano docker-compose.yml
echo 'SocksPort 0.0.0.0:9050' > torrc
docker build -t limour/tor .
docker image ls | grep limour/tor
sudo docker network create sswitch
sudo docker-compose up -d && sudo docker-compose logs
docker run --rm --net=sswitch alpine/curl --socks5-hostname "tor:9050" "https://check.torproject.org/api/ip"
# Dockerfileのベースイメージとしてalpineを設定
FROM alpine:latest
 
# パッケージリポジトリを更新し、Torをインストール
RUN apk update && apk --no-cache add tor
 
# 上記で作成したtorrcをコピーし、所有者を`tor`に設定
COPY torrc /etc/tor/torrc
RUN chown -R tor /etc/tor
 
# コンテナの実行時にデフォルトユーザーとして`tor`を設定
USER tor
 
# イメージのエントリーポイントとして`tor`を設定
ENTRYPOINT ["tor"]
 
# デフォルトのコンテナコマンドを設定
# コンテナを実行する際に後から上書きすることもできます
CMD ["-f", "/etc/tor/torrc"]
version: '3.3'
services:
    tor:
        restart: always
        image: limour/tor
    
networks:
  default:
    external: true
    name: sswitch
  • dockerをインストールします。

Warp のデプロイ#

mkdir -p ~/app/socks5 && cd ~/app/socks5 && nano docker-compose.yml
mkdir ./config
nano ./config/config.json
wget https://github.com/SagerNet/sing-geoip/releases/latest/download/geoip.db -O config/geoip.db 
wget https://github.com/SagerNet/sing-geosite/releases/latest/download/geosite.db -O config/geosite.db 
sudo docker-compose up -d && sudo docker-compose logs
{
  "log": {
    "level": "info"
  },
  "inbounds": [
    {
      "type": "socks",
      "tag": "socks-in",
      "listen": "::",
      "listen_port": 5353,
      "tcp_fast_open": false,
      "udp_fragment": true,
      "sniff": true,
      "sniff_override_destination": false,
      "sniff_timeout": "300ms",
      "udp_timeout": 300,
      "proxy_protocol": false,
      "proxy_protocol_accept_no_header": false
    }
  ],
  "outbounds": [
    {
      "type": "direct"
    },
    {
      "type": "wireguard",
      "tag": "wireguard",
      "server": "engage.cloudflareclient.com",
      "server_port": 2408,
      "local_address": ["10.0.0.2/32"],
      "private_key": "記録のprivate_key",
      "peer_public_key": "記録のpublic_key",
	  "reserved": [0, 0, 0] // 記録のreserved値
    },
    {
      "type": "socks",
      "tag": "tor",
      "server": "tor",
      "server_port": 9050
    }
  ],
  "route": {
    "rules": [
      {
        "domain_suffix": [".onion"],
        "outbound": "tor"
      },
      {
        "domain_suffix": ["openai.com"],
        "outbound": "wireguard"
      },
      {
        "domain_suffix": [".cn"],
        "outbound": "wireguard"
      },
      {
        "domain_suffix": ["check.torproject.org"],
        "outbound": "tor"
      },
      {
        "domain_suffix": ["myip.ipip.net"],
        "outbound": "wireguard"
      },
      {
        "geoip": ["cn"],
        "outbound": "wireguard"
      },
      {
        "geosite": ["cn"],
        "outbound": "wireguard"
      },
      {
        "domain_keyword": ["bing","microsoft"],
        "outbound": "wireguard"
      }
    ]
  }
}
version: '3.3'
services:
    socks5:
        restart: always
        volumes:
            - './config/:/etc/sing-box/'
        image: gzxhwq/sing-box:git
    
networks:
  default:
    external: true
    name: sswitch

Warp と Tor のテスト#

docker run --rm --net=sswitch alpine/curl --socks5-hostname socks5:5353 https://myip.ipip.net
docker run --rm --net=sswitch alpine/curl --socks5-hostname socks5:5353 https://api.ipify.org/?format=json
docker run --rm --net=sswitch alpine/curl --socks5-hostname "socks5:5353" "https://check.torproject.org/api/ip"
docker run --rm --net=sswitch alpine/curl --socks5-hostname "socks5:5353" "https://www.nytimesn7cgmftshazwhfgzm37qxb44r64ytbb2dj3x62d2lljsciiyd.onion"
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。