
Bibliothèque Python pour interroger avec précision l'utilisation des noms d'utilisateur et des e-mails sur les plateformes en ligne.
socialscan propose des vérifications précises et rapides de l'utilisation des adresses e-mail et des noms d'utilisateur sur les plateformes en ligne.
Étant donné une adresse e-mail ou un nom d'utilisateur, socialscan indique s'il est disponible, pris ou invalide sur les plateformes en ligne.
Les fonctionnalités qui différencient socialscan des outils similaires (par exemple knowem.com, Namechk et Sherlock) :
Précision à 100% : la méthode de requête de socialscan élimine les faux positifs et faux négatifs qui surviennent souvent dans les outils similaires, garantissant des résultats toujours précis.
Vitesse : socialscan utilise asyncio avec aiohttp pour effectuer toutes les requêtes simultanément, offrant des recherches rapides même pour des requêtes en bloc impliquant des centaines de noms d'utilisateur et adresses e-mail. Sur un ordinateur de test avec des spécifications moyennes et une vitesse Internet standard, 100 requêtes ont été exécutées en environ 4 secondes.
Bibliothèque / CLI : socialscan peut être exécuté via une CLI, ou importé comme bibliothèque Python pour être utilisé avec du code existant.
Prise en charge des e-mails : socialscan prend en charge les requêtes pour les adresses e-mail et les noms d'utilisateur.
Les plateformes suivantes sont actuellement prises en charge :

D'autres outils similaires vérifient la disponibilité d'un nom d'utilisateur en demandant la page de profil du nom d'utilisateur en question et, en fonction d'informations comme le code de statut HTTP ou le texte d'erreur sur la page demandée, déterminent si le nom d'utilisateur est déjà pris. Il s'agit d'une approche naïve qui échoue dans les cas suivants :
Mots-clés réservés : La plupart des plateformes ont un ensemble de mots-clés qu'elles n'autorisent pas à être utilisés dans les noms d'utilisateur
(Un test simple : essayez de vérifier des mots réservés comme 'admin' ou 'home' ou 'root' et voyez si d'autres services les marquent comme disponibles)
Comptes supprimés/bannis : Les noms d'utilisateur des comptes supprimés/bannis ont tendance à être indisponibles même si les pages de profil peuvent ne pas exister
Par conséquent, ces outils ont tendance à produire des faux positifs et faux négatifs. Cette méthode de vérification dépend également du fait que les plateformes disposent de pages de profil web et ne peut pas être étendue aux adresses e-mail.
socialscan vise à combler ces lacunes en interrogeant directement les serveurs d'inscription des plateformes, en récupérant les jetons CSRF, les en-têtes et les cookies appropriés.
> pip install socialscan
> git clone https://github.com/iojw/socialscan.git
> cd socialscan
> pip install .
usage: socialscan [list of usernames/email addresses to check]
optional arguments:
-h, --help show this help message and exit
--platforms [platform [platform ...]], -p [platform [platform ...]]
list of platforms to query (default: all platforms)
--view-by {platform,query}
view results sorted by platform or by query (default:
query)
--available-only, -a only print usernames/email addresses that are
available and not in use
--cache-tokens, -c cache tokens for platforms requiring more than one
HTTP request (Snapchat, GitHub, Instagram. Lastfm &
Tumblr), reducing total number of requests sent
--input input.txt, -i input.txt
file containg list of queries to execute
--proxy-list proxy_list.txt
file containing list of HTTP proxy servers to execute
queries with
--verbose, -v show query responses as they are received
--show-urls display profile URLs for usernames on supported platforms
(profiles may not exist if usernames are reserved or belong to deleted/banned accounts)
--json json.txt output results in JSON format to the specified file
--version show program's version number and exit
socialscan peut également être importé dans du code existant et utilisé comme bibliothèque.
La v1.0.0 introduit la méthode asynchrone execute_queries et le wrapper synchrone correspondant sync_execute_queries qui prend une liste de requêtes et une liste facultative de plateformes et de proxys, exécutant toutes les requêtes simultanément. La méthode renvoie ensuite une liste de résultats dans le même ordre.
from socialscan.util import Platforms, sync_execute_queries
queries = ["username1", "[email protected]", "[email protected]"]
platforms = [Platforms.GITHUB, Platforms.LASTFM]
results = sync_execute_queries(queries, platforms)
for result in results:
print(f"{result.query} on {result.platform}: {result.message} (Success: {result.success}, Valid: {result.valid}, Available: {result.available})")
Sortie :
username1 on GitHub: Username is already taken (Success: True, Valid: True, Available: False)
username1 on Lastfm: Sorry, this username isn't available. (Success: True, Valid: True, Available: False)
[email protected] on GitHub: Available (Success: True, Valid: True, Available: True)
[email protected] on Lastfm: Sorry, that email address is already registered to another account. (Success: True, Valid: True, Available: False)
[email protected] on GitHub: Available (Success: True, Valid: True, Available: True)
[email protected] on Lastfm: Looking good! (Success: True, Valid: True, Available: True)
Pour les requêtes en bloc avec l'option --input, placez un nom d'utilisateur/e-mail par ligne dans le fichier .txt :
username1
[email protected]
username3
Si vous trouvez cet outil utile et souhaitez soutenir son développement continu, vous pouvez faire un don ici. Merci pour votre soutien.
BTC: bc1qwrnukyc6xh9aygu5ps2geh8stmvagsj5u4v7j6
ETH: 0x45a0F91666391078eA521A6123559E49DAb1275f
Erreurs, suggestions ou souhaitez ajouter un site ? Soumettre un problème.
Les PRs sont toujours les bienvenus 🙂
Veuillez vous assurer que le code est formaté avec black en utilisant la configuration dans pyproject.toml avant de soumettre une PR.
MPL 2.0
| Nom d'utilisateur |
|---|
| ✔️ | ✔️ | |
| ✔️ | ✔️ | |
| GitHub | ✔️ | ✔️ |
| Tumblr | ✔️ | ✔️ |
| Lastfm | ✔️ | ✔️ |
| Snapchat | ✔️ | |
| GitLab | ✔️ | |
| ✔️ | ||
| Yahoo | ✔️ | |
| ✔️ | ||
| Firefox | ✔️ |