Spaces:
Paused
Paused
feat(config): support per-instance proxy env vars
Browse files
main.py
CHANGED
|
@@ -233,11 +233,26 @@ def load_instance_configurations(logger):
|
|
| 233 |
elif source.type == "env_var":
|
| 234 |
# 从环境变量名中提取索引,如 "USER_COOKIE_1" -> 1
|
| 235 |
env_index = source.identifier.split("_")[-1]
|
| 236 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 237 |
"cookie_file": None,
|
| 238 |
-
"env_cookie_index":
|
| 239 |
"cookie_source": source
|
| 240 |
-
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 241 |
|
| 242 |
logger.info(f"将启动 {len(instances)} 个浏览器实例")
|
| 243 |
|
|
|
|
| 233 |
elif source.type == "env_var":
|
| 234 |
# 从环境变量名中提取索引,如 "USER_COOKIE_1" -> 1
|
| 235 |
env_index = source.identifier.split("_")[-1]
|
| 236 |
+
try:
|
| 237 |
+
env_cookie_index = int(env_index)
|
| 238 |
+
except ValueError:
|
| 239 |
+
logger.warning(f"警告: 无法解析 Cookie 环境变量索引,跳过来源: {source.identifier}")
|
| 240 |
+
continue
|
| 241 |
+
|
| 242 |
+
instance_config = {
|
| 243 |
"cookie_file": None,
|
| 244 |
+
"env_cookie_index": env_cookie_index,
|
| 245 |
"cookie_source": source
|
| 246 |
+
}
|
| 247 |
+
|
| 248 |
+
# 支持每实例独立代理:CAMOUFOX_PROXY_N 对应 USER_COOKIE_N
|
| 249 |
+
instance_proxy_var = f"CAMOUFOX_PROXY_{env_cookie_index}"
|
| 250 |
+
instance_proxy_value = clean_env_value(os.getenv(instance_proxy_var))
|
| 251 |
+
if instance_proxy_value:
|
| 252 |
+
instance_config["proxy"] = instance_proxy_value
|
| 253 |
+
logger.info(f"检测到 {source.display_name} 的独立代理配置: {instance_proxy_var}")
|
| 254 |
+
|
| 255 |
+
instances.append(instance_config)
|
| 256 |
|
| 257 |
logger.info(f"将启动 {len(instances)} 个浏览器实例")
|
| 258 |
|