Files
gfil-blog/config.py

93 lines
2.8 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
GFIL BLOG 统一配置加载器
用法: from config import TELEGRAPH_TOKEN, BLOG_URL, ...
所有密钥从 .env 加载,修改密钥只需改 .env 一个文件
"""
import os
import sys
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
ENV_FILE = os.path.join(BASE_DIR, ".env")
def _load_env():
"""手动解析 .env零依赖"""
env = {}
if os.path.exists(ENV_FILE):
with open(ENV_FILE, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
if not line or line.startswith("#") or "=" not in line:
continue
key, _, val = line.partition("=")
env[key.strip()] = val.strip().strip('"').strip("'")
return env
_env = _load_env()
def _get(key, default=""):
"""优先环境变量,其次 .env 文件"""
return os.environ.get(key) or _env.get(key, default)
# --- 服务器 ---
SSH_HOST = _get("SSH_HOST", "")
SSH_USER = _get("SSH_USER", "root")
SSH_PASS = _get("SSH_PASS")
SSH_PORT = int(_get("SSH_PORT", "22"))
# --- API Keys ---
TELEGRAPH_TOKEN = _get("TELEGRAPH_TOKEN")
GITHUB_TOKEN = _get("GITHUB_TOKEN")
GITHUB_TOKEN_ALT = _get("GITHUB_TOKEN_ALT")
TG_BOT_TOKEN = _get("TG_BOT_TOKEN")
DISCORD_WEBHOOK = _get("DISCORD_WEBHOOK")
DEEPSEEK_KEY = _get("DEEPSEEK_KEY")
DEVTO_KEY = _get("DEVTO_KEY")
INDEXNOW_KEY = _get("INDEXNOW_KEY")
SCREENSHOTONE_KEY = _get("SCREENSHOTONE_KEY")
SHOTSTACK_KEY = _get("SHOTSTACK_KEY")
BUFFER_TOKEN = _get("BUFFER_TOKEN")
# --- Google ---
GOOGLE_EMAIL = _get("GOOGLE_EMAIL")
GOOGLE_PASS = _get("GOOGLE_PASS")
SMTP_PASS = _get("SMTP_PASS")
GA_ID = _get("GA_ID")
GOOGLE_VERIFY = _get("GOOGLE_VERIFY")
# --- URLs ---
BLOG_URL = _get("BLOG_URL", "https://blog.quant-view.xyz")
TERMINAL_URL = _get("TERMINAL_URL", "https://gfil-intel.xyz")
LANDING_URL = _get("LANDING_URL", "https://gold-node.xyz")
TG_CHANNEL = _get("TG_CHANNEL", "https://t.me/GFIL_Trading")
DISCORD_INVITE = _get("DISCORD_INVITE", "https://discord.gg/GMmMCD4MCr")
TOOLS_URL = f"{BLOG_URL}/tools/"
# --- 本地代理 ---
HTTP_PROXY = _get("HTTP_PROXY")
# --- 邮箱 ---
MAILERLITE_GROUP_ID = "189341033455158511"
# --- 密钥状态检查 ---
def check_config():
"""打印配置状态,快速发现过期密钥"""
keys = {
"Telegraph": TELEGRAPH_TOKEN,
"GitHub": GITHUB_TOKEN,
"TG Bot": TG_BOT_TOKEN,
"Discord": DISCORD_WEBHOOK,
"DeepSeek": DEEPSEEK_KEY,
}
print("=== 配置状态检查 ===")
for name, val in keys.items():
if not val:
print(f" {name}: MISSING!")
elif "expired" in val.lower() or "invalid" in val.lower():
print(f" {name}: EXPIRED/INVALID")
else:
masked = val[:15] + "..." if len(val) > 15 else val
print(f" {name}: {masked}")
if __name__ == "__main__":
check_config()