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