Как установить fastproxy в опере

Обновлено: 07.07.2024

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

Речь пойдёт о расширении FastProxy.
Ни в коем случае не ставьте его в чистом виде в хроме.

Чтобы получить его исходный код — сначала надо поставить другое расширение Chrome extension source viewer.

Иконка CRX при этом станет жётлой — кликнуть на неё и Выбрать "скачать как zip".

Теперь к анализу кода.

1. Manifest (manifest.json) — ядро любого расширения

Ограничения расширения задаются CSP (content security policy) и permissions:

"content_security_policy": "script-src 'self' 'unsafe-eval' https://ssl.google-analytics.com; object-src 'self'",
"permissions": [ "proxy", "tabs", "webRequest", "webRequestBlocking", "management", "\u003Call_urls>", "storage" ],

CSP должна сразу насторожить, она позволяет unsafe-eval (подробнее об этом здесь).
Т.е. исполнять код из любой переданной строки.

  • Разрешение management позволяет управлять другмии расширениями.
  • Разрешение webRequestBlocking позволяет подменять абсолютно все запросы, проходящие через браузер.
  • Разрешение \u003Call_urls> это тоже самое что <all_urls> — позволяет действовать на любом сайте.

Подробнее о разрешениях можно узнать здесь.

Т.е. на базе лишь одного файла манифеста расширение уже имеет огромный уровень доступа ко всему.

Ключевые файлы кода перечислены в

"background": "scripts": [ "lib.js", "jquery.min.js", "background.js", "ga.js" ]
>,

Выполняются по порядку в массиве сразу после установки расширения или сразу после запуска браузера.

  • Файл jquery.min.js я сравнил с оригинальным кодом jquery 2.2.4 — они совпадают.
  • Файл ga.js это просто код Google Analytics.
  • Файл lib.js это CryptoJS.
  • Основной код сосредоточен в background.js.

Чтобы было намного легче читать код, я его немного переписал (переименовал функции, поменял запятые на отдельные блоки и т.п.).
Также можно использовать firefox-версию того же расширения, чтобы понять неосновную часть кода.
Использование proxy в фаерфоксе и хроме кардинально отличается.

Переписанный код можно найти по этой ссылке.

Прежде всего нужно понимать что $.ajax выполненный на файле со скриптом внедряет этот скрипт в страницу (в данном случае не в страницу, а в фоновый процесс).

Вбиваем в поиске "антизапрет fastproxy" и открываем 4й результат поиска, раздел "Будьте осторожны".
Выясняется, что FastProxy использует не свои proxy сервера.

Вторая ссылка дает код аналогичный первой, но скрипт уже другой!

Обычно у всех табов есть id. Исключение составляет таб-окно консоли браузера. Т.е. это защита от подсматривания через консоль.

Также этот файл содержит новые урлы, расшифруем их, используя CryptoJS.AES.decrypt( value, "config").toString(CryptoJS.enc.Utf8) и CryptoJS.AES.decrypt( value, "record").toString(CryptoJS.enc.Utf8) .
Первые 2 ссылки совпадают с предыдущими. Но третья отличается:

Для 'record' же все 3 ссылки новые.

config_fastproxy.ga.js

Код также содержит закрытие консоли. Дальше начинается уже интересное.

достает идентификатор расширения, причём это недокументированная возможность.
Текущая документация использует иной метод
Далее идёт разветвление:

^ Запуск майнера Monero. Запомните кстати кошелёк, если увидите где-то в коде аналогичный — это те же люди.

Этот код отключает все расширения, кроме него самого.
Если бы не было разрешения managament, это было бы не возможно.

tabs.onUpdated запускает колбэк при обновлении одной из стадий загрузки таба на другую. Подробнее тут.
Проще говоря действует на каждый таб.

Кроме FastProxy самого. Видимо была серия нескольких расширений, которые работали как вирусы.

Все урлы, кроме тех, что содержит строку google. Видимо потому, что табы с гугл временные. Истиная причина мне не понятна.

И самое страшное — в каждый таб внедряется скрипт после полной загрузки страницы в этом табе:

script1.js

Прогняем его через JS beautifier.

script2.js

Игры с символами можно опустить благодаря console.log.
Самое опасное начинается там где создается тег script.
var l = document.createElement('script');

