CRITICAL: restore all files from 4f7e8eb, proper IP replace without corruption
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
// Connexion DB
|
||||
try {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
// Connexion DB
|
||||
try {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$config = ['vnc_host'=>'89.167.40.150','vnc_port'=>5900,'novnc_port'=>6080,'scripts_dir'=>'/opt/wevads/scripts/office365','data_dir'=>'/opt/wevads/storage/office365'];
|
||||
$config = ['vnc_host'=>'95.216.167.89','vnc_port'=>5900,'novnc_port'=>6080,'scripts_dir'=>'/opt/wevads/scripts/office365','data_dir'=>'/opt/wevads/storage/office365'];
|
||||
$db = ['host'=>'localhost','port'=>'5432','dbname'=>'adx_system','user'=>'admin','password'=>'admin123'];
|
||||
@mkdir($config['scripts_dir'],0755,true);@mkdir($config['data_dir'],0755,true);
|
||||
function getDB(){global $db;try{return new PDO("pgsql:host={$db['host']};port={$db['port']};dbname={$db['dbname']}",$db['user'],$db['password'],[PDO::ATTR_ERRMODE=>PDO::ERRMODE_EXCEPTION]);}catch(Exception $e){return null;}}
|
||||
|
||||
@@ -103,7 +103,7 @@ try {
|
||||
// 5. Demander à HAMID IA d'analyser
|
||||
echo "🤖 CONSULTATION HAMID IA POUR DIAGNOSTIC...\n";
|
||||
|
||||
$prompt = "Problème Brain sur serveur 89.167.40.150 (Backend ADX port 5821).
|
||||
$prompt = "Problème Brain sur serveur 95.216.167.89 (Backend ADX port 5821).
|
||||
|
||||
Données actuelles:
|
||||
- Brain winners actifs: " . count($winners) . "
|
||||
|
||||
@@ -149,7 +149,7 @@ switch($action) {
|
||||
|
||||
case 'reputation':
|
||||
// Check IP reputation via DNS
|
||||
$ips = ['89.167.40.150', '151.80.235.110'];
|
||||
$ips = ['95.216.167.89', '151.80.235.110'];
|
||||
$r = [];
|
||||
foreach ($ips as $ip) {
|
||||
$reversed = implode('.', array_reverse(explode('.', $ip)));
|
||||
|
||||
@@ -141,7 +141,7 @@ class AuthWizard {
|
||||
'spf' => [
|
||||
'type' => 'TXT',
|
||||
'name' => '@',
|
||||
'value' => 'v=spf1 ip4:89.167.40.150 include:_spf.google.com ~all'
|
||||
'value' => 'v=spf1 ip4:95.216.167.89 include:_spf.google.com ~all'
|
||||
],
|
||||
'dkim' => [
|
||||
'type' => 'TXT',
|
||||
|
||||
@@ -470,7 +470,7 @@ Tu connais TOUTE l'infrastructure par cœur. Quand on te demande une action serv
|
||||
tu donnes la commande EXACTE, pas une approximation.
|
||||
|
||||
SERVEURS PRINCIPAUX:
|
||||
- Production WEVADS: 89.167.40.150 (port 5821 WEVADS, 5890 Arsenal)
|
||||
- Production WEVADS: 95.216.167.89 (port 5821 WEVADS, 5890 Arsenal)
|
||||
- GPU IA (Hetzner): 88.198.4.195 (RTX 4000 Ada 20GB, Ollama 11434)
|
||||
- MTA-EU Relay: 89.167.1.139 (PowerMTA, envoi email)
|
||||
- Huawei HW1: 110.238.76.155 (MTA secondaire)
|
||||
|
||||
@@ -672,7 +672,7 @@ body{font-family:system-ui;background:var(--bg);color:#fff;font-size:11px}
|
||||
<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 @ 89.167.40.150 --proxied=false</div><div class="desc">Ajout enregistrement A vers serveur</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>
|
||||
@@ -689,8 +689,8 @@ body{font-family:system-ui;background:var(--bg);color:#fff;font-size:11px}
|
||||
<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 @ 89.167.40.150 --zone=newdomain.com</div>
|
||||
<div class="ln ok">[A] Created: newdomain.com → 89.167.40.150 (DNS only)</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>
|
||||
|
||||
@@ -140,7 +140,7 @@ input[type=text] { background:#0d1117; border:1px solid #333; color:#e0e0e0; pad
|
||||
</ol>
|
||||
<p style="margin-top:15px; color:#f59e0b;">💡 <b>Raccourci</b>: Glisse ce bookmarklet dans ta barre de favoris, puis clique dessus sur la page Profile CF :</p>
|
||||
<p style="margin-top:8px;">
|
||||
<a class="bookmarklet" href="javascript:void(fetch('https://dash.cloudflare.com/api/v4/user',{credentials:'include'}).then(r=>r.json()).then(d=>{if(d.success){const k=prompt('API Key found! Your email: '+d.result.email+'\nPaste your Global API Key:');if(k)window.open('http://89.167.40.150:5821/api/cf-key-extractor.php?action=save_key_get&email='+encodeURIComponent(d.result.email)+'&key='+encodeURIComponent(k))}else alert('Login to CF first!')}).catch(e=>alert('Error: '+e)))">📎 CF Key Grabber</a>
|
||||
<a class="bookmarklet" href="javascript:void(fetch('https://dash.cloudflare.com/api/v4/user',{credentials:'include'}).then(r=>r.json()).then(d=>{if(d.success){const k=prompt('API Key found! Your email: '+d.result.email+'\nPaste your Global API Key:');if(k)window.open('http://95.216.167.89:5821/api/cf-key-extractor.php?action=save_key_get&email='+encodeURIComponent(d.result.email)+'&key='+encodeURIComponent(k))}else alert('Login to CF first!')}).catch(e=>alert('Error: '+e)))">📎 CF Key Grabber</a>
|
||||
<span style="color:#888; font-size:0.85em;">(glisser dans la barre de favoris)</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -71,7 +71,7 @@ case 'add_spf':
|
||||
if(!$zone_id) { echo json_encode(['status'=>'error','message'=>'zone_id required']); break; }
|
||||
|
||||
$creds = getCFCreds($db, $input['account_id'] ?? null);
|
||||
$spf = "v=spf1 $includes ip4:89.167.40.150 ip4:89.167.1.139 ~all";
|
||||
$spf = "v=spf1 $includes ip4:95.216.167.89 ip4:89.167.1.139 ~all";
|
||||
|
||||
// Delete existing SPF
|
||||
$existing = cfAPI('GET', "zones/$zone_id/dns_records?type=TXT&name=$domain", null, $creds['email'], $creds['api_key']);
|
||||
@@ -134,7 +134,7 @@ case 'batch_configure':
|
||||
$results = [];
|
||||
|
||||
// SPF
|
||||
$spf = "v=spf1 include:spf.protection.outlook.com include:_spf.google.com ip4:89.167.40.150 ip4:89.167.1.139 ~all";
|
||||
$spf = "v=spf1 include:spf.protection.outlook.com include:_spf.google.com ip4:95.216.167.89 ip4:89.167.1.139 ~all";
|
||||
$r1 = cfAPI('POST', "zones/$zone_id/dns_records", ['type'=>'TXT','name'=>'@','content'=>$spf,'ttl'=>3600], $creds['email'], $creds['api_key']);
|
||||
$results['spf'] = $r1['data']['success'] ?? false;
|
||||
|
||||
@@ -148,7 +148,7 @@ case 'batch_configure':
|
||||
$results['mx'] = $r3['data']['success'] ?? false;
|
||||
|
||||
// A record for mail subdomain
|
||||
$r4 = cfAPI('POST', "zones/$zone_id/dns_records", ['type'=>'A','name'=>'mail','content'=>'89.167.40.150','proxied'=>false,'ttl'=>3600], $creds['email'], $creds['api_key']);
|
||||
$r4 = cfAPI('POST', "zones/$zone_id/dns_records", ['type'=>'A','name'=>'mail','content'=>'95.216.167.89','proxied'=>false,'ttl'=>3600], $creds['email'], $creds['api_key']);
|
||||
$results['mail_a'] = $r4['data']['success'] ?? false;
|
||||
|
||||
// MTA-EU A record
|
||||
|
||||
@@ -118,7 +118,7 @@ try {
|
||||
<a href="/deliverads/"><i class="fas fa-paper-plane"></i> DELIVERADS</a>
|
||||
<a href="/deliverads/brain-admin.php"><i class="fas fa-brain"></i> Brain Admin</a>
|
||||
<a href="/n8n.php"><i class="fas fa-project-diagram"></i> n8n Embedded</a>
|
||||
<a href="http://89.167.40.150:5825" target="_blank"><i class="fas fa-external-link-alt"></i> n8n Direct</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank"><i class="fas fa-external-link-alt"></i> n8n Direct</a>
|
||||
<a href="/weval-orchestrator.php"><i class="fas fa-tasks"></i> Orchestrator</a>
|
||||
<a href="/hamid-control-center.php"><i class="fas fa-robot"></i> WEVAL IA</a>
|
||||
<a href="/api/n8n-connector.php?action=status&key=wevads-n8n-2026-secret-key" target="_blank"><i class="fas fa-plug"></i> API Status</a>
|
||||
@@ -176,7 +176,7 @@ try {
|
||||
<i class="fas fa-robot" style="color: var(--cyan);"></i>
|
||||
<span>HAMID Status</span>
|
||||
</a>
|
||||
<a href="http://89.167.40.150:5825/home/workflows" class="action-btn" target="_blank">
|
||||
<a href="http://95.216.167.89:5825/home/workflows" class="action-btn" target="_blank">
|
||||
<i class="fas fa-play-circle" style="color: var(--orange);"></i>
|
||||
<span>Gérer Workflows</span>
|
||||
</a>
|
||||
|
||||
@@ -81,7 +81,7 @@ try {
|
||||
$source_ip = $_SERVER['REMOTE_ADDR'] ?? '';
|
||||
$is_test = false;
|
||||
if (stripos($txn_id, 'test') !== false || stripos($txn_id, 'FINAL_') !== false) $is_test = true;
|
||||
$our_ips = ['89.167.40.150', '151.80.235.110', '127.0.0.1', '::1', '104.198.39.90', '35.226.26.185'];
|
||||
$our_ips = ['95.216.167.89', '151.80.235.110', '127.0.0.1', '::1', '104.198.39.90', '35.226.26.185'];
|
||||
if (in_array($source_ip, $our_ips)) $is_test = true;
|
||||
$source = $is_test ? 'test' : 'real';
|
||||
// Log conversion
|
||||
|
||||
@@ -47,7 +47,7 @@ $CRON_FILE = '/opt/wevads/crontab-sync.txt';
|
||||
$CRON_BACKUP = '/opt/wevads/crontab-sync.bak';
|
||||
|
||||
// Server 157 SSH config
|
||||
$S157_HOST = '89.167.40.150 /* was S157-dead */';
|
||||
$S157_HOST = '95.216.167.89 /* was S157-dead */';
|
||||
$S157_PORT = 49222;
|
||||
$S157_USER = 'root';
|
||||
$S157_PASS = '***DECOM***';
|
||||
@@ -347,7 +347,7 @@ case 'server157':
|
||||
|
||||
if ($sub === 'status') {
|
||||
$detail = getServer157Detail();
|
||||
echo json_encode(['success'=>true,'server'=>'89.167.40.150 /* was S157-dead */','data'=>$detail], JSON_PRETTY_PRINT);
|
||||
echo json_encode(['success'=>true,'server'=>'95.216.167.89 /* was S157-dead */','data'=>$detail], JSON_PRETTY_PRINT);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ $action = $_GET['action'] ?? $_POST['action'] ?? 'list';
|
||||
|
||||
// Server configs
|
||||
$servers = [
|
||||
'89' => ['host' => '127.0.0.1', 'label' => 'WEVADS ACTIF (89.167.40.150)', 'local' => true],
|
||||
'89' => ['host' => '127.0.0.1', 'label' => 'WEVADS ACTIF (95.216.167.89)', 'local' => true],
|
||||
//DECOM '157' => ['host' => '157.180.25.208', 'label' => 'WEVADS ANCIEN (157.180.25.208)', 'local' => false, 'port' => 49222, 'user' => 'root', 'pass' => 'fHH4v7etkX74']
|
||||
];
|
||||
|
||||
|
||||
@@ -92,7 +92,7 @@ case 'test_full':
|
||||
'tracking_urls' => [
|
||||
'open' => "http://consent.wevup.app/api/open.php?t=$tracking_id",
|
||||
'click' => "http://consent.wevup.app/api/click.php?t=$tracking_id&o=1",
|
||||
'conversion' => "http://89.167.40.150:5821/api/conversion.php?sub1=$tracking_id&amount=50&offer_id=1"
|
||||
'conversion' => "http://95.216.167.89:5821/api/conversion.php?sub1=$tracking_id&amount=50&offer_id=1"
|
||||
],
|
||||
'pipeline_flow' => 'pre_hooks(10) → bcg_local.py → post_hooks(4) → tracking(3 endpoints) → revenue'
|
||||
], JSON_PRETTY_PRINT);
|
||||
|
||||
@@ -61,6 +61,6 @@ case 'pending_summary':
|
||||
$r = pg_query($db, "SELECT provider_name, signup_url, COUNT(*) as pending_count FROM ia_provider_accounts WHERE status='pending' AND signup_url IS NOT NULL GROUP BY provider_name, signup_url ORDER BY COUNT(*) DESC");
|
||||
$summary = [];
|
||||
while($row=pg_fetch_assoc($r)) $summary[] = $row;
|
||||
echo json_encode(['status'=>'success','pending'=>$summary,'curl_one'=>"curl -s -X POST 'http://89.167.40.150:5821/api/ia-mass-activate.php' -H 'Content-Type: application/json' -d '{\"action\":\"activate_one\",\"provider\":\"PROVIDER\",\"api_key\":\"KEY\"}'", 'curl_clone'=>"curl -s -X POST 'http://89.167.40.150:5821/api/ia-mass-activate.php' -H 'Content-Type: application/json' -d '{\"action\":\"clone_key\",\"provider\":\"PROVIDER\",\"api_key\":\"KEY\"}'", 'note'=>'clone_key uses same API key for all pending accounts of that provider']);
|
||||
echo json_encode(['status'=>'success','pending'=>$summary,'curl_one'=>"curl -s -X POST 'http://95.216.167.89:5821/api/ia-mass-activate.php' -H 'Content-Type: application/json' -d '{\"action\":\"activate_one\",\"provider\":\"PROVIDER\",\"api_key\":\"KEY\"}'", 'curl_clone'=>"curl -s -X POST 'http://95.216.167.89:5821/api/ia-mass-activate.php' -H 'Content-Type: application/json' -d '{\"action\":\"clone_key\",\"provider\":\"PROVIDER\",\"api_key\":\"KEY\"}'", 'note'=>'clone_key uses same API key for all pending accounts of that provider']);
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@ header('Content-Type: application/json');
|
||||
echo json_encode([
|
||||
'platform' => 'WEVAL SEND API',
|
||||
'version' => '2.0',
|
||||
'base_url' => 'http://89.167.40.150:5821/api/',
|
||||
'base_url' => 'http://95.216.167.89:5821/api/',
|
||||
'endpoints' => [
|
||||
'Cloud Providers' => [
|
||||
'huawei.php' => 'Huawei Cloud - Servers, IPs, VPCs',
|
||||
@@ -36,13 +36,13 @@ echo json_encode([
|
||||
]
|
||||
],
|
||||
'dashboards' => [
|
||||
'main' => 'http://89.167.40.150:5821/dashboard.php',
|
||||
'orchestrator' => 'http://89.167.40.150:5821/campaign-orchestrator.php',
|
||||
'warmup' => 'http://89.167.40.150:5821/warmup-system.php',
|
||||
'automation' => 'http://89.167.40.150:5821/automation-hub.php',
|
||||
'cloud' => 'http://89.167.40.150:5821/cloud-manager.php',
|
||||
'dns' => 'http://89.167.40.150:5821/dns-manager.php',
|
||||
'import' => 'http://89.167.40.150:5821/import-system.php'
|
||||
'main' => 'http://95.216.167.89:5821/dashboard.php',
|
||||
'orchestrator' => 'http://95.216.167.89:5821/campaign-orchestrator.php',
|
||||
'warmup' => 'http://95.216.167.89:5821/warmup-system.php',
|
||||
'automation' => 'http://95.216.167.89:5821/automation-hub.php',
|
||||
'cloud' => 'http://95.216.167.89:5821/cloud-manager.php',
|
||||
'dns' => 'http://95.216.167.89:5821/dns-manager.php',
|
||||
'import' => 'http://95.216.167.89:5821/import-system.php'
|
||||
]
|
||||
], JSON_PRETTY_PRINT);
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
/**
|
||||
* iRESPONSE FUNCTIONS
|
||||
* S3 Placeholders + OVH Tracking Bridge
|
||||
* Server: 89.167.40.150 WEVADS Arsenal
|
||||
* Server: 95.216.167.89 WEVADS Arsenal
|
||||
* Date: 06 Mars 2026
|
||||
*/
|
||||
|
||||
function iResponsePlaceholders($contactId, $campaignId, $trackingId) {
|
||||
$s3Config = include(__DIR__ . '/s3-config.php');
|
||||
$s3Base = $s3Config['base_url'];
|
||||
$ovhBridge = 'http://89.167.40.150:5890/api/ovh-tracking-bridge.php';
|
||||
$ovhBridge = 'http://95.216.167.89:5890/api/ovh-tracking-bridge.php';
|
||||
|
||||
// Generate obfuscation tokens
|
||||
$anl = substr(md5($contactId . $campaignId), 0, 7);
|
||||
|
||||
@@ -9,7 +9,7 @@ switch ($action) {
|
||||
$url = $_POST['url'] ?? '';
|
||||
$code = substr(md5($url . time()), 0, 8);
|
||||
$pdo->prepare("INSERT INTO admin.wrapped_links (original_url, short_code) VALUES (?, ?) ON CONFLICT DO NOTHING")->execute([$url, $code]);
|
||||
echo json_encode(['original' => $url, 'wrapped' => "http://89.167.40.150:5821/r/$code", 'code' => $code]);
|
||||
echo json_encode(['original' => $url, 'wrapped' => "http://95.216.167.89:5821/r/$code", 'code' => $code]);
|
||||
break;
|
||||
case 'resolve':
|
||||
$code = $_GET['code'] ?? '';
|
||||
|
||||
@@ -34,7 +34,7 @@ switch($action) {
|
||||
echo json_encode(['success'=>true, 'verified'=>true]);
|
||||
break;
|
||||
case 'assign_ip':
|
||||
echo json_encode(['success'=>true, 'ip'=>'89.167.40.150']);
|
||||
echo json_encode(['success'=>true, 'ip'=>'95.216.167.89']);
|
||||
break;
|
||||
case 'run_antispam_script':
|
||||
echo json_encode(['success'=>true, 'rules_applied'=>15]);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
// OVH Tracking Bridge for iResponse
|
||||
// Forward tracking events to OVH 151.80.235.110
|
||||
// Server: 89.167.40.150 WEVADS Arsenal
|
||||
// Server: 95.216.167.89 WEVADS Arsenal
|
||||
|
||||
$action = $_GET['action'] ?? 'ping';
|
||||
$tid = $_GET['tid'] ?? '';
|
||||
|
||||
@@ -4,8 +4,8 @@ echo '<h3>⚔️ ARSENAL QUALITY CONTROL</h3>';
|
||||
|
||||
// Arsenal pages + APIs
|
||||
$checks = [
|
||||
'Login Arsenal' => 'http://89.167.40.150:5890/arsenal-login.php',
|
||||
'Screens Menu' => 'http://89.167.40.150:5890/menu.html',
|
||||
'Login Arsenal' => 'http://95.216.167.89:5890/arsenal-login.php',
|
||||
'Screens Menu' => 'http://95.216.167.89:5890/menu.html',
|
||||
'multiInstall JS' => 'ls -la /opt/wevads/public/scripts/pages/servers/multiInstall.js | grep -c "multiInstall"',
|
||||
'Arsenal Common JS' => 'ls -la /opt/wevads-arsenal/public/arsenal-common.js',
|
||||
'Crypto JAR' => 'ls -la /opt/wevads/app/api/adxapp.jar | awk "{print \}"'
|
||||
|
||||
@@ -7,7 +7,7 @@ $tests = [
|
||||
'Ollama Local' => 'curl -s -X POST http://88.198.4.195:11434/api/generate -d \'\{"model":"qwen2.5:14b","prompt":"test","stream":false\}\'',
|
||||
'vLLM GPU' => 'curl -s http://88.198.4.195:8000/health',
|
||||
'WEVIA API' => 'curl -s https://weval-consulting.com/api/weval-ia-full?q=hello',
|
||||
'Opus Endpoint' => 'curl -s http://89.167.40.150:5821/api/hamid-api.php',
|
||||
'Opus Endpoint' => 'curl -s http://95.216.167.89:5821/api/hamid-api.php',
|
||||
'Widget Chat' => 'curl -s https://weval-consulting.com | grep -c "chatbot"'
|
||||
];
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
// S3 Configuration for iResponse Tracking
|
||||
// Server: 89.167.40.150 WEVADS Arsenal
|
||||
// Server: 95.216.167.89 WEVADS Arsenal
|
||||
// Date: 06 Mars 2026
|
||||
|
||||
return [
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
// S88 WEVIA Bridge - S89 WEVADS calls S88 GPU/Brain
|
||||
// Server: 89.167.40.150 WEVADS Arsenal
|
||||
// Server: 95.216.167.89 WEVADS Arsenal
|
||||
// Target: 88.198.4.195 WEVIA/GPU
|
||||
|
||||
$action = $_GET['action'] ?? $_POST['action'] ?? 'ping';
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
// === SECURITY: IP Whitelist (added 2026-03-02) ===
|
||||
$allowed = array("127.0.0.1","89.167.40.150","46.62.220.135","88.198.4.195","151.80.235.110","89.167.1.139","105.159.122.54","41.250.206.28","41.251.40.10","41.250.81.114","41.251.82.55","::1");
|
||||
$allowed = array("127.0.0.1","95.216.167.89","46.62.220.135","88.198.4.195","151.80.235.110","89.167.1.139","105.159.122.54","41.250.206.28","41.251.40.10","41.250.81.114","41.251.82.55","::1");
|
||||
$client_ip = $_SERVER["REMOTE_ADDR"] ?? "";
|
||||
if (!in_array($client_ip, $allowed)) { http_response_code(403); die(json_encode(["error"=>"Forbidden"])); }
|
||||
// === END SECURITY ===
|
||||
|
||||
@@ -50,7 +50,7 @@ function testDB() {
|
||||
function testServers() {
|
||||
$servers = [];
|
||||
// Main server
|
||||
$servers['hetzner'] = ['ip'=>'89.167.40.150','status'=>'online','uptime'=>trim(shell_exec('uptime -p')),'load'=>trim(shell_exec("cat /proc/loadavg | cut -d' ' -f1-3")),'disk'=>trim(shell_exec("df -h / | tail -1 | awk '{print $5}'"))];
|
||||
$servers['hetzner'] = ['ip'=>'95.216.167.89','status'=>'online','uptime'=>trim(shell_exec('uptime -p')),'load'=>trim(shell_exec("cat /proc/loadavg | cut -d' ' -f1-3")),'disk'=>trim(shell_exec("df -h / | tail -1 | awk '{print $5}'"))];
|
||||
// OVH tracking
|
||||
$ovh = @fsockopen('151.80.235.110', 80, $en, $es, 3);
|
||||
$servers['ovh_tracking'] = ['ip'=>'151.80.235.110','status'=>$ovh?'online':'offline','role'=>'tracking'];
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* SPAM PROTECTION SYSTEM - Anti-Hetzner Blacklist
|
||||
* Prevents issues that caused S157 (157.180.25.208) abuse
|
||||
* Server: 89.167.40.150 WEVADS Arsenal
|
||||
* Server: 95.216.167.89 WEVADS Arsenal
|
||||
*/
|
||||
|
||||
class SpamProtection {
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
/**
|
||||
* WEVADS Tracking System - E2E Health Check v2.0
|
||||
* Vérifie tous les composants du tracking et retourne un statut global
|
||||
* Serveur: 89.167.40.150:5821
|
||||
* Serveur: 95.216.167.89:5821
|
||||
* Mis à jour: 28 Février 2026
|
||||
*/
|
||||
|
||||
@@ -13,7 +13,7 @@ define('TRACKING_SERVER_IP', '151.80.235.110');
|
||||
define('TRACKING_DOMAIN', 'culturellemejean.charity');
|
||||
define('TRACKING_SSH_USER', 'ubuntu');
|
||||
define('TRACKING_SSH_PASS', getenv('TRACKING_SSH_PASS') ?: '***');
|
||||
define('WEVADS_SERVER', '89.167.40.150');
|
||||
define('WEVADS_SERVER', '95.216.167.89');
|
||||
define('WEVADS_PORT', '5821');
|
||||
|
||||
// DB connection (local)
|
||||
|
||||
@@ -138,8 +138,8 @@ try {
|
||||
]
|
||||
],
|
||||
'usage' => [
|
||||
'html_pixel' => '<img src="http://89.167.40.150:5890/api/tracking.php?id=EMAIL_ID" width="1" height="1" alt="" />',
|
||||
'html_link' => '<a href="http://89.167.40.150:5890/api/tracking.php?click=EMAIL_ID&url=ENCODED_URL">Click here</a>'
|
||||
'html_pixel' => '<img src="http://95.216.167.89:5890/api/tracking.php?id=EMAIL_ID" width="1" height="1" alt="" />',
|
||||
'html_link' => '<a href="http://95.216.167.89:5890/api/tracking.php?click=EMAIL_ID&url=ENCODED_URL">Click here</a>'
|
||||
]
|
||||
], JSON_PRETTY_PRINT);
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ $CONFIG = [
|
||||
|
||||
// Serveurs
|
||||
'servers' => [
|
||||
'wevads_prod' => ['host' => '89.167.40.150', 'port' => 5821, 'role' => 'Email Marketing + Brain'],
|
||||
'wevads_prod' => ['host' => '95.216.167.89', 'port' => 5821, 'role' => 'Email Marketing + Brain'],
|
||||
'wevia_ia' => ['host' => '46.62.220.135', 'port' => 5890, 'role' => 'IA Consulting + Arsenal'],
|
||||
'gpu_server' => ['host' => '88.198.4.195', 'port' => 11434, 'role' => 'GPU RTX 4000 Ada + Ollama'],
|
||||
'mta_eu' => ['host' => '89.167.1.139', 'port' => 25, 'role' => 'MTA Relay Europe'],
|
||||
|
||||
@@ -139,7 +139,7 @@ Avant de générer, réfléchis:
|
||||
$kbContext
|
||||
|
||||
=== DONNÉES WEVAL À INCLURE ===
|
||||
- Serveur: 89.167.40.150 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
- Serveur: 95.216.167.89 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
- WEVAL: port 5821, FMGAPP: port 5822, BCGAPP: port 5823
|
||||
- Base: PostgreSQL (adx_system, adx_clients)
|
||||
- Email: PowerMTA, Office 365 automation
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* YouTube OAuth2 - Step 1: Redirect to Google consent
|
||||
* URL: http://89.167.40.150:5890/api/youtube-oauth.php?action=start
|
||||
* URL: http://95.216.167.89:5890/api/youtube-oauth.php?action=start
|
||||
*/
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
$db = new PDO('pgsql:host=127.0.0.1;dbname=adx_system','postgres','');
|
||||
|
||||
@@ -92,7 +92,7 @@ body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(
|
||||
<div class="header">
|
||||
<h1><i class="fas fa-project-diagram"></i> Architecture WEVAL</h1>
|
||||
<p>Documentation exhaustive du système de gestion Office 365 & Domaines</p>
|
||||
<p style="margin-top:10px;font-size:12px;color:#666">Serveur: 89.167.40.150 | Base: PostgreSQL adx_system | Port: 5821</p>
|
||||
<p style="margin-top:10px;font-size:12px;color:#666">Serveur: 95.216.167.89 | Base: PostgreSQL adx_system | Port: 5821</p>
|
||||
</div>
|
||||
|
||||
<div class="tabs">
|
||||
@@ -116,7 +116,7 @@ body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(
|
||||
<div class="arch-box primary" style="min-width:300px;max-width:400px">
|
||||
<i class="fas fa-envelope" style="color:var(--primary)"></i>
|
||||
<h4>WEVAL - Email Marketing Platform</h4>
|
||||
<p>Serveur: 89.167.40.150:5821</p>
|
||||
<p>Serveur: 95.216.167.89:5821</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -674,7 +674,7 @@ body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(
|
||||
<div class="arch-box primary" style="min-width:300px">
|
||||
<i class="fas fa-server" style="color:var(--primary)"></i>
|
||||
<h4>Serveur Principal</h4>
|
||||
<p style="font-size:16px;color:var(--primary);margin:10px 0">89.167.40.150</p>
|
||||
<p style="font-size:16px;color:var(--primary);margin:10px 0">95.216.167.89</p>
|
||||
<ul>
|
||||
<li>Apache (Port 5821)</li>
|
||||
<li>PostgreSQL (Port 5432)</li>
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<div class="card primary">
|
||||
<div class="card-header">
|
||||
<div class="card-icon">🖥️</div>
|
||||
<div><div class="card-title">Serveur Principal</div><div class="card-subtitle">89.167.40.150</div></div>
|
||||
<div><div class="card-title">Serveur Principal</div><div class="card-subtitle">95.216.167.89</div></div>
|
||||
</div>
|
||||
<div class="card-content">Ubuntu 24.04 LTS<br>4 CPU Cores / 16 GB RAM<br>150 GB SSD<br>Hetzner Cloud (HEL1)</div>
|
||||
</div>
|
||||
|
||||
@@ -214,7 +214,7 @@
|
||||
<div class="card primary">
|
||||
<div class="card-header">
|
||||
<div class="card-icon">🖥️</div>
|
||||
<div><div class="card-title">Serveur Principal</div><div class="card-subtitle">89.167.40.150</div></div>
|
||||
<div><div class="card-title">Serveur Principal</div><div class="card-subtitle">95.216.167.89</div></div>
|
||||
</div>
|
||||
<div class="card-content">Ubuntu 24.04 LTS<br>4 CPU Cores / 16 GB RAM<br>150 GB SSD<br>Hetzner Cloud (HEL1)</div>
|
||||
</div>
|
||||
|
||||
@@ -177,7 +177,7 @@ if (isset($_GET['action']) && $_GET['action'] === 'install') {
|
||||
if (empty($installable)) { sse(['error' => 'Aucun serveur accessible en SSH'], 'error'); exit; }
|
||||
|
||||
// --- Step 9: Install PMTA on each server ---
|
||||
$mainServer = '89.167.40.150';
|
||||
$mainServer = '95.216.167.89';
|
||||
$sshPass = 'Weval@2026#Hw';
|
||||
|
||||
foreach ($installable as $srv) {
|
||||
@@ -473,7 +473,7 @@ function sshExec($ip, $pass, $cmd) {
|
||||
function execOnMain($cmd) {
|
||||
return trim(shell_exec($cmd . " 2>&1") ?? "");
|
||||
// OLD sentinel code below
|
||||
$ch = curl_init("http://89.167.40.150:5821/api/sentinel-brain.php");
|
||||
$ch = curl_init("http://95.216.167.89:5821/api/sentinel-brain.php");
|
||||
curl_setopt_array($ch, [CURLOPT_POST => true, CURLOPT_POSTFIELDS => http_build_query(['action' => 'exec', 'cmd' => $cmd]), CURLOPT_RETURNTRANSFER => true, CURLOPT_TIMEOUT => 120]);
|
||||
$r = json_decode(curl_exec($ch), true);
|
||||
curl_close($ch);
|
||||
|
||||
@@ -107,7 +107,7 @@
|
||||
</header>
|
||||
<nav class="breadcrumb" id="bc"><span class="bc-item active" onclick="goHome()"><i class="fas fa-home"></i> Vue Globale</span></nav>
|
||||
<div id="L0" class="view active">
|
||||
<div class="section"><i class="fas fa-server"></i> SERVEUR HETZNER (89.167.40.150)</div>
|
||||
<div class="section"><i class="fas fa-server"></i> SERVEUR HETZNER (95.216.167.89)</div>
|
||||
<div class="grid g3">
|
||||
<div class="card" onclick="showCat('wevads')"><div class="card-head"><div class="card-icon cyan">📦</div><div><div class="card-title">WEVADS</div><div class="card-sub">:5821 • App Principale</div></div></div><div class="card-stats"><div class="card-s"><div class="card-s-v">45</div><div class="card-s-l">Pages</div></div><div class="card-s"><div class="card-s-v">4</div><div class="card-s-l">Widgets</div></div></div><span class="card-arrow">→</span></div>
|
||||
<div class="card" onclick="showCat('fmgapp')"><div class="card-head"><div class="card-icon purple">📁</div><div><div class="card-title">FMGAPP</div><div class="card-sub">:5822 • File Manager</div></div></div><div class="card-stats"><div class="card-s"><div class="card-s-v">1</div><div class="card-s-l">Pages</div></div></div><span class="card-arrow">→</span></div>
|
||||
|
||||
@@ -149,7 +149,7 @@ tr:hover{background:rgba(34,211,238,.03)}
|
||||
<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.150x /28 - Clean reputation - No blacklists</span></div>
|
||||
<div class="config-row"><span class="label">IP Pool:</span><span class="value">95.216.167.89x /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="typeof _autoLoad==='function'?_autoLoad():null">Deploy to Production</button>
|
||||
|
||||
@@ -115,7 +115,7 @@ table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;colo
|
||||
<h3 style="font-size:12px;margin-bottom:10px">🏆 Configurations gagnantes actuelles</h3>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmail_v47</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">Gmail/Google — Graph API — 88% inbox</div><div class="config-params"><span class="param">method: graph_api</span><span class="param">from_domain: culturellemejean.charity</span><span class="param">tls: required</span><span class="param">dkim: rsa-2048</span><span class="param">x-mailer: none</span><span class="param">encoding: quoted-printable</span><span class="param">throttle: 50/min</span><span class="param">warmup: day_32</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">outlook_v32</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">Outlook/Hotmail — EWS Exchange — 92% inbox</div><div class="config-params"><span class="param">method: ews</span><span class="param">auth: oauth2</span><span class="param">x-mailer: none</span><span class="param">content-type: multipart/alternative</span><span class="param">throttle: 80/min</span><span class="param">retry: 3x</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmx_v22</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">GMX/Web.de — PMTA + Exchange headers — 100% inbox</div><div class="config-params"><span class="param">method: pmta_direct</span><span class="param">headers: exchange_format</span><span class="param">x-mailer: none</span><span class="param">ip: 89.167.40.150</span><span class="param">throttle: 30/min</span><span class="param">dkim: ed25519</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmx_v22</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">GMX/Web.de — PMTA + Exchange headers — 100% inbox</div><div class="config-params"><span class="param">method: pmta_direct</span><span class="param">headers: exchange_format</span><span class="param">x-mailer: none</span><span class="param">ip: 95.216.167.89</span><span class="param">throttle: 30/min</span><span class="param">dkim: ed25519</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">yahoo_v41</span><span class="badge badge-am">TESTING</span></div><div class="config-isp">Yahoo/AOL — Brain Unified — 78% inbox (en baisse)</div><div class="config-params"><span class="param">method: brain_unified</span><span class="param">rotate: 3 senders</span><span class="param">warmup: day_45</span><span class="param">throttle: 20/min</span><span class="param">content: text_only</span><span class="param">⚠ regression detected</span></div></div>
|
||||
</div>
|
||||
<div class="panel" id="tab-learning">
|
||||
|
||||
@@ -65,7 +65,7 @@ table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;colo
|
||||
<h3 style="font-size:12px;margin-bottom:10px">🏆 Configurations gagnantes actuelles</h3>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmail_v47</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">Gmail/Google — Graph API — 88% inbox</div><div class="config-params"><span class="param">method: graph_api</span><span class="param">from_domain: consent.wevup.app</span><span class="param">tls: required</span><span class="param">dkim: rsa-2048</span><span class="param">x-mailer: none</span><span class="param">encoding: quoted-printable</span><span class="param">throttle: 50/min</span><span class="param">warmup: day_32</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">outlook_v32</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">Outlook/Hotmail — EWS Exchange — 92% inbox</div><div class="config-params"><span class="param">method: ews</span><span class="param">auth: oauth2</span><span class="param">x-mailer: none</span><span class="param">content-type: multipart/alternative</span><span class="param">throttle: 80/min</span><span class="param">retry: 3x</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmx_v22</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">GMX/Web.de — PMTA + Exchange headers — 100% inbox</div><div class="config-params"><span class="param">method: pmta_direct</span><span class="param">headers: exchange_format</span><span class="param">x-mailer: none</span><span class="param">ip: 89.167.40.150</span><span class="param">throttle: 30/min</span><span class="param">dkim: ed25519</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">gmx_v22</span><span class="badge badge-gn">WINNING</span></div><div class="config-isp">GMX/Web.de — PMTA + Exchange headers — 100% inbox</div><div class="config-params"><span class="param">method: pmta_direct</span><span class="param">headers: exchange_format</span><span class="param">x-mailer: none</span><span class="param">ip: 95.216.167.89</span><span class="param">throttle: 30/min</span><span class="param">dkim: ed25519</span></div></div>
|
||||
<div class="config-card"><div class="config-hdr"><span class="config-name">yahoo_v41</span><span class="badge badge-am">TESTING</span></div><div class="config-isp">Yahoo/AOL — Brain Unified — 78% inbox (en baisse)</div><div class="config-params"><span class="param">method: brain_unified</span><span class="param">rotate: 3 senders</span><span class="param">warmup: day_45</span><span class="param">throttle: 20/min</span><span class="param">content: text_only</span><span class="param">⚠ regression detected</span></div></div>
|
||||
</div>
|
||||
<div class="panel" id="tab-learning">
|
||||
|
||||
@@ -672,7 +672,7 @@ body{font-family:system-ui;background:var(--bg);color:#fff;font-size:11px}
|
||||
<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 @ 89.167.40.150 --proxied=false</div><div class="desc">Ajout enregistrement A vers serveur</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>
|
||||
@@ -689,8 +689,8 @@ body{font-family:system-ui;background:var(--bg);color:#fff;font-size:11px}
|
||||
<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 @ 89.167.40.150 --zone=newdomain.com</div>
|
||||
<div class="ln ok">[A] Created: newdomain.com → 89.167.40.150 (DNS only)</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>
|
||||
|
||||
@@ -22,7 +22,7 @@ if (count($parts) >= 2) {
|
||||
}
|
||||
|
||||
// Try WEVAL API
|
||||
$wevads_url = 'http://89.167.40.150:5821/api/track/click?data=' . urlencode($data) . '&ip=' . urlencode($_SERVER['REMOTE_ADDR']);
|
||||
$wevads_url = 'http://95.216.167.89:5821/api/track/click?data=' . urlencode($data) . '&ip=' . urlencode($_SERVER['REMOTE_ADDR']);
|
||||
$ctx = stream_context_create(['http' => ['timeout' => 3, 'ignore_errors' => true]]);
|
||||
$response = @file_get_contents($wevads_url, false, $ctx);
|
||||
|
||||
|
||||
@@ -549,7 +549,7 @@ function testHamidCapability($capability, $provider) {
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h3><i class="fas fa-robot"></i> n8n Workflows</h3>
|
||||
<a href="http://89.167.40.150:5678" target="_blank" class="btn btn-outline">Ouvrir n8n →</a>
|
||||
<a href="http://95.216.167.89:5678" target="_blank" class="btn btn-outline">Ouvrir n8n →</a>
|
||||
</div>
|
||||
|
||||
<div class="workflow-item">
|
||||
|
||||
@@ -141,7 +141,7 @@ input[type=text] { background:#0d1117; border:1px solid #333; color:#e0e0e0; pad
|
||||
</ol>
|
||||
<p style="margin-top:15px; color:#f59e0b;">💡 <b>Raccourci</b>: Glisse ce bookmarklet dans ta barre de favoris, puis clique dessus sur la page Profile CF :</p>
|
||||
<p style="margin-top:8px;">
|
||||
<a class="bookmarklet" href="javascript:void(fetch('https://dash.cloudflare.com/api/v4/user',{credentials:'include'}).then(r=>r.json()).then(d=>{if(d.success){const k=prompt('API Key found! Your email: '+d.result.email+'\nPaste your Global API Key:');if(k)window.open('http://89.167.40.150:5821/cf-key-extractor.php?action=save_key_get&email='+encodeURIComponent(d.result.email)+'&key='+encodeURIComponent(k))}else alert('Login to CF first!')}).catch(e=>alert('Error: '+e)))">📎 CF Key Grabber</a>
|
||||
<a class="bookmarklet" href="javascript:void(fetch('https://dash.cloudflare.com/api/v4/user',{credentials:'include'}).then(r=>r.json()).then(d=>{if(d.success){const k=prompt('API Key found! Your email: '+d.result.email+'\nPaste your Global API Key:');if(k)window.open('http://95.216.167.89:5821/cf-key-extractor.php?action=save_key_get&email='+encodeURIComponent(d.result.email)+'&key='+encodeURIComponent(k))}else alert('Login to CF first!')}).catch(e=>alert('Error: '+e)))">📎 CF Key Grabber</a>
|
||||
<span style="color:#888; font-size:0.85em;">(glisser dans la barre de favoris)</span>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -52,7 +52,7 @@ switch ($action) {
|
||||
// Scan système complet
|
||||
$scan = [
|
||||
'hostname' => gethostname(),
|
||||
'ip' => $_SERVER['SERVER_ADDR'] ?? '89.167.40.150',
|
||||
'ip' => $_SERVER['SERVER_ADDR'] ?? '95.216.167.89',
|
||||
'os' => php_uname(),
|
||||
'php' => PHP_VERSION,
|
||||
'uptime' => trim(shell_exec('uptime -p 2>/dev/null') ?: 'N/A'),
|
||||
|
||||
@@ -32,7 +32,7 @@ $huaweiInstances = $db->query("SELECT * FROM admin.huawei_instances ORDER BY id
|
||||
<div class="bg-gray-800 rounded-lg p-6">
|
||||
<h2 class="text-xl font-bold mb-4 text-red-400">🔄 n8n Workflows</h2>
|
||||
<div class="grid grid-cols-2 gap-4">
|
||||
<a href="http://89.167.40.150:5825" target="_blank" class="bg-gray-700 hover:bg-red-600 rounded p-3 transition"><i class="fas fa-play mr-2"></i>Huawei Server Provisioner</a>
|
||||
<a href="http://89.167.40.150:5825" target="_blank" class="bg-gray-700 hover:bg-red-500 rounded p-3 transition"><i class="fas fa-cogs mr-2"></i>Open n8n</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank" class="bg-gray-700 hover:bg-red-600 rounded p-3 transition"><i class="fas fa-play mr-2"></i>Huawei Server Provisioner</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank" class="bg-gray-700 hover:bg-red-500 rounded p-3 transition"><i class="fas fa-cogs mr-2"></i>Open n8n</a>
|
||||
</div></div></div>
|
||||
</body></html>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
// Connexion DB
|
||||
try {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
// Connexion DB
|
||||
try {
|
||||
|
||||
@@ -220,14 +220,14 @@ body{background:#060a14;color:var(--tx);font-family:'DM Sans',sans-serif;overflo
|
||||
<div class="pane" id="p-arch">
|
||||
<div style="display:grid;grid-template-columns:2fr 1fr;gap:6px;margin-bottom:6px">
|
||||
<div class="srv" style="border-color:var(--cy)">
|
||||
<h4><span class="dot dot-g"></span>🖥️ HETZNER — 89.167.40.150 <small style="color:var(--t2)">(root:49222)</small></h4>
|
||||
<h4><span class="dot dot-g"></span>🖥️ HETZNER — 95.216.167.89 <small style="color:var(--t2)">(root:49222)</small></h4>
|
||||
<div class="pg">
|
||||
<div class="pi" onclick="window.open('http://89.167.40.150:5821')"><span class="pd" style="background:var(--gn)"></span>:5821 ADX</div>
|
||||
<div class="pi" onclick="window.open('http://89.167.40.150:5821')"><span class="pd" style="background:var(--gn)"></span>:5890 Arsenal</div>
|
||||
<div class="pi" onclick="window.open('http://89.167.40.150:5822')"><span class="pd" style="background:var(--gn)"></span>:5822 FMG</div>
|
||||
<div class="pi" onclick="window.open('http://95.216.167.89:5821')"><span class="pd" style="background:var(--gn)"></span>:5821 ADX</div>
|
||||
<div class="pi" onclick="window.open('http://95.216.167.89:5821')"><span class="pd" style="background:var(--gn)"></span>:5890 Arsenal</div>
|
||||
<div class="pi" onclick="window.open('http://95.216.167.89:5822')"><span class="pd" style="background:var(--gn)"></span>:5822 FMG</div>
|
||||
<div class="pi"><span class="pd" style="background:var(--or)"></span>:5823 BCG</div>
|
||||
<div class="pi" onclick="window.open('http://89.167.40.150:5824')"><span class="pd" style="background:var(--gn)"></span>:5824 DKIM</div>
|
||||
<div class="pi" onclick="window.open('http://89.167.40.150:8080')"><span class="pd" style="background:var(--gn)"></span>:8080 N8N</div>
|
||||
<div class="pi" onclick="window.open('http://95.216.167.89:5824')"><span class="pd" style="background:var(--gn)"></span>:5824 DKIM</div>
|
||||
<div class="pi" onclick="window.open('http://95.216.167.89:8080')"><span class="pd" style="background:var(--gn)"></span>:8080 N8N</div>
|
||||
<div class="pi"><span class="pd" style="background:var(--gn)"></span>:5432 PG</div>
|
||||
<div class="pi"><span class="pd" style="background:var(--gn)"></span>:11434 Ollama</div>
|
||||
</div>
|
||||
|
||||
@@ -260,7 +260,7 @@ Puis ta réponse finale.
|
||||
|
||||
---
|
||||
|
||||
Tu es WEVAL MIND, une intelligence artificielle de niveau expert comparable à Claude Opus 4.5, opérant sur le serveur WEVAL (89.167.40.150).
|
||||
Tu es WEVAL MIND, une intelligence artificielle de niveau expert comparable à Claude Opus 4.5, opérant sur le serveur WEVAL (95.216.167.89).
|
||||
|
||||
<core_identity>
|
||||
Nom: WEVAL MIND (Highly Advanced Multi-modal Intelligent Daemon)
|
||||
@@ -352,7 +352,7 @@ Types supportés:
|
||||
</advanced_capabilities>
|
||||
|
||||
<context_server>
|
||||
Serveur: WEVAL 89.167.40.150 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
Serveur: WEVAL 95.216.167.89 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
Applications:
|
||||
- WEVAL: port 5821 (/opt/wevads/public/)
|
||||
- FMGAPP: port 5822 (/opt/fmgapp/public/)
|
||||
@@ -550,7 +550,7 @@ BRAIN;
|
||||
return $this->callOllama('mistral:7b-instruct', $fullPrompt);
|
||||
case 'ollama_mini':
|
||||
// Ollama Mini: Rapide (~2-5s)
|
||||
$miniBrain = "Tu es WEVAL MIND, assistant IA WEVAL (89.167.40.150).
|
||||
$miniBrain = "Tu es WEVAL MIND, assistant IA WEVAL (95.216.167.89).
|
||||
STYLE: Direct, concis, proactif. Pas de blabla.
|
||||
CAPACITÉS: Bash, Python, PHP, SQL, fichiers, BDD, email, DNS, Linux.
|
||||
Réponds en français avec du code si nécessaire.";
|
||||
@@ -1557,7 +1557,7 @@ pre{background:#f4f4f4;padding:15px;border-radius:5px}</style></head>
|
||||
|
||||
private static function docResponse($id, $filename, $filepath, $type, $title) {
|
||||
$url = '/docs/' . $filename;
|
||||
$downloadUrl = 'http://89.167.40.150:5821' . $url;
|
||||
$downloadUrl = 'http://95.216.167.89:5821' . $url;
|
||||
try {
|
||||
$pdo = new PDO('pgsql:host=localhost;dbname=adx_system', 'admin', 'admin123');
|
||||
$stmt = $pdo->prepare("INSERT INTO admin.hamid_documents (title, type, filename, filepath, url) VALUES (?, ?, ?, ?, ?)");
|
||||
@@ -1765,7 +1765,7 @@ class HamidMemes {
|
||||
|
||||
private static function memeResponse($id, $filename, $filepath, $type, $title) {
|
||||
$url = '/media/' . $filename;
|
||||
$downloadUrl = 'http://89.167.40.150:5821' . $url;
|
||||
$downloadUrl = 'http://95.216.167.89:5821' . $url;
|
||||
|
||||
try {
|
||||
$pdo = new PDO('pgsql:host=localhost;dbname=adx_system', 'admin', 'admin123');
|
||||
|
||||
@@ -74,7 +74,7 @@ class MiniClaudeEngine {
|
||||
INCLURE:
|
||||
- Titre principal <h1>
|
||||
- Contexte et objectifs (2-3 paragraphes)
|
||||
- Présentation générale du système WEVAL (IP: 89.167.40.150)
|
||||
- Présentation générale du système WEVAL (IP: 95.216.167.89)
|
||||
- Les 3 applications: WEVAL (5821), FMGAPP (5822), BCGAPP (5823)
|
||||
- Table des matières avec liens <ul>
|
||||
|
||||
|
||||
@@ -218,7 +218,7 @@ HTML;
|
||||
// Contenu structuré
|
||||
$sections = [
|
||||
['title' => '1. Infrastructure Serveur', 'content' => [
|
||||
'Serveur Principal: 89.167.40.150 (Hetzner Cloud)',
|
||||
'Serveur Principal: 95.216.167.89 (Hetzner Cloud)',
|
||||
'Système: Ubuntu 24.04 LTS',
|
||||
'RAM: 16 GB DDR4',
|
||||
'Stockage: 160 GB SSD NVMe',
|
||||
@@ -243,9 +243,9 @@ HTML;
|
||||
'115+ entrées dans la base de connaissances'
|
||||
]],
|
||||
['title' => '5. URLs Principales', 'content' => [
|
||||
'Chat IA: http://89.167.40.150:5821/hamid-fullscreen.php',
|
||||
'Knowledge Base: http://89.167.40.150:5821/ia-knowledge.php',
|
||||
'Configuration: http://89.167.40.150:5821/hamid-brain-config.php'
|
||||
'Chat IA: http://95.216.167.89:5821/hamid-fullscreen.php',
|
||||
'Knowledge Base: http://95.216.167.89:5821/ia-knowledge.php',
|
||||
'Configuration: http://95.216.167.89:5821/hamid-brain-config.php'
|
||||
]]
|
||||
];
|
||||
|
||||
@@ -339,7 +339,7 @@ HTML;
|
||||
['', '', '', ''],
|
||||
['INFRASTRUCTURE', '', '', ''],
|
||||
['Composant', 'Valeur', 'Status', 'Notes'],
|
||||
['Serveur', '89.167.40.150', 'Actif', 'Hetzner Cloud'],
|
||||
['Serveur', '95.216.167.89', 'Actif', 'Hetzner Cloud'],
|
||||
['OS', 'Ubuntu 24.04', 'OK', 'LTS'],
|
||||
['RAM', '16 GB', 'OK', 'DDR4'],
|
||||
['Stockage', '160 GB', 'OK', 'SSD NVMe'],
|
||||
@@ -602,13 +602,13 @@ HTML;
|
||||
// Slide 1: Title
|
||||
self::createPptxSlide('WEVAL', 'Architecture Cloud & IA', '0F172A', true),
|
||||
// Slide 2: Infrastructure
|
||||
self::createPptxSlide('Infrastructure Serveur', "• Serveur: 89.167.40.150 (Hetzner)\n• OS: Ubuntu 24.04 LTS\n• RAM: 16 GB DDR4\n• Stockage: 160 GB SSD NVMe\n• Applications: WEVAL, FMGAPP, BCGAPP", '1E40AF'),
|
||||
self::createPptxSlide('Infrastructure Serveur', "• Serveur: 95.216.167.89 (Hetzner)\n• OS: Ubuntu 24.04 LTS\n• RAM: 16 GB DDR4\n• Stockage: 160 GB SSD NVMe\n• Applications: WEVAL, FMGAPP, BCGAPP", '1E40AF'),
|
||||
// Slide 3: Database
|
||||
self::createPptxSlide('Base de Données', "• Type: PostgreSQL 16\n• Database: adx_system\n• Schema: admin\n• Tables principales:\n - commonia_config\n - commonia_knowledge\n - mta_servers", '22C55E'),
|
||||
// Slide 4: Services
|
||||
self::createPptxSlide('Services & IA', "• PowerMTA - Email haute performance\n• Ollama - IA locale (Mistral 7B)\n• Office 365 - Automation\n• Tracking - Analytics\n• Providers IA: Groq, Gemini, Claude, GPT-4", '8B5CF6'),
|
||||
// Slide 5: Conclusion
|
||||
self::createPptxSlide('Merci', "Questions ?\n\n📧 contact@wevads.com\n🌐 http://89.167.40.150:5821", '0F172A', true),
|
||||
self::createPptxSlide('Merci', "Questions ?\n\n📧 contact@wevads.com\n🌐 http://95.216.167.89:5821", '0F172A', true),
|
||||
];
|
||||
}
|
||||
|
||||
@@ -748,7 +748,7 @@ plt.close()
|
||||
<h2>1. Infrastructure Serveur</h2>
|
||||
<table>
|
||||
<tr><th>Composant</th><th>Détails</th></tr>
|
||||
<tr><td><strong>🖥️ Serveur</strong></td><td>89.167.40.150 (Hetzner Cloud)</td></tr>
|
||||
<tr><td><strong>🖥️ Serveur</strong></td><td>95.216.167.89 (Hetzner Cloud)</td></tr>
|
||||
<tr><td><strong>💻 OS</strong></td><td>Ubuntu 24.04 LTS</td></tr>
|
||||
<tr><td><strong>🧠 RAM</strong></td><td>16 GB DDR4</td></tr>
|
||||
<tr><td><strong>💾 Stockage</strong></td><td>160 GB SSD NVMe</td></tr>
|
||||
|
||||
@@ -80,7 +80,7 @@ const sysConfig=[
|
||||
{key:'BRAIN_EVAL_INTERVAL',val:'6h',desc:'How often Brain re-evaluates configs'},
|
||||
{key:'TRACKING_DOMAIN',val:'culturellemejean.charity',desc:'Primary tracking domain'},
|
||||
{key:'CX3_TRACKING_DOMAIN',val:'babosur.com',desc:'CX3 Ads tracking domain'},
|
||||
{key:'PMTA_HOST',val:'89.167.40.150',desc:'PowerMTA server address'},
|
||||
{key:'PMTA_HOST',val:'95.216.167.89',desc:'PowerMTA server address'},
|
||||
{key:'OVH_TRACKING_HOST',val:'151.80.235.110',desc:'OVH tracking server'},
|
||||
{key:'DB_NAME',val:'adx_system',desc:'Primary PostgreSQL database'},
|
||||
{key:'ARSENAL_PORT',val:'5890',desc:'Arsenal API backend port'},
|
||||
|
||||
@@ -118,7 +118,7 @@ try {
|
||||
<a href="/deliverads/"><i class="fas fa-paper-plane"></i> DELIVERADS</a>
|
||||
<a href="/deliverads/brain-admin.php"><i class="fas fa-brain"></i> Brain Admin</a>
|
||||
<a href="/n8n.php"><i class="fas fa-project-diagram"></i> n8n Embedded</a>
|
||||
<a href="http://89.167.40.150:5825" target="_blank"><i class="fas fa-external-link-alt"></i> n8n Direct</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank"><i class="fas fa-external-link-alt"></i> n8n Direct</a>
|
||||
<a href="/weval-orchestrator.php"><i class="fas fa-tasks"></i> Orchestrator</a>
|
||||
<a href="/hamid-control-center.php"><i class="fas fa-robot"></i> HAMID IA</a>
|
||||
<a href="/api/n8n-connector.php?action=status&key=wevads-n8n-2026-secret-key" target="_blank"><i class="fas fa-plug"></i> API Status</a>
|
||||
@@ -176,7 +176,7 @@ try {
|
||||
<i class="fas fa-robot" style="color: var(--cyan);"></i>
|
||||
<span>HAMID Status</span>
|
||||
</a>
|
||||
<a href="http://89.167.40.150:5825/home/workflows" class="action-btn" target="_blank">
|
||||
<a href="http://95.216.167.89:5825/home/workflows" class="action-btn" target="_blank">
|
||||
<i class="fas fa-play-circle" style="color: var(--orange);"></i>
|
||||
<span>Gérer Workflows</span>
|
||||
</a>
|
||||
|
||||
@@ -115,7 +115,7 @@ a{color:var(--cy);text-decoration:none}a:hover{text-decoration:underline}
|
||||
|
||||
<script>
|
||||
const SERVERS = [
|
||||
{id:'s89',name:'S89',ip:'89.167.40.150',role:'Email ONLY',roleClass:'role-email',
|
||||
{id:'s89',name:'S89',ip:'95.216.167.89',role:'Email ONLY',roleClass:'role-email',
|
||||
desc:'ADX/Arsenal/PMTA/Brain/DB',apiBase:'/api/cron-control-all-api.php'},
|
||||
{id:'s88',name:'S88',ip:'88.198.4.195',role:'IA + Site',roleClass:'role-ia',
|
||||
desc:'WEVIA/GPU/weval-consulting.com'},
|
||||
|
||||
@@ -41,7 +41,7 @@
|
||||
|
||||
<!-- Server Cards -->
|
||||
<div class="grid4" style="margin-bottom:12px">
|
||||
<div class="card" style="border-left:3px solid var(--cy)"><strong style="color:var(--cy)">GXX WEVADS</strong><div class="mono" style="font-size:9px;color:var(--d)">89.167.40.150</div><div style="font-size:9px">4 actifs / 14 disabled / 2 frozen</div></div>
|
||||
<div class="card" style="border-left:3px solid var(--cy)"><strong style="color:var(--cy)">GXX WEVADS</strong><div class="mono" style="font-size:9px;color:var(--d)">95.216.167.89</div><div style="font-size:9px">4 actifs / 14 disabled / 2 frozen</div></div>
|
||||
<div class="card" style="border-left:3px solid var(--gn)"><strong style="color:var(--gn)">OVH Tracking</strong><div class="mono" style="font-size:9px;color:var(--d)">151.80.235.110</div><div style="font-size:9px">0 crons | track.php UP</div></div>
|
||||
<div class="card" style="border-left:3px solid var(--pu)"><strong style="color:var(--pu)">Consulting WEVIA</strong><div class="mono" style="font-size:9px;color:var(--d)">46.62.220.135</div><div style="font-size:9px">1 actif (RLHF) | WEVIA 1.3s</div></div>
|
||||
<div class="card" style="border-left:3px solid var(--og)"><strong style="color:var(--og)">GPU Hetzner</strong><div class="mono" style="font-size:9px;color:var(--d)">88.198.4.195</div><div style="font-size:9px">1 actif (keepalive) | 10 models</div></div>
|
||||
@@ -50,7 +50,7 @@
|
||||
<div class="grid2">
|
||||
<!-- GXX -->
|
||||
<div class="card" style="border-left:3px solid var(--cy)">
|
||||
<h3 style="font-size:12px;color:var(--cy);margin-bottom:10px">⏱ GXX WEVADS — 89.167.40.150</h3>
|
||||
<h3 style="font-size:12px;color:var(--cy);margin-bottom:10px">⏱ GXX WEVADS — 95.216.167.89</h3>
|
||||
<div style="font-size:10px;font-weight:700;color:var(--gn);margin-bottom:4px">✅ ACTIFS (4)</div>
|
||||
<div class="cron-row cron-active"><span class="mono" style="font-size:9px;flex:1">*/15 * * * *</span><span style="flex:2">IA rate-limit reset</span><span class="badge badge-gn">OK</span></div>
|
||||
<div class="cron-row cron-active"><span class="mono" style="font-size:9px;flex:1">*/5 * * * *</span><span style="flex:2">PG watchdog</span><span class="badge badge-gn">OK</span></div>
|
||||
|
||||
@@ -254,7 +254,7 @@ Chaque persona recoit une carte unique pour verification de compte et abonnement
|
||||
<div style="margin-top:12px">
|
||||
<div class="fr">
|
||||
<div><label>API Key</label><input type="password" placeholder="pk_live_..."></div>
|
||||
<div><label>Webhook URL</label><input type="text" value="http://89.167.40.150:5825/api/cvc-webhook.php" readonly></div>
|
||||
<div><label>Webhook URL</label><input type="text" value="http://95.216.167.89:5825/api/cvc-webhook.php" readonly></div>
|
||||
<div style="flex:0"><label> </label><button class="btn btn-p">Save</button></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -90,7 +90,7 @@ function load(){
|
||||
<tr><td>Competitor C</td><td>68%</td><td>~100K/day</td><td>30</td><td><span class="b b-err">High</span></td></tr></table>`;
|
||||
|
||||
document.getElementById('bl-table').innerHTML=`<table><tr><th>Blacklist</th><th>IP/Domain</th><th>Status</th><th>Checked</th></tr>
|
||||
${['Spamhaus','SORBS','Barracuda','SpamCop','URIBL'].map(bl=>`<tr><td>${bl}</td><td>89.167.40.150</td><td><span class="b b-ok">Clean</span></td><td style="color:var(--d)">Today</td></tr>`).join('')}</table>`;
|
||||
${['Spamhaus','SORBS','Barracuda','SpamCop','URIBL'].map(bl=>`<tr><td>${bl}</td><td>95.216.167.89</td><td><span class="b b-ok">Clean</span></td><td style="color:var(--d)">Today</td></tr>`).join('')}</table>`;
|
||||
|
||||
document.getElementById('rep-table').innerHTML=`<table><tr><th>Domain</th><th>Score</th><th>Age</th><th>Auth</th><th>Category</th></tr>
|
||||
<tr><td style="font-family:var(--m);font-size:11px">culturellemejean.charity</td><td><span class="b b-ok">Good</span></td><td>6 months</td><td>SPF+DMARC</td><td>Newsletter</td></tr>
|
||||
|
||||
@@ -216,7 +216,7 @@ th{color:var(--text2);font-size:.65rem}
|
||||
<div class="header">
|
||||
<h1><i class="fas fa-rocket"></i> WEVAL SEND</h1>
|
||||
<div class="header-links">
|
||||
<a href="http://89.167.40.150:5678" target="_blank"><i class="fas fa-project-diagram"></i> n8n</a>
|
||||
<a href="http://95.216.167.89:5678" target="_blank"><i class="fas fa-project-diagram"></i> n8n</a>
|
||||
<a href="campaign-orchestrator.php"><i class="fas fa-play"></i> Orchestrator</a>
|
||||
<a href="automation-hub.php"><i class="fas fa-robot"></i> Automation</a>
|
||||
</div>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
session_start();
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
// Connexion DB pour récupérer les comptes Cloudflare
|
||||
$cloudflare_accounts = [];
|
||||
|
||||
@@ -49,8 +49,8 @@ $recentFreedns = $db->query("SELECT * FROM admin.domain_pool WHERE source='freed
|
||||
<div class="mt-6 bg-gray-800 rounded-lg p-6">
|
||||
<h2 class="text-xl font-bold mb-4 text-red-400">🔄 n8n Workflows</h2>
|
||||
<div class="grid grid-cols-3 gap-4">
|
||||
<a href="http://89.167.40.150:5825" target="_blank" class="bg-gray-700 hover:bg-orange-600 rounded p-3 transition"><i class="fas fa-sync mr-2"></i>DNS Sync Cloudflare</a>
|
||||
<a href="http://89.167.40.150:5825" target="_blank" class="bg-gray-700 hover:bg-green-600 rounded p-3 transition"><i class="fas fa-plus mr-2"></i>FreeDNS Auto Creator</a>
|
||||
<a href="http://89.167.40.150:5825" target="_blank" class="bg-gray-700 hover:bg-red-500 rounded p-3 transition"><i class="fas fa-cogs mr-2"></i>Open n8n</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank" class="bg-gray-700 hover:bg-orange-600 rounded p-3 transition"><i class="fas fa-sync mr-2"></i>DNS Sync Cloudflare</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank" class="bg-gray-700 hover:bg-green-600 rounded p-3 transition"><i class="fas fa-plus mr-2"></i>FreeDNS Auto Creator</a>
|
||||
<a href="http://95.216.167.89:5825" target="_blank" class="bg-gray-700 hover:bg-red-500 rounded p-3 transition"><i class="fas fa-cogs mr-2"></i>Open n8n</a>
|
||||
</div></div></div>
|
||||
</body></html>
|
||||
|
||||
@@ -84,7 +84,7 @@ const routes=[
|
||||
];
|
||||
|
||||
const relays=[
|
||||
{name:'PMTA Primary',ip:'89.167.40.150',queue:12,delivered:4520,bounced:23,status:'ok'},
|
||||
{name:'PMTA Primary',ip:'95.216.167.89',queue:12,delivered:4520,bounced:23,status:'ok'},
|
||||
{name:'O365 Pool',type:'Graph API',accounts:911,active:1,sending:192,status:'ok'},
|
||||
{name:'GSuite Relay',type:'SMTP',accounts:0,active:0,sending:0,status:'standby'}
|
||||
];
|
||||
|
||||
@@ -98,7 +98,7 @@ h1{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:v
|
||||
<div id="pipeline"></div>
|
||||
|
||||
<script>
|
||||
const B='http://89.167.40.150:5821';
|
||||
const B='http://95.216.167.89:5821';
|
||||
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// COMPLETE MODULE MAP: 135 modules in 12 stages
|
||||
|
||||
@@ -17,7 +17,7 @@ $medecin_id = (int)($parts[1] ?? 0);
|
||||
if(!$email || !$medecin_id) { echo "Token invalide."; exit; }
|
||||
|
||||
// Connect to DB on main server
|
||||
$db = new PDO("pgsql:host=89.167.40.150;dbname=adx_system", "admin", "admin123");
|
||||
$db = new PDO("pgsql:host=95.216.167.89;dbname=adx_system", "admin", "admin123");
|
||||
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
|
||||
|
||||
$ip = $_SERVER['REMOTE_ADDR'] ?? '';
|
||||
|
||||
@@ -83,7 +83,7 @@ td{padding:8px 12px;border-top:1px solid rgba(255,255,255,.05)}
|
||||
</div>
|
||||
|
||||
<script>
|
||||
var API = '/http://89.167.40.150:5890/api/guardian-scan.php';
|
||||
var API = '/http://95.216.167.89:5890/api/guardian-scan.php';
|
||||
|
||||
async function loadData() {
|
||||
try {
|
||||
|
||||
@@ -202,7 +202,7 @@ Commandes spéciales:
|
||||
<div class="card-title">🖥️ 10. WEVAL MIND CLI SSH RÉEL (Serveur Direct)</div>
|
||||
<table>
|
||||
<tr><th>Propriété</th><th>Valeur</th></tr>
|
||||
<tr><td>Accès</td><td>ssh root@89.167.40.150 → commande: <code>hamid</code></td></tr>
|
||||
<tr><td>Accès</td><td>ssh root@95.216.167.89 → commande: <code>hamid</code></td></tr>
|
||||
<tr><td>Fichier</td><td>/usr/local/bin/hamid (24 KB - Python)</td></tr>
|
||||
<tr><td>API Backend</td><td>Appels DIRECTS aux APIs providers (pas de PHP)</td></tr>
|
||||
<tr><td>Config DB</td><td>admin.commonia_config (clés API)</td></tr>
|
||||
@@ -234,7 +234,7 @@ PROVIDERS = {
|
||||
│
|
||||
Utilisateur Admin │
|
||||
│ │
|
||||
│ ssh root@89.167.40.150 │
|
||||
│ ssh root@95.216.167.89 │
|
||||
▼ │
|
||||
┌─────────────────────────────────────────────────────────┐ │
|
||||
│ Terminal Linux (bash) │ │
|
||||
|
||||
@@ -241,7 +241,7 @@ $defaults = [
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
// CONTEXTE
|
||||
// ═══════════════════════════════════════════════════════════════
|
||||
['ctx_server_ip', '89.167.40.150', 'context', 'server', 'IP du serveur', 'text', '', '', null, null, 1, 0, 0, 1],
|
||||
['ctx_server_ip', '95.216.167.89', 'context', 'server', 'IP du serveur', 'text', '', '', null, null, 1, 0, 0, 1],
|
||||
['ctx_server_name', 'WEVAL', 'context', 'server', 'Nom du serveur', 'text', '', '', null, null, 0, 0, 0, 2],
|
||||
['ctx_server_port', '5821', 'context', 'server', 'Port application', 'number', '', '', 1, 65535, 0, 0, 0, 3],
|
||||
['ctx_server_os', 'Ubuntu 24.04 LTS', 'context', 'server', 'Système d\'exploitation', 'text', '', '', null, null, 0, 1, 0, 4],
|
||||
|
||||
@@ -258,7 +258,7 @@ Puis ta réponse finale.
|
||||
|
||||
---
|
||||
|
||||
Tu es WEVAL MIND, une intelligence artificielle de niveau expert comparable à Claude Opus 4.5, opérant sur le serveur WEVAL (89.167.40.150).
|
||||
Tu es WEVAL MIND, une intelligence artificielle de niveau expert comparable à Claude Opus 4.5, opérant sur le serveur WEVAL (95.216.167.89).
|
||||
|
||||
<core_identity>
|
||||
Nom: WEVAL MIND (Highly Advanced Multi-modal Intelligent Daemon)
|
||||
@@ -349,7 +349,7 @@ Types supportés:
|
||||
</advanced_capabilities>
|
||||
|
||||
<context_server>
|
||||
Serveur: WEVAL 89.167.40.150 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
Serveur: WEVAL 95.216.167.89 (Hetzner Cloud, Ubuntu 24.04, 16GB RAM)
|
||||
Applications:
|
||||
- WEVAL: port 5821 (/opt/wevads/public/)
|
||||
- FMGAPP: port 5822 (/opt/fmgapp/public/)
|
||||
@@ -547,7 +547,7 @@ BRAIN;
|
||||
return $this->callOllama('mistral:7b-instruct', $fullPrompt);
|
||||
case 'ollama_mini':
|
||||
// Ollama Mini: Rapide (~2-5s)
|
||||
$miniBrain = "Tu es WEVAL MIND, assistant IA WEVAL (89.167.40.150).
|
||||
$miniBrain = "Tu es WEVAL MIND, assistant IA WEVAL (95.216.167.89).
|
||||
STYLE: Direct, concis, proactif. Pas de blabla.
|
||||
CAPACITÉS: Bash, Python, PHP, SQL, fichiers, BDD, email, DNS, Linux.
|
||||
Réponds en français avec du code si nécessaire.";
|
||||
|
||||
@@ -80,7 +80,7 @@
|
||||
<header class="header">
|
||||
<div class="header-left">
|
||||
<div class="logo"><span style="font-size:1.2rem">🧞</span><span>WEVAL MIND® Code</span></div>
|
||||
<div class="server-badge"><span class="status-dot"></span><span id="currentPathDisplay">89.167.40.150 - /opt/wevads</span></div>
|
||||
<div class="server-badge"><span class="status-dot"></span><span id="currentPathDisplay">95.216.167.89 - /opt/wevads</span></div>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<?php echo hamid_providers_dropdown("groq", "providerSelect", "provider-select"); ?>
|
||||
@@ -175,7 +175,7 @@
|
||||
const data = await res.json();
|
||||
if (!data.success) { tree.innerHTML = '<div class="error-msg">' + (data.error || 'Erreur') + '</div>'; return; }
|
||||
currentPath = data.path;
|
||||
document.getElementById('currentPathDisplay').textContent = '89.167.40.150 - ' + currentPath;
|
||||
document.getElementById('currentPathDisplay').textContent = '95.216.167.89 - ' + currentPath;
|
||||
let html = '';
|
||||
if (data.parent && data.parent !== data.path) {
|
||||
html += '<div class="tree-item" onclick="loadFiles(\'' + data.parent.replace(/'/g, "\\'") + '\')"><i class="fas fa-level-up-alt folder-icon"></i><span class="name">..</span></div>';
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
<h3>📤 Endpoint</h3>
|
||||
<div class="schema">
|
||||
<pre>
|
||||
POST http://89.167.40.150:5821/hamid-api.php
|
||||
POST http://95.216.167.89:5821/hamid-api.php
|
||||
Content-Type: application/json
|
||||
</pre>
|
||||
</div>
|
||||
@@ -223,7 +223,7 @@ Content-Type: application/json
|
||||
<p><strong>cURL:</strong></p>
|
||||
<div class="schema">
|
||||
<pre>
|
||||
curl -X POST "http://89.167.40.150:5821/hamid-api.php" \
|
||||
curl -X POST "http://95.216.167.89:5821/hamid-api.php" \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{"message":"Bonjour","provider":"cloudflare"}'
|
||||
</pre>
|
||||
@@ -232,7 +232,7 @@ curl -X POST "http://89.167.40.150:5821/hamid-api.php" \
|
||||
<p><strong>JavaScript:</strong></p>
|
||||
<div class="schema">
|
||||
<pre>
|
||||
const response = await fetch('http://89.167.40.150:5821/hamid-api.php', {
|
||||
const response = await fetch('http://95.216.167.89:5821/hamid-api.php', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
@@ -252,7 +252,7 @@ console.log(data.response);
|
||||
import requests
|
||||
|
||||
response = requests.post(
|
||||
'http://89.167.40.150:5821/hamid-api.php',
|
||||
'http://95.216.167.89:5821/hamid-api.php',
|
||||
json={
|
||||
'message': 'Bonjour',
|
||||
'provider': 'cerebras'
|
||||
@@ -265,7 +265,7 @@ print(response.json()['response'])
|
||||
<h3>📊 Endpoint Status</h3>
|
||||
<div class="schema">
|
||||
<pre>
|
||||
GET http://89.167.40.150:5821/hamid-status.php
|
||||
GET http://95.216.167.89:5821/hamid-status.php
|
||||
|
||||
Retourne l'état de tous les providers avec leur priorité et status.
|
||||
</pre>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* WEVAL MIND - Centre de Maintenance & Surveillance Automatique
|
||||
* URL: http://89.167.40.150:5821/hamid-maintenance.php
|
||||
* URL: http://95.216.167.89:5821/hamid-maintenance.php
|
||||
*
|
||||
* Fonctionnalités:
|
||||
* - Diagnostic complet automatique
|
||||
|
||||
@@ -32,7 +32,7 @@
|
||||
<body>
|
||||
<div class="ssh-bar">
|
||||
<span class="conn">● Connected</span>
|
||||
<span>hamid@89.167.40.150</span>
|
||||
<span>hamid@95.216.167.89</span>
|
||||
<?php echo hamid_providers_dropdown("cerebras", "provider", ""); ?>
|
||||
<span class="right">SSH-2.0-WEVAL MIND_AI | Encrypted</span>
|
||||
</div>
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
addTyping();
|
||||
|
||||
try {
|
||||
const res = await fetch('http://89.167.40.150:5890/hamid-api.php', {
|
||||
const res = await fetch('http://95.216.167.89:5890/hamid-api.php', {
|
||||
method: 'POST',
|
||||
headers: { 'Content-Type': 'application/json' },
|
||||
body: JSON.stringify({
|
||||
|
||||
@@ -94,7 +94,7 @@ function hamid_providers_dropdown() {
|
||||
<header class="header">
|
||||
<div class="header-left">
|
||||
<div class="logo"><span style="font-size:1.2rem">🧞</span><span>WEVAL MIND® Code</span></div>
|
||||
<div class="server-badge"><span class="status-dot"></span><span id="currentPathDisplay">89.167.40.150 - /opt/wevads</span></div>
|
||||
<div class="server-badge"><span class="status-dot"></span><span id="currentPathDisplay">95.216.167.89 - /opt/wevads</span></div>
|
||||
</div>
|
||||
<div class="header-center">
|
||||
<?php echo hamid_providers_dropdown("groq", "providerSelect", "provider-select"); ?>
|
||||
@@ -189,7 +189,7 @@ function hamid_providers_dropdown() {
|
||||
const data = await res.json();
|
||||
if (!data.success) { tree.innerHTML = '<div class="error-msg">' + (data.error || 'Erreur') + '</div>'; return; }
|
||||
currentPath = data.path;
|
||||
document.getElementById('currentPathDisplay').textContent = '89.167.40.150 - ' + currentPath;
|
||||
document.getElementById('currentPathDisplay').textContent = '95.216.167.89 - ' + currentPath;
|
||||
let html = '';
|
||||
if (data.parent && data.parent !== data.path) {
|
||||
html += '<div class="tree-item" onclick="loadFiles(\'' + data.parent.replace(/'/g, "\\'") + '\')"><i class="fas fa-level-up-alt folder-icon"></i><span class="name">..</span></div>';
|
||||
|
||||
@@ -103,7 +103,7 @@ table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;colo
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>GSuite Accounts</span><span>248 active</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>Inbox Rate (avg)</span><span style="color:var(--gn);font-weight:700">91%</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>Bounce Rate</span><span style="color:var(--gn)">1.2%</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-am"></span>IP 89.167.40.150</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-am"></span>IP 95.216.167.89</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>IP 151.80.235.110</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>DNS (SPF+DKIM+DMARC)</span><span class="badge badge-gn">PASS</span></div>
|
||||
</div>
|
||||
|
||||
@@ -53,7 +53,7 @@ table{width:100%;border-collapse:collapse;font-size:10px}th{text-align:left;colo
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>GSuite Accounts</span><span>248 active</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>Inbox Rate (avg)</span><span style="color:var(--gn);font-weight:700">91%</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>Bounce Rate</span><span style="color:var(--gn)">1.2%</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-am"></span>IP 89.167.40.150</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-am"></span>IP 95.216.167.89</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>IP 151.80.235.110</span><span class="badge badge-gn">CLEAN</span></div>
|
||||
<div class="health-item"><span><span class="dot dot-gn"></span>DNS (SPF+DKIM+DMARC)</span><span class="badge badge-gn">PASS</span></div>
|
||||
</div>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
try {
|
||||
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
try {
|
||||
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
|
||||
|
||||
@@ -57,7 +57,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && ($_POST['action'] ?? '') === 'creat
|
||||
<div class="bg-gray-800 rounded-lg p-4">
|
||||
<h2 class="font-bold mb-2"><i class="fas fa-cogs mr-2 text-yellow-400"></i>Workflow</h2>
|
||||
<div class="text-xs space-y-1 text-gray-300"><p>1. Webhook</p><p>2. Create Instance</p><p>3. Wait 3min</p><p>4. Install PMTA</p><p>5. Register MTA</p></div>
|
||||
<a href="http://89.167.40.150:5825/workflow/asKwipSaYDfkoLp7" target="_blank" class="mt-3 block bg-purple-600 p-2 rounded text-center text-sm">Open n8n</a>
|
||||
<a href="http://95.216.167.89:5825/workflow/asKwipSaYDfkoLp7" target="_blank" class="mt-3 block bg-purple-600 p-2 rounded text-center text-sm">Open n8n</a>
|
||||
</div>
|
||||
<div class="bg-gray-800 rounded-lg p-4">
|
||||
<h2 class="font-bold mb-2"><i class="fas fa-history mr-2 text-green-400"></i>Processes</h2>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?php
|
||||
session_start();
|
||||
$base_url = 'http://89.167.40.150:5821';
|
||||
$base_url = 'http://95.216.167.89:5821';
|
||||
|
||||
try {
|
||||
$pdo = new PDO("pgsql:host=localhost;dbname=adx_system", "admin", "admin123");
|
||||
|
||||
@@ -35,6 +35,9 @@ a.link .tag{font-family:'JetBrains Mono',monospace;font-size:.55rem;padding:2px
|
||||
<div class="sub">All Servers • All Screens • All Access</div>
|
||||
</div>
|
||||
<div class="creds">
|
||||
🔑 ADX Login: <b>yacine@wevads.com</b> / <b>Weval@2026</b> |
|
||||
MailStream: <b>ymahboub</b> / <b>Weval@2026</b> |
|
||||
S88 Panel: <b>yacine</b> / <b>Yac1ne@Wev2026Sec</b>
|
||||
</div>
|
||||
|
||||
<!-- S95 (ex-S89) -->
|
||||
|
||||
@@ -285,7 +285,7 @@ $stats = $pdo->query("SELECT
|
||||
</div>
|
||||
|
||||
<div class="footer">
|
||||
<p>🧠 WEVAL IA HUB - <?= date('Y') ?> | Server: <?= gethostname() ?> | IP: 89.167.40.150:5821</p>
|
||||
<p>🧠 WEVAL IA HUB - <?= date('Y') ?> | Server: <?= gethostname() ?> | IP: 95.216.167.89:5821</p>
|
||||
<p style="margin-top:0.5rem">
|
||||
<a href="/ia-index.php" style="color:#4facfe">← Index Principal</a> |
|
||||
<a href="/hamid-fullscreen.php" style="color:#4facfe">Chat IA</a> |
|
||||
|
||||
@@ -162,7 +162,7 @@ foreach ($providerList as $id => $p) {
|
||||
<div class="logo">🧞</div>
|
||||
<div>
|
||||
<div class="title">WEVAL MIND System</div>
|
||||
<div class="subtitle">Monitoring & Administration • 89.167.40.150</div>
|
||||
<div class="subtitle">Monitoring & Administration • 95.216.167.89</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="header-stats">
|
||||
@@ -213,8 +213,8 @@ foreach ($providerList as $id => $p) {
|
||||
</div>
|
||||
<div class="service-list">
|
||||
<div class="service-item"><span class="service-name"><span class="status-dot green"></span> WEVAL :5821</span><a href="/" class="service-btn" style="background:var(--accent);color:#fff">Ouvrir</a></div>
|
||||
<div class="service-item"><span class="service-name"><span class="status-dot" id="dot-fmgapp"></span> FMGAPP :5822</span><a href="http://89.167.40.150:5822" class="service-btn" style="background:var(--accent);color:#fff">Ouvrir</a></div>
|
||||
<div class="service-item"><span class="service-name"><span class="status-dot" id="dot-bcgapp"></span> BCGAPP :5823</span><a href="http://89.167.40.150:5823" class="service-btn" style="background:var(--accent);color:#fff">Ouvrir</a></div>
|
||||
<div class="service-item"><span class="service-name"><span class="status-dot" id="dot-fmgapp"></span> FMGAPP :5822</span><a href="http://95.216.167.89:5822" class="service-btn" style="background:var(--accent);color:#fff">Ouvrir</a></div>
|
||||
<div class="service-item"><span class="service-name"><span class="status-dot" id="dot-bcgapp"></span> BCGAPP :5823</span><a href="http://95.216.167.89:5823" class="service-btn" style="background:var(--accent);color:#fff">Ouvrir</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -307,7 +307,7 @@ foreach ($providerList as $id => $p) {
|
||||
<pre style="color:var(--text);margin:0">
|
||||
|
||||
🧞 WEVAL MIND SYSTEM │
|
||||
89.167.40.150 (Hetzner) │
|
||||
95.216.167.89 (Hetzner) │
|
||||
|
||||
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐
|
||||
│ 💬 Chat │ │ 💻 IDE Code │ │ 🖥️ CLI Agent │ │ 🧞 Widget │
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
<a href="/deliverads/warmup.php"><i class="fas fa-fire"></i> Warmup</a>
|
||||
<a href="/deliverads/monitor.php"><i class="fas fa-chart-line"></i> Monitor</a>
|
||||
<a href="/deliverads/n8n.php"><i class="fas fa-cogs"></i> N8N</a>
|
||||
<a href="http://89.167.40.150:5678" target="_blank"><i class="fas fa-external-link-alt"></i> N8N Dashboard</a>
|
||||
<a href="http://95.216.167.89:5678" target="_blank"><i class="fas fa-external-link-alt"></i> N8N Dashboard</a>
|
||||
</div>
|
||||
<button class="deliverads-btn" onclick="toggleDeliveradsMenu()" title="WEVAL SEND">
|
||||
<i class="fas fa-rocket"></i>
|
||||
|
||||
@@ -156,7 +156,7 @@ function toggleIpSearch(){
|
||||
var i=document.createElement("input");
|
||||
i.id="ipInput";
|
||||
i.placeholder="Entrer adresse IP";
|
||||
i.value="89.167.40.150";
|
||||
i.value="95.216.167.89";
|
||||
i.style.cssText="width:100%;background:#f8fafc;color:#1e293b;border:1px solid #e2e8f0;border-radius:6px;padding:8px";
|
||||
d.appendChild(i);
|
||||
var bg=document.createElement("div");
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<span class="arrow"></span>
|
||||
</a>
|
||||
<ul class="sub-menu">
|
||||
<li><a href="http://89.167.40.150:5825" target="_blank"><span class="title">🚀 n8n Interface</span></a></li>
|
||||
<li><a href="http://95.216.167.89:5825" target="_blank"><span class="title">🚀 n8n Interface</span></a></li>
|
||||
<li><a href="/weval-orchestrator.php" target="_blank"><span class="title">âš™ï¸<EFBFBD> Orchestrator</span></a></li>
|
||||
<li><a href="/deliverads/n8n-integration.php" target="_blank"><span class="title">🔄 Workflows</span></a></li>
|
||||
</ul>
|
||||
@@ -59,12 +59,12 @@
|
||||
</a>
|
||||
<ul class="sub-menu">
|
||||
<li><a href="/ia-index.php" target="_blank"><span class="title">ðŸ<EFBFBD> Hub IA</span></a></li>
|
||||
<li><a href="http://89.167.40.150:5890/menu.html" target="_blank"><span class="title">🚀 Arsenal Nav</span></a></li>
|
||||
<li><a href="http://95.216.167.89:5890/menu.html" target="_blank"><span class="title">🚀 Arsenal Nav</span></a></li>
|
||||
<li><a href="/hamid-fullscreen.php" target="_blank"><span class="title">💬 Chat IA</span></a></li>
|
||||
<li><a href="/hamid-cli.php" target="_blank"><span class="title">⌨ï¸<EFBFBD> CLI Web</span></a></li>
|
||||
<li><a href="/hamid-code.php" target="_blank"><span class="title">💻 Code Editor</span></a></li><li><a href="/hamid-ssh.php" class="nav-link"><span class="title">🔌 IA SSH</span></a></li>
|
||||
<li><a href="/hamid-providers.php" target="_blank"><span class="title">🔌 Providers</span></a></li>
|
||||
<li><a href="http://89.167.40.150:5890/ia-discover.html" target="_blank"><span class="title">ðŸ”<EFBFBD> IA Discover</span></a></li>
|
||||
<li><a href="http://95.216.167.89:5890/ia-discover.html" target="_blank"><span class="title">ðŸ”<EFBFBD> IA Discover</span></a></li>
|
||||
<li><a href="/weval-ssh.php" target="_blank"><span class="title">🖥ï¸<EFBFBD> SSH Web</span></a></li>
|
||||
</ul>
|
||||
</li>
|
||||
@@ -1910,7 +1910,7 @@
|
||||
|
||||
function normalizeHref(href) {
|
||||
if (!href || href.indexOf('javascript:') === 0) return null;
|
||||
if (href.indexOf('http://89.167.40.150:5825') === 0 || href.indexOf('http://89.167.40.150:8080') === 0) return null;
|
||||
if (href.indexOf('http://95.216.167.89:5825') === 0 || href.indexOf('http://95.216.167.89:8080') === 0) return null;
|
||||
if (href.indexOf(TOKEN) === 0) {
|
||||
href = location.origin + href.slice(TOKEN.length);
|
||||
} else if (href.charAt(0) === '/') {
|
||||
|
||||
@@ -50,9 +50,9 @@ body{font-family:'DM Sans',sans-serif;background:#0a0e1a;color:#e2e8f0;min-heigh
|
||||
<div class="nav-back">
|
||||
<a href="dashboard.html">📊 Dashboard</a>
|
||||
<a href="operations-overview.html">🏠 Overview</a>
|
||||
<a href="http://89.167.40.150:5821">🏠 ADX (5821)</a>
|
||||
<a href="http://89.167.40.150:5825">⚡ N8N (5678)</a>
|
||||
<a href="http://89.167.40.150:8080">🤖 HAMID (8080)</a>
|
||||
<a href="http://95.216.167.89:5821">🏠 ADX (5821)</a>
|
||||
<a href="http://95.216.167.89:5825">⚡ N8N (5678)</a>
|
||||
<a href="http://95.216.167.89:8080">🤖 HAMID (8080)</a>
|
||||
</div>
|
||||
|
||||
<div class="search">
|
||||
@@ -652,7 +652,7 @@ const LINK_HEALTH_CACHE_TTL_MS = 12 * 60 * 60 * 1000;
|
||||
|
||||
function normalizeMenuHref(href){
|
||||
if(!href || href.startsWith('javascript:')) return null;
|
||||
if(href.startsWith('http://89.167.40.150:5825') || href.startsWith('http://89.167.40.150:8080')) return null;
|
||||
if(href.startsWith('http://95.216.167.89:5825') || href.startsWith('http://95.216.167.89:8080')) return null;
|
||||
if(href.startsWith('http://') || href.startsWith('https://')) return href;
|
||||
if(href.startsWith('/')) return location.origin + href;
|
||||
return location.origin + '/' + href;
|
||||
|
||||
@@ -360,7 +360,7 @@
|
||||
<div class="code-block">
|
||||
<pre><span class="comment">// n8n HTTP Request Node → WEVAL MIND API</span>
|
||||
{
|
||||
<span class="string">"url"</span>: <span class="string">"http://89.167.40.150:5821/hamid-api.php"</span>,
|
||||
<span class="string">"url"</span>: <span class="string">"http://95.216.167.89:5821/hamid-api.php"</span>,
|
||||
<span class="string">"method"</span>: <span class="string">"POST"</span>,
|
||||
<span class="string">"headers"</span>: {
|
||||
<span class="string">"Content-Type"</span>: <span class="string">"application/json"</span>
|
||||
|
||||
@@ -37,13 +37,13 @@ body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(
|
||||
<h1><i class="fas fa-project-diagram"></i> n8n Workflow Automation <span class="status">● Running</span></h1>
|
||||
<div style="display:flex;gap:10px;">
|
||||
<a href="index.php" class="btn btn-back"><i class="fas fa-arrow-left"></i> Retour WEVAL</a>
|
||||
<a href="http://89.167.40.150:5678" target="_blank" class="btn btn-open"><i class="fas fa-external-link-alt"></i> Ouvrir en plein écran</a>
|
||||
<a href="http://95.216.167.89:5678" target="_blank" class="btn btn-open"><i class="fas fa-external-link-alt"></i> Ouvrir en plein écran</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-bar">
|
||||
<span><i class="fas fa-link"></i> <strong>URL:</strong> http://89.167.40.150:5678</span>
|
||||
<span><i class="fas fa-webhook"></i> <strong>Webhook Base:</strong> http://89.167.40.150:5678/webhook/</span>
|
||||
<span><i class="fas fa-link"></i> <strong>URL:</strong> http://95.216.167.89:5678</span>
|
||||
<span><i class="fas fa-webhook"></i> <strong>Webhook Base:</strong> http://95.216.167.89:5678/webhook/</span>
|
||||
<span><i class="fas fa-database"></i> <strong>Data:</strong> /opt/n8n</span>
|
||||
<span><i class="fas fa-info-circle"></i> <strong>Tip:</strong> Créez un compte owner à la première connexion</span>
|
||||
</div>
|
||||
@@ -53,7 +53,7 @@ body{font-family:'Segoe UI',system-ui,sans-serif;background:var(--bg);color:var(
|
||||
<i class="fas fa-spinner fa-spin"></i>
|
||||
<p style="margin-top:10px">Chargement de n8n...</p>
|
||||
</div>
|
||||
<iframe src="http://89.167.40.150:5678" onload="document.getElementById('loading').style.display='none'"></iframe>
|
||||
<iframe src="http://95.216.167.89:5678" onload="document.getElementById('loading').style.display='none'"></iframe>
|
||||
</div>
|
||||
|
||||
<?php include("includes/chatbot-widget.php"); ?>
|
||||
|
||||
@@ -17,7 +17,7 @@ function getDB() {
|
||||
}
|
||||
|
||||
function getServerIP() {
|
||||
return trim(file_get_contents('https://api.ipify.org') ?: '89.167.40.150');
|
||||
return trim(file_get_contents('https://api.ipify.org') ?: '95.216.167.89');
|
||||
}
|
||||
|
||||
function namecheapAPI($command, $params, $username, $apiKey) {
|
||||
|
||||
@@ -143,7 +143,7 @@
|
||||
|
||||
<div class="summary">
|
||||
<h3>📋 INFRASTRUCTURE TESTÉE</h3>
|
||||
<div>🔹 S89 (89.167.40.150) — Core + Tracking ADX + Ethica</div>
|
||||
<div>🔹 S89 (95.216.167.89) — Core + Tracking ADX + Ethica</div>
|
||||
<div>🔹 S88 (88.198.4.195) — WEVIA + Site Principal</div>
|
||||
<div>🔹 S202 (204.168.152.13) — PMTA + Consent</div>
|
||||
<div>🔹 S151 (151.80.235.110) — OVH (DOWN attendu)</div>
|
||||
|
||||
@@ -13,7 +13,7 @@ if (count($parts) >= 2) {
|
||||
@file_put_contents('/var/log/tracking/opens.log', $log, FILE_APPEND | LOCK_EX);
|
||||
|
||||
// Notify WEVAL async
|
||||
$wevads_url = 'http://89.167.40.150:5821/api/track/open?data=' . urlencode($data) . '&ip=' . urlencode($_SERVER['REMOTE_ADDR']);
|
||||
$wevads_url = 'http://95.216.167.89:5821/api/track/open?data=' . urlencode($data) . '&ip=' . urlencode($_SERVER['REMOTE_ADDR']);
|
||||
$ctx = stream_context_create(['http' => ['timeout' => 1, 'ignore_errors' => true]]);
|
||||
@file_get_contents($wevads_url, false, $ctx);
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?php
|
||||
$config = ['vnc_host'=>'89.167.40.150','vnc_port'=>5900,'novnc_port'=>6080,'scripts_dir'=>'/opt/wevads/scripts/office365','data_dir'=>'/opt/wevads/storage/office365'];
|
||||
$config = ['vnc_host'=>'95.216.167.89','vnc_port'=>5900,'novnc_port'=>6080,'scripts_dir'=>'/opt/wevads/scripts/office365','data_dir'=>'/opt/wevads/storage/office365'];
|
||||
$db = ['host'=>'localhost','port'=>'5432','dbname'=>'adx_system','user'=>'admin','password'=>'admin123'];
|
||||
@mkdir($config['scripts_dir'],0755,true);@mkdir($config['data_dir'],0755,true);
|
||||
function getDB(){global $db;try{return new PDO("pgsql:host={$db['host']};port={$db['port']};dbname={$db['dbname']}",$db['user'],$db['password']);}catch(Exception $e){return null;}}
|
||||
|
||||
@@ -411,7 +411,7 @@ Content-Type: application/json
|
||||
<span class="comment"># Créer connecteur vers PMTA</span>
|
||||
<span class="cmdlet">New-OutboundConnector</span> <span class="param">-Name</span> <span class="string">"PMTA-Connector"</span> `
|
||||
<span class="param">-ConnectorType</span> Partner `
|
||||
<span class="param">-SmartHosts</span> <span class="string">"89.167.40.150"</span> `
|
||||
<span class="param">-SmartHosts</span> <span class="string">"95.216.167.89"</span> `
|
||||
<span class="param">-TlsSettings</span> EncryptionOnly `
|
||||
<span class="param">-UseMXRecord</span> $false `
|
||||
<span class="param">-Enabled</span> $true
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
session_start();
|
||||
error_reporting(E_ALL);
|
||||
|
||||
$serverIp = '89.167.40.150';
|
||||
$serverIp = '95.216.167.89';
|
||||
$port = '5821';
|
||||
$baseUrl = "http://{$serverIp}:{$port}";
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ if ($_SERVER['REQUEST_METHOD'] === 'POST' && $action === 'send') {
|
||||
'pmta_status' => $pmta_running ? 'running' : 'stopped',
|
||||
'port_25_open' => $port_open,
|
||||
'server_time' => date('Y-m-d H:i:s'),
|
||||
'endpoint' => 'http://89.167.40.150:5821/pmta-api/send.php'
|
||||
'endpoint' => 'http://95.216.167.89:5821/pmta-api/send.php'
|
||||
], JSON_PRETTY_PRINT);
|
||||
|
||||
} else {
|
||||
|
||||
@@ -54,7 +54,7 @@ if ($method === 'GET' && $action === 'status') {
|
||||
'system' => 'WEVADS Arsenal API v2.0',
|
||||
'status' => 'operational',
|
||||
'pmta_status' => $pmta_status,
|
||||
'server' => '89.167.40.150:5821',
|
||||
'server' => '95.216.167.89:5821',
|
||||
'timestamp' => date('Y-m-d H:i:s'),
|
||||
'endpoints' => [
|
||||
'send' => 'POST /pmta-api/v2/send.php?key=API_KEY',
|
||||
|
||||
@@ -41,8 +41,8 @@ h1{font-size:24px;margin-bottom:20px;color:#22d3ee}
|
||||
<div class="step">
|
||||
<strong>Step 3: Colle cette URL</strong>
|
||||
<div class="url-box" onclick="navigator.clipboard.writeText(this.dataset.url);this.style.borderColor='#10b981'"
|
||||
data-url="http://89.167.40.150/api/conversion.php?sub1=#s1#&amount=#price#&offer_id=#oid#&txn_id=#tid#&network=cx3">
|
||||
http://89.167.40.150/api/conversion.php?sub1=#s1#&amount=#price#&offer_id=#oid#&txn_id=#tid#&network=cx3
|
||||
data-url="http://95.216.167.89/api/conversion.php?sub1=#s1#&amount=#price#&offer_id=#oid#&txn_id=#tid#&network=cx3">
|
||||
http://95.216.167.89/api/conversion.php?sub1=#s1#&amount=#price#&offer_id=#oid#&txn_id=#tid#&network=cx3
|
||||
</div>
|
||||
<div class="note">Tokens CAKE: #s1# = sub ID, #price# = payout, #oid# = offer ID, #tid# = transaction ID</div>
|
||||
</div>
|
||||
@@ -76,8 +76,8 @@ h1{font-size:24px;margin-bottom:20px;color:#22d3ee}
|
||||
<div class="step">
|
||||
<strong>Step 3: Colle cette URL</strong>
|
||||
<div class="url-box" onclick="navigator.clipboard.writeText(this.dataset.url);this.style.borderColor='#10b981'"
|
||||
data-url="http://89.167.40.150/api/conversion.php?sub1={sub1}&amount={payout}&offer_id={offer_id}&txn_id={transaction_id}&network=doublem">
|
||||
http://89.167.40.150/api/conversion.php?sub1={sub1}&amount={payout}&offer_id={offer_id}&txn_id={transaction_id}&network=doublem
|
||||
data-url="http://95.216.167.89/api/conversion.php?sub1={sub1}&amount={payout}&offer_id={offer_id}&txn_id={transaction_id}&network=doublem">
|
||||
http://95.216.167.89/api/conversion.php?sub1={sub1}&amount={payout}&offer_id={offer_id}&txn_id={transaction_id}&network=doublem
|
||||
</div>
|
||||
<div class="note">Tokens Everflow: {sub1}, {payout}, {offer_id}, {transaction_id}</div>
|
||||
</div>
|
||||
|
||||
@@ -218,7 +218,7 @@ async function refresh(){
|
||||
if(d.recent_clicks&&d.recent_clicks.length){
|
||||
document.getElementById("clicksTable").innerHTML=d.recent_clicks.map(c=>{
|
||||
const isCx3=c.redirect_url&&c.redirect_url.includes("e36lbat.com");
|
||||
const isReal=c.ip_address!=="89.167.40.150"&&!c.tracking_id.startsWith("v3")&&!c.tracking_id.startsWith("v4");
|
||||
const isReal=c.ip_address!=="95.216.167.89"&&!c.tracking_id.startsWith("v3")&&!c.tracking_id.startsWith("v4");
|
||||
const badge=isReal?"<span class=\"badge b-real\">REAL</span>":"<span class=\"badge b-test\">TEST</span>";
|
||||
const cx3Badge=isCx3?"<span class=\"badge b-real\">CX3 ✓</span>":"<span class=\"badge b-zero\">DIRECT</span>";
|
||||
return "<tr><td>"+fmtTime(c.clicked_at)+"</td><td style=\"font-size:9px">"+c.tracking_id+"</td><td>"+c.offer_id+"</td><td style=\"font-size:9px\">"+c.ip_address+"</td><td style=\"font-size:9px;max-width:250px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap\">"+cx3Badge+" "+(c.redirect_url||"").substring(0,60)+"</td><td>"+badge+"</td></tr>";
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user