140 lines
6.4 KiB
Bash
Executable File
140 lines
6.4 KiB
Bash
Executable File
#!/bin/bash
|
|
echo "══════════════════════════════════════════════"
|
|
echo "NON-REGRESSION COMPLETE — 5821 + 5890"
|
|
echo "══════════════════════════════════════════════"
|
|
|
|
FAIL_TOTAL=0
|
|
OK_TOTAL=0
|
|
|
|
check() {
|
|
local port=$1 label=$2 expected=$3 url=$4
|
|
code=$(curl -s -o /tmp/nr_body.txt -w '%{http_code}' --max-time 10 "$url" 2>/dev/null)
|
|
size=$(wc -c < /tmp/nr_body.txt 2>/dev/null)
|
|
# Check for PHP errors in body
|
|
php_err=$(grep -c "Fatal error\|Parse error\|Warning.*:" /tmp/nr_body.txt 2>/dev/null)
|
|
|
|
if [ "$code" = "$expected" ] && [ "$php_err" = "0" ]; then
|
|
OK_TOTAL=$((OK_TOTAL+1))
|
|
else
|
|
FAIL_TOTAL=$((FAIL_TOTAL+1))
|
|
reason=""
|
|
[ "$code" != "$expected" ] && reason="HTTP $code (expected $expected)"
|
|
[ "$php_err" != "0" ] && reason="$reason PHP_ERRORS=$php_err"
|
|
echo " ❌ $label → $reason [${size}B]"
|
|
fi
|
|
}
|
|
|
|
echo ""
|
|
echo "▶ 1. ADX 5821 — CORE PAGES (expect 301 auth)"
|
|
for p in dashboard/main.html production/send-process.html data-lists.html offers.html domains.html mta-servers.html users.html settings.html teams.html clients.html smtp-servers.html; do
|
|
check 5821 "$p" 301 "http://127.0.0.1:5821/$p"
|
|
done
|
|
echo " ✅ ADX core: $OK_TOTAL OK"
|
|
|
|
echo ""
|
|
echo "▶ 2. ADX 5821 — TOOLS"
|
|
for p in tools/mailbox-extractor.html tools/spf-lookup.html tools/ip-lookup.html; do
|
|
check 5821 "$p" 301 "http://127.0.0.1:5821/$p"
|
|
done
|
|
|
|
echo ""
|
|
echo "▶ 3. ADX 5821 — PHP STANDALONE"
|
|
ok_before=$OK_TOTAL
|
|
for p in hamid-fullscreen.php wevalmindads.php control-hub.php dkim_setup.php status-dashboard.php tracking-dashboard.php cloud-api-hub.php server-dashboard.php sidebar-admin.php deliverads/dashboard.php; do
|
|
check 5821 "$p" 200 "http://127.0.0.1:5821/$p"
|
|
done
|
|
echo " ✅ PHP standalone: $((OK_TOTAL - ok_before)) OK"
|
|
|
|
echo ""
|
|
echo "▶ 4. ADX 5821 — APIs"
|
|
check 5821 "brain-inject winners" 200 "http://127.0.0.1:5821/api/brain-inject-api.php?action=winners"
|
|
check 5821 "brain-pixel" 200 "http://127.0.0.1:5821/api/brain-pixel.php?t=nonreg"
|
|
check 5821 "hamid-api" 200 "http://127.0.0.1:5821/api/hamid-api.php"
|
|
check 5821 "sentinel" 200 "http://127.0.0.1:5821/api/sentinel-brain.php"
|
|
check 5821 "health-check" 200 "http://127.0.0.1:5821/api/health-check.php"
|
|
|
|
echo ""
|
|
echo "▶ 5. ADX 5821 — JS/CSS ASSETS"
|
|
check 5821 "brain-inject.js" 200 "http://127.0.0.1:5821/js/brain-inject.js?v=1772824954"
|
|
check 5821 "footer-toggles.js" 200 "http://127.0.0.1:5821/js/footer-toggles.js?v=1772822000"
|
|
|
|
echo ""
|
|
echo "▶ 6. ARSENAL 5890 — ALL HTML PAGES"
|
|
ok_before=$OK_TOTAL
|
|
fail_before=$FAIL_TOTAL
|
|
cd /opt/wevads-arsenal/public 2>/dev/null || cd /opt/wevads/public 2>/dev/null
|
|
for f in *.html; do
|
|
check 5890 "$f" 200 "http://127.0.0.1:5890/$f"
|
|
done
|
|
echo " ✅ Arsenal HTML: $((OK_TOTAL - ok_before)) OK, $((FAIL_TOTAL - fail_before)) fail"
|
|
|
|
echo ""
|
|
echo "▶ 7. ARSENAL 5890 — KEY PHP PAGES"
|
|
for p in deliverads/dashboard.php deliverads/brain-dashboard.php brain-orchestrator.php; do
|
|
check 5890 "$p" 200 "http://127.0.0.1:5890/$p"
|
|
done
|
|
|
|
echo ""
|
|
echo "▶ 8. ARSENAL 5890 — APIs"
|
|
check 5890 "seeds-winners seeds" 200 "http://127.0.0.1:5890/seeds-winners-manager.html?api=seeds"
|
|
check 5890 "seeds-winners winners" 200 "http://127.0.0.1:5890/seeds-winners-manager.html?api=winners"
|
|
check 5890 "seeds-winners cached_nl" 200 "http://127.0.0.1:5890/seeds-winners-manager.html?api=cached_newsletters"
|
|
check 5890 "seeds-winners search" 200 "http://127.0.0.1:5890/seeds-winners-manager.html?api=search&q=GMX"
|
|
|
|
echo ""
|
|
echo "▶ 9. API RESPONSE VALIDATION"
|
|
# Brain inject winners count
|
|
W=$(curl -s "http://127.0.0.1:5821/api/brain-inject-api.php?action=winners" | python3 -c 'import json,sys;print(json.load(sys.stdin).get("count",0))' 2>/dev/null)
|
|
echo " Brain winners API: $W winners"
|
|
[ "$W" -lt 1 ] && echo " ❌ No winners in API!" && FAIL_TOTAL=$((FAIL_TOTAL+1))
|
|
|
|
# Seeds manager
|
|
S=$(curl -s "http://127.0.0.1:5890/seeds-winners-manager.html?api=winners" | python3 -c 'import json,sys;print(json.load(sys.stdin).get("count",0))' 2>/dev/null)
|
|
echo " Seeds manager winners: $S"
|
|
|
|
# Newsletter cache
|
|
N=$(curl -s "http://127.0.0.1:5890/seeds-winners-manager.html?api=cached_newsletters" | python3 -c 'import json,sys;print(json.load(sys.stdin).get("count",0))' 2>/dev/null)
|
|
echo " Newsletter cache: $N emails"
|
|
|
|
echo ""
|
|
echo "▶ 10. DATABASE INTEGRITY"
|
|
PGPASSWORD=admin123 psql -U admin -d adx_system -t -c "
|
|
SELECT 'mta_servers: ' || COUNT(*) FROM admin.mta_servers WHERE status='Activated'
|
|
UNION ALL SELECT 'servers_vmtas: ' || COUNT(*) FROM admin.servers_vmtas
|
|
UNION ALL SELECT 'brain_configs: ' || COUNT(*) FROM admin.brain_configs
|
|
UNION ALL SELECT 'brain_winners: ' || COUNT(*) FROM admin.brain_winners
|
|
UNION ALL SELECT 'brain_seeds_ok: ' || COUNT(*) FROM admin.brain_seeds WHERE check_status='ok'
|
|
UNION ALL SELECT 'newsletter_cache: ' || COUNT(*) FROM admin.newsletter_cache
|
|
UNION ALL SELECT 'brain_pixel_hits: ' || COUNT(*) FROM admin.brain_pixel_hits
|
|
UNION ALL SELECT 'brain_inbox_s151: check_separately' FROM admin.brain_configs LIMIT 1
|
|
;" 2>/dev/null
|
|
|
|
echo ""
|
|
echo "▶ 11. EXTERNAL ENDPOINTS"
|
|
check ext "OVH tracking" 200 "http://151.80.235.110/track.php"
|
|
check ext "e36lbat.com" 200 "https://e36lbat.com/"
|
|
check ext "S151 SMTP" 200 "http://151.80.235.110/"
|
|
|
|
echo ""
|
|
echo "▶ 12. DNS RECORDS"
|
|
echo " s89.wevup.app: $(dig +short s89.wevup.app A 2>/dev/null)"
|
|
echo " mx.wevup.app: $(dig +short mx.wevup.app A 2>/dev/null)"
|
|
echo " seed.wevup.app MX: $(dig +short seed.wevup.app MX 2>/dev/null)"
|
|
|
|
echo ""
|
|
echo "▶ 13. SECURITY"
|
|
echo " PMTA: $(systemctl is-active pmta 2>/dev/null || echo 'inactive')"
|
|
echo " Postfix: $(systemctl is-active postfix 2>/dev/null || echo 'inactive')"
|
|
echo " Port 25: $(ss -tlnp 2>/dev/null | grep -c ':25 ') listeners"
|
|
|
|
echo ""
|
|
echo "▶ 14. SERVICES"
|
|
echo " Apache: $(systemctl is-active apache2 2>/dev/null)"
|
|
echo " PostgreSQL: $(systemctl is-active postgresql 2>/dev/null)"
|
|
echo " N8N: $(curl -s -o /dev/null -w '%{http_code}' http://127.0.0.1:5678/ 2>/dev/null)"
|
|
|
|
echo ""
|
|
echo "══════════════════════════════════════════════"
|
|
echo "TOTAL: $OK_TOTAL OK | $FAIL_TOTAL FAIL"
|
|
echo "══════════════════════════════════════════════"
|