Вот наконец вы и дождались настоящего айти контента 😂18+ ололо! Всем гребцам с нежной душевной организацией, а так же моралистам, а так же не достигших
В общем, случился у меня тут позыв на хабр сходить, людей почитать. Делаю я так разок в два-три месяца, сажусь и в тупую пролистываю топ статей за период, а все интересные в закладочки. А потом еще месяц-два разгребаю за кофе. Так вот....
В этот раз Хабр меня сразу в нокаут свалил 😁
В топах - статья про ... 🍓Голого ползуна по женщинам 🍓 Telegraph Nude Crawler! (https://habr.com/ru/articles/725888/). В двух словах - автор написал скриптец, который :
1) Берёт ваш список ключевых слов или словосочетаний
2) Бегает по telegra.ph и если чет находит, то ...
3) Прогоняет фотки через питоновскую nude-detector нейросетку, определяя на фотографии нюдс это или нет. Если нюдс, то складывает ссылочку в файлик. А вы потом можете вечером ... посмотреть, да. Нет, ну прекрасная же идея, согласитесь 🤌🤌🤌
Запускается это всё ооооочень просто - он паканул всё в докер, поэтому указываете путь до файла в docker run команде, подкидываете ключевые слова и он колбасит :) В статье есть примеры.
Кто не понимает в чём прикол - вообще, любой пользователь может зайти на telegra.ph и написать чё-нить. Ни авторизации, ни сложностей. Сервис генерит урл на этот документ из вашего заголовка, добавляя туда дату и месяц. Если такой документ уже существует, просто добавляет числовой постфикс. Всё. Сами по себе эти "странички" не индексируются, только если на них где-то кто-то сослался.
Таким образом - за n лет на telegra.ph накопились явно миллионы всяких страниц созданных разными пользователями и скриптами (да, там есть АПИ, я даже для своего мини-проекта использовал - удобненько). Ну и весь цимес в том, что ... многие люди выкладывая туда какие-то данные или изображения, они как бы не предполагают, что это кто-то увидит. Сечёте, да. Как автор и говорит в статье - там можно найти от паролей и нюдсов до ... много всего в общем, да.
Мне чет прям интересно стало. Поигрался немного со скриптом автора. Работает он медленно, конечно. Поэтому решил сделать то же самое, только быстрее и под свои корыстные нужды. Правда эксперимент явно вышел из-под контроля 😂😂😂
Запилил всё это на C#, на тред пуле. Кроме потоков прооптимизировал ещё и запрос страницы, вместо GET посылаю HEAD запрос, т.к. всё же >99% страниц не содержит никакого контента очевидно. Развернул под это дело постгрю, запаковал в докер и оставил колбасить на DigitalOcean ноде. Список ключевых слов взял по примеру автора - женские имена. Нашёл топ 100 популярных, скормил chat gpt попросив составить к каждому из них вариации, с чем он успешно и справился. Получилось около 1200 вариаций. К каждой вариации я добавил еще различных вариаций в виде "фото [имя]" ну и тд, на что фантазии хватило. Вышло 20 тысяч ключевых "слов/фраз" для поиска. В итоге за день оно там проколбасило что-то около 5 миллионов ссылок и ... нашло около 480 тысяч существующих страниц. Для них всех вытянул html и закинул в постгрю. К слову, база весит около 2.5гб :) Из них "отшелушились" около 420 тысяч, т.к. были дубликатами. Алгоритм проверки придумал достаточно простой - если на странице есть картинка, мы берем все и выбираем посерёдке, и ищем по ней в остальных страницах. Плюс еще пару итераций фильтеринга. Таким образом, всё ужалось до 50 тысяч страниц.
Не просматривать же это всё руками, верно? Запустил супер простой цикл, который забирает все пикчи со страницы и ... постит через тг бота мне в личку. Всё. На данный момент ему еще колбасить ~33 тысячи, а фоток уже прислал 192400 😂😂😂
Я не знаю что как и почему, но у меня теперь собственный порнохаб.
... продолжение чуть ниже в следующем посте ⬇️