Введение

VPN-расширения в браузере часто воспринимаются как простой инструмент: включил кнопку — получил “защищённое соединение”. Troywell VPN для Chrome как раз из этой категории: он бесплатный, быстро устанавливается и обещает приватность.

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

Разберёмся спокойно, что именно оно может делать и почему это важно понимать обычному пользователю.

Что делает такое расширение на базовом уровне

Любое VPN-расширение в Chrome работает не как системный VPN, а как посредник внутри браузера.

У Troywell VPN есть три ключевые функции:

  1. Перенаправление интернет-трафика через прокси-серверы

  2. Управление сетевыми запросами браузера

  3. Взаимодействие с вкладками и веб-страницами

Manifest.json — какие доступы получает расширение

Вот ключевая часть разрешений:

"permissions": [
  "tabs",
  "webRequest",
  "webRequestAuthProvider",
  "management",
  "webNavigation",
  "storage",
  "alarms",
  "unlimitedStorage",
  "proxy",
  "notifications",
  "privacy",
  "cookies",
  "scripting",
  "declarativeNetRequest",
  "declarativeNetRequestWithHostAccess",
  "declarativeNetRequestFeedback"
]

Что это означает простыми словами:

  • tabs — доступ к вкладкам браузера, их созданию, закрытию и мониторингу

  • webRequest — перехват и анализ сетевых HTTP/HTTPS запросов

  • webRequestAuthProvider — обработка и подстановка данных для авторизации (логины/пароли/токены) в сетевых запросах

  • management — управление установленными расширениями и приложениями браузера

  • webNavigation — отслеживание переходов по страницам и навигации пользователя

  • storage — локальное хранение данных расширения (настройки, кэш, состояние)

  • alarms — запуск задач по таймеру или расписанию в фоне

  • unlimitedStorage — снятие ограничений на объём локального хранилища

  • proxy — управление маршрутом интернет-трафика через прокси-серверы

  • notifications — показ системных уведомлений пользователю

  • privacy — доступ к настройкам приватности браузера

  • cookies — доступ, чтение и изменение cookie-файлов сайтов (сессии, авторизация)

  • scripting — внедрение и выполнение JavaScript-кода на веб-страницах

  • declarativeNetRequest — управление сетевыми запросами через правила блокировки/редиректа без перехвата трафика

  • declarativeNetRequestWithHostAccess — расширенные правила фильтрации запросов с доступом к доменам

  • declarativeNetRequestFeedback — получение информации о срабатывании сетевых правил (что было заблокировано или изменено)

Итог: мы имеем расширение с очень широким доступом к браузеру — оно может управлять интернет-трафиком, перехватывать и изменять запросы, внедрять скрипты в сайты, читать cookies и отслеживать действия пользователя. По сути, это инструмент с почти полным контролем над браузерной активностью и сетевыми данными.

Кнопка согласия (важный момент интерфейса)

При первом запуске расширения пользователь видит экран соглашения:

“Правила сотрудничества… вы соглашаетесь с показом рекламных материалов и участием в программе TROYWELL DIAMONDS”

И кнопка:

“Да. Я согласен”

Здесь важный момент:
Это не просто формальность — после нажатия расширение получает доступ к работе в полном режиме (VPN + реклама + трекинг активности).

экран согласия с кнопкой “Да. Я согласен”
экран согласия с кнопкой “Да. Я согласен”

Как это выглядит внутри расширения

Файл расширения — это большой бандл, собранный через систему модулей (Webpack + polyfills).

Начало кода выглядит так:

(()=>{

var modules = {
  3387: function(module) {
    module.exports = function(fn) {
      if (typeof fn !== "function") {
        throw TypeError(fn + " is not a function!");
      }
      return fn;
    };
  },

  8184: function(module, exports, require) {
    var sym = require(7574)("unscopables");
    var ArrayProto = Array.prototype;

    if (ArrayProto[sym] == null) {
      require(3341)(ArrayProto, sym, {});
    }

    module.exports = function(key) {
      ArrayProto[sym][key] = true;
    };
  }
});

Перехват сетевых запросов

chrome.webRequest.onBeforeRequest.addListener(
	function (details) {
		console.log("Request:", details.url);
	},
	{ urls: ["<all_urls>"] }
);

Расширение видит, какие сайты открывает пользователь в реальном времени, ещё до загрузки страницы.

Отслеживание посещённых сайтов

chrome.webNavigation.onCompleted.addListener(
	function (details) {
		console.log("Visited page:", details.url);
	}
);

Формируется полная история посещений внутри браузера, независимо от стандартной истории.

Работа с вкладками

chrome.tabs.onUpdated.addListener(
	function (tabId, changeInfo, tab) {
		if (changeInfo.url) {
			console.log("User opened:", changeInfo.url);
		}
	}
);

Расширение отслеживает, какие страницы открываются и как пользователь переключается между ними.

Хранение данных

chrome.storage.local.set({
	session: "active",
	lastProxy: "eu-server-01"
});

Расширение может сохранять состояние, сессии и данные пользователя без ограничений по объёму.

Уведомления и “наградная система”

chrome.notifications.create({
	title: "Troywell Rewards",
	message: "You earned diamonds!",
	type: "basic"
});

Как это всё работает вместе

Пользователь открывает сайт
        ↓
Chrome отправляет сетевой запрос
        ↓
Troywell перехватывает запрос (webRequest)
        ↓
Проверяет и решает: проксировать или пропустить напрямую
        ↓
Направляет трафик через VPN/Proxy-сервер
        ↓
Получает ответ от сайта и возвращает его в браузер
        ↓
Фиксирует событие посещения (webNavigation / tabs)

Что важно понимать обычному пользователю

Самое главное:

1. VPN-расширение видит больше, чем кажется

Оно работает внутри браузера и может анализировать трафик.

2. Cookies — это доступ к входам

Если расширение имеет доступ к cookies, это означает доступ к авторизованным сессиям сайтов.

3. Расширение может менять страницы

Через внедрение скриптов можно модифицировать поведение сайтов.

4. Бесплатные VPN часто монетизируются иначе

Если сервис бесплатный, он должен зарабатывать иначе:

  • реклама

  • партнёрские программы

  • аналитика поведения

IOC

Extension ID:

  • adlpodnneegcnbophopdmhedicjbcgco

Hashes bundle.js:

  • SHA256: d258aa9762bf44f177f7488718c1c47bd560e7cb78dc3bee200f53a8739dcbaf

  • MD5: cb25b7668fdf785af92f6bcb3a4804c4

Hashes manifest.json:

  • SHA256: 68366a79061b410e19f1ebddb349cb457097b4f9d4f0eb47d729d11933e10e08

  • MD5: e9a8d59d986c8c337a5f89d6afb7c8d8

В целом Troywell VPN представляет собой не просто инструмент для смены IP-адреса, а расширение с широким набором разрешений, которое получает доступ к сетевым запросам, cookies, вкладкам и поведению пользователя в браузере. Его архитектура позволяет перехватывать и анализировать трафик, управлять его маршрутизацией через прокси-серверы, фиксировать посещения страниц и взаимодействовать с содержимым сайтов. При таком уровне доступа оно фактически становится промежуточным звеном между пользователем и интернетом, что делает важным понимание того, какие именно данные могут обрабатываться и как это может использоваться, особенно в случае бесплатных решений, где монетизация часто строится не только на предоставлении VPN-функции, но и на сборе или анализе пользовательской активности.