Add LLM key-hunter toolkit, vault, and skill
- tools/scripts/llm-key-hunter: GitHub leak hunting pipeline (hunt_*, pivot miner, two-layer verify/content caches, per-provider verification) - usable_keys: verified key vault across 12 providers (deepseek, minimax, volcanoark, longcat, codingplan, zhipu free-tier, mimo, siliconflow, etc.) - .grok/skills/llm-key-hunter: operator skill for the hunt/verify/vault flow - NewAPI channel import scripts and CDP capture helpers - Result verdict buckets (excluding multi-GB blob caches and dedup dumps)
This commit is contained in:
1 parent
a3f698806b
commit
5d215e1649
684 files changed
+133838
No files matched your search
@@ -0,0 +1,73 @@
|
||||
#!/usr/bin/env python3
|
||||
"""Add confirmed usable API keys as channels to NewAPI."""
|
||||
|
||||
from newapi_client import (
|
||||
add_channel, list_channels, test_channel,
|
||||
TYPE_ZHIPU_V4, TYPE_VOLC_ENGINE, TYPE_ANTHROPIC, TYPE_MINIMAX,
|
||||
)
|
||||
from channels_config import (
|
||||
build_zhipuai, build_volcano_ark, build_volcano_ark_coding,
|
||||
build_minimax, build_baidu_qianfan,
|
||||
)
|
||||
|
||||
|
||||
def add_zhipuai():
|
||||
"""ZhipuAI — 63 keys, multi-key mode."""
|
||||
ch, n_keys = build_zhipuai(channel_type=TYPE_ZHIPU_V4)
|
||||
success, msg = add_channel(ch, mode="multi_to_single")
|
||||
print(f"[ZhipuAI] success={success} msg={msg} keys={n_keys}")
|
||||
return success
|
||||
|
||||
|
||||
def add_volcano_ark():
|
||||
"""VolcanoArk — 4 keys, one channel each."""
|
||||
channels = build_volcano_ark(channel_type=TYPE_VOLC_ENGINE)
|
||||
results = []
|
||||
for ch in channels:
|
||||
success, msg = add_channel(ch)
|
||||
print(f"[{ch['name']}] success={success} msg={msg}")
|
||||
results.append(success)
|
||||
return all(results)
|
||||
|
||||
|
||||
def add_volcano_ark_coding():
|
||||
"""VolcanoArk CodingPlan — Anthropic-compatible."""
|
||||
ch = build_volcano_ark_coding()
|
||||
success, msg = add_channel(ch)
|
||||
print(f"[VolcanoArk-CodingPlan] success={success} msg={msg}")
|
||||
return success
|
||||
|
||||
|
||||
def add_minimax():
|
||||
ch = build_minimax(channel_type=TYPE_MINIMAX)
|
||||
success, msg = add_channel(ch)
|
||||
print(f"[MiniMax] success={success} msg={msg}")
|
||||
return success
|
||||
|
||||
|
||||
def add_baidu_qianfan():
|
||||
ch = build_baidu_qianfan()
|
||||
success, msg = add_channel(ch)
|
||||
print(f"[BaiduQianfan] success={success} msg={msg}")
|
||||
return success
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
print("=== Adding channels to NewAPI ===\n")
|
||||
|
||||
steps = [
|
||||
("1. ZhipuAI (63 keys, multi-key)", add_zhipuai),
|
||||
("2. VolcanoArk (4 keys, separate)", add_volcano_ark),
|
||||
("3. VolcanoArk CodingPlan (Anthropic)", add_volcano_ark_coding),
|
||||
("4. MiniMax", add_minimax),
|
||||
("5. Baidu Qianfan Coding Plan", add_baidu_qianfan),
|
||||
]
|
||||
for label, fn in steps:
|
||||
print(f"--- {label} ---")
|
||||
fn()
|
||||
print()
|
||||
|
||||
print("=== Done! Listing all channels: ===\n")
|
||||
for ch in list_channels():
|
||||
print(f" ID={ch['id']:3d} type={ch['type']:2d} status={ch['status']} "
|
||||
f"name={ch['name']:30s} models={ch['models'][:60]}")
|
||||
Reference in new issue
Block a user