Files
wevia-brain/s89-arsenal-screens/temp-email-factory.html
2026-04-12 23:01:36 +02:00

149 lines
13 KiB
HTML
Executable File
Raw Permalink 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.
<!DOCTYPE html><html lang="fr"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>WEVADS • Temp Email Factory</title>
<link href="https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap" rel="stylesheet">
<style>
:root{--bg:#060a14;--s:#0c1220;--s2:#111827;--b:#1e293b;--t:#e2e8f0;--d:#64748b;--cy:#22d3ee;--gn:#34d399;--am:#fbbf24;--rd:#f87171;--pu:#a78bfa;--bl:#60a5fa;--pk:#f472b6}
*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--t);font-family:'DM Sans',sans-serif;font-size:11px}
.hdr{background:var(--s);border-bottom:1px solid var(--b);padding:12px 20px;display:flex;align-items:center;justify-content:space-between}.hdr h1{font-size:16px;font-weight:700}.hdr h1 span{color:var(--pk)}
.wrap{padding:16px;max-width:1400px;margin:0 auto}
.stats{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:16px}
.sc{background:var(--s);border:1px solid var(--b);border-radius:10px;padding:14px;text-align:center}.sc .n{font-family:'JetBrains Mono',monospace;font-size:22px;font-weight:700}.sc .l{font-size:9px;text-transform:uppercase;color:var(--d);margin-top:4px}
.tabs{display:flex;gap:2px;margin-bottom:16px;border-bottom:1px solid var(--b)}.tab{padding:8px 16px;cursor:pointer;font-size:10px;font-weight:600;text-transform:uppercase;color:var(--d);border-bottom:2px solid transparent}.tab:hover{color:var(--t)}.tab.active{color:var(--pk);border-color:var(--pk)}
.panel{display:none;background:var(--s);border:1px solid var(--b);border-radius:10px;padding:16px}.panel.active{display:block}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px}
.form-row{margin-bottom:10px}.form-row label{display:block;font-size:9px;text-transform:uppercase;color:var(--d);margin-bottom:4px}
.form-row input,.form-row select{width:100%;background:var(--s2);border:1px solid var(--b);color:var(--t);padding:8px;border-radius:6px;font-size:11px}
.btn{padding:8px 16px;border-radius:6px;border:1px solid var(--b);background:var(--s2);color:var(--t);cursor:pointer;font-size:10px;font-weight:600}.btn:hover{border-color:var(--pk)}
.btn-pk{background:rgba(244,114,182,.15);border-color:var(--pk);color:var(--pk)}
.badge{font-size:8px;padding:2px 6px;border-radius:3px;font-weight:600}
.badge-gn{background:rgba(52,211,153,.15);color:var(--gn)}.badge-am{background:rgba(251,191,36,.15);color:var(--am)}.badge-rd{background:rgba(248,113,113,.15);color:var(--rd)}
table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;color:var(--d);text-transform:uppercase;font-size:9px;padding:6px 8px;border-bottom:1px solid var(--b)}td{padding:6px 8px;border-bottom:1px solid rgba(30,41,59,.3)}
.domain-card{background:var(--s2);border:1px solid var(--b);border-radius:8px;padding:12px;transition:.2s}.domain-card:hover{border-color:var(--pk)}
.domain-name{font-weight:700;font-size:12px;font-family:'JetBrains Mono',monospace}.domain-stats{font-size:9px;color:var(--d);margin-top:4px}
.progress{height:4px;background:var(--s2);border-radius:2px;margin-top:6px}.progress-fill{height:100%;border-radius:2px}
@media(max-width:900px){.stats{grid-template-columns:repeat(3,1fr)}.grid2,.grid3{grid-template-columns:1fr}}
</style><style>.light{--bg:#f0f2f5;--s:#ffffff;--s2:#f8fafc;--b:#e2e8f0;--t:#1e293b;--d:#64748b}.light input,.light select,.light textarea{background:#f8fafc;border-color:#e2e8f0;color:#1e293b}</style>
</head><body>
<div class="hdr"><div><h1>📧 WEVADS • <span id="clock"></span></div></div>
<div class="wrap">
<div class="stats">
<div class="sc"><div class="n" style="color:var(--pk)">1,847</div><div class="l">Comptes actifs</div></div>
<div class="sc"><div class="n" style="color:var(--gn)">42</div><div class="l">Domaines</div></div>
<div class="sc"><div class="n" style="color:var(--cy)">324</div><div class="l">Créés 24h</div></div>
<div class="sc"><div class="n" style="color:var(--am)">89</div><div class="l">En rotation</div></div>
<div class="sc"><div class="n" style="color:var(--bl)">12</div><div class="l">ISPs couverts</div></div>
<div class="sc"><div class="n" style="color:var(--rd)">156</div><div class="l">Expirés 24h</div></div>
</div>
<div class="tabs">
<div class="tab active" onclick="showTab('accounts')">Comptes</div>
<div class="tab" onclick="showTab('create')">Créer</div>
<div class="tab" onclick="showTab('domains')">Domaines</div>
<div class="tab" onclick="showTab('rotation')">Rotation</div>
</div>
<div class="panel active" id="tab-accounts">
<div style="display:flex;gap:8px;margin-bottom:12px">
<select style="background:var(--s2);border:1px solid var(--b);color:var(--t);padding:6px;border-radius:6px;font-size:10px"><option>Tous ISPs</option><option>Gmail</option><option>Hotmail</option><option>Yahoo</option><option>Zoho</option><option>Mail.ru</option><option>GMX</option><option>Web.de</option></select>
<select style="background:var(--s2);border:1px solid var(--b);color:var(--t);padding:6px;border-radius:6px;font-size:10px"><option>Tous statuts</option><option>Actif</option><option>Rotation</option><option>Expiré</option><option>Suspendu</option></select>
</div>
<table><thead><tr><th>Email</th><th>ISP</th><th>Créé</th><th>Emails reçus</th><th>Âge</th><th>Status</th><th>Usage</th></tr></thead><tbody>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">lisa.schulz2735@zohomail.com</td><td>Zoho</td><td>07/02</td><td>24</td><td>1j</td><td><span class="badge badge-gn">ACTIF</span></td><td>Seed testing</td></tr>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">michael.wagner9130@mail.ru</td><td>Mail.ru</td><td>06/02</td><td>18</td><td>2j</td><td><span class="badge badge-gn">ACTIF</span></td><td>Seed testing</td></tr>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">peter.schulz8018@web.de</td><td>Web.de</td><td>06/02</td><td>31</td><td>2j</td><td><span class="badge badge-am">ROTATION</span></td><td>Newsletter test</td></tr>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">anna.becker9739@gmx.net</td><td>GMX</td><td>05/02</td><td>45</td><td>3j</td><td><span class="badge badge-gn">ACTIF</span></td><td>Seed testing</td></tr>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">sarah.meyer4356@gmx.at</td><td>GMX.at</td><td>04/02</td><td>52</td><td>4j</td><td><span class="badge badge-am">ROTATION</span></td><td>Brain learning</td></tr>
<tr><td style="font-family:'JetBrains Mono',monospace;font-size:10px">old.user1234@temp-domain.net</td><td>Custom</td><td>01/02</td><td>120</td><td>7j</td><td><span class="badge badge-rd">EXPIRÉ</span></td><td></td></tr>
</tbody></table>
</div>
<div class="panel" id="tab-create">
<div class="grid2">
<div>
<h3 style="font-size:12px;margin-bottom:10px;color:var(--pk)"> Créer des comptes</h3>
<div class="form-row"><label>ISP cible</label><select><option>Mix automatique</option><option>Gmail (via Google)</option><option>Hotmail (via Microsoft)</option><option>Yahoo</option><option>Zoho Mail</option><option>Mail.ru</option><option>GMX / Web.de</option><option>ProtonMail</option></select></div>
<div class="form-row"><label>Nombre de comptes</label><input type="number" value="10" min="1" max="100"></div>
<div class="form-row"><label>Pays des personas</label><select><option>Mix EU</option><option>France</option><option>Allemagne</option><option>Italie</option><option>Espagne</option><option>UK</option></select></div>
<div class="form-row"><label>Durée de vie</label><select><option>7 jours</option><option>14 jours</option><option>30 jours</option><option>Permanent (rotation)</option></select></div>
<div class="form-row"><label>Usage prévu</label><select><option>Seed testing (Brain)</option><option>Newsletter extraction</option><option>Account registration</option><option>Warmup support</option></select></div>
<div class="form-row"><label>Captcha solver</label><select><option>Auto (2Captcha → Anti-Captcha)</option><option>2Captcha</option><option>Anti-Captcha</option><option>CapSolver</option></select></div>
<button class="btn btn-pk" style="width:100%;padding:10px">🏭 Lancer la création</button>
<div style="margin-top:10px;padding:10px;background:var(--bg);border-radius:6px;font-size:9px;color:var(--d)">
<div><strong>Pipeline de création :</strong></div>
<div>1. Sélection persona (Lookalike Engine) → 2. Captcha solving → 3. Registration → 4. Email verification → 5. Login test → 6. IMAP config → 7. Ajout au pool</div>
<div style="margin-top:4px">⏱ Temps estimé: ~2min/compte • Coût captcha: ~€0.003/compte</div>
</div>
</div>
<div>
<h3 style="font-size:12px;margin-bottom:10px;color:var(--cy)">📊 Couverture ISP</h3>
<div id="isp-coverage"></div>
</div>
</div>
</div>
<div class="panel" id="tab-domains">
<h3 style="font-size:12px;margin-bottom:10px">🌐 Domaines email</h3>
<div class="grid3" id="domains-grid"></div>
</div>
<div class="panel" id="tab-rotation">
<h3 style="font-size:12px;margin-bottom:10px">🔄 Politique de rotation</h3>
<div class="grid2">
<div>
<div class="form-row"><label>Rotation automatique</label><select><option>Activée — Tous les 7 jours</option><option>Activée — Tous les 14 jours</option><option>Activée — Tous les 30 jours</option><option>Désactivée</option></select></div>
<div class="form-row"><label>Max emails reçus avant rotation</label><input type="number" value="100"></div>
<div class="form-row"><label>Action à expiration</label><select><option>Supprimer + Créer nouveau</option><option>Archiver + Créer nouveau</option><option>Notifier uniquement</option></select></div>
<div class="form-row"><label>Pool minimum maintenu</label><input type="number" value="50"> <span style="color:var(--d);font-size:9px">comptes par ISP</span></div>
<button class="btn btn-pk" style="width:100%;margin-top:8px">💾 Sauvegarder</button>
</div>
<div>
<h3 style="font-size:11px;margin-bottom:10px;color:var(--am)">⚠ Prochaines rotations</h3>
<table><thead><tr><th>Compte</th><th>Âge</th><th>Rotation dans</th></tr></thead><tbody>
<tr><td>peter.schulz8018@web.de</td><td>6j</td><td style="color:var(--rd)">1j</td></tr>
<tr><td>sarah.meyer4356@gmx.at</td><td>5j</td><td style="color:var(--am)">2j</td></tr>
<tr><td>anna.becker9739@gmx.net</td><td>4j</td><td>3j</td></tr>
</tbody></table>
</div>
</div>
</div>
</div>
<script>
function showTab(id){document.querySelectorAll('.tab').forEach(t=>t.classList.remove('active'));document.querySelectorAll('.panel').forEach(p=>p.classList.remove('active'));document.getElementById('tab-'+id).classList.add('active');event.target.classList.add('active')}
var isps=[{n:'Zoho',c:420,cl:'var(--gn)'},{n:'Mail.ru',c:380,cl:'var(--bl)'},{n:'GMX',c:310,cl:'var(--cy)'},{n:'Web.de',c:280,cl:'var(--pu)'},{n:'Yahoo',c:180,cl:'var(--am)'},{n:'Gmail',c:120,cl:'var(--rd)'},{n:'Hotmail',c:95,cl:'var(--pk)'},{n:'ProtonMail',c:62,cl:'var(--gn)'}];
var ic=document.getElementById('isp-coverage');
isps.forEach(function(i){var pct=Math.round(i.c/420*100);ic.innerHTML+='<div style="margin-bottom:8px"><div style="display:flex;justify-content:space-between;font-size:10px"><span>'+i.n+'</span><span style="font-family:JetBrains Mono,monospace;color:'+i.cl+'">'+i.c+'</span></div><div class="progress"><div class="progress-fill" style="width:'+pct+'%;background:'+i.cl+'"></div></div></div>'});
var doms=[{n:'zohomail.com',c:420,s:'OK'},{n:'mail.ru',c:380,s:'OK'},{n:'gmx.net',c:185,s:'OK'},{n:'gmx.at',c:125,s:'OK'},{n:'web.de',c:280,s:'OK'},{n:'yahoo.com',c:180,s:'LIMIT'},{n:'gmail.com',c:120,s:'HARD'},{n:'hotmail.com',c:95,s:'LIMIT'},{n:'protonmail.com',c:62,s:'OK'}];
var dg=document.getElementById('domains-grid');
doms.forEach(function(d){var bc=d.s==='OK'?'badge-gn':d.s==='LIMIT'?'badge-am':'badge-rd';dg.innerHTML+='<div class="domain-card"><div style="display:flex;justify-content:space-between"><span class="domain-name">'+d.n+'</span><span class="badge '+bc+'">'+d.s+'</span></div><div class="domain-stats">'+d.c+' comptes actifs</div></div>'});
setInterval(function(){document.getElementById('clock').textContent=new Date().toLocaleTimeString('fr-FR')},1000);
// === ARSENAL API INJECTION ===
async function arsenalLoad() {
try {
const r = await fetch('/api/temp-email.php?action=list');
const d = await r.json();
console.log('Arsenal API loaded:', d);
if (d.data) arsenalRender(d.data);
else if (d.results) arsenalRender(d.results);
else arsenalRender(d);
} catch(e) { console.error('Arsenal API error:', e); }
}
function arsenalRender(data) {
// Update any stat counters on the page
document.querySelectorAll('[data-stat]').forEach(el => {
const key = el.dataset.stat;
if (data[key] !== undefined) el.textContent = data[key];
});
// Update tables if present
const tbody = document.querySelector('tbody');
if (tbody && Array.isArray(data)) {
tbody.innerHTML = data.slice(0,50).map(row => {
const vals = Object.values(row);
return '<tr>' + vals.map(v => '<td>' + (v ?? '-') + '</td>').join('') + '</tr>';
}).join('');
}
}
arsenalLoad();
setInterval(arsenalLoad, 30000);
async function createTempEmail(){const r=await fetch('/api/temp-email.php',{method:'POST',headers:{'Content-Type':'application/json'},body:JSON.stringify({action:'create'})});return r.json();}
async function checkInbox(email){const r=await fetch('/api/temp-email.php?action=inbox&email='+encodeURIComponent(email));return r.json();}
</script>
</body></html>