#!/usr/bin/env python3
"""Cari kredensial Cloudflare yang tersimpan (token / Global API Key) tanpa mencetak nilainya."""
import glob, os, re

ROOTS = ["/home/mantapman/.hermes/profiles/atun", "/home/mantapman/.hermes", "/home/mantapman/.openclaw"]
POLA = re.compile(r"(CLOUDFLARE|CF_API|CF_TOKEN|CF_KEY|X-Auth-Key|X-Auth-Email|api\.cloudflare\.com|cfk_[A-Za-z0-9_\-]{10,})", re.I)
temuan = {}
for root in ROOTS:
    for f in glob.glob(os.path.join(root, "**", "*"), recursive=True):
        if not os.path.isfile(f) or f.endswith((".pyc", ".log", ".db", ".png", ".jpg", ".webp", ".mp4")):
            continue
        if "/cache/" in f or "/venv/" in f or "node_modules" in f:
            continue
        try:
            isi = open(f, errors="replace").read()
        except Exception:
            continue
        cocok = set(m.group(1) for m in POLA.finditer(isi))
        if cocok:
            jenis = []
            if re.search(r"CLOUDFLARE_API_TOKEN|CF_TOKEN|Bearer", isi):
                jenis.append("token")
            if re.search(r"X-Auth-Key|CLOUDFLARE_API_KEY|GLOBAL_API_KEY|cfk_", isi):
                jenis.append("global key")
            if "X-Auth-Email" in isi or "perakjaya10@gmail.com" in isi:
                jenis.append("email akun")
            temuan[f] = (sorted(cocok)[:4], jenis)

for f, (cocok, jenis) in sorted(temuan.items())[:14]:
    print(f"   {f.replace('/home/mantapman', '~')[:96]}")
    print(f"      penanda: {cocok} | jenis: {jenis}")
print(f"   total berkas: {len(temuan)}")
