Fonctionnalités complètes

Un seul fichier PHP qui transforme vos logs Apache bruts en tableaux de bord interactifs. Aucune base de données, aucune dépendance, zéro configuration initiale.

Sessions visiteurs

Seelog regroupe automatiquement les lignes de log en sessions par IP, en appliquant un timeout d'inactivité de 30 minutes et une durée maximale de 1 heure par session. Le résultat : une vue claire de ce que chaque visiteur a fait, dans l'ordre chronologique.

📋
Tableau paginé AJAX
40 sessions par page chargées dynamiquement sans rechargement. Navigation ultra-rapide même sur des logs de plusieurs centaines de milliers de lignes. Premier affichage en moins de 800 ms.
AJAXPagination
🔀
Tri multi-colonnes
Triez par dernier accès, nombre de pages vues, volume transféré ou durée de session. Un clic inverse l'ordre, deux clics reviennent au défaut. Le tri est conservé lors de la navigation entre pages.
Multi-critères
👤
Filtres Humains / Bots / Menaces
Basculez instantanément entre tous les visiteurs, humains uniquement, bots uniquement, ou sessions avec menaces détectées. Le filtre persiste lors des changements de page et de tri.
MenacesBots
🔍
Détail de session dépliable
Cliquez sur une ligne pour afficher la liste chronologique des URLs visitées avec heure précise, code HTTP, taille de réponse, référent et User-Agent complet. Les assets statiques sont masquables.
Expandable
🌍
Géolocalisation & drapeaux
Compatible DB-IP Country LITE (sans inscription) et MaxMind GeoLite2. Lecteur MMDB pur PHP sans extension C. Drapeaux en emoji Unicode ou images SVG/PNG selon configuration.
Aucune APILocal
⏱️
Reconstitution temporelle
Timeout d'inactivité 30 min configurable, durée max 1 heure par session. Affiche la première et la dernière requête, la durée totale, et le nombre de pages avec resources ou sans selon le filtre.
Configurable
🏷️
Badges visuels
Chaque session est marquée d'un badge coloré : vert pour humain, bleu pour bot identifié, rouge pour menace critique, orange pour suspect, jaune pour sonde, violet pour spam.
Code couleur
📤
Export des IPs
La liste des IPs menaçantes peut être exportée en texte brut pour alimenter un blocage au niveau du pare-feu ou d'un fichier .htaccess automatiquement généré.
Export

Sécurité & Menaces

Seelog analyse chaque requête de vos logs contre 12 catégories de menaces distinctes, couvrant les attaques les plus courantes observées sur les serveurs Apache. La détection se fait hors-ligne, sans envoi de données à l'extérieur.

