Email
Instagram
Username
Phone
Domain
IP Address
Dark Web
Breach
Plat Nomor
NIK
Full Check
Accounts
MX Records
Breaches
Reputation
async function runBreach(){
const t=document.getElementById("breach-input").value.trim();
if(!t)return;
showLoading("Breach Check",t);
try{const r=await fetch("/api/breach",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:t})});
const d=await r.json();
showResult("Breach Check",t,d);}catch(e){showError(e);}
}
async function runVehicle(){
const t=document.getElementById("vehicle-input").value.trim();
if(!t)return;
const mode=document.querySelector("#vehicle-mode .opt.active")?.dataset.val||"plate";
showLoading("Vehicle Analysis",t);
try{const r=await fetch("/api/vehicle",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:t,mode})});
const d=await r.json();
showResult("Vehicle Analysis",t,d);}catch(e){showError(e);}
}
async function runNIK(){
const t=document.getElementById("nik-input").value.trim();
if(!t)return;
showLoading("NIK Validation",t);
try{const r=await fetch("/api/nik",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({target:t})});
const d=await r.json();
showResult("NIK Validation",t,d);}catch(e){showError(e);}
}