# Socialscan — проверяем использование электронной почты и имен пользователей в соцсетях

### Что такое Socialscan <a href="#chto-takoe-socialscan" id="chto-takoe-socialscan"></a>

Если кратко: инструмент командной строки для проверки использования электронной почты и имен пользователей социальных сетей. Просто задаёте адрес почты или имя пользователя → Socialscan сообщает, доступен ли он, занят или недействителен.

### В чём особенность работы <a href="#v-chyom-osobennost-raboty" id="v-chyom-osobennost-raboty"></a>

Socialscan напрямую запрашивает регистрационные серверы платформ. А после получает соответствующие CSRF-токены, заголовки и куки.

Это отличный вариант, если учитывать, что другие инструменты получают доступность через HTTP или текст ошибки на запрашиваемой странице. Такой подход не всегда работает:

* Большинство платформ имеют набор ключевых слов, которые они не разрешают использовать в именах. Например, `admin`, `home` и `root`.
* Ещё один минус: имена пользователей удаленных или забаненных аккаунтов недоступны, даже если страницы профиля не существуют.

Из-за этих двух особенностей подобные инструменты могут давать ложные результаты.

### В чём преимущества <a href="#v-chyom-preimushestva" id="v-chyom-preimushestva"></a>

* **Точность.** Тут повторимся: метод запросов Socialscan исключает ложные срабатывания и результаты, в отличие от других сервисов.
* **Скорость**. Socialscan использует asyncio вместе с aiohttp. Это позволяет одновременно выполнять все запросы, что ускоряет работу. Для массовых запросов, где есть сотни имен и адресов — такая же история. Давайте на цифрах: на тестовом компьютере со средними характеристиками и скоростью интернета 100 запросов были выполнены за 4 секунды.
* **Библиотека /CLI.** Socialscan можно запустить через CLI или импортировать как библиотеку Python для использования в уже работающем коде.

### Как установить и использовать <a href="#kak-ustanovit-i-ispolzovat" id="kak-ustanovit-i-ispolzovat"></a>

1. **Pip**

```
> pip install socialscan
```

**2. Устанавливаем исходники**

```
> git clone https://github.com/iojw/socialscan.git  
> cd socialscan  
> pip install .
```

**3. Используем по назначению**

```
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
```

А вот ссылочка, чтобы всё [скачать](https://github.com/iojw/socialscan).