Меня интересует в первую очередь либо его innerHTML либо src.

Левая часть понятна — протокол текущей страницы. Правая же часть это фактическая ссылка. Поставим туда console.log

script3.js

Аналогично прогоняем через JS beautifier

script4.js

Принцип файла такой же — самая опасная часть это добавление скрипта.

Выходит правая часть к чему-то привязана

Смотрим по коду

упоминается в самовызывающейся функции f
затем f упоминается в

Т.е. через символьные операции в скрипт передаётся посещаемый URL.
Смотрим на сам код скриптов, они совпадают.

script5.js

Опять прогоняем через JS beautifier.

script6.js

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

script7.js

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

Мне не удалось до конца распутать код. Но то, что распутал дает следующее:

Сборка полного отпечатка о пользователе, которая затем конвертируется в уникальную строку через серию битовых операций.
Этот отпечаток включает в себя:

  • UserAgent
  • Сведения об установленных плагинах (для IE особенно). Особо тут стоит упомянуть строку про Palemoon. Дело в том, что Palemoon позволяет использовать Java.
  • Сведения об используемом процессоре
  • Сведения об установленных шрифтах (функция getFontData). Причём по коду заложена возможность использовать расширенный список шрифтов, помимо системного. Но используется только системный
  • Уникальный отпечаток по canvas (функция get2dCanvasFingerprint). Учитывая что он использует несколько нестандартных символов есть проверка на наличие установленных языков в системе.
  • Уникальный отпечаток по webgl (функция getWebglFingerprint)
  • Проверка фальшивости поставляемых navigator данных (функция hasFalseBrowser). Особенно в этом плане интересно использование eval.toString(), чтобы понять что за браузер используется на самом деле. Никогда бы об этом не догадался.

Есть функция, которая внедряет флеш на страницу, но по факту она не используется.

Особо посмотрите коды сбора отпечатков canvas / webgl.

Есть внедрение айфрейма на страницу (метод appendBadIframe1).
Теперь посмотрим что находится в этом айфрейме.

iframe1

Прогоняем через JS beautifier.

iframe2

Вернёмся к script7.js

Исполнение файла создает 6 запросов XHR (причём через создание Img), а также при клике на страницу открывается новое окно.
Расшифрованные ссылки для запросов можно найти в коде.

Вернёмся к расширению

Вернёмся к расширению и ссылкам record. Эти ссылки используются как PAC-файл для метода chrome.proxy.settings.set.
Коды файлов можно найти тут:

Т.е. FastProxy использует сервера Антизапрета и Browsec, не имея своих собственых серверов.

При помощи разрешения webrequest + webrequestBlocking можно поменять абсолютно любой запрос, включая внутренние запросы внутри самого хрома.
Т.е. можно полностью поменять HTML-страницы, можно убрать мешающие заголовки в запросах, включая CSP (content security policy) сайта.
При помощи своего прокси можно слить весь траффик пользовтаеля, который идёт через свой прокси.

Политика гугла значительно мягче чем политика мозиллы, они публикуют практически всё.
У мозиллы есть жёсткие требования: unsafe-eval запрещён, запутывание кода запрещено (разрешено, если предоставите полный сборщик).
Также мозилла сама периодически смотрит коды расширений, но не сразу после публикации.
Побробнее можно прочитать здесь и здесь.
По этой причине ставить новые расширения фаерфокса намного спокойней чем расширения хрома.

navigator отдает нереально много уникальных данных о браузере, нежели это было в прошлом. И скорей всего будет отдавать ещё больше в будущем.

eval.toString, также как и иные нативные функции позволят вычислить настоящую версию браузера.

Уникальный отпечаток по canvas и webgl.

Если кто-то работал с webgl, расскажите пожалуйста что делает функция getWebglFingerprint. И что там получается уникального?

Расширение FastProxy открывает доступ к заблокированным сайтам

Многие из нас уж успели столкнуться с сайтами, заблокированными на территории страны в соответствии с решениями госорганов. В разное время на разные сроки подобная участь постигла такие сайты, как ВКонтакте, Википедия, RuTracker, PornHub и многие другие.

