дарк-форумы + cookie-проход CF + opt_in радара в обходе
Some checks failed
ci / test (3.10) (push) Has been cancelled
ci / test (3.11) (push) Has been cancelled
ci / test (3.12) (push) Has been cancelled

- omni/sources_dark.py: cracked.st, nulledbb, forum.tuts4you — реально отдают темы без логина
- tools/cf_cookies.py: Camoufox снимает cookies с JS-челленджей в data/cookies.json (вне git)
- config: cookies.json подхватывается автоматически
- feeds: include_contains матчится по полному href (showthread.php?tid= не резался по path)
- sources_abuse/abuse_sources: A(extra=...) + tuts4you на html_listing (/topic/)
- sources: _gen_sources() = китайские + дарк наборы
- README: ключи/радар/китайцы/дарк
This commit is contained in:
ENI
2026-10-26 23:39:47 +03:00
parent 2320acf3c5
commit 2b9f4e1d88
8 changed files with 239 additions and 18 deletions

View File

@@ -245,18 +245,19 @@ def radar_sources():
return rows
def _cn_sources():
"""Китайские/азиатские источники из сгенерированного omni/sources_cn.py."""
try:
from .sources_cn import CN
except Exception:
return []
def _gen_sources():
"""Сгенерированные наборы: китайские (sources_cn) + дарк-форумы (sources_dark)."""
out = []
for d in CN:
for mod, attr in (("sources_cn", "CN"), ("sources_dark", "DARK")):
try:
out.append(Source(**d))
rows = getattr(__import__("omni." + mod, fromlist=[attr]), attr)
except Exception:
continue
for d in rows:
try:
out.append(Source(**d))
except Exception:
continue
return out
@@ -271,7 +272,7 @@ def all_sources():
("name", "category", "kind", "url", "adapter", "tags", "limit", "detail", "extra")}
extra.append(Source(**d))
seen, out = set(), []
for s in SOURCES + _cn_sources() + extra + radar_sources():
for s in SOURCES + _gen_sources() + extra + radar_sources():
key = (s.url or "").rstrip("/").lower()
if key and key in seen:
continue