дарк-форумы + cookie-проход CF + opt_in радара в обходе
- 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:
@@ -5,9 +5,10 @@
|
||||
"""
|
||||
|
||||
|
||||
def A(name, category, kind, url, adapter, tags=(), limit=20):
|
||||
def A(name, category, kind, url, adapter, tags=(), limit=20, extra=None):
|
||||
return {"name": name, "category": category, "kind": kind, "url": url,
|
||||
"adapter": adapter, "tags": tuple(tags), "limit": limit, "detail": False, "extra": {}}
|
||||
"adapter": adapter, "tags": tuple(tags), "limit": limit,
|
||||
"detail": False, "extra": dict(extra or {})}
|
||||
|
||||
|
||||
ABUSE = [
|
||||
@@ -61,8 +62,10 @@ ABUSE = [
|
||||
A("ab_carder_su", "abuse", "html", "https://carder.su/", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_procarders_com", "abuse", "html", "https://procarders.com/", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_darkpro_net", "abuse", "html", "https://darkpro.net/", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_tuts4you_com", "abuse", "html", "https://tuts4you.com/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_forum_tuts4you_com", "abuse", "html", "https://forum.tuts4you.com/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_tuts4you_com", "abuse", "html", "https://tuts4you.com/", "html_listing", ('abuse', 'abuse'), limit=20,
|
||||
extra={"include_contains": ["/topic/"]}),
|
||||
A("ab_forum_tuts4you_com", "abuse", "html", "https://forum.tuts4you.com/", "html_listing", ('abuse', 'abuse'), limit=20,
|
||||
extra={"include_contains": ["/topic/"]}),
|
||||
A("ab_forum_exetools_com", "abuse", "html", "https://forum.exetools.com/", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_tlgrm_eu", "abuse", "html", "https://tlgrm.eu/channels", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_telemetr_me", "abuse", "html", "https://telemetr.me/channels", "html_listing", ('abuse', 'abuse'), limit=20),
|
||||
|
||||
@@ -69,6 +69,15 @@ def load():
|
||||
except Exception:
|
||||
pass
|
||||
CONFIG = cfg
|
||||
# cookies, снятые браузером (tools/cf_cookies.py) — файл вне git
|
||||
ck_file = DATA / "cookies.json"
|
||||
if ck_file.exists():
|
||||
try:
|
||||
extra = json.loads(ck_file.read_text(encoding="utf-8"))
|
||||
if isinstance(extra, dict):
|
||||
cfg["cookies"] = {**extra, **(cfg.get("cookies") or {})}
|
||||
except Exception:
|
||||
pass
|
||||
raw = os.environ.get("OMNI_COOKIES") or ""
|
||||
if raw:
|
||||
try:
|
||||
|
||||
@@ -432,7 +432,7 @@ def _html_listing(src, limit):
|
||||
continue
|
||||
if inc and not any(path.startswith(p) for p in inc):
|
||||
continue
|
||||
if inc_c and not any(c in path for c in inc_c):
|
||||
if inc_c and not any(c in href for c in inc_c):
|
||||
continue
|
||||
if href in seen:
|
||||
continue
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -5,9 +5,9 @@
|
||||
"""
|
||||
|
||||
|
||||
def A(name, category, kind, url, adapter, tags=(), limit=20):
|
||||
def A(name, category, kind, url, adapter, tags=(), limit=20, extra=None):
|
||||
return {"name": name, "category": category, "kind": kind, "url": url,
|
||||
"adapter": adapter, "tags": tuple(tags), "limit": limit, "detail": False, "extra": {}}
|
||||
"adapter": adapter, "tags": tuple(tags), "limit": limit, "detail": False, "extra": dict(extra or {})}
|
||||
|
||||
|
||||
ABUSE_LIVE = [
|
||||
@@ -18,8 +18,10 @@ ABUSE_LIVE = [
|
||||
A("ab_blackhatworld_com", "abuse", "html", "https://www.blackhatworld.com/seo/up-to-date-list-of-specialized-software-for-telegram.1642970/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_cracked_io", "abuse", "html", "https://cracked.io/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_t_me", "abuse", "html", "https://t.me/s/Abuz_ai_soft", "tg_web", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_tuts4you_com", "abuse", "html", "https://tuts4you.com/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_forum_tuts4you_com", "abuse", "html", "https://forum.tuts4you.com/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_tuts4you_com", "abuse", "html", "https://tuts4you.com/", "html_listing", ('abuse', 'abuse'), limit=20,
|
||||
extra={"include_contains": ["/topic/"]}),
|
||||
A("ab_forum_tuts4you_com", "abuse", "html", "https://forum.tuts4you.com/", "html_listing", ('abuse', 'abuse'), limit=20,
|
||||
extra={"include_contains": ["/topic/"]}),
|
||||
A("ab_nodeloc_com", "abuse", "json", "https://www.nodeloc.com/latest.json", "discourse", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_v2ex_com", "abuse", "json", "https://www.v2ex.com/api/topics/hot.json", "generic_json", ('abuse', 'abuse'), limit=20),
|
||||
A("ab_hostloc_com", "abuse", "rss", "https://hostloc.com/forum.php?mod=rss", "rss", ('abuse', 'abuse'), limit=20),
|
||||
|
||||
37
omni/sources_dark.py
Normal file
37
omni/sources_dark.py
Normal file
@@ -0,0 +1,37 @@
|
||||
"""Дарк/крэк-форумы, реально отдающие контент без логина.
|
||||
|
||||
Проверено живыми запросами: cracked.st (переехал с cracked.io), nulledbb.com,
|
||||
forum.tuts4you.com (реверс/крэкинг). Закрыты JS-челленджем без cookie:
|
||||
exploit.in, xss.is, blackhatworld, hackforums, patched.to, darkforums.st.
|
||||
|
||||
Подключается в реестр omni через sources.all_sources().
|
||||
"""
|
||||
|
||||
DARK = [
|
||||
{"name": "dk_cracked_st", "category": "forum", "kind": "site",
|
||||
"url": "https://cracked.st/", "adapter": "html_listing",
|
||||
"tags": ("dark", "leaks", "abuse"), "limit": 25,
|
||||
"extra": {"include_contains": ["showthread.php?tid="]}},
|
||||
|
||||
{"name": "dk_nulledbb", "category": "forum", "kind": "site",
|
||||
"url": "https://nulledbb.com/", "adapter": "html_listing",
|
||||
"tags": ("dark", "leaks", "abuse"), "limit": 25,
|
||||
"extra": {"include_contains": ["showthread.php?tid="]}},
|
||||
|
||||
{"name": "dk_tuts4you", "category": "forum", "kind": "site",
|
||||
"url": "https://forum.tuts4you.com/", "adapter": "html_listing",
|
||||
"tags": ("dark", "reverse", "abuse"), "limit": 25,
|
||||
"extra": {"include_contains": ["/topic/"]}},
|
||||
|
||||
{"name": "dk_leaksx", "category": "forum", "kind": "site",
|
||||
"url": "https://leak.sx/", "adapter": "html_listing",
|
||||
"tags": ("dark", "leaks", "abuse"), "limit": 20,
|
||||
"extra": {}},
|
||||
]
|
||||
|
||||
# Домены, которые открываются только с живой cookie (cf_clearance / сессия).
|
||||
# Их можно поднять: python tools/cf_cookies.py <host> -> data/cookies.json
|
||||
NEED_COOKIE = [
|
||||
"exploit.in", "xss.is", "www.blackhatworld.com", "hackforums.net",
|
||||
"patched.to", "darkforums.st",
|
||||
]
|
||||
Reference in New Issue
Block a user