Spaces:
Paused
Paused
Upload 20 files
Browse files- Dockerfile +4 -0
- 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命令 -
|
|
|
|
|
|
|
| 127 |
cmd = [
|
| 128 |
self.subconverter_path,
|
| 129 |
"-i", input_file, # 输入文件
|
| 130 |
"-o", self.config_path, # 输出文件
|
| 131 |
-
"-t", "clash"
|
| 132 |
-
|
| 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 |
|