Блокироваться ресурсы могут как по домену, так и по IP-адресу. В результате весь сайт или даже целая группа никак не связанных между собой проектов (за исключением общего IP-адреса) могут быть ограничены из-за одной единственной страницы. Причем ошибки никто не исключает. Тот же ВКонтакте был заблокирован в 2013 году из-за " технической ошибки" (как позднее признался Роскомнадзор).

FastProxy для Opera

Политическая обстановка в мире накаляется и правительственные инициативы все чаще касаются запрета на работу отдельных сайтов и публикуемых ими материалов. Однако продвинутых пользователей 21 века такие мелочи пугать не должны. Сегодня мы поговорим о том, что такое FastProxy для Opera, также в процессе повествования рассмотрим характерные особенности дополнения, установочный процесс и настройку.

Коротко о главном

FastProxy – популярное расширение, позволяющее обойти провайдерские блокировки и получить доступ к интересующему пользователя контенту. Так как защитные алгоритмы считывают территориальную принадлежность IP-адреса, для их «обмана» достаточно изменить место жительства для ПК.

Установочный процесс

Делается все так:

Завершение

Если больше не планируется работа с магазином Хрома, то следует удалить Install Chrome Extension. Для претворения задуманного в жизнь:

Таким простым способом можно добавлять и удалять ненужные дополнение из поискового сервиса Опера.

Подведем итоги

Открытые клиенты Hola VPN и Opera VPN


Предлагаю вашему вниманию два простых решения для случаев, когда нужен прокси:

Недоступность сетевого ресурса по разным причинам.

Потребность спрятать трафик от интернет-провайдера и/или исключить возможность его вмешательства в трафик.

hola-proxy


Отличия приложения от браузерного расширения Hola VPN:

Нет проблем с безопасностью, которые могут иметь место с родными клиентами Hola. А именно, IP-адрес пользователя точно не будет эксплуатироваться для обслуживания других пользователей.

Убраны почти все ограничения бесплатного доступа.

Локально запускается прокси, который можно использовать и с другими приложениями, а не только с браузером.

Есть возможность использования резидентных IP-адресов в US для того чтобы, например, смотреть американский Netflix, Hulu и другие видео-сервисы с гео-ограничениями, требующими IP-адрес, относящийся к провайдерам потребительского доступа к интернету.

Улучшенная устойчивость к блокировкам по сравнению с расширением (у нативного клиента чуть больше возможностей).

Открытый исходный код.

Запускается на большом ассортименте ОС и аппаратных платформ.

Есть возможность каскадирования соединения с другим прокси-сервером для доступа к выходному узлу. Это полезно для случаев, когда подключение к интернету требует обязательного использования прокси-сервера (например, так выглядят некоторые корпоративные файрволы).

Порядок использования:

Примечания:

Если требуются особые настройки (страна, тип прокси), то можно создать ярлык, указав дополнительные параметры командной строки через пробел после имени файла. Справка по параметрам здесь.

Запускать приложение в фоне в Windows можно с помощью "планировщика заданий", назначив старт приложению после запуска системы, либо просто добавив в автозагрузку, если окно терминала в фоне не мешает.

opera-proxy


Это совсем недавняя разработка, которая, в сущности, реализует то, что в браузере Opera называется Opera VPN, но при этом позволяет использовать его с другими браузерами и приложениями (а так же использовать его для каких-то сайтов селективно, посредством настройки браузерного расширения управления прокси в вашем браузере).

Внешне программа почти полностью аналогична hola-proxy, но имеет чуть меньше возможностей для выбора серверов и прочих возможностей, специфичных для hola.

Порядок использования:

Примечания:

Пара слов об Android

Оба приложения работают на Android, не требуя рута. Запустить их можно с помощью любого удобного шелла (приложения-терминала). Я бы порекомендовал Qute, так как оно поддерживает автозапуск и создание ярлыков для скриптов. Для запуска нужно положить бинарь куда-то, где его можно было бы сделать исполняемым. В случае с Qute это /data/data/files/com.ddm.qute

