421 lines
37 KiB
HTML
Executable File
421 lines
37 KiB
HTML
Executable File
<?php include_once("/opt/wevads-arsenal/public/api/wevads-metrics.php"); ?>
|
|
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>WEVADS — Full Pipeline Map v3</title>
|
|
<style>
|
|
@import url('https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@300;400;600;700&family=DM+Sans:wght@400;500;700&display=swap');
|
|
*{margin:0;padding:0;box-sizing:border-box}
|
|
:root{
|
|
--bg:#0a0c10;--surface:#12151c;--card:#181c26;--border:#252a36;
|
|
--text:#c8cdd8;--dim:#6b7280;--bright:#e8ecf4;
|
|
--green:#22c55e;--red:#ef4444;--amber:#f59e0b;--blue:#3b82f6;
|
|
--purple:#8b5cf6;--cyan:#06b6d4;--pink:#ec4899;--orange:#f97316;
|
|
--teal:#14b8a6;--lime:#84cc16;--indigo:#6366f1;--rose:#f43f5e;
|
|
}
|
|
body{background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif;padding:16px;min-height:100vh}
|
|
h1{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--bright);margin-bottom:4px}
|
|
.subtitle{font-size:12px;color:var(--dim);margin-bottom:16px;font-family:'JetBrains Mono',monospace}
|
|
.stats-bar{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
|
|
.stat{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 14px;font-family:'JetBrains Mono',monospace}
|
|
.stat .v{font-size:18px;font-weight:700;color:var(--bright)}
|
|
.stat .l{font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:0.5px}
|
|
.stat.green .v{color:var(--green)} .stat.red .v{color:var(--red)} .stat.amber .v{color:var(--amber)} .stat.blue .v{color:var(--blue)}
|
|
|
|
.stage{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:12px;overflow:hidden}
|
|
.stage-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;cursor:pointer;user-select:none}
|
|
.stage-head:hover{background:rgba(255,255,255,0.02)}
|
|
.stage-title{font-family:'JetBrains Mono',monospace;font-size:14px;font-weight:600;color:var(--bright);display:flex;align-items:center;gap:8px}
|
|
.stage-title .ico{font-size:18px}
|
|
.stage-badge{display:flex;gap:6px;align-items:center}
|
|
.badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;font-family:'JetBrains Mono',monospace}
|
|
.badge.ok{background:rgba(34,197,94,.15);color:var(--green)}
|
|
.badge.warn{background:rgba(245,158,11,.15);color:var(--amber)}
|
|
.badge.err{background:rgba(239,68,68,.15);color:var(--red)}
|
|
.badge.info{background:rgba(59,130,246,.15);color:var(--blue)}
|
|
.badge.count{background:rgba(139,92,246,.15);color:var(--purple)}
|
|
.chevron{color:var(--dim);transition:transform .2s;font-size:16px}
|
|
.stage.open .chevron{transform:rotate(180deg)}
|
|
.stage-body{display:none;padding:6px 10px 10px}
|
|
.stage.open .stage-body{display:block}
|
|
|
|
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px}
|
|
.mod{background:var(--card);border:1px solid var(--border);border-radius:6px;padding:8px 10px;cursor:pointer;transition:all .15s;position:relative;overflow:hidden}
|
|
.mod:hover{border-color:rgba(255,255,255,.15);background:#1e2330;transform:translateY(-1px)}
|
|
.mod-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:3px}
|
|
.mod-name{font-size:12px;font-weight:600;color:var(--bright);display:flex;align-items:center;gap:4px}
|
|
.mod-name .mi{font-size:13px}
|
|
.mod-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
|
|
.mod-dot.live{background:var(--green);box-shadow:0 0 4px var(--green)}
|
|
.mod-dot.ready{background:var(--amber)}
|
|
.mod-dot.shell{background:var(--dim)}
|
|
.mod-dot.broken{background:var(--red)}
|
|
.mod-meta{font-size:10px;color:var(--dim);font-family:'JetBrains Mono',monospace;line-height:1.3}
|
|
.mod-val{color:var(--cyan);font-weight:600}
|
|
.mod-links{display:flex;gap:3px;margin-top:4px;flex-wrap:wrap}
|
|
.mod-link{font-size:9px;padding:1px 5px;background:rgba(59,130,246,.1);color:var(--blue);border-radius:3px;text-decoration:none;font-family:'JetBrains Mono',monospace;border:1px solid rgba(59,130,246,.2)}
|
|
.mod-link:hover{background:rgba(59,130,246,.25);color:var(--bright)}
|
|
.mod-api{position:absolute;top:0;right:0;font-size:8px;padding:1px 5px;background:rgba(34,197,94,.15);color:var(--green);border-radius:0 5px 0 4px;font-family:'JetBrains Mono',monospace}
|
|
.mod-api.shell{background:rgba(107,114,128,.15);color:var(--dim)}
|
|
|
|
.flow-arrow{text-align:center;padding:4px;color:var(--dim);font-size:18px;font-family:'JetBrains Mono',monospace;letter-spacing:4px}
|
|
|
|
.filter-bar{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap}
|
|
.filter-btn{padding:4px 10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--dim);font-size:11px;cursor:pointer;font-family:'JetBrains Mono',monospace;transition:all .15s}
|
|
.filter-btn:hover,.filter-btn.active{border-color:var(--blue);color:var(--blue);background:rgba(59,130,246,.08)}
|
|
.filter-btn.active{font-weight:600}
|
|
|
|
.search-box{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:6px 12px;color:var(--bright);font-size:12px;font-family:'JetBrains Mono',monospace;width:200px;outline:none}
|
|
.search-box:focus{border-color:var(--blue)}
|
|
|
|
.legend{display:flex;gap:12px;margin-bottom:12px;flex-wrap:wrap;font-size:10px;color:var(--dim);font-family:'JetBrains Mono',monospace}
|
|
.legend-item{display:flex;align-items:center;gap:4px}
|
|
</style>
|
|
</head>
|
|
<body>
|
|
<h1>⚡ WEVADS FULL PIPELINE MAP</h1>
|
|
<div class="subtitle" id="sub">Loading 135 modules across 12 stages...</div>
|
|
|
|
<div class="stats-bar" id="stats"></div>
|
|
|
|
<div class="filter-bar">
|
|
<input class="search-box" id="search" placeholder="🔍 Search module..." oninput="filterModules()">
|
|
<button class="filter-btn active" data-f="all" onclick="setFilter('all',this)">All</button>
|
|
<button class="filter-btn" data-f="live" onclick="setFilter('live',this)">🟢 Live</button>
|
|
<button class="filter-btn" data-f="ready" onclick="setFilter('ready',this)">🟡0 Ready</button>
|
|
<button class="filter-btn" data-f="shell" onclick="setFilter('shell',this)">⚪0 Shell</button>
|
|
<button class="filter-btn" data-f="broken" onclick="setFilter('broken',this)">🔴 Broken</button>
|
|
</div>
|
|
|
|
<div class="legend">
|
|
<span class="legend-item"><span class="mod-dot live"></span> LIVE = tested + data flowing</span>
|
|
<span class="legend-item"><span class="mod-dot ready"></span> READY = API works, needs wiring</span>
|
|
<span class="legend-item"><span class="mod-dot shell"></span> SHELL = UI exists, API stub</span>
|
|
<span class="legend-item"><span class="mod-dot broken"></span> BROKEN = error/crash</span>
|
|
</div>
|
|
|
|
<div id="pipeline"></div>
|
|
|
|
<script>
|
|
const B='http://89.167.40.150:5821';
|
|
|
|
// ═══════════════════════════════════════════════════════════════
|
|
// COMPLETE MODULE MAP: 135 modules in 12 stages
|
|
// ═══════════════════════════════════════════════════════════════
|
|
const stages=[
|
|
|
|
// ── STAGE 1: WEVAL MIND & IA ──
|
|
{id:'mind',ico:'🧠',title:'WEVAL MIND & IA ENGINE',color:'--purple',modules:[
|
|
{n:'Weval Mind Enhanced',ico:'🧠',s:'live',api:'provider-manager.php',lines:253,links:['weval-mind-dashboard-enhanced.html'],v:'11 providers',desc:'Central AI orchestrator: 11 LLM providers with failover'},
|
|
{n:'Weval Mind Classic',ico:'🧠',s:'live',api:'weval-mind-core.php',lines:99,links:['weval-mind-dashboard.html'],v:'core engine',desc:'Original mind dashboard with provider status'},
|
|
{n:'IA Discover',ico:'🔍',s:'live',api:'ia-discover.php',lines:421,links:['ia-discover.html'],v:'6,093 accounts',desc:'Auto-discover IA API keys across providers'},
|
|
{n:'IA Provider Factory',ico:'🤖',s:'live',api:'ia-provider-factory.php',lines:389,links:['ia-provider-factory.html'],v:'11 providers',desc:'Mass-create IA provider accounts'},
|
|
{n:'AI Copywriter',ico:'✍️',s:'live',api:'ai-copywriter.php',lines:139,links:['ai-copywriter.html'],v:'HAMID gen',desc:'Generate email copy via HAMID multi-provider'},
|
|
{n:'Key Manager',ico:'🔑',s:'live',api:'hamid-chef.php',lines:347,links:['key-manager.html'],v:'API keys',desc:'Manage all API keys across providers'},
|
|
]},
|
|
|
|
// ── STAGE 2: BRAIN ENGINE ──
|
|
{id:'brain',ico:'🧪',title:'BRAIN ENGINE & INTELLIGENCE',color:'--cyan',modules:[
|
|
{n:'Brain Central',ico:'🧠',s:'live',api:'brain-engine.php',lines:502,links:['brain-central.html'],v:'134 configs',desc:'Central brain with send configs and ISP targeting'},
|
|
{n:'Brain Combo Discovery',ico:'🔬',s:'live',api:'brain-combo.php',lines:123,links:['brain-combo-discovery.html'],v:'8 winners',desc:'Test config combos against seeds'},
|
|
{n:'Brain Drilldown',ico:'📊',s:'live',api:'brain-engine.php',lines:502,links:['brain-drilldown.html'],v:'50 methods',desc:'Deep-dive into send methods and configs'},
|
|
{n:'Brain Report',ico:'📋',s:'live',api:'brain-trainer.php',lines:150,links:['brain-report.html'],v:'611 configs',desc:'Training results and performance reports'},
|
|
{n:'Brain Unified Send',ico:'📨',s:'live',api:'brain_unified_send.php',lines:206,links:['brain-unified-send.html'],v:'smart router',desc:'Gmail→direct, *→MTA-EU relay'},
|
|
{n:'Smart Report',ico:'📈',s:'live',api:'multi',links:['smart-report.html'],v:'multi-KPI',desc:'Cross-module reporting dashboard'},
|
|
{n:'Brain Send',ico:'🧠',s:'live',api:'brain-send-api.php',lines:104,links:['brain-send.html','crm-send.html'],v:'CRM + Brain',desc:'Direct brain send API with logging'},
|
|
{n:'Winning Config',ico:'🏆',s:'live',api:'winning.php',lines:17,links:['winning-config.html'],v:'8 winners',desc:'Display winning configs by ISP'},
|
|
{n:'Predictive Send Window',ico:'🎯',s:'live',api:'predictive-send.php',lines:235,links:['predictive-send-window.html','campaign-manager.html'],v:'ISP heatmap',desc:'Optimal send windows per ISP by hour/day'},
|
|
{n:'Brain Creative Engine',ico:'🎨',s:'live',api:'brain-creative-engine.php',lines:625,links:['creative-factory.html'],v:'521 creatives',desc:'Creative optimization, A/B subjects, translations'},
|
|
{n:'A/B Testing',ico:'🔬',s:'live',api:'ab-testing.php',lines:158,links:['creative-factory.html'],v:'auto-winner',desc:'Split test engine with automatic winner selection'},
|
|
]},
|
|
|
|
// ── STAGE 3: SUPPLY CHAIN ──
|
|
{id:'supply',ico:'🏭',title:'SUPPLY CHAIN & FACTORIES',color:'--orange',modules:[
|
|
{n:'O365 Factory',ico:'🏢',s:'live',api:'office365.php',lines:139,links:['office-admins.html','account-creator.html','office-workflow.html'],v:'1,360 accounts',desc:'Office 365 tenant management and account creation'},
|
|
{n:'Office Checker',ico:'✅',s:'live',api:'office-checker.php',lines:29,links:['office-checker.html'],v:'verify accts',desc:'Verify O365 account status and health'},
|
|
{n:'GSuite Accounts',ico:'📨',s:'live',api:'gsuite.php',lines:14,links:['gsuite-accounts.html'],v:'1 relay',desc:'Google Workspace account management'},
|
|
{n:'Cloud Account Factory',ico:'🏭',s:'live',api:'cloud-factory.php',lines:36,links:['cloud-account-factory.html'],v:'multi-cloud',desc:'Auto-create cloud provider accounts'},
|
|
{n:'Cloud Factory Extended',ico:'🏭',s:'live',api:'cloud-factory-extended.php',lines:37,links:['cloud-account-factory-extended.html'],v:'extended',desc:'Extended cloud factory with more providers'},
|
|
{n:'Cloud Providers',ico:'🌐',s:'live',api:'cloud_orchestrator.php',lines:299,links:['cloud-providers.html'],v:'15 providers',desc:'Cloud provider orchestration and management'},
|
|
{n:'Supply Chain Auto',ico:'⛓️',s:'live',api:'supply-chain-factory.php',lines:437,links:['supply-chain.html'],v:'auto-fill ALL',desc:'Auto-generate ALL missing resources in one call'},
|
|
{n:'Auto Supply',ico:'📦',s:'live',api:'auto-supply.php',lines:73,links:['auto-supply.html'],v:'auto-provision',desc:'Automatic resource supply chain'},
|
|
{n:'FreeDNS Factory',ico:'🌍',s:'live',api:'freedns.php',lines:525,links:['freedns-factory.html'],v:'178 accounts',desc:'FreeDNS account creation with captcha solving'},
|
|
{n:'Temp Email Factory',ico:'📧',s:'live',api:'temp-email.php',lines:139,links:['temp-email-factory.html','temp-email-manager.html'],v:'disposable',desc:'Generate disposable emails for signups'},
|
|
{n:'Phone Generator',ico:'📱',s:'live',api:'phone-generator.php',lines:139,links:['phone-generator.html'],v:'virtual phones',desc:'Generate phone numbers for verification'},
|
|
{n:'CVC Vault',ico:'🔒',s:'live',api:'cvc-vault.php',lines:139,links:['cvc-vault.html'],v:'card vault',desc:'Virtual cards for automated signups'},
|
|
{n:'Captcha Solver',ico:'🤖',s:'live',api:'captcha-solver.php',lines:139,links:['captcha-solver.html'],v:'2captcha',desc:'Automated captcha solving for account creation'},
|
|
{n:'Mail Personas',ico:'🎭',s:'live',api:'personas.php',lines:73,links:['mail-personas.html'],v:'194 personas',desc:'Sender identity rotation with realistic profiles'},
|
|
{n:'Provider Onboarding',ico:'🚀',s:'live',api:'provider-manager.php',lines:253,links:['provider-onboarding.html'],v:'onboard',desc:'New provider setup wizard'},
|
|
]},
|
|
|
|
// ── STAGE 4: INFRASTRUCTURE ──
|
|
{id:'infra',ico:'🏗️',title:'INFRASTRUCTURE & SERVERS',color:'--teal',modules:[
|
|
{n:'Operations Overview',ico:'🗺️',s:'live',api:'mta.php',lines:152,links:['operations-overview.html'],v:'9 servers',desc:'MTA server management, 1 active (MTA-EU)'},
|
|
{n:'System Dashboard',ico:'🖥️',s:'live',api:'arsenal-health.php',lines:7,links:['system-dashboard.html'],v:'health',desc:'System health overview'},
|
|
{n:'Warming Engine',ico:'🔥',s:'live',api:'warmup-engine.php',lines:508,links:['warming-engine.html'],v:'34,425/day',desc:'1342 accounts warming, day 8, graduated pipeline'},
|
|
{n:'Cloudflare Manager',ico:'🔧',s:'live',api:'cloudflare-manager.php',lines:173,links:['cloudflare-manager.html','domain-manager.html'],v:'956 domains',desc:'Real CF API: batch DNS configure'},
|
|
{n:'Cloudflare Accounts',ico:'☁️',s:'live',api:'cf-auto-keygen.php',lines:277,links:['cloudflare-accounts.html'],v:'38 accounts',desc:'CF account management + auto key extraction'},
|
|
{n:'Reputation Monitor',ico:'🛡️',s:'live',api:'reputation.php',lines:94,links:['reputation-monitor.html','bounce-manager.html'],v:'cron 30min',desc:'Blacklist checking and reputation scoring'},
|
|
{n:'Blacklist Monitor',ico:'🚫',s:'live',api:'blacklist.php',lines:22,links:['blacklist-monitor.html'],v:'monitor',desc:'IP/domain blacklist monitoring'},
|
|
{n:'PTR Discovery',ico:'🌐',s:'live',api:'ptr-discovery.php',lines:252,links:['ptr-discovery.html'],v:'rDNS set',desc:'PTR/rDNS analysis and configuration'},
|
|
{n:'Seed Engine',ico:'🧹',s:'live',api:'seed-cleaner.php',lines:139,links:['seed-cleaner.html','test-results-live.html','inbox-tester.html'],v:'51,454 seeds',desc:'Seed list management and validation'},
|
|
{n:'Cloud Cost Monitor',ico:'💲',s:'live',api:'cost-tracker.php',lines:212,links:['cloud-cost-monitor.html'],v:'$$$ tracking',desc:'Per-server cost tracking and analysis'},
|
|
{n:'Configuration Manager',ico:'⚙️',s:'live',api:'config-manager.php',lines:25,links:['configuration-manager.html'],v:'config',desc:'System configuration management'},
|
|
{n:'DNS Push Engine',ico:'📤',s:'live',api:'dns-push.php',lines:427,links:['domain-manager.html'],v:'956 domains',desc:'Auto-push DNS to CF/Namecheap/FreeDNS'},
|
|
{n:'Host Hunter',ico:'🔎',s:'live',api:'host.php',lines:73,links:['host-hunter.html'],v:'discover',desc:'Discover hosting providers and clean IPs'},
|
|
{n:'World Map Live',ico:'🌍',s:'live',api:'world-map.php',lines:139,links:['world-map-live.html'],v:'geo viz',desc:'Real-time geo visualization of activity'},
|
|
]},
|
|
|
|
// ── STAGE 5: STEALTH & DARK OPS ──
|
|
{id:'stealth',ico:'🎭',title:'STEALTH & DARK OPS',color:'--pink',modules:[
|
|
{n:'GAN Adversarial',ico:'⚡',s:'live',api:'gan-adversarial.php',lines:216,links:['gan-adversarial.html'],v:'filter evasion',desc:'Test + mutate HTML to bypass spam filters'},
|
|
{n:'Adversarial Sandbox',ico:'🧪',s:'live',api:'adversarial-sandbox.php',lines:159,links:['adversarial-sandbox.html'],v:'test sandbox',desc:'Safe testing environment for filter bypass'},
|
|
{n:'Pattern Shuffler',ico:'🔀',s:'live',api:'pattern-shuffler.php',lines:139,links:['pattern-shuffler.html'],v:'randomize',desc:'Randomize email structure to avoid fingerprinting'},
|
|
{n:'Behavioral Mimicry',ico:'🎭',s:'live',api:'behavioral-mimicry.php',lines:55,links:['behavioral-mimicry.html'],v:'mimic MUA',desc:'Mimic real user email behavior patterns'},
|
|
{n:'MUA Mimicry',ico:'📧',s:'live',api:'mua-mimicry.php',lines:55,links:['mua-mimicry.html'],v:'client spoof',desc:'Mail User Agent header mimicry'},
|
|
{n:'Neural DOM Mutator',ico:'🧬',s:'live',api:'neural-dom-mutator.php',lines:319,links:['neural-dom-mutator.html'],v:'DOM mutate',desc:'AI-powered HTML DOM mutation'},
|
|
{n:'Fingerprint Sync',ico:'🔏',s:'live',api:'fingerprint-sync.php',lines:168,links:['fingerprint-sync.html'],v:'sync FP',desc:'Browser/email fingerprint synchronization'},
|
|
{n:'OCR Noise Forge',ico:'🖼️',s:'live',api:'ocr-noise-forge.php',lines:55,links:['ocr-noise-forge.html'],v:'anti-OCR',desc:'Generate noise to defeat OCR-based spam filters'},
|
|
{n:'Trap Detector',ico:'🪤',s:'live',api:'trap-detector.php',lines:220,links:['trap-detector.html'],v:'honeypot detect',desc:'Detect spamtrap/honeypot emails before sending'},
|
|
{n:'Sandbox Decoy',ico:'🪤',s:'live',api:'sandbox-decoy.php',lines:187,links:['sandbox-decoy.html'],v:'decoy',desc:'Sandbox detection and decoy responses'},
|
|
{n:'Shadow Responder',ico:'👤',s:'live',api:'shadow-responder.php',lines:157,links:['shadow-responder.html'],v:'shadow',desc:'Auto-respond to probe/test emails'},
|
|
{n:'Session Hijacker',ico:'🔐',s:'live',api:'session-hijacker.php',lines:55,links:['session-hijacker.html'],v:'session mgmt',desc:'Session management and token handling'},
|
|
{n:'SMTP Smuggler',ico:'📦',s:'live',api:'smtp-smuggler.php',lines:55,links:['smtp-smuggler.html'],v:'stealth SMTP',desc:'SMTP smuggling techniques for stealth delivery'},
|
|
{n:'DeepFake Social',ico:'🎭',s:'live',api:'deepfake-social.php',lines:114,links:['deepfake-social.html'],v:'social proof',desc:'Generate social proof and trust indicators'},
|
|
{n:'Ghost Network',ico:'👻',s:'live',api:'ghost-network.php',lines:72,links:['ghost-network.html'],v:'ghost infra',desc:'Ghost infrastructure for stealth operations'},
|
|
]},
|
|
|
|
// ── STAGE 6: DARK DATA & SCRAPING ──
|
|
{id:'dark',ico:'🕵️',title:'DATA SCRAPING & DARK INTEL',color:'--indigo',modules:[
|
|
{n:'Harvest Manager',ico:'🌾',s:'live',api:'harvest-manager.php',lines:139,links:['harvest-manager.html'],v:'7.35M contacts',desc:'Web scraping and email extraction'},
|
|
{n:'Scrapping Factory',ico:'🕷️',s:'live',api:'scrapping-factory.php',lines:139,links:['scrapping-factory.html'],v:'3,003 results',desc:'Mass web scraping engine'},
|
|
{n:'Advanced Scraping',ico:'🕷️',s:'live',api:'advanced-scraping.php',lines:30,links:['advanced-craping-factory.html'],v:'advanced',desc:'Advanced scraping with proxy rotation'},
|
|
{n:'Scraping Enhanced',ico:'🕷️',s:'live',api:'advanced-scraping.php',lines:30,links:['scrapping-factory-enhanced.html'],v:'enhanced',desc:'Enhanced scraping with AI extraction'},
|
|
{n:'Newsletter Extractor',ico:'📰',s:'live',api:'newsletter.php',lines:19,links:['newsletter-extractor.html'],v:'extract lists',desc:'Extract subscriber lists from newsletters'},
|
|
{n:'Dark Scout',ico:'🔦',s:'live',api:'dark-scout.php',lines:55,links:['dark-scout.html'],v:'intelligence',desc:'Dark web intelligence gathering'},
|
|
{n:'Dark Scraper',ico:'🌑',s:'live',api:'dark-scraper.php',lines:29,links:['dark-scraper.html'],v:'6 DB queries',desc:'Dark web data scraping'},
|
|
{n:'Dark Slot',ico:'🎰',s:'live',api:'dark.php',lines:19,links:['dark-slot.html'],v:'slot ops',desc:'Dark web operations management'},
|
|
{n:'Dark Data',ico:'🗃️',s:'live',api:'dark.php',lines:19,links:['dark-data.html'],v:'leaked DBs',desc:'Process leaked database collections'},
|
|
{n:'Dark Matrix',ico:'🔢',s:'live',api:'dark.php',lines:19,links:['dark-matrix.html'],v:'matrix ops',desc:'Dark operations matrix'},
|
|
{n:'Scout Intelligence',ico:'📡',s:'live',api:'scout-intelligence.php',lines:24,links:['scout-intelligence.html'],v:'OSINT',desc:'Open-source intelligence gathering'},
|
|
]},
|
|
|
|
// ── STAGE 7: DATA & CRM ──
|
|
{id:'data',ico:'💾',title:'DATA, CRM & SEGMENTATION',color:'--lime',modules:[
|
|
{n:'Data Manager',ico:'💾',s:'live',api:'data-manager.php',lines:139,links:['data-manager.html'],v:'904K contacts',desc:'Encrypted contacts management AES-256'},
|
|
{n:'Send Data Factory',ico:'🏭',s:'live',api:'send-factory.php',lines:139,links:['send-data-factory.html'],v:'data prep',desc:'Prepare and segment data for sending'},
|
|
{n:'ADX Bridge',ico:'🔗',s:'live',api:'db-connect.php',lines:274,links:['data-manager.html'],v:'6.65M contacts',desc:'dblink bridge to adx_clients database'},
|
|
{n:'Lookalike Engine',ico:'👥',s:'live',api:'lookalike-engine.php',lines:139,links:['lookalike-engine.html'],v:'audience clone',desc:'Clone best-converting audience segments'},
|
|
{n:'Data Intelligence',ico:'🧠',s:'live',api:'data-intelligence.php',lines:291,links:[],v:'auto-segment',desc:'Auto-segment contacts by behavior'},
|
|
{n:'Suppression Manager',ico:'🚫',s:'live',api:'suppression-import.php',lines:136,links:[],v:'5 suppressed',desc:'Hard bounce auto-suppression + CSV import'},
|
|
{n:'Auto Mirroring',ico:'🪞',s:'live',api:'auto-mirroring.php',lines:18,links:['auto-mirroring.html'],v:'mirror',desc:'Auto-mirror data across servers'},
|
|
{n:'Aqualink',ico:'💧',s:'live',api:'aqualink.php',lines:55,links:['aqualink.html'],v:'data flow',desc:'Data pipeline and flow management'},
|
|
{n:'Cross-Channel Sync',ico:'🔗',s:'live',api:'multichannel-bridge.php',lines:142,links:['cross-channel-sync.html'],v:'multi-channel',desc:'Sync data across email/SMS/ads channels'},
|
|
]},
|
|
|
|
// ── STAGE 8: OFFERS & CREATIVE ──
|
|
{id:'offers',ico:'💰',title:'OFFERS, CREATIVE & CONTENT',color:'--amber',modules:[
|
|
{n:'Offer Engine',ico:'💰',s:'live',api:'offer-engine.php',lines:108,links:['offer-engine.html'],v:'139 offers',desc:'38 CX3 + 101 DblM across 19 countries'},
|
|
{n:'Affiliate Monitor',ico:'📡',s:'live',api:'affiliate-monitor.php',lines:314,links:['affiliate-monitor.html'],v:'CX3 sync',desc:'Auto-sync offers from CX3/Everflow networks'},
|
|
{n:'Offer Quality Guard',ico:'✅',s:'live',api:'offer-quality-guard.php',lines:383,links:[],v:'87 scored',desc:'Score offer quality, suppress low-performers'},
|
|
{n:'Sponsor Manager',ico:'🤝',s:'live',api:'sponsor-manager.php',lines:335,links:[],v:'sponsors',desc:'Manage sponsor relationships and offers'},
|
|
{n:'Header Builder',ico:'📋',s:'live',api:'header-builder.php',lines:27,links:[],v:'Exchange hdrs',desc:'Generate Exchange Organization headers (97% inbox)'},
|
|
{n:'Link Wrapper',ico:'🔗',s:'live',api:'link-wrapper.php',lines:29,links:[],v:'URL cloak',desc:'URL cloaking and redirect wrapping'},
|
|
{n:'SMS Templates',ico:'📝',s:'live',api:'sms-templates.php',lines:139,links:['sms-templates.html'],v:'SMS content',desc:'SMS message template management'},
|
|
]},
|
|
|
|
// ── STAGE 9: SEND ENGINES ──
|
|
{id:'send',ico:'🚀',title:'SEND ENGINES & DELIVERY',color:'--green',modules:[
|
|
{n:'Send Process',ico:'🚀',s:'live',api:'brain_unified_send.php',lines:206,links:['send-process.html','send-process-fix.html'],v:'19 sent, 10 OK',desc:'Main send process with smart routing'},
|
|
{n:'Semi-Auto Send',ico:'⚡',s:'live',api:'semi-auto-send.php',lines:184,links:['semi-auto-send.html'],v:'semi-auto',desc:'Semi-automated sending with brain assist'},
|
|
{n:'Send Engines Dashboard',ico:'⚙️',s:'live',api:'send-engine.php',lines:26,links:['send-engines-dashboard.html'],v:'multi-engine',desc:'Overview of all send engines'},
|
|
{n:'Graph/EWS Sender',ico:'📨',s:'live',api:'graph.php',lines:15,links:['graph-ews-sender.html'],v:'Graph API',desc:'Send via Microsoft Graph API + EWS'},
|
|
{n:'SMS Send Engine',ico:'📤',s:'live',api:'sms-engine.php',lines:139,links:['sms-send-engine.html'],v:'SMS send',desc:'SMS delivery engine'},
|
|
{n:'Bounce Processor',ico:'🔄',s:'live',api:'bounce-processor.php',lines:84,links:[],v:'9 bounces',desc:'Auto-suppress hard bounces, cron 15min'},
|
|
{n:'Campaign Orchestrator',ico:'🔄',s:'live',api:'send-workflow-api.php',lines:434,links:[],v:'434L code',desc:'Multi-step campaign orchestration'},
|
|
{n:'Auto-Scheduler',ico:'📅',s:'live',api:'auto-scheduler.php',lines:188,links:[],v:'optimal timing',desc:'Schedule sends at optimal times per ISP'},
|
|
{n:'Domain Bridge',ico:'🌐',s:'live',api:'domain-bridge.php',lines:199,links:[],v:'domain rotate',desc:'Auto-rotate sending domains by reputation'},
|
|
{n:'Edge Routing',ico:'🌐',s:'live',api:'edge-routing.php',lines:100,links:['edge-routing.html'],v:'proxy mesh',desc:'Route through residential proxy network'},
|
|
]},
|
|
|
|
// ── STAGE 10: TRACKING & ANALYTICS ──
|
|
{id:'track',ico:'📡',title:'TRACKING & ANALYTICS',color:'--blue',modules:[
|
|
{n:'Open Tracker',ico:'👁️',s:'live',api:'open.php',lines:32,links:['tracking-arsenal.html'],v:'LIVE pixel',desc:'1x1 pixel tracking + DB log'},
|
|
{n:'Click Tracker',ico:'🖱️',s:'live',api:'click.php',lines:55,links:['tracking-arsenal.html'],v:'LIVE 302',desc:'Click tracking with 302 redirect'},
|
|
{n:'Conversion Postback',ico:'💵',s:'live',api:'conversion.php',lines:51,links:[],v:'$0 (test only)',desc:'CX3 postback endpoint → revenue table'},
|
|
{n:'Tracking Arsenal',ico:'📡',s:'live',api:'tracking.php',lines:14,links:['tracking-arsenal.html'],v:'arsenal',desc:'Unified tracking overview'},
|
|
{n:'Test Send + Tracking',ico:'🧪',s:'live',api:'data.php',lines:24,links:['test-send-tracking-full.html'],v:'E2E test',desc:'Full E2E send + tracking test'},
|
|
{n:'Realtime Analytics',ico:'📈',s:'live',api:'realtime-analytics.php',lines:159,links:[],v:'live events',desc:'Live event tracking and campaign analytics'},
|
|
{n:'KB Sync Monitor',ico:'📡',s:'live',api:'knowledge-base.php',lines:34,links:['kb-sync-monitor.html'],v:'KB sync',desc:'Knowledge base synchronization monitor'},
|
|
{n:'Test Results Live',ico:'📊',s:'live',api:'seed-inbox.php',lines:95,links:['test-results-live.html'],v:'seed results',desc:'Live seed inbox test results'},
|
|
]},
|
|
|
|
// ── STAGE 11: REVENUE & FINANCE ──
|
|
{id:'revenue',ico:'💎',title:'REVENUE, FINANCE & ROI',color:'--rose',modules:[
|
|
{n:'Financial Guard',ico:'💰',s:'live',api:'financial.php',lines:17,links:['financial-guard.html'],v:'ROI dashboard',desc:'Revenue, cost, profit per offer/day/ISP'},
|
|
{n:'Profit Orchestrator',ico:'💎',s:'live',api:'profit-orchestrator.php',lines:53,links:['profit-orchestrator.html'],v:'ROI optimize',desc:'Auto-pause unprofitable, scale winners'},
|
|
{n:'CEO Dashboard',ico:'👔',s:'live',api:'ceo.php',lines:73,links:['ceo-dashboard.html'],v:'executive',desc:'Executive KPI overview'},
|
|
{n:'Performance Dashboard',ico:'⚡',s:'live',api:'analytics.php',lines:67,links:['performance-dashboard.html'],v:'multi-KPI',desc:'Multi-KPI performance tracking'},
|
|
{n:'Progression Dashboard',ico:'📈',s:'live',api:'analytics.php',lines:67,links:['progression-dashboard.html'],v:'growth',desc:'Growth and progression tracking'},
|
|
{n:'Arbitrage Bot',ico:'⚖️',s:'live',api:'arbitrage-bot.php',lines:125,links:['arbitrage-bot.html'],v:'offer compare',desc:'Compare payouts across networks, find arbitrage'},
|
|
{n:'Ads Commander',ico:'🎯',s:'live',api:'ads-commander-api.php',lines:292,links:['ads-commander.html'],v:'292L code',desc:'Multi-platform ads management'},
|
|
]},
|
|
|
|
// ── STAGE 12: COMMAND & CONTROL ──
|
|
{id:'c2',ico:'🎛️',title:'COMMAND, CONTROL & MONITORING',color:'--indigo',modules:[
|
|
{n:'Command Center',ico:'🎛️',s:'live',api:'multi',links:['command-center.html'],v:'unified C2',desc:'Unified command and control dashboard'},
|
|
{n:'Control Hub',ico:'🎛️',s:'live',api:'control-hub.php',lines:261,links:['control-hub.html'],v:'hub',desc:'Centralized control hub'},
|
|
{n:'Chef Boss',ico:'👨🍳',s:'live',api:'hamid-chef.php',lines:347,links:['chef-boss.html'],v:'HAMID chef',desc:'HAMID AI chef orchestrator'},
|
|
{n:'BPMS Gare',ico:'🚉',s:'live',api:'bpms-flows.php',lines:179,links:['bpms-gare.html'],v:'workflow',desc:'Business process workflow orchestration'},
|
|
{n:'BPMS Command',ico:'🎛️',s:'live',api:'bpms-command-center.php',lines:154,links:['bpms-command-center.html'],v:'BPM',desc:'Business process command center'},
|
|
{n:'Orchestrator Central',ico:'🎯',s:'live',api:'orchestrator-central.php',lines:37,links:['orchestrator-central.html'],v:'orchestrate',desc:'Central orchestration panel'},
|
|
{n:'Workflow Visual',ico:'📐',s:'live',api:'',links:['workflow-visual.html'],v:'visual',desc:'Visual workflow builder'},
|
|
{n:'N8N Bridge',ico:'🔌',s:'live',api:'n8n-orchestrator.php',lines:124,links:['n8n-bridge.html'],v:'N8N',desc:'N8N workflow automation bridge'},
|
|
{n:'Sentinel V4',ico:'🛡️',s:'live',api:'vault-guard.php',lines:240,links:['sentinel-v4.html'],v:'security',desc:'Security monitoring V4'},
|
|
{n:'Sentinel V5',ico:'🛡️',s:'live',api:'sentinel-v5.php',lines:135,links:['sentinel-v5-dashboard.html'],v:'V5 enhanced',desc:'Enhanced security with auto-healing'},
|
|
{n:'Sentinel Dashboard',ico:'🛡️',s:'live',api:'sentinel-engine.php',lines:218,links:['sentinel-dashboard.html'],v:'sentinel',desc:'Security overview dashboard'},
|
|
{n:'Sentinel Vault',ico:'🛡️',s:'live',api:'sentinel-vault.php',lines:151,links:['sentinel-vault-controller.html'],v:'vault ctrl',desc:'Vault access control'},
|
|
{n:'Guardian Dashboard',ico:'🛡️',s:'live',api:'guardian-scan.php',lines:106,links:['guardian-dashboard.html'],v:'guardian',desc:'Security guardian overview'},
|
|
{n:'Health Monitor',ico:'💚',s:'live',api:'health.php',lines:92,links:['health.html'],v:'health',desc:'System health monitoring'},
|
|
{n:'Status',ico:'🟢',s:'live',api:'system-status.php',lines:14,links:['status.html'],v:'status',desc:'System status page'},
|
|
{n:'Beast Monitor',ico:'🦁',s:'live',api:'',links:['beast-monitor.html'],v:'beast',desc:'Infrastructure beast monitoring'},
|
|
{n:'Wevads Monitor V3',ico:'📡',s:'live',api:'',links:['wevads-monitor-v3.html'],v:'V3 monitor',desc:'Wevads monitoring V3'},
|
|
{n:'Dashboard Etat',ico:'📋',s:'live',api:'health-check.php',lines:41,links:['dashboard-etat.html'],v:'état',desc:'Screen status dashboard'},
|
|
{n:'Advanced Dashboard',ico:'📊',s:'live',api:'advanced-capabilities.php',lines:14,links:['advanced-dashboard.html'],v:'advanced',desc:'Advanced analytics dashboard'},
|
|
{n:'Index / Home',ico:'🏠',s:'live',api:'api-gateway-light.php',lines:302,links:['index.html'],v:'home',desc:'Main index / home page'},
|
|
{n:'Pipeline Monitor',ico:'🔄',s:'live',api:'',links:['pipeline-monitor.html'],v:'pipeline',desc:'Pipeline health monitoring'},
|
|
{n:'E2E Pipeline',ico:'🔄',s:'live',api:'multi',links:['e2e-pipeline.html'],v:'E2E flow',desc:'End-to-end pipeline monitor'},
|
|
{n:'Self-Healing',ico:'🩹',s:'live',api:'self-healing.php',lines:139,links:['self-healing.html'],v:'auto-fix',desc:'Self-healing infrastructure'},
|
|
{n:'Auto-Healing',ico:'🩹',s:'live',api:'healing.php',lines:34,links:['auto-healing-dashboard.html','auto-healing-rotation.html'],v:'rotation',desc:'Auto-healing with IP/domain rotation'},
|
|
{n:'Smart Failover',ico:'🔄',s:'live',api:'failover.php',lines:15,links:['smart-failover.html'],v:'failover',desc:'Smart failover between providers'},
|
|
{n:'Test Integration',ico:'🧪',s:'live',api:'test.php',lines:12,links:['test-integration.html'],v:'test',desc:'Integration testing suite'},
|
|
{n:'Adherence Monitor',ico:'📏',s:'live',api:'',links:['adh\u00e9rence-monitor.html'],v:'adherence',desc:'Policy adherence monitoring'},
|
|
// Ads platform modules
|
|
{n:'YouTube Factory',ico:'🎬',s:'live',api:'youtube-factory.php',lines:120,links:['youtube-factory.html'],v:'YT channels',desc:'YouTube channel and content factory'},
|
|
{n:'Facebook Ads',ico:'📘',s:'live',api:'hamid-chef.php',links:['facebook-ads.html'],v:'FB',desc:'Facebook ads management'},
|
|
{n:'Google Ads',ico:'🔍',s:'live',api:'hamid-chef.php',links:['google-ads.html'],v:'Google',desc:'Google ads management'},
|
|
{n:'TikTok Ads',ico:'🎵',s:'live',api:'hamid-chef.php',links:['tiktok-ads.html'],v:'TikTok',desc:'TikTok ads management'},
|
|
{n:'LinkedIn Ads',ico:'💼',s:'live',api:'hamid-chef.php',links:['linkedin-ads.html'],v:'LinkedIn',desc:'LinkedIn ads management'},
|
|
{n:'Twitter/X Ads',ico:'🐦',s:'live',api:'hamid-chef.php',links:['twitter-ads.html'],v:'X/Twitter',desc:'Twitter/X ads management'},
|
|
{n:'Snapchat Ads',ico:'👻',s:'live',api:'hamid-chef.php',links:['snapchat-ads.html'],v:'Snap',desc:'Snapchat ads management'},
|
|
{n:'Pinterest Ads',ico:'📌',s:'live',api:'hamid-chef.php',links:['pinterest-ads.html'],v:'Pinterest',desc:'Pinterest ads management'},
|
|
{n:'Native Ads',ico:'📰',s:'live',api:'hamid-chef.php',links:['native-ads.html'],v:'Native',desc:'Native ads management'},
|
|
]},
|
|
];
|
|
|
|
// ═══════════════════════════════════════════════════════════════
|
|
// RENDER
|
|
// ═══════════════════════════════════════════════════════════════
|
|
let currentFilter='all';
|
|
|
|
function setFilter(f,el){
|
|
currentFilter=f;
|
|
document.querySelectorAll('.filter-btn').forEach(b=>b.classList.remove('active'));
|
|
el.classList.add('active');
|
|
filterModules();
|
|
}
|
|
|
|
function filterModules(){
|
|
const q=document.getElementById('search').value.toLowerCase();
|
|
document.querySelectorAll('.mod').forEach(m=>{
|
|
const s=m.dataset.status;
|
|
const txt=m.dataset.search;
|
|
const showFilter=currentFilter==='all'||s===currentFilter;
|
|
const showSearch=!q||txt.includes(q);
|
|
m.style.display=(showFilter&&showSearch)?'':'none';
|
|
});
|
|
// Update stage visibility
|
|
document.querySelectorAll('.stage').forEach(st=>{
|
|
const visible=st.querySelectorAll('.mod[style=""], .mod:not([style])');
|
|
const hidden=st.querySelectorAll('.mod[style*="none"]');
|
|
const total=st.querySelectorAll('.mod').length;
|
|
if(visible.length===0&&hidden.length===total){
|
|
st.style.display='none';
|
|
}else{
|
|
st.style.display='';
|
|
}
|
|
});
|
|
}
|
|
|
|
function toggleStage(el){
|
|
el.closest('.stage').classList.toggle('open');
|
|
}
|
|
|
|
function render(){
|
|
const pipe=document.getElementById('pipeline');
|
|
let totalMods=0,live=0,ready=0,shell=0,broken=0;
|
|
let allLinks=new Set();
|
|
|
|
stages.forEach((st,si)=>{
|
|
st.modules.forEach(m=>{
|
|
totalMods++;
|
|
if(m.s==='live')live++;
|
|
else if(m.s==='ready')ready++;
|
|
else if(m.s==='broken')broken++;
|
|
else shell++;
|
|
m.links.forEach(l=>allLinks.add(l));
|
|
});
|
|
});
|
|
|
|
document.getElementById('sub').textContent=`${totalMods} modules • ${stages.length} stages • ${allLinks.size} screens linked • ${live} live, ${ready} ready, ${shell} shell`;
|
|
|
|
document.getElementById('stats').innerHTML=`
|
|
<div class="stat green"><div class="v">${live}</div><div class="l">🟢 Live</div></div>
|
|
<div class="stat amber"><div class="v">${ready}</div><div class="l">🟡0 Ready</div></div>
|
|
<div class="stat"><div class="v">${shell}</div><div class="l">⚪0 Shell</div></div>
|
|
<div class="stat red"><div class="v">${broken}</div><div class="l">🔴 Broken</div></div>
|
|
<div class="stat blue"><div class="v">${totalMods}</div><div class="l">Total</div></div>
|
|
<div class="stat"><div class="v">${allLinks.size}</div><div class="l">Screens</div></div>
|
|
`;
|
|
|
|
let html='';
|
|
stages.forEach((st,si)=>{
|
|
const liveC=st.modules.filter(m=>m.s==='live').length;
|
|
const readyC=st.modules.filter(m=>m.s==='ready').length;
|
|
const shellC=st.modules.filter(m=>m.s==='shell').length;
|
|
|
|
html+=`<div class="stage${si<4?' open':''}">
|
|
<div class="stage-head" onclick="toggleStage(this)">
|
|
<div class="stage-title"><span class="ico">${st.ico}</span> ${st.title}</div>
|
|
<div class="stage-badge">
|
|
${liveC?`<span class="badge ok">${liveC} live</span>`:''}
|
|
${readyC?`<span class="badge warn">${readyC} ready</span>`:''}
|
|
${shellC?`<span class="badge info">${shellC} shell</span>`:''}
|
|
<span class="badge count">${st.modules.length} modules</span>
|
|
<span class="chevron">▼</span>
|
|
</div>
|
|
</div>
|
|
<div class="stage-body"><div class="grid">`;
|
|
|
|
st.modules.forEach(m=>{
|
|
const dotClass=m.s;
|
|
const apiLabel=m.api?(m.lines?`${m.api} (${m.lines}L)`:m.api):'no API';
|
|
const apiClass=m.s==='shell'||!m.api?'shell':'';
|
|
const search=[m.n,m.desc,m.api||'',m.v,...m.links].join(' ').toLowerCase();
|
|
|
|
html+=`<div class="mod" data-status="${m.s}" data-search="${search}" title="${m.desc}">
|
|
<div class="mod-api ${apiClass}">${m.api||'—'}</div>
|
|
<div class="mod-head">
|
|
<div class="mod-name"><span class="mi">${m.ico}</span> ${m.n}</div>
|
|
<div class="mod-dot ${dotClass}"></div>
|
|
</div>
|
|
<div class="mod-meta"><span class="mod-val">${m.v}</span></div>
|
|
${m.links.length?`<div class="mod-links">${m.links.map(l=>`<a class="mod-link" href="${l}" target="_self">${l.replace('.html','')}</a>`).join('')}</div>`:''}
|
|
</div>`;
|
|
});
|
|
|
|
html+=`</div></div></div>`;
|
|
if(si<stages.length-1) html+=`<div class="flow-arrow">▼ ▼ ▼</div>`;
|
|
});
|
|
|
|
pipe.innerHTML=html;
|
|
}
|
|
|
|
render();
|
|
</script>
|
|
<?php include("/opt/wevads-arsenal/public/universal-drill.html"); ?>
|
|
</body>
|
|
</html>
|