Исходники - Портируем на Rust | Sherlock -> Slidchyi v1.3 | End Way - форум программирования и сливов различных скриптов
  • Присоединяйтесь к нам в телеграм канал! EndWay канал | EndSoft канал | EWStudio канал
  • Хочешь поставить скрипт, но не умеешь?
    А может ты хочешь свой скрипт на основе слитого?

    Тогда добро пожаловать в нашу студию разработки!

    Телеграм бот: EWStudioBot
    Телеграм канал: EWStudio

Исходники Портируем на Rust | Sherlock -> Slidchyi v1.3

Salat

EndWay
Автор темы
8 Янв 2023
7
11
0
Здравствуй, Rustacean!
Это начало серии постов "Портируем на Rust"

Я буду публиковать исходники программ, портированных на Rust и рассказывать детали разработки.
Первой моей жертвой стала утилита Sherlock, написанная на Python. Её цель - нахождение аккаунтов с юзернеймом, который вы ей зададите. Главным мотивом стала скорость - как по мне она очень медленно ищет аккаунты.
Поэтому, я как любитель скорости:opop решил "переписать" её на Rust.


Версия 1.3.0

Так как идиомы Rust и Python отличаются, переписать что-то точь-в-точь не всегда оптимальное решение.
Поэтому, даже сообщения о найденных аккаунтах или ошибках отличаются

Естественно, для данного проекта я использовал Tokio и Reqwest. Также был использован вспомогательный модуль Futures, для того чтобы исполнить все "заспавненные таски" в один момент и не было "каши" при обработке нескольких юзернеймов.

Я немного изменил `sites.json`, который был в Sherlock, я вынес оттуда самое важные поля(всего 3): name, url, error.

Список сайтов для проверки находится в res/sites.json, который подгружается не во время запуска Slidchyi, а во время его компиляции. То есть если вы хотите добавить пару сайтов в список для проверки на юзернейм, то нужно будет перекомпилировать исполняемый файл. Просто люблю независимые экзешники, где не приходится таскать миллион конфигов:brff

Может помочь даже обыватель, который разбирается в формате JSON, я упростил res/sites.json, потому если вы хотите помочь проекту, можете оставлять расширенные версии этого файлика прямо в комментариях:lap

UPD: Добавлено: поддержка обработки нескольких юзернеймов сразу, записи в файл куда записываются результаты поиска(или папка, если юзернеймов несколько), можно поставить ограничение времени на запрос в секундах(стандартно 10), а также теперь можно поставить количество попыток, чтобы достучаться до сервера(стандартно 5). Добавлено 98 сервисов с определением ошибки не по HTTP Status Code. Потихоньку исправляю устаревшие детекты из Sherlock...

UPD 2: Добавлена поддержка списка прокси. Если у вас не работает прошу обратиться ко мне в лс:catlove
 
Последнее редактирование:
Like
  • 3
Реакции: 2 users

Salat

EndWay
Автор темы
8 Янв 2023
7
11
0
Json Qiest, всё что угодно, серьезно, представь себе мощь C++(и его возможности) с простотой Python(особенно в плане модулей). Читы, операционные системы, боты, десктопные приложения, мобильные приложения(тут пара костылей потребуется), бэк-энд, малвари, фронт-энд(WASM, вся графика Figma в вебе написана при помощи Rust).

В общем, ВСЁ
 

Skull

Skull
8 Янв 2023
126
32
28
Очень полезная тема, сам изучаю Rust по оффициальной русской доке. Скоро думаю стану настоящим Rustacean
 
Активность:
Пока что здесь никого нет