socialscan

repository·master·Indexed 23 days ago

https://github.com/iojw/socialscan

A fast and accurate tool for checking the availability of email addresses and usernames across various online platforms by querying registration servers directly. It provides a CLI for batch processing via input files, support for HTTP proxies, and a Python library for synchronous or asynchronous concurrent checks. Supported platforms include Instagram, Twitter, GitHub, Tumblr, Lastfm, Snapchat, GitLab, Reddit, Yahoo, Pinterest, and Firefox.

Tokens
1.6K
Snippets
3
Records
8
Agent score
33%

What's inside socialscan

  1. Install socialscan via pip or source

    master

    You can install socialscan using pip or by cloning the repository and installing from source.

    Using pip:

    pip install socialscan

    Installing from source:

    git clone https://github.com/iojw/socialscan.git
    cd socialscan
    pip install .
    pip install socialscan
  2. Use the socialscan CLI to check usernames and emails

    master

    The socialscan CLI allows you to check if specific usernames or email addresses are in use across various online platforms. You can provide queries directly as command-line arguments or via an input file. The tool automatically detects if a query is an email address and queries accordingly.

    Basic Usage

    To check a single username or email across all supported platforms:

    socialscan my_username
    socialscan test@example.com

    Input from File

    To process a large list of queries, use the --input (or -i) flag pointing to a text file containing one query per line:

    socialscan --input queries.txt
  3. Use socialscan as a Python library

    master

    You can import socialscan into your Python projects to perform concurrent checks.

    Use sync_execute_queries for a synchronous wrapper or execute_queries for an asynchronous implementation. Both take a list of queries and optional lists of platforms and proxies, returning results in the same order as the input queries.

    To specify platforms, use the Platforms enum from socialscan.util.

    from socialscan.util import Platforms, sync_execute_queries
    
    queries = ["username1", "email2@gmail.com", "mail42@me.com"]
    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})")
  4. Supported platforms for socialscan

    master

    socialscan supports both username and email checks on various platforms. Note that some platforms only support one type of check.

    PlatformUsernameEmail
    Instagram✔️✔️
    Twitter✔️✔️
    GitHub✔️✔️
    Tumblr✔️✔️
    Lastfm✔️✔️
    Snapchat✔️
    GitLab✔️
    Reddit✔️
    Yahoo✔️
    Pinterest✔️
    Firefox✔️
  5. Reference: socialscan CLI arguments

    master

    The following arguments are available for the socialscan CLI:

    FlagDescription
    -h, --helpShow this help message and exit
    --platforms [platform ...], -p [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, -aOnly print usernames/email addresses that are available and not in use
    --cache-tokens, -cCache tokens for platforms requiring more than one HTTP request (Snapchat, GitHub, Instagram, Lastfm & Tumblr)
    --input input.txt, -i input.txtFile containing list of queries to execute
    --proxy-list proxy_list.txtFile containing list of HTTP proxy servers to execute queries with
    --verbose, -vShow query responses as they are received
    --show-urlsDisplay profile URLs for usernames on supported platforms
    --json json.txtOutput results in JSON format to the specified file
    --versionShow program's version number and exit
  6. Use the socialscan CLI

    master

    The CLI allows you to check the availability of usernames and email addresses across multiple platforms. You can pass a list of queries directly as arguments or use an input file.

    Basic usage:

    socialscan [list of usernames/email addresses to check]

    Using an input file: Create a .txt file with one username or email per line, then use the --input flag:

    socialscan --input input.txt
    socialscan [list of usernames/email addresses to check]
  7. Configure socialscan CLI options

    master

    The socialscan CLI provides several flags to control the scope, output format, and performance of the scan.

    Platform Selection

    By default, socialscan queries all supported platforms. Use --platforms (or -p) to limit the scan to specific platforms:

    socialscan my_username --platforms github instagram

    Output Formatting

    • Available Only: Use --available-only (or -a) to filter results and only display usernames/emails that are available (not in use).
    • Show URLs: Use --show-urls to display the profile URLs for usernames on supported platforms.
    • JSON Output: Use --json to save the results to a file in JSON format instead of printing a pretty-printed summary to the terminal.
    • View Sorting: Use --view-by to change how results are grouped. Options are platform or query (default: query).

    Performance and Debugging

    • Cache Tokens: Use --cache-tokens (or -c) to cache tokens for platforms that require multiple HTTP requests (e.g., Snapchat, GitHub, Instagram, Lastfm, Tumblr, Yahoo). This reduces the total number of requests sent.
    • Proxies: Use --proxy-list to provide a file containing a list of HTTP proxy servers.
    • Verbose/Debug: Use --verbose (or -v) to see query responses as they arrive, or --debug to output debug messages.
  8. Reference: socialscan CLI flags

    master

    The following flags are available for the socialscan command-line interface:

    FlagShortDescription
    queriesN/AOne or more usernames/email addresses to query
    --platforms-pList of platforms to query (default: all platforms)
    --view-byN/AView results sorted by platform or query (default: query)
    --available-only-aOnly print usernames/email addresses that are available and not in use
    --cache-tokens-cCache tokens for platforms requiring more than one HTTP request
    --input-iFile containing list of queries to execute
    --proxy-listN/AFile containing list of HTTP proxy servers to execute queries with
    --verbose-vShow query responses as they are received
    --show-urlsN/ADisplay profile URLs for usernames on supported platforms
    --jsonN/AOutput results in JSON format to the specified file
    --debugN/AOutput debug messages
    --versionN/AShow version information