File size: 1,787 Bytes
48d895c
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
#!/usr/bin/env python3
"""

Init script: 在 grok2api 启动前写入代理配置到 data/config.toml。

用于 docker-compose.warp.yml 的 init-config 服务。

"""
import pathlib

DATA_DIR = pathlib.Path("/app/data")
CONFIG_PATH = DATA_DIR / "config.toml"

PROXY_CONFIG = """

[proxy.egress]

mode = "single_proxy"

proxy_url = "http://privoxy:8118"

resource_proxy_url = "http://privoxy:8118"

proxy_pool = []

resource_proxy_pool = []

skip_ssl_verify = false



[proxy.clearance]

mode = "flaresolverr"

cf_cookies = ""

user_agent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36"

browser = "chrome136"

flaresolverr_url = "http://flaresolverr:8191"

timeout_sec = 60

refresh_interval = 3600

"""

DATA_DIR.mkdir(parents=True, exist_ok=True)

if not CONFIG_PATH.exists():
    CONFIG_PATH.write_text(PROXY_CONFIG.strip() + "\n")
    print("[init-config] Created config.toml with proxy settings")
else:
    content = CONFIG_PATH.read_text()
    if "privoxy" not in content:
        # 替换已有的 proxy 配置段,或追加
        import re
        # 移除旧的 proxy.egress 和 proxy.clearance 段
        content = re.sub(
            r'\[proxy\.egress\].*?(?=\[|\Z)',
            '',
            content,
            flags=re.DOTALL,
        )
        content = re.sub(
            r'\[proxy\.clearance\].*?(?=\[|\Z)',
            '',
            content,
            flags=re.DOTALL,
        )
        content = content.rstrip() + "\n" + PROXY_CONFIG.strip() + "\n"
        CONFIG_PATH.write_text(content)
        print("[init-config] Updated config.toml with proxy settings")
    else:
        print("[init-config] Proxy settings already present, skipping")