security: Sentinel 配置文件模板化 — config.yaml 不入库

- config.yaml → .gitignore (含 API Key 不入库)
- config.yaml.example 模板 (空节点列表)
- 首次启动自动从模板复制
- 所有插件 config.yaml 统一保护

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
qinglong
2026-06-13 21:04:52 +08:00
parent 1301aeb9b7
commit 95a2f375e8
3 changed files with 12 additions and 7 deletions
+9
View File
@@ -77,6 +77,15 @@ class Plugin(PluginWebMixin):
try:
with open(self._config_path, "r") as f:
return yaml.safe_load(f) or {}
except FileNotFoundError:
# 从模板创建
template = self._config_path + ".example"
if os.path.exists(template):
import shutil
shutil.copy(template, self._config_path)
with open(self._config_path, "r") as f:
return yaml.safe_load(f) or {}
return {}
except Exception:
return {}