{"id":2175,"url":"\/distributions\/2175\/click?bit=1&hash=803b6e1bcbd9dfc4ba9456fda887a878c80d24df8d3a575913b14876e18923a5","title":"TJ \u0437\u0430\u043a\u0440\u043e\u0435\u0442\u0441\u044f 10 \u0441\u0435\u043d\u0442\u044f\u0431\u0440\u044f \u2014\u00a0\u043f\u0440\u043e\u0447\u0438\u0442\u0430\u0439\u0442\u0435 \u0430\u043d\u043e\u043d\u0441 \u0441 \u0434\u0435\u0442\u0430\u043b\u044f\u043c\u0438","buttonText":"\u0427\u0438\u0442\u0430\u0442\u044c","imageUuid":"d1d355d8-93a3-5140-aeae-14b03046b760","isPaidAndBannersEnabled":false}
Офтоп
Kircore

Ширяев был в ярости, когда узнал

Весной проводился конкурс для говнокодеров на использование API сайтов комитета. Призы небольшие, но можно пошатать сайт, что обычно вызывает бурную реакцию.

В документации к API в разделе WebSocket был список нескольких публичных WS каналов (сейчас удалён):

wss://tjournal.ru/chan/api wss://tjournal.ru/chan/system wss://tjournal.ru/chan/live:private

Раз описания нет, то просто подключимся и посмотрим, что сайт присылает (node.js):

const WebSocket = require('ws'); const url = 'wss://tjournal.ru/chan/api'; const ws = new WebSocket(url, { perMessageDeflate: false }); ws.on('open', function open() { ws._socket.setKeepAlive(true, 0); console.log(`# opened ${url}`); }); ws.on('message', function incoming(data) { console.log(data.trim()); });

Судя по полю "type", нам приходят оповещения о голосах за комментарии и публикации, оповещения о новых публикациях, изменение числа подписчиков подсайтов и, возможно, что-то ещё.

Меня заинтересовало поле "user_hash". Это похоже на уникальный идентификатор пользователя. Ищем в документации его упоминание:

Результат хэша похож на SHA-256, что делает маловероятным его обращение обратно в ID пользователя, но я заметил, что хэши для оценок комментариев и постов совпадают, а оценки комментариев видны всем. Значит сопоставив хэши из оценок комментариев к ID пользователей, можно будет видеть, кто и как оценивает публикации.

Используя метод "getCommentLikes" из документации, получаем лайки комментария, используя ID комментария из сообщения вебсокетов:

Тут очевидно, что сопоставить кучу хэшей и несортированный список лайков невозможно, поэтому начнём с комментариев с одним лайком:

А затем будем исключать из списка пользователей, чьи хэши нам известны, и если останется только один неизвестный, то его и будем сопоставлять с новым хэшем. Таким образом за неделю набралась база из, примерно, 2000 пользователей, оценивавших публикации. Из них больше половины вообще не писали комментариев.

Так как писать специальный сайт с фильтрами и поиском лень, то всё это связываем с ботом в телеге и публикуем в приватный канал с хэштегами для поиска:

Результат можно почитать тут:

В конкурсе я, кстати, победил, но не с этим ботом.

Другие мои боты:

Ставьте лайки, подписывайтесь на канал @govnokoder, присылайте ваши донаты.

0
82 комментария
Написать комментарий...
Православие. Патриотизм.

Чекальский против Зоибаны. Следовательно, Человек-Человек — твинк Чекальского

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Kircore
Автор

Ты про мейлру?

Ответить
Развернуть ветку
16 комментариев
Замир

Слава богу Комитет не норм по мнению Климова

Ответить
Развернуть ветку
Лис Микола

в СЖВ мире - да?

Ответить
Развернуть ветку
3 комментария
Elian Kavinsky

Он вроде пофиксил тогда. Вы снова нашли способ узнать, от кого оценки? 

Ответить
Развернуть ветку
Kircore
Автор

Кто мы-то? Я тут один нахой.

Ответить
Развернуть ветку
29 комментариев
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
9 комментариев
Marko

А ты хорош! Подписался на тебя...

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
2 комментария
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Kircore
Автор

Всё равно нашы победили.

Ответить
Развернуть ветку
1 комментарий
Мистер Блондин против войны

На что потратил 100 кусков?

Ответить
Развернуть ветку
Kircore
Автор

Я ведь уже писал, что на кофе и маффин из шоколадницы.

Ответить
Развернуть ветку
2 комментария
FTOH

Это уже пофикшено или как?

Ответить
Развернуть ветку
Kircore
Автор

Да.

Ответить
Развернуть ветку
1 комментарий

Комментарий удален модератором

Развернуть ветку

Комментарий удален модератором

Развернуть ветку
Кодзим Дедстрендыч

Нешто гениальное ёптыть. Не понимаю, чего ребята так возбудилисб тогда

Ответить
Развернуть ветку
Данііл Ся

.000000ж7⁷щ

Ответить
Развернуть ветку
Читать все 82 комментария
null