☠ Critique
Attaques directes
Tentatives d'exploitation actives cherchant à compromettre le serveur immédiatement.
  • Shell upload / Remote Access Trojan
  • Log4Shell (CVE-2021-44228) ,${jndi:
  • Injection SQL ,UNION SELECT, OR 1=1
  • Traversal de chemin ,./, %2e%2e%2f
  • Lecture de fichiers système ,/etc/passwd, /proc/
⚠ Suspect
Scans d'infrastructure
Reconnaissance ciblée cherchant des composants vulnérables connus.
  • WordPress ,/wp-admin/, /xmlrpc.php
  • PHPMyAdmin ,/phpmyadmin/, /pma/
  • Fichiers secrets ,.env, .git/config, .htpasswd
  • Panneaux d'administration génériques
  • SPAM de formulaires (POST suspects)
🟡 Sonde
Reconnaissance passive
Cartographie de l'infrastructure sans tentative d'exploitation directe.
  • CMS génériques ,Joomla, Drupal, PrestaShop
  • Backups exposés ,.bak, .sql, .zip
  • Scanners d'inventaire connus (Shodan, Censys)
  • Enumération de répertoires
  • Détection de technologies (X-Powered-By)
📧 SPAM
Trafic spam & référents
Trafic non désiré gonflant artificiellement les statistiques ou tentant d'envoyer des messages.
  • 30+ domaines référents spam connus
  • Mots-clés suspects ,casino, viagra, crypto, forex
  • Spam de formulaires de contact
  • Référents Punycode masquant des domaines connus
  • User-Agents de mailers automatiques

Clics sortants détectés

Seelog détecte les URLs de redirection dans vos logs (/click/, /go?url=, redirections HTTP 301/302) et répertorie les destinations externes avec leur fréquence. Utile pour identifier des liens d'affiliation non déclarés ou des campagnes de tracking tierces.

Analyse des bots ,47+ identifiés

Chaque bot dispose d'une couleur distinctive dans les graphiques, d'une pastille cliquable dans le sélecteur interactif, et est classé par catégorie. Les bots non listés mais contenant "bot", "crawler", "spider" ou "scanner" sont automatiquement catégorisés.

GooglebotMoteur
Google-InspectionToolMoteur
Googlebot-ImageMoteur
BingbotMoteur
Slurp (Yahoo)Moteur
DuckDuckBotMoteur
BaiduspiderMoteur
YandexBotMoteur
SeznamBotMoteur
Yeti (Naver)Moteur
Mail.RU_BotMoteur
GPTBot (OpenAI)IA
ClaudeBot (Anthropic)IA
PerplexityBotIA
Google-ExtendedIA
ApplebotIA
Meta-ExternalAgentIA
ia_archiver (archive.org)Archive
HTTrackArchive
Wget / cURLArchive
UptimeRobotMonitoring
PingdomMonitoring
StatusCakeMonitoring
Site24x7Monitoring
DiscordbotSocial
TelegramBotSocial
WhatsAppSocial
InstagramSocial
PinterestSocial
facebot (Facebook)Social
TwitterbotSocial
LinkedInBotSocial
Screaming FrogSEO
AhrefsBotSEO
SemrushBotSEO
MJ12bot (Majestic)SEO
DotBotSEO
RogerbotSEO
CCBot (Common Crawl)Crawl
DataForSeoBotData
Seekport CrawlerMoteur
PinterestbotSocial
GrapeshotCrawlerData
newspaper (Python)Scraper
TurnitinBotAcadémique
Autres bots génériquesGénérique
📊
Graphique sélectif par bot

Pastilles colorées cliquables pour afficher l'évolution d'un bot spécifique ou la somme de tous les bots. Granularité jour/mois/année synchronisée avec le sélecteur global.

🔍
Détection générique

Les User-Agents non reconnus contenant bot, crawler, spider, scanner ou slurp sont automatiquement classés "Autres bots" sans configuration.

Configuration avancée

Toutes les options de Seelog sont accessibles depuis l'interface ,aucune modification de fichier PHP nécessaire. La configuration peut être exportée en JSON et restaurée en un clic.

Option Valeur par défaut Description
Répertoire de logs /var/log/apache2/ Chemin absolu vers le répertoire contenant les fichiers access.log. Sous-répertoires non parcourus.
Plage de dates 7 derniers jours Filtre temporel appliqué à tous les onglets. Modifiable via un sélecteur de plage ou des boutons rapides (aujourd'hui, 7j, 30j, 1an).
Sessions par page 40 Nombre de sessions affichées par page dans le tableau. Valeurs conseillées : 20, 40, 80, 100.
Timeout de session 30 min Durée d'inactivité au-delà de laquelle une nouvelle session est créée pour la même IP.
Base GeoIP (vide) Chemin vers le fichier .mmdb (DB-IP LITE ou MaxMind GeoLite2). Laisser vide pour désactiver la géolocalisation.
Mode drapeaux emoji Affichage des drapeaux : emoji (Unicode), png ou svg (images locales dans le répertoire configuré).
Filtres d'URL [] Liste de préfixes ou regex à exclure de l'analyse. Les assets statiques sont pré-filtrables via case à cocher. N'affecte pas la détection des menaces.
Granularité graphiques jour Regroupement des données dans les graphiques : jour, mois ou année. Synchronisé sur tous les graphiques.
Masquer les assets true Cache les requêtes CSS, JS, images, fontes dans le détail des sessions. Activable session par session ou globalement.
Export JSON config Bouton "Sauvegarder la configuration" dans la bannière ,télécharge un fichier seelog-config.json. Aucune donnée de log incluse.

Installation rapide

Seelog s'installe en 3 étapes et fonctionne immédiatement. Aucune base de données, aucun Composer, aucun npm. Compatible PHP 5.3 et supérieur ,y compris PHP 8.x.

1
Télécharger seelog.php
Téléchargez l'unique fichier PHP depuis la page de téléchargement. Aucune archive à décompresser, aucune dépendance à installer. Le fichier fait moins de 200 Ko et contient tout le code, le CSS et le JavaScript intégrés.
# Via wget wget https://seelog.app/download/seelog.php # Via curl curl -O https://seelog.app/download/seelog.php
2
Copier sur le serveur dans un répertoire protégé
Placez seelog.php dans un répertoire accessible par votre serveur web, mais protégé par un mot de passe Apache (.htaccess + .htpasswd) ou par une restriction IP. Ne le laissez jamais accessible publiquement.
# Exemple : répertoire protégé /stats/ scp seelog.php user@monserveur.fr:/var/www/html/stats/ # .htaccess minimal pour protéger l'accès AuthType Basic AuthName "Seelog ,accès restreint" AuthUserFile /etc/apache2/.htpasswd Require valid-user
3
Ouvrir dans le navigateur et configurer
Accédez à https://monserveur.fr/stats/seelog.php dans votre navigateur. La première visite affiche la bannière de configuration où vous saisissez le chemin vers vos logs Apache. C'est tout ,Seelog analyse et affiche vos données immédiatement.
# Chemin typique des logs Apache Ubuntu/Debian : /var/log/apache2/ CentOS/RHEL : /var/log/httpd/ cPanel : /home/user/logs/ # Optionnel : GeoIP DB-IP LITE (sans inscription) 1. Télécharger dbip-country-lite.mmdb.gz sur db-ip.com 2. Décompresser : gzip -d dbip-country-lite.mmdb.gz 3. Renseigner le chemin dans Seelog

Besoin de plus de détails ? Consultez la documentation complète.

Documentation complète FAQ →

Prêt à analyser vos logs ?

Téléchargez Seelog, copiez-le sur votre serveur, ouvrez votre navigateur. C'est tout.