Lockheed SR-71 "Blackbird" - стратегический разведывательный самолет большой дальности, высотой 3+ Маха, разработанный и изготовленный американской аэрокосмической компанией Lockheed Corporation.
Для просмотра ссылки Войди или Зарегистрируйся
Настройка
Клонирование репозитория
git clone
Для просмотра ссылки Войди или Зарегистрируйся blackbird
Требования к установке
pip install -r requirements.txt
Использование
Поиск по имени пользователя
python blackbird.py -u username
Запустите веб-сервер
python blackbird.py --webДоступ
Для просмотра ссылки Войди или Зарегистрируйся в браузере
Прочитать файл результатов
blackbird python.py -f username.json
Список поддерживаемых сайтов
python blackbird.py --list-sites
Отчет об экспорте
Результаты могут быть экспортированы в виде отчета в формате PDF.
Извлечение метаданных
Когда это возможно, Blackbird извлекает метаданные пользователя, предоставляя такие данные, как имя, биографию, местоположение и фотографию профиля.
Случайный агент пользователя
Каждый раз, когда Blackbird выполняет поиск по имени пользователя, он будет использовать случайный пользовательский агент из
Для просмотра ссылки Войди или Зарегистрируйся пользовательских агентов, чтобы предотвратить блокировку.
Сверхзвуковая скорость ????
Blackbird отправляет асинхронные HTTP-запросы, обеспечивая гораздо большую скорость при обнаружении учетных записей пользователей.
Шаблон JSON
Blackbird использует JSON в качестве шаблона для хранения и чтения данных.
В файле
Для просмотра ссылки Войди или Зарегистрируйся хранятся все сайты, которые проверяет blackbird.
Параметры
- название сайта приложения
- url-адрес
- valid - выражение Python, которое возвращает True, когда пользователь существует
- id - Уникальный числовой идентификатор
- метод - метод HTTP
- json - текст сообщения в формате JSON (должен быть экранирован, используйте это ???? Для просмотра ссылки Войди или Зарегистрируйся )
- {username} - Место имени пользователя (URL или тело)
- response.status - статус HTTP-ответа
- responseContent - исходное тело ответа
- soup - Beautifulsoup проанализировал тело ответа
- jsonData - тело ответа в формате JSON
- метадада - список объектов, подлежащих очистке
Примеры
GET
{ "app": "ExampleAPP1", "url": "https://www.example.com/{username}", "valid": "response.status == 200", "id": 1, "method": "GET" }
POST JSON
{ "app": "ExampleAPP2", "url": "https://www.example.com/user", "valid": "jsonData['message']['found'] == True", "json": "{{"type": "username","input": "{username}"}}", "id": 2, "method": "POST" }
GET with Metadata extraction
{ "app": "Twitter", "id": 3, "method": "GET", "url": "https://nitter.net/{username}", "valid": "response.status == 200", "metadata": [ { "type": "generic-data", "key": "Name", "value": "soup.find('a', class_='profile-card-fullname')['title']" }, { "type": "generic-data", "key": "Bio", "value": "soup.find('div',class_='profile-bio').string" }, { "type": "generic-data", "key": "Site", "value": "soup.find('div',class_='profile-website').text.strip('\\t\\r\\n')" }, { "type": "generic-data", "key": "Member since", "value": "soup.find('div',class_='profile-joindate').find('span')['title']" }, { "type": "image", "key": "picture", "value": "'https://nitter.net'+soup.find('a', class_='profile-card-avatar')['href']" }, { "type": "location", "key": "location", "value": "soup.select_one('.profile-location:nth-of-type(2)').text.strip('\\t\\r\\n')" } ] }Если у вас есть какие-либо предложения по сайту, который нужно включить в поиск, сделайте запрос на извлечение, следуя шаблону.