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