- 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>
27 lines
1.1 KiB
Python
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"])
|