clash-linux commited on
Commit
115e454
·
verified ·
1 Parent(s): 6dbdf9a

Upload 20 files

Browse files
Files changed (2) hide show
  1. Dockerfile +4 -0
  2. app/sub_manager.py +7 -7
Dockerfile CHANGED
@@ -99,6 +99,10 @@ RUN echo "Downloading Yacd-meta UI (gh-pages branch)..." && \
99
  rm /tmp/yacd-gh-pages.zip && \
100
  rm -rf /tmp/Yacd-meta-gh-pages
101
 
 
 
 
 
102
  # 设置环境变量
103
  ENV PYTHONDONTWRITEBYTECODE=1 \
104
  PYTHONUNBUFFERED=1 \
 
99
  rm /tmp/yacd-gh-pages.zip && \
100
  rm -rf /tmp/Yacd-meta-gh-pages
101
 
102
+ # 复制 subconverter 目录下的所有文件 (包括可能的 pref.yml 和我们添加的 minimal_pref.yml)
103
+ COPY subconverter/ /app/subconverter/
104
+ RUN chmod +x /app/subconverter/subconverter || true
105
+
106
  # 设置环境变量
107
  ENV PYTHONDONTWRITEBYTECODE=1 \
108
  PYTHONUNBUFFERED=1 \
app/sub_manager.py CHANGED
@@ -123,15 +123,15 @@ class SubscriptionManager:
123
  data_dir = os.path.dirname(self.config_path)
124
  os.makedirs(data_dir, exist_ok=True)
125
 
126
- # 准备subconverter命令 - 回退到使用 -i 和 -o
 
 
127
  cmd = [
128
  self.subconverter_path,
129
  "-i", input_file, # 输入文件
130
  "-o", self.config_path, # 输出文件
131
- "-t", "clash" # 目标格式
132
- # 移除 -g 和 --url
133
- #"-g", # 明确表示生成模式
134
- #"--url", input_uri, # 使用文件 URI 作为输入
135
  ]
136
 
137
  logger.info(f"执行命令: {' '.join(cmd)}")
@@ -410,7 +410,7 @@ secret: ""
410
  else:
411
  logger.info("检测到已有proxy-groups或GLOBAL配置,跳过添加")
412
 
413
- # --- 写回文件 ---
414
  if has_patch:
415
  logger.info("检测到配置更改,正在写回文件...")
416
  try:
@@ -419,7 +419,7 @@ secret: ""
419
  logger.info("已修补配置文件并成功保存")
420
  except Exception as write_err:
421
  logger.error(f"写回配置文件失败: {write_err}")
422
- # 即使写回失败,也不要阻止程序继续,可能只是临时问题
423
  else:
424
  logger.info("配置文件无需修补")
425
 
 
123
  data_dir = os.path.dirname(self.config_path)
124
  os.makedirs(data_dir, exist_ok=True)
125
 
126
+ # 准备subconverter命令 - 使用 -i/-o 并强制指定空白配置
127
+ minimal_pref_path = os.path.join(os.path.dirname(self.subconverter_path), "minimal_pref.yml")
128
+
129
  cmd = [
130
  self.subconverter_path,
131
  "-i", input_file, # 输入文件
132
  "-o", self.config_path, # 输出文件
133
+ "-t", "clash", # 目标格式
134
+ "--config", minimal_pref_path # 强制使用空白配置,避免默认行为
 
 
135
  ]
136
 
137
  logger.info(f"执行命令: {' '.join(cmd)}")
 
410
  else:
411
  logger.info("检测到已有proxy-groups或GLOBAL配置,跳过添加")
412
 
413
+ # --- 写回文件 ---
414
  if has_patch:
415
  logger.info("检测到配置更改,正在写回文件...")
416
  try:
 
419
  logger.info("已修补配置文件并成功保存")
420
  except Exception as write_err:
421
  logger.error(f"写回配置文件失败: {write_err}")
422
+ # 记录错误,但允许程序继续
423
  else:
424
  logger.info("配置文件无需修补")
425