clash-linux commited on
Commit
b044a62
·
verified ·
1 Parent(s): 1095651

Upload 21 files

Browse files
Files changed (2) hide show
  1. app/main.py +4 -2
  2. app/sub_manager.py +3 -3
app/main.py CHANGED
@@ -388,9 +388,11 @@ def upload_config():
388
  logger.error(f"上传的文件类型不支持: {filename}")
389
  return jsonify({"success": False, "error": "只允许上传 .yaml 或 .yml 文件"}), 400
390
 
391
- config_dir = os.path.join(os.path.dirname(__file__), "data")
 
 
392
  config_path = os.path.join(config_dir, "config.yaml")
393
- marker_path = MANUAL_CONFIG_MARKER
394
 
395
  try:
396
  # 确保数据目录存在
 
388
  logger.error(f"上传的文件类型不支持: {filename}")
389
  return jsonify({"success": False, "error": "只允许上传 .yaml 或 .yml 文件"}), 400
390
 
391
+ # 修正路径,确保指向 /app/data/
392
+ app_root = os.path.dirname(os.path.dirname(__file__))
393
+ config_dir = os.path.join(app_root, "data")
394
  config_path = os.path.join(config_dir, "config.yaml")
395
+ marker_path = os.path.join(config_dir, ".use_manual_config") # 保持 marker 在 data 目录
396
 
397
  try:
398
  # 确保数据目录存在
app/sub_manager.py CHANGED
@@ -72,10 +72,10 @@ class SubscriptionManager:
72
  try:
73
  logger.info(f"正在下载订阅: {self._mask_url(self.sub_url)}")
74
  content = self._download_subscription()
75
- # 将原始订阅内容保存到 .raw 文件
76
- with open(self.raw_config_path, "wb") as f:
77
  f.write(content)
78
- logger.info(f"成功下载订阅,大小: {len(content)} 字节")
79
  except Exception as e:
80
  logger.error(f"下载订阅失败: {str(e)}")
81
  # 如果下载失败,但旧配置文件存在,则继续使用旧的
 
72
  try:
73
  logger.info(f"正在下载订阅: {self._mask_url(self.sub_url)}")
74
  content = self._download_subscription()
75
+ # 将原始订阅内容保存到 .raw 文件 (使用文本模式和UTF-8编码)
76
+ with open(self.raw_config_path, "w", encoding="utf-8") as f:
77
  f.write(content)
78
+ logger.info(f"成功下载订阅,大小: {len(content.encode('utf-8'))} 字节") # 计算字节大小
79
  except Exception as e:
80
  logger.error(f"下载订阅失败: {str(e)}")
81
  # 如果下载失败,但旧配置文件存在,则继续使用旧的