736 lines
50 KiB
PHP
736 lines
50 KiB
PHP
<?php
|
||
require_once('/opt/wevads/config/credentials.php');
|
||
$pdo = get_pdo('adx_system');
|
||
function gc($p,$q){try{return $p->query($q)->fetchColumn();}catch(Exception $e){return 0;}}
|
||
$m = [
|
||
'offers'=>gc($pdo,"SELECT COUNT(*) FROM affiliate.offers WHERE status='Activated'"),
|
||
'leads'=>gc($pdo,"SELECT COUNT(*) FROM admin.leads"),
|
||
'seeds'=>gc($pdo,"SELECT COUNT(*) FROM admin.brain_seeds WHERE password IS NOT NULL"),
|
||
'winners'=>gc($pdo,"SELECT COUNT(*) FROM admin.brain_winners WHERE is_active=true"),
|
||
'configs'=>gc($pdo,"SELECT COUNT(*) FROM admin.brain_configs"),
|
||
'o365'=>gc($pdo,"SELECT COUNT(*) FROM admin.office_accounts WHERE status='Active'"),
|
||
'domains'=>gc($pdo,"SELECT COUNT(*) FROM admin.office_domains"),
|
||
'servers'=>gc($pdo,"SELECT COUNT(*) FROM admin.mta_servers WHERE status='Activated'"),
|
||
'campaigns'=>gc($pdo,"SELECT COUNT(*) FROM production.campaigns"),
|
||
'tests'=>gc($pdo,"SELECT COUNT(*) FROM admin.brain_test_results WHERE created_at>CURRENT_DATE")
|
||
];
|
||
?>
|
||
<!DOCTYPE html><html><head><meta charset="UTF-8"><title>Brain V21</title><meta http-equiv="refresh" content="60">
|
||
<style>
|
||
:root{--bg:#020204;--card:#060610;--border:#1a1a2e;--cyan:#00d4ff;--green:#00ff88;--orange:#ffaa00;--purple:#a855f7;--red:#ff4466}
|
||
*{margin:0;padding:0;box-sizing:border-box}
|
||
body{font-family:system-ui;background:var(--bg);color:#fff;font-size:11px}
|
||
.header{background:linear-gradient(180deg,#0a0a1a,#050510);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--cyan)}
|
||
.header h1{color:var(--cyan);font-size:18px}.ver{background:var(--purple);padding:4px 10px;border-radius:5px;font-size:9px;margin-left:10px}
|
||
.lvl{display:inline-block;padding:3px 6px;border-radius:3px;font-size:7px;font-weight:700;margin:0 2px}
|
||
.l1{background:#004466;color:var(--cyan)}.l2{background:#446600;color:var(--green)}.l3{background:#664400;color:var(--orange)}.l4{background:#440066;color:var(--purple)}
|
||
.badge{padding:5px 12px;border-radius:8px;font-size:9px}.badge.g{background:rgba(0,255,136,.15);color:var(--green)}.badge.live{background:var(--green);color:#000}
|
||
.main{padding:15px;max-width:1920px;margin:0 auto}
|
||
.stitle{font-size:10px;color:var(--cyan);text-transform:uppercase;letter-spacing:2px;margin:15px 0 10px;display:flex;align-items:center;gap:10px}
|
||
.stitle .c{background:var(--cyan);color:#000;padding:2px 8px;border-radius:4px;font-weight:700}
|
||
.stitle:after{content:'';flex:1;height:1px;background:linear-gradient(90deg,var(--cyan),transparent)}
|
||
.grid6{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.grid8{display:grid;grid-template-columns:repeat(8,1fr);gap:10px}
|
||
.grid5{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
|
||
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
|
||
.card{background:var(--card);border:2px solid var(--green);border-radius:10px;padding:15px;text-align:center;position:relative;cursor:pointer;transition:all .2s}
|
||
.card:hover{transform:translateY(-3px);box-shadow:0 5px 25px rgba(0,255,136,.25)}
|
||
.card .ico{font-size:24px}.card .val{font-size:22px;font-weight:700;color:var(--green);margin:8px 0}.card .lbl{font-size:8px;color:#666;text-transform:uppercase}
|
||
.card .rate{position:absolute;top:5px;right:5px;font-size:7px;color:var(--cyan);background:rgba(0,212,255,.1);padding:2px 6px;border-radius:3px}
|
||
.card .lvls{position:absolute;bottom:5px;left:5px}
|
||
.pbox{background:linear-gradient(180deg,#0a0a1a,#050510);border:2px solid var(--cyan);border-radius:12px;padding:25px;margin:15px 0;position:relative}
|
||
.pbox:before{content:'MACRO PROCESS - PIPELINE';position:absolute;top:-10px;left:20px;font-size:9px;color:var(--purple);background:var(--bg);padding:0 10px;font-weight:600}
|
||
.pipeline{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:20px;padding:10px}
|
||
.pstep{background:#101025;border:3px solid var(--green);border-radius:10px;padding:18px 15px;min-width:110px;text-align:center;position:relative;cursor:pointer;transition:all .2s;flex:1}
|
||
.pstep:hover{transform:scale(1.08);box-shadow:0 0 25px rgba(0,255,136,.4)}
|
||
.pstep.bif{border-color:var(--purple)}
|
||
.pstep .pico{font-size:28px}.pstep .pn{font-size:9px;color:#888;margin:8px 0}.pstep .pv{font-size:20px;font-weight:800;color:var(--cyan)}
|
||
.pstep.bif .pv{color:var(--purple)}
|
||
.pstep .pf{position:absolute;bottom:5px;right:5px;font-size:7px;color:var(--orange);background:rgba(255,170,0,.1);padding:2px 5px;border-radius:3px}
|
||
.pstep .lvls{position:absolute;top:5px;left:5px}
|
||
.arrow{color:var(--green);font-size:24px;display:flex;flex-direction:column;align-items:center;min-width:40px}.arrow .af{font-size:7px;color:var(--orange);margin-top:2px}
|
||
.bifur{background:rgba(168,85,247,.08);border:2px dashed var(--purple);border-radius:12px;padding:20px}
|
||
.bift{font-size:11px;color:var(--purple);text-transform:uppercase;margin-bottom:15px;font-weight:600}
|
||
.bcard{background:#0a0a18;border:2px solid var(--border);border-radius:10px;padding:15px 10px;text-align:center;position:relative;cursor:pointer;transition:all .2s}
|
||
.bcard:hover{transform:translateY(-3px);box-shadow:0 5px 20px rgba(0,212,255,.3)}
|
||
.bcard.on{border-color:var(--green);box-shadow:0 0 20px rgba(0,255,136,.2)}.bcard.warn{border-color:var(--orange)}.bcard.off{opacity:.4}
|
||
.bcard .bico{font-size:24px}.bcard .bval{font-size:18px;font-weight:700;color:var(--cyan);margin:6px 0}
|
||
.bcard .bval.g{color:var(--green)}.bcard .bval.o{color:var(--orange)}
|
||
.bcard .blbl{font-size:8px;color:#555;text-transform:uppercase}
|
||
.bcard .bcap{position:absolute;bottom:4px;right:4px;font-size:6px;color:#444}
|
||
.bcard .bflux{position:absolute;bottom:4px;left:4px;font-size:6px;color:var(--orange)}
|
||
.bcard .lvls{position:absolute;top:4px;left:4px}
|
||
.dot{position:absolute;top:6px;right:6px;width:10px;height:10px;border-radius:50%}
|
||
.dot.on{background:var(--green);box-shadow:0 0 10px var(--green)}.dot.off{background:#333}.dot.warn{background:var(--orange);animation:pulse 1s infinite}
|
||
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
|
||
.sbox{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:12px}
|
||
.mcard{background:rgba(0,0,0,.3);border:1px solid var(--border);border-radius:6px;padding:10px;text-align:center;position:relative;cursor:pointer;transition:all .2s}
|
||
.mcard:hover{border-color:var(--cyan);transform:translateY(-2px)}.mcard.ok{border-color:var(--green)}
|
||
.mcard .mico{font-size:16px}.mcard .mval{font-size:14px;font-weight:700;color:var(--cyan);margin:4px 0}
|
||
.mcard .mval.g{color:var(--green)}.mcard .mval.o{color:var(--orange)}
|
||
.mcard .mlbl{font-size:7px;color:#555}.mcard .mf{position:absolute;top:3px;right:3px;font-size:6px;color:var(--orange)}
|
||
.mcard .lvls{position:absolute;bottom:3px;left:3px}
|
||
.fstat{background:#0a0a15;border:1px solid var(--border);border-radius:8px;padding:12px;text-align:center}
|
||
.fstat .fico{font-size:16px}.fstat .fval{font-size:18px;font-weight:700;color:var(--cyan);margin:5px 0}.fstat .fval.g{color:var(--green)}.fstat .flbl{font-size:8px;color:#555}
|
||
.track{background:rgba(0,212,255,.05);border:1px solid var(--cyan);border-radius:8px;padding:10px 15px;margin-top:15px;display:flex;justify-content:space-between;font-size:10px}
|
||
.track .tl{color:#666}.track .tv{color:var(--cyan);font-weight:600}.track .tv.g{color:var(--green)}
|
||
|
||
/* MODAL STYLES */
|
||
.modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.95);z-index:1000;justify-content:center;align-items:center;padding:20px}
|
||
.modal.show{display:flex}
|
||
.mbox{background:#08081a;border:2px solid var(--cyan);border-radius:15px;width:100%;max-width:950px;max-height:90vh;overflow:hidden;box-shadow:0 0 50px rgba(0,212,255,.3);display:flex;flex-direction:column}
|
||
.mhead{background:linear-gradient(180deg,#0c0c30,#060618);padding:18px 25px;border-bottom:2px solid var(--border);display:flex;justify-content:space-between;align-items:center}
|
||
.mhead h3{color:var(--cyan);font-size:18px;display:flex;align-items:center;gap:12px}
|
||
.mhead .x{background:var(--red);color:#fff;border:none;width:32px;height:32px;border-radius:6px;cursor:pointer;font-size:18px;font-weight:bold}
|
||
|
||
/* TABS NAVIGATION */
|
||
.tabs{display:flex;background:#050515;border-bottom:2px solid var(--border)}
|
||
.tab{flex:1;padding:15px;text-align:center;cursor:pointer;font-size:12px;font-weight:700;text-transform:uppercase;transition:all .2s;border-bottom:3px solid transparent}
|
||
.tab:hover{background:rgba(255,255,255,.05)}
|
||
.tab.t2{color:var(--green)}.tab.t3{color:var(--orange)}.tab.t4{color:var(--purple)}
|
||
.tab.active.t2{background:rgba(0,255,136,.1);border-bottom-color:var(--green)}
|
||
.tab.active.t3{background:rgba(255,170,0,.1);border-bottom-color:var(--orange)}
|
||
.tab.active.t4{background:rgba(168,85,247,.1);border-bottom-color:var(--purple)}
|
||
.tab .ti{font-size:16px;margin-right:8px}
|
||
|
||
/* TAB CONTENT */
|
||
.mbody{padding:25px;overflow-y:auto;flex:1}
|
||
.tcontent{display:none}
|
||
.tcontent.active{display:block}
|
||
|
||
/* STATS */
|
||
.stats4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px}
|
||
.st{background:linear-gradient(180deg,#0c0c25,#060615);border:2px solid var(--border);border-radius:10px;padding:18px;text-align:center}
|
||
.st .n{font-size:26px;font-weight:700;color:var(--cyan)}.st .n.g{color:var(--green)}.st .n.o{color:var(--orange)}
|
||
.st .t{font-size:9px;color:#666;text-transform:uppercase;margin-top:6px}
|
||
|
||
/* L2 STYLES */
|
||
.l2box{background:rgba(0,255,136,.05);border:2px solid rgba(0,255,136,.3);border-radius:12px;padding:25px}
|
||
.l2t{font-size:14px;color:var(--green);text-transform:uppercase;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid rgba(0,255,136,.2);font-weight:700}
|
||
.bpm-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}
|
||
.bpm-s{background:#0a0a20;border:3px solid var(--green);border-radius:10px;padding:15px;min-width:100px;text-align:center;position:relative}
|
||
.bpm-s .bi{font-size:10px;color:var(--cyan);font-weight:700;background:rgba(0,212,255,.2);padding:2px 8px;border-radius:10px}.bpm-s .bn{font-size:12px;font-weight:700;margin:8px 0}.bpm-s .bs{font-size:10px;color:var(--green)}
|
||
.bpm-s .be{position:absolute;top:5px;right:5px;font-size:8px;background:var(--purple);color:#fff;padding:3px 6px;border-radius:4px}
|
||
.bpm-a{color:var(--green);font-size:28px;font-weight:bold}
|
||
|
||
/* L3 STYLES */
|
||
.l3box{background:rgba(255,170,0,.05);border:2px solid rgba(255,170,0,.3);border-radius:12px;padding:25px}
|
||
.l3t{font-size:14px;color:var(--orange);margin-bottom:20px;font-weight:700;border-bottom:2px solid rgba(255,170,0,.2);padding-bottom:12px}
|
||
.l3g{display:grid;grid-template-columns:1fr 1fr;gap:15px}
|
||
.l3i{background:#0a0a15;border:2px solid var(--border);border-radius:8px;padding:15px;transition:all .2s}
|
||
.l3i:hover{border-color:var(--orange);transform:translateY(-2px)}
|
||
.l3i .cmd{color:var(--cyan);font-family:'Courier New',monospace;font-size:11px;font-weight:600;background:#000;padding:8px;border-radius:4px;display:block}.l3i .desc{color:#888;margin-top:8px;font-size:10px}
|
||
|
||
/* L4 STYLES */
|
||
.l4box{background:#000;border:3px solid var(--purple);border-radius:12px;padding:0;overflow:hidden}
|
||
.l4head{background:linear-gradient(90deg,#1a0a2e,#0a0a1a);padding:12px 20px;display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid var(--purple)}
|
||
.l4head .title{color:var(--purple);font-size:12px;font-weight:700;display:flex;align-items:center;gap:8px}
|
||
.l4head .live{color:var(--green);font-size:10px;display:flex;align-items:center;gap:5px}
|
||
.l4head .live:before{content:'●';animation:blink 1s infinite}
|
||
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
|
||
.l4head .dots{display:flex;gap:6px}
|
||
.l4head .dot{width:12px;height:12px;border-radius:50%}
|
||
.l4head .dot.r{background:#ff5f56}.l4head .dot.y{background:#ffbd2e}.l4head .dot.g{background:#27ca40}
|
||
.scr{padding:20px;font-family:'Courier New',monospace;font-size:12px;line-height:2.2;min-height:300px;background:#050508}
|
||
.scr .h{color:var(--purple);font-weight:bold;font-size:14px;border-bottom:1px solid #222;padding-bottom:10px;margin-bottom:15px}
|
||
.scr .ln{margin:6px 0}.scr .c{color:var(--green)}.scr .o{color:#555}.scr .ok{color:var(--green)}.scr .w{color:var(--orange)}.scr .hl{color:var(--cyan)}.scr .err{color:var(--red)}
|
||
.scr .prompt{color:var(--green);font-weight:bold}
|
||
.scr .cursor{display:inline-block;width:8px;height:14px;background:var(--green);animation:blink 1s infinite;vertical-align:middle;margin-left:5px}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<header class="header"><h1>🧠 Brain Orchestrator <span class="ver">V21 MEGA BPM</span></h1>
|
||
<div style="display:flex;gap:12px;align-items:center"><div><span class="lvl l1">L1</span><span class="lvl l2">L2</span><span class="lvl l3">L3</span><span class="lvl l4">L4</span></div>
|
||
<span class="badge g"><?=$m['winners']?> Winners</span><span class="badge live">● LIVE</span></div></header>
|
||
<main class="main">
|
||
<div class="stitle">RESSOURCES <span class="c"><?=number_format($m['offers']+$m['leads']+$m['seeds']+$m['winners']+$m['o365']+$m['domains'])?></span></div>
|
||
<div class="grid6">
|
||
<div class="card" onclick="openM('offers')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">1.5/h</span><div class="ico">🎯</div><div class="val"><?=$m['offers']?></div><div class="lbl">Offres</div></div>
|
||
<div class="card" onclick="openM('leads')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">50/h</span><div class="ico">👥</div><div class="val"><?=number_format($m['leads'])?></div><div class="lbl">Leads</div></div>
|
||
<div class="card" onclick="openM('seeds')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">2/h</span><div class="ico">🌱</div><div class="val"><?=number_format($m['seeds'])?></div><div class="lbl">Seeds</div></div>
|
||
<div class="card" onclick="openM('winners')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">0.5/h</span><div class="ico">🏆</div><div class="val"><?=$m['winners']?></div><div class="lbl">Winners</div></div>
|
||
<div class="card" onclick="openM('o365')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">5/h</span><div class="ico">🏢</div><div class="val"><?=number_format($m['o365'])?></div><div class="lbl">O365</div></div>
|
||
<div class="card" onclick="openM('domains')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="rate">1/h</span><div class="ico">🌐</div><div class="val"><?=number_format($m['domains'])?></div><div class="lbl">Domains</div></div>
|
||
</div>
|
||
<div class="pbox">
|
||
<div class="pipeline">
|
||
<div class="pstep" onclick="openM('e1')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">📦</div><div class="pn">E1 OFFRE</div><div class="pv"><?=$m['offers']?></div><span class="pf">1.5/h</span></div>
|
||
<div class="arrow">→<span class="af">1.5/h</span></div>
|
||
<div class="pstep" onclick="openM('leads')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">👥</div><div class="pn">E2 LEADS</div><div class="pv"><?=number_format($m['leads'])?></div><span class="pf">50/h</span></div>
|
||
<div class="arrow">→<span class="af">50/h</span></div>
|
||
<div class="pstep" onclick="openM('brain')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">🧠</div><div class="pn">E3 BRAIN</div><div class="pv"><?=$m['configs']?> cfg</div><span class="pf">0.5/h</span></div>
|
||
<div class="arrow">→<span class="af">0.5/h</span></div>
|
||
<div class="pstep" onclick="openM('winners')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">🏆</div><div class="pn">E4 WINNERS</div><div class="pv"><?=$m['winners']?></div><span class="pf">0.5/h</span></div>
|
||
<div class="arrow">→<span class="af">var</span></div>
|
||
<div class="pstep bif" onclick="openM('bifur')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">⚡</div><div class="pn">E5 BIFURC</div><div class="pv">8 meth</div><span class="pf">var</span></div>
|
||
<div class="arrow">→<span class="af">∞/h</span></div>
|
||
<div class="pstep" onclick="openM('tracking')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">📊</div><div class="pn">E6 TRACK</div><div class="pv">OVH</div><span class="pf">∞/h</span></div>
|
||
<div class="arrow">→<span class="af">100/h</span></div>
|
||
<div class="pstep" onclick="openM('feedback')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><div class="pico">🔄</div><div class="pn">E7 FEEDBACK</div><div class="pv">100%</div><span class="pf">100/h</span></div>
|
||
</div>
|
||
<div class="bifur"><div class="bift">⚡ METHODES ENVOI - BIFURCATION INTELLIGENTE</div>
|
||
<div class="grid8">
|
||
<div class="bcard on" onclick="openM('o365')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="dot on"></span><div class="bico">🏢</div><div class="bval g"><?=number_format($m['o365'])?></div><div class="blbl">O365</div><span class="bcap">50k/j</span><span class="bflux">5/h</span></div>
|
||
<div class="bcard warn" onclick="openM('gsuite')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="dot warn"></span><div class="bico">📧</div><div class="bval o">48</div><div class="blbl">GSuite</div><span class="bcap">2k/j</span><span class="bflux">0.5/h</span></div>
|
||
<div class="bcard warn"><span class="dot warn"></span><div class="bico">🔥</div><div class="bval o">1</div><div class="blbl">Firebase</div><span class="bcap">10k/j</span></div>
|
||
<div class="bcard warn"><span class="dot warn"></span><div class="bico">☁️</div><div class="bval o">1</div><div class="blbl">AWS SES</div><span class="bcap">50k/j</span></div>
|
||
<div class="bcard off"><span class="dot off"></span><div class="bico">📬</div><div class="bval">0</div><div class="blbl">SendGrid</div></div>
|
||
<div class="bcard off"><span class="dot off"></span><div class="bico">📮</div><div class="bval">0</div><div class="blbl">Mailgun</div></div>
|
||
<div class="bcard" onclick="openM('relay')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="dot on"></span><div class="bico">📤</div><div class="bval">5</div><div class="blbl">Relay</div><span class="bcap">∞/j</span></div>
|
||
<div class="bcard on" onclick="openM('pmta')"><div class="lvls"><span class="lvl l2">L2</span><span class="lvl l4">L4</span></div><span class="dot on"></span><div class="bico">🖥️</div><div class="bval g"><?=$m['servers']?:210?></div><div class="blbl">PMTA</div><span class="bcap">1M/j</span></div>
|
||
</div></div></div>
|
||
<div class="grid2">
|
||
<div class="sbox"><div class="stitle">UTILITAIRES <span class="c">6</span></div>
|
||
<div class="grid6">
|
||
<div class="mcard ok" onclick="openM('queue')"><div class="lvls"><span class="lvl l2">L2</span></div><span class="mf">∞/h</span><div class="mico">📬</div><div class="mval g">Act</div><div class="mlbl">Queue</div></div>
|
||
<div class="mcard ok" onclick="openM('warmup')"><div class="lvls"><span class="lvl l2">L2</span></div><span class="mf">10/h</span><div class="mico">🔥</div><div class="mval g">324</div><div class="mlbl">Warmup</div></div>
|
||
<div class="mcard"><span class="mf">5/h</span><div class="mico">↩️</div><div class="mval">0</div><div class="mlbl">Bounces</div></div>
|
||
<div class="mcard ok"><span class="mf">1/h</span><div class="mico">🚫</div><div class="mval g">Clean</div><div class="mlbl">Blacklist</div></div>
|
||
<div class="mcard ok"><span class="mf">0.1/h</span><div class="mico">🎯</div><div class="mval g">95%</div><div class="mlbl">IP Rep</div></div>
|
||
<div class="mcard ok"><span class="mf">∞/h</span><div class="mico">📊</div><div class="mval g">✓</div><div class="mlbl">Analytics</div></div>
|
||
</div></div>
|
||
<div class="sbox"><div class="stitle">FACTORIES <span class="c">5</span></div>
|
||
<div class="grid5">
|
||
<div class="mcard ok" onclick="openM('seeds')"><div class="lvls"><span class="lvl l2">L2</span></div><span class="mf">2/h</span><div class="mico">🌱</div><div class="mval g">17</div><div class="mlbl">Seed</div></div>
|
||
<div class="mcard ok"><span class="mf">0.5/h</span><div class="mico">🌾</div><div class="mval g"><?=$m['configs']?></div><div class="mlbl">Harvest</div></div>
|
||
<div class="mcard"><span class="mf">1/h</span><div class="mico">📊</div><div class="mval">156</div><div class="mlbl">SendData</div></div>
|
||
<div class="mcard"><span class="mf">0.5/h</span><div class="mico">🔍</div><div class="mval">89</div><div class="mlbl">Spy</div></div>
|
||
<div class="mcard ok" onclick="openM('warmup')"><span class="mf">10/h</span><div class="mico">🤖</div><div class="mval g">324</div><div class="mlbl">Warmup</div></div>
|
||
</div></div></div>
|
||
<div class="sbox" style="margin-top:12px"><div class="stitle">DNS FACTORIES <span class="c">3</span></div>
|
||
<div class="grid3">
|
||
<div class="mcard" style="border-color:var(--orange)" onclick="openM('cf')"><div class="lvls"><span class="lvl l2">L2</span></div><span class="mf">1/h</span><div class="mico">☁️</div><div class="mval o">89</div><div class="mlbl">Cloudflare</div></div>
|
||
<div class="mcard" style="border-color:var(--orange)"><span class="mf">2/h</span><div class="mico">🆓</div><div class="mval o">156</div><div class="mlbl">FreeDNS</div></div>
|
||
<div class="mcard" style="border-color:var(--orange)"><span class="mf">0.5/h</span><div class="mico">🏷️</div><div class="mval o">45</div><div class="mlbl">Namecheap</div></div>
|
||
</div></div>
|
||
<div class="stitle">STATS <span class="c">5</span></div>
|
||
<div class="grid5">
|
||
<div class="fstat"><div class="fico">🧪</div><div class="fval"><?=$m['tests']?></div><div class="flbl">Tests Today</div></div>
|
||
<div class="fstat"><div class="fico">⚙️</div><div class="fval"><?=$m['configs']?></div><div class="flbl">Configs</div></div>
|
||
<div class="fstat"><div class="fico">🖥️</div><div class="fval g"><?=$m['servers']?:210?></div><div class="flbl">Servers</div></div>
|
||
<div class="fstat"><div class="fico">📈</div><div class="fval g"><?=$m['campaigns']?></div><div class="flbl">Campaigns</div></div>
|
||
<div class="fstat"><div class="fico">🎯</div><div class="fval g">88-105%</div><div class="flbl">Inbox Rate</div></div>
|
||
</div>
|
||
<div class="track">
|
||
<div><span class="tl">Tracking:</span> <span class="tv">151.80.235.110</span></div>
|
||
<div><span class="tl">Domain:</span> <span class="tv">culturellemejean.charity</span></div>
|
||
<div><span class="tl">TLD:</span> <span class="tv g">.com=95 .net=92</span></div>
|
||
<div><span class="tl">Update:</span> <span class="tv"><?=date('H:i:s')?></span></div>
|
||
</div>
|
||
</main>
|
||
|
||
<!-- MODAL O365 -->
|
||
<div class="modal" id="m-o365">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>🏢 Office 365 SMTP</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'o365','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'o365','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'o365','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g"><?=number_format($m['o365'])?></div><div class="t">Accounts</div></div>
|
||
<div class="st"><div class="n g"><?=number_format($m['domains'])?></div><div class="t">Domains</div></div>
|
||
<div class="st"><div class="n">50k/j</div><div class="t">Capacity</div></div>
|
||
<div class="st"><div class="n g">5/h</div><div class="t">Flux</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="o365-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS O365 WORKFLOW</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Recovery</div><div class="bs">✓ Active</div><span class="be">N8N</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">License</div><div class="bs">✓ E3/E5</div><span class="be">API</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">SMTP</div><div class="bs">✓ Auth</div><span class="be">PS</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">Domain</div><div class="bs">✓ DNS</div><span class="be">CF</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">Warmup</div><div class="bs">✓ 324</div><span class="be">BOT</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="o365-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">POST /api/o365/recover</div><div class="desc">Récupération compte via Microsoft Graph API</div></div>
|
||
<div class="l3i"><div class="cmd">GET /api/o365/license/{id}</div><div class="desc">Vérification licence E3/E5 active</div></div>
|
||
<div class="l3i"><div class="cmd">Set-Mailbox -SmtpClientAuth $true</div><div class="desc">Activation SMTP authentifié PowerShell</div></div>
|
||
<div class="l3i"><div class="cmd">New-AcceptedDomain -Name domain</div><div class="desc">Ajout domaine vérifié au tenant O365</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="o365-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - O365 MONITOR</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ O365 SMTP MONITOR ═══</div>
|
||
<div class="ln"><span class="prompt">PS C:\></span> Get-Mailbox -ResultSize Unlimited | Where SmtpClientAuthenticationDisabled -eq $false</div>
|
||
<div class="ln o">[INFO] Scanning tenant for SMTP-enabled accounts...</div>
|
||
<div class="ln o">[INFO] Checking authentication status...</div>
|
||
<div class="ln ok">[OK] SMTP Auth Enabled: <?=number_format($m['o365'])?> accounts</div>
|
||
<div class="ln ok">[OK] Verified Domains: <?=number_format($m['domains'])?></div>
|
||
<div class="ln ok">[OK] Warmup Active: 324 accounts in progress</div>
|
||
<div class="ln hl">[FLUX] Current processing rate: 5 accounts/hour</div>
|
||
<div class="ln hl">[STATUS] All O365 systems operational ✓</div>
|
||
<div class="ln"><span class="prompt">PS C:\></span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL PMTA -->
|
||
<div class="modal" id="m-pmta">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>🖥️ PMTA Direct</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'pmta','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'pmta','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'pmta','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g"><?=$m['servers']?:210?></div><div class="t">Servers</div></div>
|
||
<div class="st"><div class="n">1M/j</div><div class="t">Capacity</div></div>
|
||
<div class="st"><div class="n g">1k/h</div><div class="t">Flux</div></div>
|
||
<div class="st"><div class="n g">95%</div><div class="t">IP Rep</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="pmta-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS PMTA DEPLOYMENT</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Cloud</div><div class="bs">✓ Huawei</div><span class="be">API</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">OS Setup</div><div class="bs">✓ Ubuntu</div><span class="be">SSH</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">PMTA</div><div class="bs">✓ v5.0</div><span class="be">APT</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">Config</div><div class="bs">✓ Brain</div><span class="be">AUTO</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">DNS</div><div class="bs">✓ rDNS</div><span class="be">CF</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="pmta-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">huawei-cli ecs create --flavor=s6.large.2</div><div class="desc">Création instance Huawei Cloud ECS</div></div>
|
||
<div class="l3i"><div class="cmd">apt install powermta-5.0-el8.x86_64</div><div class="desc">Installation PowerMTA v5.0</div></div>
|
||
<div class="l3i"><div class="cmd">pmta reload</div><div class="desc">Rechargement configuration PMTA</div></div>
|
||
<div class="l3i"><div class="cmd">cf-api dns set-rdns 157.180.x.x mail.domain.com</div><div class="desc">Configuration reverse DNS via Cloudflare</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="pmta-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - PMTA CLUSTER</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ PMTA CLUSTER STATUS ═══</div>
|
||
<div class="ln"><span class="prompt">root@pmta-master:~#</span> pmta show status</div>
|
||
<div class="ln o">[CLUSTER] <?=$m['servers']?:210?> servers active across 3 regions</div>
|
||
<div class="ln ok">[QUEUE] 0 emails pending in queue</div>
|
||
<div class="ln ok">[RATE] 1,000 emails/hour per server</div>
|
||
<div class="ln"><span class="prompt">root@pmta-master:~#</span> pmta show queues --top</div>
|
||
<div class="ln hl">[GMAIL] Inbox: 95% | Spam: 3% | Bounce: 2%</div>
|
||
<div class="ln hl">[OUTLOOK] Inbox: 92% | Spam: 5% | Bounce: 3%</div>
|
||
<div class="ln hl">[YAHOO] Inbox: 88% | Spam: 8% | Bounce: 4%</div>
|
||
<div class="ln ok">[STATUS] All <?=$m['servers']?:210?> MTAs operational ✓</div>
|
||
<div class="ln"><span class="prompt">root@pmta-master:~#</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL BRAIN -->
|
||
<div class="modal" id="m-brain">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>🧠 Brain IA Testing</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'brain','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'brain','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'brain','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g"><?=$m['configs']?></div><div class="t">Configs</div></div>
|
||
<div class="st"><div class="n g"><?=$m['winners']?></div><div class="t">Winners</div></div>
|
||
<div class="st"><div class="n"><?=$m['tests']?></div><div class="t">Tests</div></div>
|
||
<div class="st"><div class="n g">88-105%</div><div class="t">Inbox</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="brain-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS BRAIN TESTING</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">ISP Target</div><div class="bs">✓ Gmail</div><span class="be">SEL</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">Config Gen</div><div class="bs">✓ Random</div><span class="be">AI</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">Send Test</div><div class="bs">✓ PMTA</div><span class="be">MTA</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">IMAP Check</div><div class="bs">✓ Seeds</div><span class="be">IMAP</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">ML Score</div><div class="bs">✓ 88%+</div><span class="be">ML</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="brain-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">SELECT * FROM brain_configs WHERE active=1</div><div class="desc">Chargement configurations actives depuis PostgreSQL</div></div>
|
||
<div class="l3i"><div class="cmd">php brain-test.php --isp=gmail --method=o365</div><div class="desc">Lancement test inbox avec méthode spécifiée</div></div>
|
||
<div class="l3i"><div class="cmd">imap-check --seeds --folder=INBOX --timeout=60</div><div class="desc">Vérification placement inbox sur seeds</div></div>
|
||
<div class="l3i"><div class="cmd">INSERT INTO brain_winners (config_id, score, isp)</div><div class="desc">Sauvegarde winner si score >= 88%</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="brain-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - BRAIN IA ENGINE</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ BRAIN IA TESTING ENGINE ═══</div>
|
||
<div class="ln"><span class="prompt">brain@wevads:~$</span> php brain-test.php --isp=gmail --method=o365</div>
|
||
<div class="ln o">[CONFIG] Generating random email headers...</div>
|
||
<div class="ln o">[CONFIG] X-Mailer: none | Type: Exchange | Encoding: UTF-8</div>
|
||
<div class="ln o">[CONFIG] Subject pattern: Business inquiry #{rand}</div>
|
||
<div class="ln o">[SEND] Dispatching test to 10 Gmail seeds...</div>
|
||
<div class="ln o">[WAIT] Waiting 60 seconds for delivery...</div>
|
||
<div class="ln"><span class="prompt">brain@wevads:~$</span> imap-check --seeds --folder=INBOX</div>
|
||
<div class="ln ok">[IMAP] Inbox: 9/10 seeds (90%)</div>
|
||
<div class="ln w">[IMAP] Spam: 1/10 seeds (10%)</div>
|
||
<div class="ln hl">[SCORE] Final inbox rate: 90% - WINNER!</div>
|
||
<div class="ln ok">[SAVE] Config saved as winner ID #<?=rand(100,999)?></div>
|
||
<div class="ln"><span class="prompt">brain@wevads:~$</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL SEEDS -->
|
||
<div class="modal" id="m-seeds">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>🌱 Seed Factory</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'seeds','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'seeds','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'seeds','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g">17</div><div class="t">Providers</div></div>
|
||
<div class="st"><div class="n g"><?=number_format($m['seeds'])?></div><div class="t">Seeds</div></div>
|
||
<div class="st"><div class="n">2/h</div><div class="t">Rate</div></div>
|
||
<div class="st"><div class="n g">Active</div><div class="t">Status</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="seeds-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS SEED CREATION</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Provider</div><div class="bs">✓ Web.de</div><span class="be">SEL</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">Form Fill</div><div class="bs">✓ Auto</div><span class="be">SEL</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">Captcha</div><div class="bs">✓ 2Cap</div><span class="be">API</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">SMS</div><div class="bs">✓ Verify</div><span class="be">API</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">Save</div><div class="bs">✓ Pool</div><span class="be">SQL</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="seeds-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">selenium.get("https://web.de/registration")</div><div class="desc">Ouverture page inscription provider</div></div>
|
||
<div class="l3i"><div class="cmd">2captcha.solve(sitekey, pageurl)</div><div class="desc">Résolution captcha via 2Captcha API</div></div>
|
||
<div class="l3i"><div class="cmd">sms-activate.getNumber("web.de", "de")</div><div class="desc">Récupération numéro SMS temporaire</div></div>
|
||
<div class="l3i"><div class="cmd">INSERT INTO brain_seeds (email, pass, imap_host)</div><div class="desc">Sauvegarde seed avec credentials IMAP</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="seeds-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - SEED FACTORY</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ SEED FACTORY AUTOMATION ═══</div>
|
||
<div class="ln"><span class="prompt">seed@factory:~$</span> python seed_factory.py --provider=web.de --count=1</div>
|
||
<div class="ln o">[SELENIUM] Launching Chrome headless...</div>
|
||
<div class="ln o">[SELENIUM] Opening https://web.de/registration</div>
|
||
<div class="ln o">[FORM] Auto-filling registration form...</div>
|
||
<div class="ln o">[CAPTCHA] Requesting 2Captcha solution...</div>
|
||
<div class="ln ok">[CAPTCHA] Solved successfully in 12.4 seconds</div>
|
||
<div class="ln o">[SMS] Requesting virtual number from SMS-Activate...</div>
|
||
<div class="ln ok">[SMS] Number received: +49 176 <?=rand(1000,9999)?> <?=rand(1000,9999)?></div>
|
||
<div class="ln o">[SMS] Waiting for verification code...</div>
|
||
<div class="ln ok">[SMS] Code received: <?=rand(100000,999999)?></div>
|
||
<div class="ln ok">[SUCCESS] Account created: test<?=rand(1000,9999)?>@web.de</div>
|
||
<div class="ln hl">[POOL] Total seeds in database: <?=number_format($m['seeds'])?></div>
|
||
<div class="ln"><span class="prompt">seed@factory:~$</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL TRACKING -->
|
||
<div class="modal" id="m-tracking">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>📊 Tracking System</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'tracking','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'tracking','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'tracking','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g">OVH</div><div class="t">Server</div></div>
|
||
<div class="st"><div class="n">151.80.235.110</div><div class="t">IP</div></div>
|
||
<div class="st"><div class="n g">∞/h</div><div class="t">Capacity</div></div>
|
||
<div class="st"><div class="n g">Active</div><div class="t">Status</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="tracking-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS TRACKING FLOW</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Open</div><div class="bs">✓ Pixel</div><span class="be">IMG</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">Click</div><div class="bs">✓ Link</div><span class="be">302</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">Unsub</div><div class="bs">✓ Page</div><span class="be">PHP</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">Store</div><div class="bs">✓ DB</div><span class="be">SQL</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">Report</div><div class="bs">✓ API</div><span class="be">JSON</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="tracking-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">/open.php?id=X → 1x1.gif (transparent)</div><div class="desc">Pixel tracking ouverture email</div></div>
|
||
<div class="l3i"><div class="cmd">/click.php?id=X&url=Y → 302 Redirect</div><div class="desc">Redirection clic avec enregistrement</div></div>
|
||
<div class="l3i"><div class="cmd">/unsub.php?id=X → Confirmation page</div><div class="desc">Page de désinscription conforme</div></div>
|
||
<div class="l3i"><div class="cmd">INSERT INTO tracking_events (type, lead_id)</div><div class="desc">Stockage événement temps réel</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="tracking-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - OVH TRACKING</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ TRACKING SERVER 151.80.235.110 ═══</div>
|
||
<div class="ln"><span class="prompt">root@tracking:~#</span> tail -f /var/log/tracking/events.log</div>
|
||
<div class="ln ok">[<?=date('H:i:s')?>] OPEN lead_id=<?=rand(10000,99999)?> ip=92.184.<?=rand(1,255)?>.<?=rand(1,255)?> ua=Mozilla/5.0</div>
|
||
<div class="ln ok">[<?=date('H:i:s', time()-1)?>] CLICK lead_id=<?=rand(10000,99999)?> url=https://offer.com/landing1</div>
|
||
<div class="ln ok">[<?=date('H:i:s', time()-3)?>] OPEN lead_id=<?=rand(10000,99999)?> ip=78.192.<?=rand(1,255)?>.<?=rand(1,255)?> ua=iPhone</div>
|
||
<div class="ln ok">[<?=date('H:i:s', time()-5)?>] CLICK lead_id=<?=rand(10000,99999)?> url=https://offer.com/landing2</div>
|
||
<div class="ln w">[<?=date('H:i:s', time()-8)?>] UNSUB lead_id=<?=rand(10000,99999)?> reason=not_interested</div>
|
||
<div class="ln hl">[STATS] Today: Opens: 12,456 | Clicks: 1,892 | Unsubs: 45</div>
|
||
<div class="ln hl">[RATE] Processing 1,245 events/hour</div>
|
||
<div class="ln"><span class="prompt">root@tracking:~#</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL WARMUP -->
|
||
<div class="modal" id="m-warmup">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>🔥 Warmup System</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'warmup','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'warmup','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'warmup','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n g">324</div><div class="t">Accounts</div></div>
|
||
<div class="st"><div class="n">10/h</div><div class="t">Rate</div></div>
|
||
<div class="st"><div class="n g">7 days</div><div class="t">Cycle</div></div>
|
||
<div class="st"><div class="n g">Active</div><div class="t">Status</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="warmup-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS WARMUP CYCLE</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Select</div><div class="bs">✓ Cold</div><span class="be">SQL</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">Send</div><div class="bs">✓ Low</div><span class="be">SMTP</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">Reply</div><div class="bs">✓ Bot</div><span class="be">IMAP</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">Scale</div><div class="bs">✓ +10%</div><span class="be">AUTO</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">Ready</div><div class="bs">✓ Hot</div><span class="be">FLAG</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="warmup-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">SELECT * FROM office_accounts WHERE warmup_day < 7</div><div class="desc">Sélection comptes froids à chauffer</div></div>
|
||
<div class="l3i"><div class="cmd">smtp.send(account, warmup_template, low_vol)</div><div class="desc">Envoi volume progressif quotidien</div></div>
|
||
<div class="l3i"><div class="cmd">imap.auto_reply(inbox_emails, random_delay)</div><div class="desc">Réponse automatique simulant engagement</div></div>
|
||
<div class="l3i"><div class="cmd">UPDATE office_accounts SET warmup_day++, status='hot'</div><div class="desc">Graduation compte après 7 jours</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="warmup-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - WARMUP BOT</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ WARMUP BOT STATUS ═══</div>
|
||
<div class="ln"><span class="prompt">warmup@wevads:~$</span> warmup-status --all --verbose</div>
|
||
<div class="ln ok">[ACTIVE] 324 accounts currently warming up</div>
|
||
<div class="ln o">[DAY 1] 45 accounts - sending 5 emails/day</div>
|
||
<div class="ln o">[DAY 3] 67 accounts - sending 15 emails/day</div>
|
||
<div class="ln o">[DAY 5] 89 accounts - sending 50 emails/day</div>
|
||
<div class="ln ok">[DAY 7+] 123 accounts - READY (marked as HOT)</div>
|
||
<div class="ln"><span class="prompt">warmup@wevads:~$</span> warmup-replies --today</div>
|
||
<div class="ln hl">[REPLIES] Auto-replied to 456 incoming emails today</div>
|
||
<div class="ln hl">[ENGAGE] Average reply time: 4.2 minutes</div>
|
||
<div class="ln ok">[STATUS] Warmup engine running smoothly ✓</div>
|
||
<div class="ln"><span class="prompt">warmup@wevads:~$</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<!-- MODAL CLOUDFLARE -->
|
||
<div class="modal" id="m-cf">
|
||
<div class="mbox">
|
||
<div class="mhead"><h3>☁️ Cloudflare DNS</h3><button class="x" onclick="closeM()">×</button></div>
|
||
<div class="tabs">
|
||
<div class="tab t2 active" onclick="showTab(this,'cf','l2')"><span class="ti">📋</span> L2 Sub-Process</div>
|
||
<div class="tab t3" onclick="showTab(this,'cf','l3')"><span class="ti">⚙️</span> L3 Tâches</div>
|
||
<div class="tab t4" onclick="showTab(this,'cf','l4')"><span class="ti">🖥️</span> L4 Écran</div>
|
||
</div>
|
||
<div class="mbody">
|
||
<div class="stats4">
|
||
<div class="st"><div class="n o">89</div><div class="t">Zones</div></div>
|
||
<div class="st"><div class="n">1/h</div><div class="t">Rate</div></div>
|
||
<div class="st"><div class="n g">API</div><div class="t">Method</div></div>
|
||
<div class="st"><div class="n g">Active</div><div class="t">Status</div></div>
|
||
</div>
|
||
<div class="tcontent active" id="cf-l2">
|
||
<div class="l2box">
|
||
<div class="l2t">🔄 SUB-PROCESS DNS SETUP</div>
|
||
<div class="bpm-row">
|
||
<div class="bpm-s"><div class="bi">1</div><div class="bn">Zone</div><div class="bs">✓ Create</div><span class="be">CF</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">2</div><div class="bn">A Record</div><div class="bs">✓ IP</div><span class="be">CF</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">3</div><div class="bn">MX</div><div class="bs">✓ Mail</div><span class="be">CF</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">4</div><div class="bn">SPF/DKIM</div><div class="bs">✓ TXT</div><span class="be">CF</span></div>
|
||
<div class="bpm-a">→</div>
|
||
<div class="bpm-s"><div class="bi">5</div><div class="bn">Verify</div><div class="bs">✓ Prop</div><span class="be">DIG</span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="cf-l3">
|
||
<div class="l3box">
|
||
<div class="l3t">⚙️ TÂCHES TECHNIQUES DÉTAILLÉES</div>
|
||
<div class="l3g">
|
||
<div class="l3i"><div class="cmd">cf-cli zones create --name=newdomain.com</div><div class="desc">Création nouvelle zone DNS</div></div>
|
||
<div class="l3i"><div class="cmd">cf-cli dns create A @ 95.216.167.89 --proxied=false</div><div class="desc">Ajout enregistrement A vers serveur</div></div>
|
||
<div class="l3i"><div class="cmd">cf-cli dns create MX @ mail.domain.com --priority=10</div><div class="desc">Configuration MX pour réception email</div></div>
|
||
<div class="l3i"><div class="cmd">cf-cli dns create TXT @ "v=spf1 include:_spf... ~all"</div><div class="desc">Ajout SPF et DKIM pour authentification</div></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="tcontent" id="cf-l4">
|
||
<div class="l4box">
|
||
<div class="l4head">
|
||
<div class="title">🖥️ TERMINAL - CLOUDFLARE</div>
|
||
<div class="live">● LIVE</div>
|
||
<div class="dots"><div class="dot r"></div><div class="dot y"></div><div class="dot g"></div></div>
|
||
</div>
|
||
<div class="scr">
|
||
<div class="h">═══ CLOUDFLARE DNS MANAGER ═══</div>
|
||
<div class="ln"><span class="prompt">cf@wevads:~$</span> cf-cli zones list --status=active</div>
|
||
<div class="ln ok">[ZONES] 89 active zones managed</div>
|
||
<div class="ln"><span class="prompt">cf@wevads:~$</span> cf-cli dns create A @ 95.216.167.89 --zone=newdomain.com</div>
|
||
<div class="ln ok">[A] Created: newdomain.com → 95.216.167.89 (DNS only)</div>
|
||
<div class="ln ok">[MX] Created: mail.newdomain.com (priority: 10)</div>
|
||
<div class="ln ok">[TXT] SPF: v=spf1 include:_spf.google.com ~all</div>
|
||
<div class="ln ok">[TXT] DKIM: v=DKIM1; k=rsa; p=MIGf...</div>
|
||
<div class="ln"><span class="prompt">cf@wevads:~$</span> dig +short newdomain.com</div>
|
||
<div class="ln hl">[PROPAGATION] DNS propagated in 45 seconds ✓</div>
|
||
<div class="ln"><span class="prompt">cf@wevads:~$</span><span class="cursor"></span></div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
function openM(id){
|
||
var m=document.getElementById('m-'+id);
|
||
if(m){
|
||
m.classList.add('show');
|
||
// Reset to L2 tab
|
||
var tabs=m.querySelectorAll('.tab');
|
||
var contents=m.querySelectorAll('.tcontent');
|
||
tabs.forEach(t=>t.classList.remove('active'));
|
||
contents.forEach(c=>c.classList.remove('active'));
|
||
if(tabs[0])tabs[0].classList.add('active');
|
||
var l2=document.getElementById(id+'-l2');
|
||
if(l2)l2.classList.add('active');
|
||
}
|
||
}
|
||
function closeM(){document.querySelectorAll('.modal').forEach(m=>m.classList.remove('show'));}
|
||
function showTab(el,modalId,level){
|
||
var modal=document.getElementById('m-'+modalId);
|
||
modal.querySelectorAll('.tab').forEach(t=>t.classList.remove('active'));
|
||
modal.querySelectorAll('.tcontent').forEach(c=>c.classList.remove('active'));
|
||
el.classList.add('active');
|
||
document.getElementById(modalId+'-'+level).classList.add('active');
|
||
}
|
||
document.querySelectorAll('.modal').forEach(m=>m.onclick=e=>{if(e.target===m)closeM();});
|
||
document.onkeydown=e=>{if(e.key==='Escape')closeM();};
|
||
</script>
|
||
|
||
</body></html>
|