Files
Su YijunandClaude Opus 5.5 47674ecd3e feat: 接入 blackmatrix7 / Hagezi / UT1 识别库并定好顺序与权重,修复外部数据源未启用(debug12)
- lists.py:blackmatrix7(应用级,bm7_map.yaml 对应约 560 个目录)、Hagezi / UT1(分类级,
  64 位哈希表约 7MB),运行时下载,不进仓库和镜像;新分类“赌博博彩”与 gen_* 兜底应用
- 顺序:应用级域名(内置 / v2fly / bm7 最长后缀,平局按先后)→ 应用级 IP → 分类级(Hagezi > UT1)
  → 国内域名列表 → IP 段兜底;Tranco 前 1 万能认出类别 19.6% → 35.7%
- 修复:0.6.0 起主域名回填每次启动报错,导致外部数据源、自定义规则、LAN 设置都没加载;
  启动初始化各步互相独立

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-24 01:46:59 +08:00

27 lines
1.1 KiB
Python

import os
import sys
import tempfile
_tmp = tempfile.mkdtemp(prefix="rosdpi-test-")
os.environ["DATABASE_URL"] = f"sqlite:///{_tmp}/test.db"
os.environ["DATA_DIR"] = _tmp
os.environ["LAN_CIDRS"] = "192.168.88.0/24,2408:8000:1:2::/64"
os.environ["ROS_URL"] = ""
os.environ["ADMIN_PASSWORD"] = ""
os.environ["TZ"] = "Asia/Shanghai"
os.environ["IPFIX_PORT"] = "0"
os.environ["TZSP_PORT"] = "0"
os.environ["ASN_DB"] = "false"
os.environ["OUI_DB"] = "false" # 测试不下载 MAC 厂商库 # 测试不下载 ASN 库
os.environ["CHINA_DB"] = "false" # 测试不下载国内域名 / IP 段库
os.environ["IPLIST_DB"] = "false" # 测试不下载官方 IP 段库
for _k in ("BM7_DB", "HAGEZI_DB", "UT1_DB"): # 测试不下载第三方规则库
os.environ[_k] = "false"
os.environ["ROSDPI_NO_JOBS"] = "1" # 不启动后台定时任务(每分钟落库会打乱测试里的计数)
sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
sys.path.insert(0, os.path.dirname(os.path.abspath(__file__)))
from app import database # noqa: E402
database.connect(os.environ["DATABASE_URL"])