В связи с разгулом банхамера по интернет просторам участились советы по использованию различных прокси, vpn, tor и анонимайзеров для обхода блокировок сайтов. Эти все способы отправляют трафик третей стороне которая его может перехватывать и модифицировать. Это не наш метод. Мы сейчас просто и легко научим браузер дурить DPI.
Я вдохновился этой статьёй и сообразил относительно лёгкий способ ходить на заблокированные сайты прямо а не используя чужие прокси, дополнения и программы.
я осуществил необратимые манипуляции с доменным именем таким образом, чтобы не существовало ни одного достоверного и однозначного алгоритма обращения получившейся хеш-функции.
Исходные данные:
Заблокированный сайт(Адрес изменён): http://rutracker.og
Это один из сайтов на который РКН ограничил доступ.
Страница блокировки(Адрес изменён): http://198.51.100.0/...
Адрес страницы заглушки которая появляется при попытке открытия сайта. У каждого провайдера адрес страницы заглушки наверно разный.
Итак открываем блокнот и пишем первый скрипт:
function FindProxyForURL(url, host) { if (shExpMatch(url, "http://*") && (shExpMatch(host, "rutracker.og") || shExpMatch(host, "*.rutracker.og"))) { return "PROXY rutracker.og; DIRECT"; } return "DIRECT"; }
Сохраняем как «proxy.pac»
Суть этого скрипта в том чтобы использовать как прокси сам сервер к которому мы и хотим получить доступ.
Подключаем «proxy.pac» в Chrome:
1. Настройки -> Показать дополнительные настройки ->
Сеть -> Изменить настройки прокси-сервера ->
Вкладка «Поключения» -> Настройка сети
2. Ставим галочку «Использовать сценарий автоматической настройки»
3. В поле адрес пишем полный путь к «proxy.pac»
Например: C:\Users\name\Documents\proxy.pac
Теперь страница блокировки будет появляется через раз.
Снова открываем блокнот и пишем:
// ==UserScript== // @name BackUserJS // @description Window History Back Script // @author ivan386 // @license MIT // @version 1.0 // @include http://198.51.100.0/* // @run-at document_start // ==/UserScript== (function (window) { var w; if (typeof(unsafeWindow) != 'undefined') { w = unsafeWindow } else { w = window; } if (w.self != w.top) { return; } if (/http:\/\/198.51.100.0/.test(w.location.href)) { w.history.back() } })(window);
Сохраняем как «back.user.js» в папку «back»
Этот скрипт возвращает нас на страницу где мы можем снова кликнуть заблокированную ссылку.
И опять открываем Блокнот и пишем:
{ "manifest_version": 2, "content_scripts" : [ { "js":[ "back.user.js" ], "matches":[ "http://198.51.100.0/*" ], "run_at":"document_start" } ], "description" : "Window History Back Script", "name" : "BackUserJS", "version" : "1.0.0" }
Сохраняем как «manifest.json» в папку «back»
Теперь добавим в Chrome как Расширение:
1. Дополнительные инструменты -> Расширения
2. Ставим галочку «Режим разработчика»
3. Нажимаем «Загрузить распакованное расширение…»
4. Находим папку «back» в которую сохраняли «back.user.js» и «manifest.json» и нажимаем ОК
Проверяем:
1. Перезагружаем Chrome
2. Нажимаем «Отмена» в окошке «Отключить расширения в режиме разработчика» справа.
3. Пишем в адресную строку адрес заблокированного сайта и нажимаем Enter.
4. ???
5. PROFIT
Использованные материалы:
Изучаем deep packet inspection у RETN
Proxy Auto Configuration (PAC)
Учимся писать userscript’ы
Userscripts. Упаковываем юзерскрипт для Chrome
ссылка на оригинал статьи https://habrahabr.ru/post/276141/
Добавить комментарий