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

220 lines
21 KiB
HTML
Executable File

<!DOCTYPE html><html lang="fr" data-theme="dark"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>WEVADS - Brain Combo Discovery</title>
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=DM+Sans:wght@400;500;600;700&display=swap" rel="stylesheet">
<style>
*{margin:0;padding:0;box-sizing:border-box}
:root{--bg:#060a14;--s:#0c1220;--s2:#111827;--b:#1e293b;--t:#e2e8f0;--d:#64748b;--m:#475569;--cy:#22d3ee;--gn:#34d399;--am:#fbbf24;--rd:#f87171;--pu:#a78bfa;--bl:#60a5fa}
body{background:var(--bg);color:var(--t);font-family:'DM Sans',sans-serif;padding:20px}
.mono{font-family:'JetBrains Mono',monospace}
.hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;flex-wrap:wrap;gap:12px}
h1{font-size:24px;font-weight:700}
.back{color:var(--d);text-decoration:none;font-size:12px;padding:6px 14px;border:1px solid var(--b);border-radius:8px}
.back:hover{border-color:var(--cy);color:var(--cy)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:20px}
.sc{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:16px}
.sv{font-size:28px;font-weight:700;font-family:'JetBrains Mono',monospace}
.sl{font-size:11px;color:var(--d);text-transform:uppercase;letter-spacing:.5px;margin-top:4px}
.panel{background:var(--s);border:1px solid var(--b);border-radius:12px;padding:16px;margin-bottom:16px}
.panel h2{font-size:16px;font-weight:700;margin-bottom:12px}
table{width:100%;border-collapse:collapse;font-size:12px}
th{text-align:left;color:var(--d);font-size:10px;text-transform:uppercase;letter-spacing:.5px;padding:8px 10px;border-bottom:1px solid var(--b)}
td{padding:8px 10px;border-bottom:1px solid rgba(30,41,59,.5)}
tr:hover{background:rgba(34,211,238,.03)}
.badge{padding:2px 8px;border-radius:6px;font-size:9px;font-weight:700;text-transform:uppercase}
.badge-win{background:rgba(52,211,153,.15);color:var(--gn)}.badge-test{background:rgba(251,191,36,.15);color:var(--am)}.badge-fail{background:rgba(248,113,113,.15);color:var(--rd)}
.btn{padding:6px 14px;border-radius:8px;font-size:11px;font-weight:600;border:1px solid var(--b);background:var(--s2);color:var(--t);cursor:pointer;transition:all .2s;text-decoration:none}
.btn:hover{border-color:var(--cy);color:var(--cy)}
.btn-primary{background:rgba(34,211,238,.15);border-color:var(--cy);color:var(--cy)}
.inbox-bar{display:flex;align-items:center;gap:8px}
.inbox-bar-bg{flex:1;height:8px;background:var(--b);border-radius:4px;overflow:hidden;max-width:120px}
.inbox-bar-fill{height:100%;border-radius:4px}
.combo-detail{background:var(--s2);border:1px solid var(--b);border-radius:10px;padding:14px;margin-bottom:10px}
.combo-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;cursor:pointer}
.combo-header:hover .combo-name{color:var(--cy)}
.combo-name{font-size:14px;font-weight:600}
.combo-body{display:none;margin-top:10px;padding-top:10px;border-top:1px solid var(--b)}
.combo-body.open{display:block}
.config-row{display:flex;gap:24px;font-size:12px;flex-wrap:wrap;margin-bottom:6px}
.config-row .label{color:var(--d);min-width:100px}
.config-row .value{color:var(--t);font-family:'JetBrains Mono',monospace}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:900px){.grid2{grid-template-columns:1fr}}
.filter-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.filter-bar select,.filter-bar input{background:var(--s2);border:1px solid var(--b);border-radius:8px;padding:6px 12px;color:var(--t);font-size:12px}
</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>
<style id="weval-theme-system">
/* Day/Night Theme Toggle */
[data-theme="light"] { --bg:#f0f2f5!important; --s:#ffffff!important; --s2:#f8fafc!important; --b:#e2e8f0!important; --t:#1e293b!important; --d:#64748b!important; }
[data-theme="light"] input, [data-theme="light"] select, [data-theme="light"] textarea {
background:#f8fafc!important; border-color:#e2e8f0!important; color:#1e293b!important;
}
[data-theme="light"] .hdr, [data-theme="light"] header, [data-theme="light"] nav {
background:#ffffff!important; border-color:#e2e8f0!important;
}
[data-theme="light"] table, [data-theme="light"] th, [data-theme="light"] td {
border-color:#e2e8f0!important;
}
[data-theme="light"] th { background:#f8fafc!important; }
[data-theme="light"] .sc, [data-theme="light"] .card, [data-theme="light"] [class*="card"] {
background:#ffffff!important; border-color:#e2e8f0!important;
}
.weval-theme-btn {
position:fixed; bottom:16px; right:16px; z-index:9999;
width:40px; height:40px; border-radius:50%;
border:1px solid var(--b, #1e293b);
background:var(--s, #0c1220);
color:var(--t, #e2e8f0);
cursor:pointer; font-size:18px;
display:flex; align-items:center; justify-content:center;
box-shadow:0 2px 8px rgba(0,0,0,0.3);
transition:all 0.2s;
}
.weval-theme-btn:hover { transform:scale(1.1); }
</style>
</head><body>
<div class="hdr">
<div><h1>Brain Combo Discovery</h1><div style="color:var(--d);font-size:12px;margin-top:2px">FLUX 2 &rarr; Intelligence &rarr; Brain Engine &rarr; Winning Configs par ISP</div></div>
<div style="display:flex;gap:8px"><a class="back" href="operations-overview.html">&larr; Overview</a><a class="back" href="#" data-killed="dashboard">Menu</a></div>
</div>
<div class="stats">
<div class="sc"><div class="sv" style="color:var(--gn)">847</div><div class="sl">Total Combos Tested</div></div>
<div class="sc"><div class="sv" style="color:var(--cy)">142</div><div class="sl">Winning Configs</div></div>
<div class="sc"><div class="sv" style="color:var(--pu)">92%</div><div class="sl">Avg Inbox Rate</div></div>
<div class="sc"><div class="sv" style="color:var(--am)">18</div><div class="sl">ISPs Covered</div></div>
<div class="sc"><div class="sv" style="color:var(--bl)">12</div><div class="sl">Methods Active</div></div>
</div>
<div class="filter-bar">
<select id="isp-filter" onchange="filterISP(this.value)">
<option value="all">All ISPs</option>
<option value="gmail">Gmail</option><option value="outlook">Outlook</option><option value="yahoo">Yahoo</option>
<option value="office365">Office 365</option><option value="t-online">T-Online</option><option value="gmx">GMX</option>
<option value="orange">Orange</option><option value="free">Free</option><option value="sfr">SFR</option>
</select>
<select><option>All Methods</option><option>SMTP/PMTA</option><option>Graph API</option><option>EWS</option><option>O365 SMTP</option><option>GSuite</option></select>
<select><option>Sort: Inbox Rate (desc)</option><option>Sort: Volume (desc)</option><option>Sort: Recent first</option></select>
<input type="text" placeholder="Search config name..." style="width:200px">
<button class="btn btn-primary" onclick="alert('Running new combo test...')">+ New Combo Test</button>
</div>
<!-- WINNING CONFIGS TABLE -->
<div class="panel">
<h2>Winning Configs - Top Performers</h2>
<table>
<tr><th>Rank</th><th>ISP</th><th>Method</th><th>Config Name</th><th>Inbox Rate</th><th>Volume Tested</th><th>Last Test</th><th>Status</th><th></th></tr>
<tr><td class="mono"><b>#1</b></td><td><b>GMX / Web.de</b></td><td>SMTP Exchange Headers</td><td class="mono">gmx-exhdr-noxml-v3</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:100%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">100%</span></div></td><td class="mono">2,400</td><td>2h ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px" onclick="toggleCombo('c1')">Details</button></td></tr>
<tr><td class="mono"><b>#2</b></td><td><b>Office 365</b></td><td>Graph API</td><td class="mono">o365-graph-oauth-v2</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:97%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">97%</span></div></td><td class="mono">8,500</td><td>30m ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px" onclick="toggleCombo('c2')">Details</button></td></tr>
<tr><td class="mono"><b>#3</b></td><td><b>T-Online</b></td><td>SMTP Exchange Headers</td><td class="mono">tonline-exhdr-ptr-v4</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:95%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">95%</span></div></td><td class="mono">1,800</td><td>1h ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px" onclick="toggleCombo('c3')">Details</button></td></tr>
<tr><td class="mono"><b>#4</b></td><td><b>Free FR</b></td><td>O365 SMTP Auth</td><td class="mono">free-o365smtp-rot-v2</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:94%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">94%</span></div></td><td class="mono">3,200</td><td>45m ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#5</b></td><td><b>Outlook</b></td><td>EWS + Persona</td><td class="mono">outlook-ews-persona-v5</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:92%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">92%</span></div></td><td class="mono">12,400</td><td>15m ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#6</b></td><td><b>Orange FR</b></td><td>SMTP PMTA v5</td><td class="mono">orange-pmta5-warm-v3</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:90%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">90%</span></div></td><td class="mono">4,100</td><td>2h ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#7</b></td><td><b>Gmail</b></td><td>GSuite + Pattern</td><td class="mono">gmail-gsuite-shuf-v6</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:88%;background:var(--gn)"></div></div><span class="mono" style="color:var(--gn)">88%</span></div></td><td class="mono">18,900</td><td>20m ago</td><td><span class="badge badge-win">WIN</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#8</b></td><td><b>Yahoo</b></td><td>SMTP Domain-Only</td><td class="mono">yahoo-domonly-ptr-v2</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:78%;background:var(--am)"></div></div><span class="mono" style="color:var(--am)">78%</span></div></td><td class="mono">6,300</td><td>3h ago</td><td><span class="badge badge-test">TEST</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#9</b></td><td><b>iCloud</b></td><td>SMTP PMTA Warm</td><td class="mono">icloud-pmta-slow-v1</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:74%;background:var(--am)"></div></div><span class="mono" style="color:var(--am)">74%</span></div></td><td class="mono">1,200</td><td>5h ago</td><td><span class="badge badge-test">TEST</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
<tr><td class="mono"><b>#10</b></td><td><b>ProtonMail</b></td><td>O365 SMTP Clean</td><td class="mono">proton-o365-clean-v1</td><td><div class="inbox-bar"><div class="inbox-bar-bg"><div class="inbox-bar-fill" style="width:70%;background:var(--am)"></div></div><span class="mono" style="color:var(--am)">70%</span></div></td><td class="mono">800</td><td>8h ago</td><td><span class="badge badge-test">TEST</span></td><td><button class="btn" style="font-size:10px;padding:3px 8px">Details</button></td></tr>
</table>
</div>
<!-- COMBO DETAIL DRILLDOWN -->
<div class="combo-detail" id="c1" style="display:none">
<div class="combo-header" onclick="this.parentElement.style.display='none'"><div class="combo-name">Config: gmx-exhdr-noxml-v3 (GMX/Web.de)</div><span class="badge badge-win">100% INBOX</span></div>
<div class="combo-body open">
<div class="config-row"><span class="label">Method:</span><span class="value">SMTP Direct via PowerMTA 5.0r3</span></div>
<div class="config-row"><span class="label">Headers:</span><span class="value">Exchange format - No X-Mailer - No X-MS headers</span></div>
<div class="config-row"><span class="label">HELO:</span><span class="value">mail.{domain} - Dynamic PTR match</span></div>
<div class="config-row"><span class="label">Envelope:</span><span class="value">From domain = HELO domain - SPF aligned</span></div>
<div class="config-row"><span class="label">DKIM:</span><span class="value">1024-bit RSA - Selector: s1 - Canonicalization: relaxed/relaxed</span></div>
<div class="config-row"><span class="label">Content:</span><span class="value">Plain HTML - No images first send - Pattern shuffler ON</span></div>
<div class="config-row"><span class="label">Throttle:</span><span class="value">50/hour per IP - 4 IPs rotation - 200/hour total</span></div>
<div class="config-row"><span class="label">Warmup:</span><span class="value">Day 1-7: 10/day - Day 8-14: 50/day - Day 15+: 200/day</span></div>
<div class="config-row"><span class="label">IP Pool:</span><span class="value">89.167.40.x /28 - Clean reputation - No blacklists</span></div>
<div class="config-row"><span class="label">Tests:</span><span class="value">2,400 sends - 2,400 inbox - 0 spam - 0 bounce</span></div>
<div style="margin-top:10px;display:flex;gap:8px">
<button class="btn btn-primary" onclick="alert('Deploying config to Brain Unified Send...')">Deploy to Production</button>
<button class="btn" onclick="alert('Cloning config...')">Clone + Modify</button>
<a class="btn" href="brain-drilldown.php?isp=gmx">Drilldown GMX</a>
</div>
</div>
</div>
<div class="combo-detail" id="c2" style="display:none">
<div class="combo-header" onclick="this.parentElement.style.display='none'"><div class="combo-name">Config: o365-graph-oauth-v2 (Office 365)</div><span class="badge badge-win">97% INBOX</span></div>
<div class="combo-body open">
<div class="config-row"><span class="label">Method:</span><span class="value">Microsoft Graph API - OAuth 2.0 App-Only</span></div>
<div class="config-row"><span class="label">Auth:</span><span class="value">Client Credentials Flow - Azure AD App Registration</span></div>
<div class="config-row"><span class="label">Sender:</span><span class="value">Persona rotation - 50 accounts/batch - Random order</span></div>
<div class="config-row"><span class="label">Content:</span><span class="value">HTML + Plain text multipart - Inline CSS only</span></div>
<div class="config-row"><span class="label">Throttle:</span><span class="value">10,000/day per tenant - 4 tenants rotation</span></div>
<div class="config-row"><span class="label">Headers:</span><span class="value">Native O365 headers - No modifications</span></div>
<div class="config-row"><span class="label">Tests:</span><span class="value">8,500 sends - 8,245 inbox - 170 spam - 85 bounce</span></div>
<div style="margin-top:10px;display:flex;gap:8px">
<button class="btn btn-primary">Deploy to Production</button>
<button class="btn">Clone + Modify</button>
<a class="btn" href="brain-drilldown.php?isp=office365">Drilldown O365</a>
</div>
</div>
</div>
<div class="combo-detail" id="c3" style="display:none">
<div class="combo-header" onclick="this.parentElement.style.display='none'"><div class="combo-name">Config: tonline-exhdr-ptr-v4 (T-Online)</div><span class="badge badge-win">95% INBOX</span></div>
<div class="combo-body open">
<div class="config-row"><span class="label">Method:</span><span class="value">SMTP Direct via PowerMTA 5.0r3</span></div>
<div class="config-row"><span class="label">Key Factor:</span><span class="value">PTR record MUST match HELO - T-Online strict check</span></div>
<div class="config-row"><span class="label">Headers:</span><span class="value">Exchange format - Received chain clean - No X-Mailer</span></div>
<div class="config-row"><span class="label">DKIM:</span><span class="value">2048-bit RSA - Must pass - SPF + DKIM + DMARC aligned</span></div>
<div class="config-row"><span class="label">Throttle:</span><span class="value">30/hour per IP - Slow ramp critical for T-Online</span></div>
<div class="config-row"><span class="label">Content:</span><span class="value">German language - Short subject - No tracking pixels first 7 days</span></div>
<div class="config-row"><span class="label">Tests:</span><span class="value">1,800 sends - 1,710 inbox - 72 spam - 18 bounce</span></div>
<div style="margin-top:10px;display:flex;gap:8px">
<button class="btn btn-primary">Deploy to Production</button>
<button class="btn">Clone + Modify</button>
<a class="btn" href="brain-drilldown.php?isp=t-online">Drilldown T-Online</a>
</div>
</div>
</div>
<!-- NEW COMBO TEST -->
<div class="panel">
<h2>Lancer un Nouveau Test Combo</h2>
<div class="grid2">
<div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">ISP Cible</label>
<select style="width:100%"><option>Gmail</option><option>Outlook</option><option>Yahoo</option><option>Office 365</option><option>T-Online</option><option>GMX</option><option>Orange</option><option>Free</option><option>SFR</option></select></div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">Methode</label>
<select style="width:100%"><option>SMTP Direct (PMTA)</option><option>Graph API</option><option>EWS</option><option>O365 SMTP Auth</option><option>GSuite SMTP</option><option>Amazon SES</option><option>SendGrid</option><option>Brain Auto-Select</option></select></div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">Volume Test</label>
<select style="width:100%"><option>50 (quick test)</option><option selected>200 (standard)</option><option>500 (reliable)</option><option>1000 (production test)</option></select></div>
</div>
<div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">Header Style</label>
<select style="width:100%"><option selected>Exchange (no X-Mailer)</option><option>Outlook Native</option><option>Thunderbird</option><option>Apple Mail</option><option>Custom</option></select></div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">Content Type</label>
<select style="width:100%"><option selected>HTML + Plain (multipart)</option><option>Plain text only</option><option>Rich HTML + images</option></select></div>
<div style="margin-bottom:10px"><label style="display:block;font-size:10px;color:var(--d);text-transform:uppercase;margin-bottom:4px">Seed List</label>
<select style="width:100%"><option selected>Default seeds (24)</option><option>Extended seeds (48)</option><option>Custom seed list</option></select></div>
</div>
</div>
<div style="display:flex;gap:8px;margin-top:8px">
<button class="btn btn-primary" onclick="alert('Combo test launched! Results in ~30 min')">Launch Combo Test</button>
<button class="btn" onclick="alert('Saved as template')">Save Template</button>
</div>
</div>
<script>
function toggleCombo(id){var el=document.getElementById(id);el.style.display=el.style.display==='none'?'block':'none';}
function filterISP(v){/* placeholder for real filtering */}
</script>
<script>function toggleTheme(){var b=document.body,t=document.getElementById("theme-toggle");if(b.classList.contains("light")){b.classList.remove("light");t.textContent="🌙";localStorage.setItem("wevads-theme","dark")}else{b.classList.add("light");t.textContent="☀️";localStorage.setItem("wevads-theme","light")}}if(localStorage.getItem("wevads-theme")==="light"){document.body.classList.add("light");var tb=document.getElementById("theme-toggle");if(tb)tb.textContent="☀️"}</script><script src="arsenal-common.js"></script>
<button class="weval-theme-btn" id="weval-theme-toggle" onclick="(function(){
var h=document.documentElement;
var c=h.getAttribute('data-theme')||'dark';
var n=c==='dark'?'light':'dark';
h.setAttribute('data-theme',n);
localStorage.setItem('weval-theme',n);
document.getElementById('weval-theme-toggle').textContent=n==='dark'?'☀️':'🌙';
})()">☀️</button>