%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/vacivi36/dossteste.vacivitta.com.br/vendor/
Upload File :
Create Path :
Current File : /home/vacivi36/dossteste.vacivitta.com.br/vendor/mail.php

<!DOCTYPE html>
<html lang="pt-br">
<head>
  <meta charset="UTF-8">
  <title>Dashboard de Abertura de E-mails</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <style>
    body {
      font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      background-color: #121212;
      color: #e0e0e0;
      margin: 0;
      padding: 20px;
    }

    .container {
      max-width: 960px;
      margin: auto;
    }

    h1 {
      color: #90caf9;
      text-align: center;
      margin-bottom: 10px;
    }

    .counter {
      text-align: center;
      font-size: 1.2em;
      color: #a5d6a7;
      margin-bottom: 20px;
    }

    input[type="text"] {
      width: 100%;
      padding: 12px;
      margin-bottom: 20px;
      border: none;
      border-radius: 5px;
      background-color: #1e1e1e;
      color: #fff;
      font-size: 16px;
    }

    .log-box {
      background-color: #1e1e1e;
      border-radius: 5px;
      padding: 15px;
      max-height: 70vh;
      overflow-y: scroll;
      box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
    }

    .log-line {
      padding: 8px;
      border-bottom: 1px solid #333;
      font-family: monospace;
      white-space: pre-wrap;
    }

    .log-line:last-child {
      border-bottom: none;
    }

    ::-webkit-scrollbar {
      width: 8px;
    }

    ::-webkit-scrollbar-track {
      background: #1e1e1e;
    }

    ::-webkit-scrollbar-thumb {
      background: #555;
      border-radius: 4px;
    }

    ::-webkit-scrollbar-thumb:hover {
      background: #777;
    }
  </style>
</head>
<body>
  <div class="container">
    <h1>📬 Monitor de Abertura de E-mails</h1>
    <div class="counter">Total de acessos: <span id="total">0</span></div>
    <input type="text" id="search" placeholder="🔍 Filtrar por e-mail, IP ou termo...">
    <div class="log-box" id="log">Carregando...</div>
  </div>

  <script>
    async function fetchLogs() {
      try {
        const response = await fetch('leitor.php');
        const text = await response.text();
        const lines = text.trim().split("\n").reverse(); // mais recentes no topo
        renderLogs(lines);
      } catch (err) {
        console.error("Erro ao carregar log:", err);
      }
    }

    function renderLogs(lines) {
      const search = document.getElementById('search').value.toLowerCase();
      const logContainer = document.getElementById('log');
      logContainer.innerHTML = '';

      const filtered = lines.filter(line => line.toLowerCase().includes(search));
      document.getElementById('total').textContent = filtered.length;

      filtered.forEach(line => {
        const div = document.createElement('div');
        div.className = 'log-line';
        div.textContent = line;
        logContainer.appendChild(div);
      });
    }

    document.getElementById('search').addEventListener('input', () => {
      fetchLogs();
    });

    // Atualização automática
    setInterval(fetchLogs, 5000);
    fetchLogs(); // Primeira carga
  </script>
</body>
</html>

Zerion Mini Shell 1.0