После этого сделать бинарный файл прокси-клиента исполняемым: chmod +x /data/data/files/com.ddm.qute/*-proxy* и запустить его командой или скриптом: /data/data/files/com.ddm.qute/*-proxy*

Заслуживают упоминания


Предлагаю вашему вниманию два простых решения для случаев, когда нужен прокси:

Недоступность сетевого ресурса по разным причинам.

Потребность спрятать трафик от интернет-провайдера и/или исключить возможность его вмешательства в трафик.

hola-proxy


hola-proxy - это клиент для прокси-серверов Hola, который использует то же API для получения доступа к ним, что и браузерное расширение Hola VPN. Соединение с прокси-серверами защищено TLS. Приложению не требуется ни установка, ни права администратора для работы. Имеется в наличии кое-какая устойчивость к попыткам блокировок самих VPN-сервисов. В частности, в отличии от оригинального расширения, приложение успешно работает в Египте.

Отличия приложения от браузерного расширения Hola VPN:

Нет проблем с безопасностью, которые могут иметь место с родными клиентами Hola. А именно, IP-адрес пользователя точно не будет эксплуатироваться для обслуживания других пользователей.

Убраны почти все ограничения бесплатного доступа.

Локально запускается прокси, который можно использовать и с другими приложениями, а не только с браузером.

Есть возможность использования резидентных IP-адресов в US для того чтобы, например, смотреть американский Netflix, Hulu и другие видео-сервисы с гео-ограничениями, требующими IP-адрес, относящийся к провайдерам потребительского доступа к интернету.

Улучшенная устойчивость к блокировкам по сравнению с расширением (у нативного клиента чуть больше возможностей).

Открытый исходный код.

Запускается на большом ассортименте ОС и аппаратных платформ.

Есть возможность каскадирования соединения с другим прокси-сервером для доступа к выходному узлу. Это полезно для случаев, когда подключение к интернету требует обязательного использования прокси-сервера (например, так выглядят некоторые корпоративные файрволы).

Порядок использования:

Примечания:

Если требуются особые настройки (страна, тип прокси), то можно создать ярлык, указав дополнительные параметры командной строки через пробел после имени файла. Справка по параметрам здесь.

Запускать приложение в фоне в Windows можно с помощью "планировщика заданий", назначив старт приложению после запуска системы, либо просто добавив в автозагрузку, если окно терминала в фоне не мешает.

opera-proxy


Это совсем недавняя разработка, которая, в сущности, реализует то, что в браузере Opera называется Opera VPN, но при этом позволяет использовать его с другими браузерами и приложениями (а так же использовать его для каких-то сайтов селективно, посредством настройки браузерного расширения управления прокси в вашем браузере).

Внешне программа почти полностью аналогична hola-proxy, но имеет чуть меньше возможностей для выбора серверов и прочих возможностей, специфичных для hola.

Порядок использования:

Примечания:

Обратите внимание, что opera-proxy по умолчанию использует порт 18080, в то время как hola-proxy - 8080.

Пара слов об Android

Оба приложения работают на Android, не требуя рута. Запустить их можно с помощью любого удобного шелла (приложения-терминала). Я бы порекомендовал Qute, так как оно поддерживает автозапуск и создание ярлыков для скриптов. Для запуска нужно положить бинарь куда-то, где его можно было бы сделать исполняемым. В случае с Qute это /data/data/files/com.ddm.qute

После этого сделать бинарный файл прокси-клиента исполняемым: chmod +x /data/data/files/com.ddm.qute/*-proxy* и запустить его командой или скриптом: /data/data/files/com.ddm.qute/*-proxy*

Заслуживают упоминания


Признаюсь, я никогда не считал себя преданным фанатом Opera. Тем не менее этот браузер был установлен на всех моих компьютерах — из-за простой и удобной функции VPN (который даже не VPN, а, скорее, продвинутый прокси), позволявшей при необходимости быстро менять внешний IP-адрес и локацию, что бывает просто необходимо в целом ряде случаев — скажем, в процессе отладки веб-приложений. Да мало ли по какой причине благородному дону вдруг понадобится предстать в сети канадским фермером или испанским кабальеро? И вот с недавних пор сервис Opera VPN был отключен для российских пользователей разработчиками браузера. Что ж, настало время искать альтернативу!

Конечно, есть надежный и безотказный, как автомат Калашникова, Tor Browser, но лично я его не люблю, прежде всего, из-за очень медленного процесса соединения с сетью и общей тормознутости. Да и в целом эта программа предназначена для совершенно иных задач. В той же «Опере» VPN-сервис можно подключить в виде отдельного плагина, но у меня он почему-то упорно слетает после каждого перезапуска браузера. Еще есть возможность подкрутить конфиг программы, изменив геолокацию. Говорят, помогает — до следующего обновления браузера. Ну и, конечно, существует полноценный VPN, но за эту услугу нужно либо платить, либо рисковать утечкой данных куда-нибудь налево. Тем более для примитивных задач, вроде простого переключения IP, он по большому счету и не нужен — достаточно какого-нибудь быстрого прокси. В общем, есть повод задуматься о максимально простой замене для Opera, не требующей каких-либо настроек, возни с конфигами и прочих танцев с бубном.

Chrome: Fractal VPN

VPN-подобных плагинов для Chrome великое множество, правда, примерно половина из них нормально не работает. Один из работающих — бесплатный Fractal VPN. Это, скорее, не полноценный VPN, а прокси, подменяющий ваш IP-адрес. Удобство плагина состоит в его простоте: выбираешь страну из списка, жмешь Connect, и вот ты уже где-нибудь на другом конце земного шара.


Государства в перечне плагина, правда, в массе своей диковинные — Бенин, Бангладеш, Чили, Гондурас, Кения, но если выбрать, например, Германию, то скорость обращения к сайтам сохраняется на вполне достойном уровне. Минус Fractal VPN состоит в том, что соединение временами самопроизвольно слетает, после чего приходится нажимать кнопку Connect заново. Какие-то прокси более стабильны, но медленны, другие работают шустрее, но время от времени вылетают или начинают тормозить. Еще один крупный недостаток плагина — при перезапуске браузера он не запоминает выбор пользователя и предлагает первую в списке стран Аргентину. Все эти неудобства позволяют в целом оценить плагин на троечку.

Chrome: Earth VPN

Еще одно расширение из той же серии — но в отличие от Fractal VPN оно хотя бы запоминает предпочтения пользователя в плане страны, через которую выполняется подключение. Включается и отключается плагин крайне просто — щелчком мыши на значке в инструментальной панели браузера.


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

Chrome: 1ClickVPN

Разработчики называют этот плагин «простейшим VPN для Chrome», и в целом это так и есть — расширение не имеет практически никаких настроек, кроме списка из пяти стран, через которые ты можешь подключиться к Интернету (США, Канада, Нидерланды, Испания и Великобритания), а также кнопки Disconnect.


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

FireFox: TouchVPN

Да, для FireFox есть великолепный FoxyProxy, но в нем нужно вводить адреса прокси-серверов вручную, а мне, понятное дело, лень. Несколько других протестированных мною плагинов либо предлагают тормознутые прокси где-то в Зимбабве, а подключение с нормальной скоростью через Европу доступно только платным подписчикам (Browsec VPN ), либо не дают пользоваться сервисом, пока ты не зарегистрируешься и не подпишешься на спам-рассылку (Hoxx VPN Proxy, SetupVPN), либо в открытую собирают приватные данные (Hola).

Потому я решил установить в этом браузере плагин TouchVPN, который в Chrome у меня по непонятным причинам не завелся. Здесь расширение на удивление заработало и заработало довольно-таки шустро, что меня крайне порадовало.


К несомненным достоинствам TouchVPN стоит отнести довольно интересный набор настроек: помимо страны подключения можно указать конкретный список сайтов, доступ к которым осуществляется только через прокси, или, наоборот, задать перечень URL, для которых прокси будет всегда отключен. Очень удобно, если FireFox используется в качестве основного браузера, и смена IP требуется только для нескольких ресурсов, а при просмотре остальных сайтов мешает.

Yandex Browser

Браузер от «Яндекса» работает на движке Blink, и потому к нему подходят некоторые совместимые аддоны от Opera. Доступных плагинов в этой категории для Yandex Browser предлагается относительно немного: я попробовал несколько, и ни один из них не заработал нормально. Тем приятнее было выяснить, что в этом браузере прекрасно запускается тот же 1ClickVPN, который можно установить с помощью плагина Install Chrome Extensions.

Читайте также: