Files
omni-parse/omni/sources_abuse.py
Vlad Gothbreach b09cb5f873
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
абузы: extract промокодов/сумм/ссылок в API и панели, +16 проверенных источников (TG/reddit/discourse/RSS/github/HN), чистка HTML в деталях, клэмп days
2026-10-27 01:50:05 +03:00

93 lines
11 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.

"""Абузы (живые): форумы, каналы и площадки с промо/сливами/софтом.
Только структурные движки (RSS/Discourse/XenForo/Telegram) и HTML-форумы,
у которых реально нашлись темы (>=5 ссылок на треды), а не навигация.
"""
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": dict(extra or {})}
ABUSE_LIVE = [
A("ab_lolz_live", "abuse", "html", "https://lolz.live/tags/rassylka/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
A("ab_crackingx_com", "abuse", "html", "https://crackingx.com/forums/5/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
A("ab_xreactor_org", "abuse", "html", "https://xreactor.org/forums/combolists.152/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
A("ab_crdpro_cc", "abuse", "html", "https://crdpro.cc/tags/tools/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
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/", "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),
A("ab_linux_do", "abuse", "json", "https://linux.do/latest.json", "discourse", ('abuse', 'abuse'), limit=20),
A("ab_xss_is", "abuse", "html", "https://xss.is/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
A("ab_exploit_in", "abuse", "html", "https://exploit.in/challenge/?return=/", "xenforo_latest", ('abuse', 'abuse'), limit=20),
A("ab_fb_killa_pro", "abuse", "html", "https://fb-killa.pro/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_afflift_com", "abuse", "html", "https://afflift.com/f/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_altenens_is", "abuse", "html", "https://altenens.is/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_carders_biz", "abuse", "html", "https://carders.biz/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_ascarding_net", "abuse", "html", "https://ascarding.net/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_zhyk_org", "abuse", "html", "https://zhyk.org/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_zenno_club", "abuse", "html", "https://zenno.club/discussion/tags/arbitrazh-trafika/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_carder_su", "abuse", "html", "https://carder.su/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_cpamafia_pro", "abuse", "html", "https://cpamafia.pro/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_forexfactory_com", "abuse", "html", "https://www.forexfactory.com/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_casinomeister_com", "abuse", "html", "https://www.casinomeister.com/forums/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_hardforum_com", "abuse", "html", "https://hardforum.com/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_niflheim_world", "abuse", "html", "https://niflheim.world/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_telegrammassdm_com", "abuse", "html", "https://telegrammassdm.com/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_echo_tg", "abuse", "html", "https://echo.tg/", "html_listing", ('abuse', 'abuse'), limit=20),
A("ab_seochao_ru", "abuse", "html", "https://seochao.ru/forums/arbitrazh-trafika.85/", "html_listing", ('abuse', 'abuse'), limit=20),
# --- новые способы: discourse-площадки, reddit-json, rss-агрегаторы, sitemap ---
A("ab_reddit_freebies", "abuse", "json", "https://www.reddit.com/r/freebies/.json?limit=25", "reddit_listing", ('abuse', 'abuse', 'reddit'), limit=20),
A("ab_reddit_openaiapi", "abuse", "json", "https://www.reddit.com/r/OpenAIAPI/.json?limit=25", "reddit_listing", ('abuse', 'abuse', 'reddit'), limit=12),
A("ab_reddit_freeai", "abuse", "json", "https://www.reddit.com/r/FreeAI/.json?limit=25", "reddit_listing", ('abuse', 'abuse', 'reddit'), limit=12),
A("ab_rss_slickdeals_free", "abuse", "rss", "https://slickdeals.net/newsearch.php?rss=1&searcharea=deals&searchin=first&q=free", "rss", ('abuse', 'abuse', 'promo'), limit=20),
A("ab_sitemap_cpamafia", "abuse", "site", "https://cpamafia.pro/sitemap.xml", "sitemap_recent", ('abuse', 'abuse', 'sitemap'), limit=20, extra={"days": 30}),
A("ab_sitemap_carders", "abuse", "site", "https://carders.biz/sitemap.xml", "sitemap_recent", ('abuse', 'abuse', 'sitemap'), limit=20, extra={"days": 30}),
# ---- GitHub search: свежие репозитории-раздачи (свой url на запрос = без дедупа) ----
A("ab_gh_free_api_keys", "abuse", "site", "https://github.com/search?q=free+api+keys&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "free api keys", "sort": "updated"}),
A("ab_gh_api_key_pool", "abuse", "site", "https://github.com/search?q=api+key+pool&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "api key pool", "sort": "updated"}),
A("ab_gh_free_gpt_api", "abuse", "site", "https://github.com/search?q=free+gpt+api&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "free gpt api", "sort": "updated"}),
A("ab_gh_claude_api_free", "abuse", "site", "https://github.com/search?q=claude+api+free&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "claude api free", "sort": "updated"}),
A("ab_gh_one_api_new_api", "abuse", "site", "https://github.com/search?q=one-api+new-api&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "one-api new-api", "sort": "updated"}),
A("ab_gh_jailbreak_prompts", "abuse", "site", "https://github.com/search?q=jailbreak+prompts&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "jailbreak prompts", "sort": "updated"}),
A("ab_gh_account_generator", "abuse", "site", "https://github.com/search?q=account+generator&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "account generator", "sort": "updated"}),
A("ab_gh_proxy_pool_free", "abuse", "site", "https://github.com/search?q=proxy+pool+free&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "proxy pool free", "sort": "updated"}),
A("ab_gh_openai_reverse_proxy", "abuse", "site", "https://github.com/search?q=openai+reverse+proxy&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "openai reverse proxy", "sort": "updated"}),
A("ab_gh_ai_gateway_free", "abuse", "site", "https://github.com/search?q=ai+gateway+free&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "ai gateway free", "sort": "updated"}),
# ---- Hacker News (Algolia): свежие истории про бесплатные API и сливы ----
A("ab_hn_free_api_keys", "abuse", "site", "https://hn.algolia.com/?query=free+api+keys", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "free api keys"}),
A("ab_hn_openai_api_free", "abuse", "site", "https://hn.algolia.com/?query=openai+api+free", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "openai api free"}),
A("ab_hn_llm_jailbreak", "abuse", "site", "https://hn.algolia.com/?query=llm+jailbreak", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "llm jailbreak"}),
A("ab_hn_account_generator", "abuse", "site", "https://hn.algolia.com/?query=account+generator", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "account generator"}),
A("ab_hn_api_key_leak", "abuse", "site", "https://hn.algolia.com/?query=api+key+leak", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "api key leak"}),
A("ab_hn_chatgpt_free", "abuse", "site", "https://hn.algolia.com/?query=chatgpt+free", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "chatgpt free"}),
# ---- партия 27.10: проверенные вручную (каждый отдаёт >0 items) ----
A("ab_tg_gpt_frees", "abuse", "site", "https://t.me/s/gpt_frees", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_promokody", "abuse", "site", "https://t.me/s/promokody", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_promokodq", "abuse", "site", "https://t.me/s/promokodq", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_cracksoftwux", "abuse", "site", "https://t.me/s/crackSoftiowux", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_taynikstore", "abuse", "site", "https://t.me/s/taynikstoree", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_nodelocrus", "abuse", "site", "https://t.me/s/NODELOCRUS", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_aivision", "abuse", "site", "https://t.me/s/a_vision_ai", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_tg_sms_free", "abuse", "site", "https://t.me/s/freenumbers", "tg_web", ('abuse', 'abuse', 'tg'), limit=20),
A("ab_reddit_freebies2", "abuse", "site", "https://www.reddit.com/r/freebies/.json?limit=25", "reddit_listing", ('abuse', 'abuse', 'reddit'), limit=20),
A("ab_reddit_beermoney", "abuse", "site", "https://www.reddit.com/r/beermoney/.json?limit=25", "reddit_listing", ('abuse', 'abuse', 'reddit'), limit=20),
A("ab_dis_n8n", "abuse", "site", "https://community.n8n.io/latest.json", "discourse", ('abuse', 'abuse'), limit=20),
A("ab_dis_vercel", "abuse", "site", "https://community.vercel.com/latest.json", "discourse", ('abuse', 'abuse'), limit=20),
A("ab_rss_slickdeals2", "abuse", "site", "https://slickdeals.net/newsearch.php?mode=frontpage&searcharea=deals&searchin=first&rss=1", "rss", ('abuse', 'abuse'), limit=20),
A("ab_gh_freeapi_keys2", "abuse", "site", "https://github.com/search?q=free+api+keys+pool&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "free api keys pool", "sort": "updated"}),
A("ab_gh_leak_pool2", "abuse", "site", "https://github.com/search?q=leaked+api+keys+checker&type=repositories", "github_search", ('abuse', 'abuse', 'github'), limit=15, extra={"q": "leaked api keys checker", "sort": "updated"}),
A("ab_hn_free_tokens2", "abuse", "site", "https://hn.algolia.com/?query=free+tokens+api", "hn_search", ('abuse', 'abuse', 'hn'), limit=15, extra={"q": "free tokens api"}),
]