
Projet OSINT. Collecter des informations à partir d'un e-mail. Rassembler. Profiler. Chronologie.
Description | Installation | Site web | Modules | Problèmes | Soutenir
iKy est un outil OSINT qui collecte des informations à partir d'une adresse e-mail ou d'autres sélecteurs et affiche les résultats dans une interface visuelle.
git clone https://gitlab.com/kennbroorg/iKy.git
cd iKy
just build
just up
Ouvrez votre navigateur à http://localhost:4300
Pour arrêter tous les services :
just down
just updémarrebackend,iky-frontendetredis. Aucun autre service n'est lancé par défaut.
Si vous ne pouvez pas exécuter Docker, iKy peut fonctionner de manière native : Caddy sert le frontend pré-construit et Redis + Celery + Uvicorn s'exécutent comme des processus locaux. Nécessite redis-server, Python 3.12, curl et tar sur l'hôte (Caddy est téléchargé automatiquement).
just setup # create the venv
just up-native # installs deps, downloads Caddy + frontend, starts everything
Ouvrez votre navigateur à http://localhost:4300. Arrêtez avec Ctrl-C ou just down-native.
Le frontend est extrait de la dernière version GitHub — aucune construction Node n'est nécessaire.
torn'est pas lancé en mode natif ; seul le moduledarkweben a besoin.
iKy route 26 modules via backend/module_registry.py :
Une fois l'application chargée dans le navigateur, saisissez vos clés API dans le panneau de paramètres. Voici la table complète des champs de backend/factories/apikeys_default.json :
Les API marquées avec 🍪 utilisent des cookies de session navigateur ; les autres utilisent des jetons de service.
Certains modules (LinkedIn, Twitter, TikTok) nécessitent des cookies de session de votre navigateur. Les cookies sont stockés dans backend/cookies/ (montés dans le conteneur en tant que /app/cookies) et persistent entre les redémarrages. Il y a deux façons de les charger, toutes deux via just.
Les cookies sont des jetons de session personnels : ne les partagez pas et ne les commitez pas dans le dépôt (
backend/cookies/est ignoré par git).
Exportez les cookies du site avec une extension telle que Cookie-Editor vers un fichier JSON et importez-le :
just cookies-import linkedin ~/Downloads/linkedin_cookies.json
Extrait les cookies directement de votre navigateur local. Fermez le navigateur avant d'exécuter (un navigateur ouvert verrouille sa base de données de cookies) :
# Essayez tous les navigateurs installés (firefox, chrome, brave, edge)
just cookies-grab linkedin linkedin.com
# Ou un spécifique
just cookies-grab linkedin linkedin.com brave
La commande rapporte, navigateur par navigateur, ce qu'elle a pu lire et ce qu'elle n'a pas pu, et écrit le fichier seulement si elle trouve les cookies dont le module a besoin. Par exemple, LinkedIn nécessite li_at et JSESSIONID.
Les cookies expirent périodiquement (les cookies LinkedIn durent entre 1 et 3 mois). Lorsqu'un module cesse de s'authentifier, exécutez à nouveau la commande.
Le flux de travail de développement utilise un virtualenv pour les hooks de linting/pre-commit et Docker (ou le flux natif just up-native) pour construire et exécuter l'application.
Installez just, puis :
just setup
source .venv/bin/activate
Ceci crée un virtualenv Python avec pre-commit et ruff, et installe les hooks git.
Tirez les dernières modifications et reconstruisez les images Docker :
git pull
just rebuild
Pour préserver vos clés API lors des mises à jour, utilisez les options Exporter/Importer dans le menu apikeys de l'interface graphique.
Que vous utilisiez ce projet, que vous ayez appris quelque chose de lui, ou que vous l'aimiez simplement, veuillez envisager de le soutenir en m'offrant un café, afin que je puisse consacrer plus de temps à des projets open-source comme celui-ci.
Toute personne qui contribue ou a contribué au projet, y compris moi, n'est pas responsable de l'utilisation de l'outil (ni de l'utilisation légale, ni de l'utilisation illégale, ni de l'utilisation « autre »).
Gardez à l'esprit que ce logiciel a été initialement écrit pour plaisanter, puis à des fins éducatives (pour nous éduquer nous-mêmes), et maintenant l'objectif est de collaborer avec la communauté en faisant des logiciels libres de qualité, et bien que la qualité ne soit pas excellente (parfois même pas bonne), nous nous efforçons de viser l'excellence.
Considérez que toutes les informations collectées sont gratuites et disponibles en ligne, l'outil essaie seulement de les découvrir, collecter et afficher. Souvent, l'outil ne peut même pas atteindre son objectif de découverte et de collecte. Veuillez charger les API nécessaires avant de vous souvenir de ma mère. Même avec les API, s'il n'affiche pas les choses « intéressantes » que vous espérez voir, essayez d'autres e-mails avant de vous souvenir de ma mère. Si vous ne voyez toujours pas les choses « intéressantes » que vous espérez voir, vous pouvez créer un problème, nous contacter par e-mail ou via l'un des réseaux sociaux, mais gardez à l'esprit que ma mère n'est ni la créatrice ni une contributrice du projet.
Nous ne remboursons pas votre argent si vous n'êtes pas satisfait. J'espère que vous apprécierez utiliser l'outil autant que nous avons aimé le faire. L'effort était et est énorme (temps, connaissances, codage, tests, révisions, etc.) mais nous le referions. N'utilisez pas l'outil si vous ne pouvez pas lire les instructions et/ou cet avertissement clairement.
Au fait, pour ceux qui insistent pour se souvenir de ma mère, elle est décédée il y a de nombreuses années mais je l'aime comme si elle était là.
| Service | Stack | Port |
|---|
| backend | FastAPI 0.115 + Celery 5.6 | 5000 |
| iky-frontend | Angular 21 + nginx | 4300 |
| redis | Redis 7 | 56379 (hôte) |
| tor | proxy SOCKS5 (module darkweb) | interne |
| Catégorie | Modules |
|---|
| Réseaux sociaux | twitter, linkedin, instagram, tiktok, mastodon, twitch, reddit |
| Identité / nom d'utilisateur | github, gitlab, keybase, sherlock, socialscan, holehe, usersearch, skype |
| Rencontres / paiements | tinder, venmo |
| Musique | spotify |
| Réputation / courtiers en données | peopledatalabs, emailrep, fullcontact |
| Fuites / violations | leaks, leaklookup, darkweb, hudsonrock |
| Recherche | search |
| Module | Statut | Champ dans apikey | Comment l'obtenir |
|---|
| 🆗 🍪 | linkedin_cookies (ou linkedin_li_at / linkedin_JSESSIONID legacy) | just cookies-grab linkedin linkedin.com ou just cookies-import linkedin <fichier> | |
| 🆗 🍪 | twitter_cookies | just cookies-grab twitter x.com | |
| TikTok | 🆗 🍪 | tiktok_cookies | just cookies-grab tiktok tiktok.com |
| PeopleDataLabs | 🆗 | peopledatalabs_key | 🆓 API gratuite — wiki |
| Emailrep | 🆗 | emailrep_key | 🆓 API gratuite — wiki |
| Leaklookup | 🆗 | leaklookup_key | 🆓 API gratuite — wiki |
| Spotify | 🆗 | spotify_client_id / spotify_client_secret | 🆓 API gratuite — wiki |
| Twitch | 🆗 | twitch_client_id / twitch_client_secret | 🆓 API gratuite — wiki |
| CSE (Google) | 🆗 | cse_api_key / cse_cx | 🆓 API gratuite — wiki |
| Brave | 🆗 | brave_key | 🆓 API gratuite |
| ⚠️ | instagram_user / instagram_pass | En révision | |
| Fullcontact | 🛑 | fullcontact_api | Arrêtée |
| HaveIBeenPwned | 🛑 | haveibeenpwned_key | Arrêtée |
| Module | Domaine | Cookies requis |
|---|
| linkedin.com | li_at, JSESSIONID | |
| x.com | auth_token, ct0 | |
| TikTok | tiktok.com | msToken |
| Commande | Description |
|---|
just build | Construire les images Docker |
just up | Démarrer tous les services |
just down | Arrêter tous les services |
just logs | Suivre les logs du backend (just logs frontend pour le frontend) |
just ps | Afficher les conteneurs en cours d'exécution |
just shell-backend | Ouvrir un shell dans le conteneur backend |
just lint | Exécuter le linter ruff et la vérification de format |
just fmt | Formater automatiquement le code Python |
just restart backend | Redémarrer un service spécifique |
just rebuild | Arrêter, reconstruire et démarrer tous les services |
just clean | Supprimer les conteneurs, volumes et images locales |
just up-native | Démarrer iKy nativement (sans Docker) |
just down-native | Arrêter les services natifs |
just up-native-clean | Nettoyer les caches natifs (Caddy, frontend, logs) |