[Скрипты][Make DTF Great Again]Plus to All

Продолжение поста:

Я собиралась переносить код из моего плагина на страницу сообщений, как меня внезапно осенило, что если личка не заблочена на бэкенде, то должен быть механизм определения есть ли у пользователя плюс или нет на фронтэнде.

Опытным путем было обнаружено, что если в локальном хранилище переменной user изменить поле "isPlus" на true, то фронтэнд начинает работать как у плюсовых. Всё гениальное просто!

Фронтэнд работает одинаково для всех пользователей(с плюсом и без), разница работы только в переменной user, получаемой по запросу:

https://api.dtf.ru/v2.1/subsite/me

И мы можем модифицировать window.fetch для того чтобы "subsite/me" отдавал то что нам нужно.

Ниже UserScript, который сделает из Вас счастливым "обладателем DTF+" с точки зрения фронтэнда.
Почти ничего из функционала DTF+ работать не будет, так как есть проверка на бэкенде. Но зато личка работает, пока =)

// ==UserScript== // @name [Make DTF Great Again]Plus to All // @namespace Violentmonkey Scripts // @match https://dtf.ru/* // @grant none // @version 1.0 // @author ¯\_(ツ)_/¯ // @description ¯\_(ツ)_/¯ // ==/UserScript== (function() { const originalFetch = window.fetch; window.fetch = async function(url, options) { const response = await originalFetch(url, options); if (url === 'https://api.dtf.ru/v2.1/subsite/me') { const json = await response.clone().json(); json.result.isPlus = true; json.result.isPro = true; json.result.badge = "plus"; json.result.badgeId = "1ee4281e-b189-6840-aca8-c2b27ffffb1a"; return new Response(JSON.stringify(json)); } else { return response; } }; })();

Комитет, пожалуйста закройте эту брешь: введите проверку на бэкенде. И я смогу с чистой совестью начать писать свой мессенджер для дтф с блэкджеком и Обачами.

[Скрипты][Make DTF Great Again]Plus to All
39
21
8
5
3
3
2
1
51 комментарий