Spaces:
Paused
Paused
File size: 1,610 Bytes
167282c dd8f9bc c1c44c5 167282c efaf619 167282c | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #!/bin/bash
echo "[INFO] Starting WARP + App..."
# 下载 cookies
wget -q \
--user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36" \
--header="CF-Access-Client-Id: ${CF_ACCESS_CLIENT_ID}" \
--header="CF-Access-Client-Secret: ${CF_ACCESS_CLIENT_SECRET}" \
-O cookies.json \
https://source.starrysky.ggff.net/sources/cookies.json || echo "[]" > cookies.json
echo "[INFO] Cookies downloaded"
# 检查是否已有 WARP 配置
if [ ! -f /app/warp/wireproxy.conf ]; then
echo "[INFO] Registering WARP..."
mkdir -p /app/warp
cd /app/warp
# 注册 WARP
wgcf register --accept-tos
# 生成 WireGuard 配置
wgcf generate
# 转换为 wireproxy 配置
cat > wireproxy.conf << 'CONF'
[Interface]
PrivateKey = PRIVATE_KEY_PLACEHOLDER
DNS = 1.1.1.1
MTU = 1280
[Peer]
PublicKey = bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
Endpoint = engage.cloudflareclient.com:2408
AllowedIPs = 0.0.0.0/0, ::/0
[Socks5]
BindAddress = 127.0.0.1:1080
[http]
BindAddress = 127.0.0.1:8080
CONF
# 从生成的配置中提取私钥并替换
PRIVATE_KEY=$(grep "PrivateKey" wgcf-profile.conf | cut -d' ' -f3)
sed -i "s|PRIVATE_KEY_PLACEHOLDER|${PRIVATE_KEY}|g" wireproxy.conf
cd /app
fi
echo "[INFO] WARP config ready"
# 显示当前 IP
echo "[INFO] Current IP (before WARP):"
curl -s https://api.vore.top/api/IPdata?ip= || echo "Failed to get IP"
# 启动 supervisor(管理 wireproxy 和 python 应用)
exec /usr/bin/supervisord -c /etc/supervisor/conf.d/supervisord.conf |