hkfires commited on
Commit
6d2b0e1
·
verified ·
1 Parent(s): cb05669

feat(config): support per-instance proxy env vars

Browse files
Files changed (1) hide show
  1. main.py +18 -3
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
- instances.append({
 
 
 
 
 
 
237
  "cookie_file": None,
238
- "env_cookie_index": int(env_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