Un portail captif WiFi moderne et sophistiqué pour EvilPortal, optimisé pour les tests de pénétration autorisés.
- Aperçu
- Fonctionnalités
- Installation
- Configuration
- Utilisation
- Personnalisation
- API
- Dépannage
- Contribution
- Licence
Ce portail captif est spécialement conçu pour les professionnels de la sécurité qui utilisent des outils comme le Pineapple WiFi avec EvilPortal. Il offre une interface moderne et des fonctionnalités avancées pour les tests de pénétration WiFi autorisés.
- 🎨 Interface moderne avec Bootstrap 4
- 📱 Détection automatique des appareils (iOS, Android, Windows)
- 🔍 Tests de connectivité natifs pour tous les OS
- 📊 Logging avancé avec surveillance en temps réel
- ⚙️ Configuration flexible via JSON
- 🔐 Gestion ACL intégrée
- Design responsive et moderne
- Logo personnalisable
- Validation en temps réel
- Support multi-langue
- iOS : Tests
hotspot-detect.html - Android : Tests
generate_204etgen_204 - Windows : Tests
ncsi.txtetconnecttest.txt - Autres : Détection par User-Agent
- Logs détaillés avec timestamps
- Surveillance des tentatives d'authentification
- Gestion des ACL automatique
- Protection contre la mise en cache
- Pineapple WiFi avec EvilPortal installé
- PHP 7.4+ avec support SQLite3
- Accès root pour les fonctionnalités avancées
# 1. Cloner le dépôt
git clone https://github.com/koff75/pineapple-captive-portal.git
cd pineapple-captive-portal
# 2. Copier sur le Pineapple
scp -r Airport/ root@pineapple-ip:/pineapple/modules/evilportal/portals/
# 3. Configurer les permissions
ssh root@pineapple-ip "chmod +x /pineapple/modules/evilportal/portals/Airport/*.php"- Téléchargez le projet
- Copiez le dossier
Airport/vers/pineapple/modules/evilportal/portals/ - Configurez les permissions d'exécution
- Activez le portail dans l'interface EvilPortal
// Chemins des logs
define('LOG_FILE_PATH', '/tmp/airport_debug.log');
define('LOOT_FILE_PATH', '/pineapple/modules/evilportal/log/loot.txt');
// Configuration du portail
define('PORTAL_NAME', 'Airport');
define('PORTAL_TIMEOUT', 30);
// Debug
define('DEBUG_ENABLED', true);
define('VERBOSE_LOGGING', true);{
"name": "Airport",
"type": "targeted",
"targeted_rules": {
"default": "default.php",
"rule_order": ["mac", "ssid", "hostname", "useragent"],
"rules": {
"mac": {
"exact": {
"AA:BB:CC:DD:EE:FF": "special-page.php"
},
"regex": {
"/^AA:BB:CC:.*$/": "android-page.php"
}
}
}
}
}Le portail présente une interface claire avec :
- Champ de saisie pour la phrase de passe WPA2
- Option d'ajout automatique à l'ACL
- Affichage des informations de statut
- Messages d'erreur contextuels
# Visualiser les logs en temps réel
tail -f /tmp/airport_debug.log
# Interface web de logs
http://pineapple-ip/logs-viewer.php# Tester la détection d'appareils
curl http://pineapple-ip/test-connectivity.php- Logo : Remplacez
airport-logo.png - Couleurs : Modifiez
style.cssetadaptive-styles.css - Texte : Éditez les chaînes dans
default.php
{
"rules": {
"useragent": {
"regex": {
"/iPhone/": "ios-page.php",
"/Android/": "android-page.php"
}
}
}
}Airport/
├── 📄 index.php # Point d'entrée principal
├── 📄 default.php # Page par défaut
├── ⚙️ config.php # Configuration centralisée
├── 🔧 helper.php # Fonctions utilitaires
├── 📋 Airport.ep # Règles JSON
├── 🖼️ airport-logo.png # Logo du portail
├── 🎨 style.css # Styles principaux
├── 📱 adaptive-styles.css # Styles adaptatifs
├── 🔍 device-detection-simple.js # Détection d'appareils
├── ⚡ func-improved.js # Fonctions JavaScript
├── 📁 css/ # Bootstrap CSS
├── 📁 js/ # Scripts JavaScript
└── 📁 fonts/ # Polices Bootstrap Icons
Le portail ne s'affiche pas
# Vérifier les permissions
ls -la /pineapple/modules/evilportal/portals/Airport/
# Vérifier les logs
tail -f /tmp/airport_debug.logLes tests de connectivité échouent
# Vérifier la configuration
cat /pineapple/modules/evilportal/portals/Airport/Airport.epProblèmes de logging
# Vérifier l'espace disque
df -h /tmp/
# Redémarrer les services
/etc/init.d/evilportal restart// Activer le debug détaillé
define('DEBUG_ENABLED', true);
define('VERBOSE_LOGGING', true);Les contributions sont les bienvenues ! Voici comment contribuer :
- Fork le projet
- Créez une branche (
git checkout -b feature/amazing-feature) - Commitez vos changements (
git commit -m 'Add amazing feature') - Push vers la branche (
git push origin feature/amazing-feature) - Ouvrez une Pull Request
- Suivez les conventions de code PHP
- Ajoutez des tests pour les nouvelles fonctionnalités
- Documentez les changements dans le README
- Respectez la licence MIT
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
IMPORTANT : Ce projet est destiné uniquement à des fins éducatives et de test de pénétration autorisé. L'utilisation de ce logiciel pour des activités illégales est strictement interdite. Les développeurs ne sont pas responsables de l'utilisation abusive de ce code.
- 📧 Issues : GitHub Issues
- 📚 Documentation : EvilPortal Wiki
- 🔍 Debug : Consultez les logs dans
/tmp/airport_debug.log
- Interface moderne avec Bootstrap 4
- Détection automatique des appareils
- Support complet des tests de connectivité
- Système de logging avancé
- Gestion ACL intégrée
- Configuration JSON flexible
- Documentation complète
Développé avec ❤️ pour la communauté de sécurité WiFi
⭐ Star ce projet | 🐛 Signaler un bug | 💡 Demander une fonctionnalité