Назад до блогу

Як вибрати проксі-розширення для браузера: протокол, обсяг дії та самоперевірка

Найбільша пастка проксі-розширень для браузера — обсяг дії: вони перебирають лише трафік браузера і можуть перейти на пряме з'єднання, коли жодне правило не збігається. У статті розширення поділено за призначенням, наведено критерії оцінювання — протокол, автентифікацію, дозволи, стан підтримки — та описано кроки самоперевірки вихідної IP-адреси й витоків WebRTC.

У проксі-розширень для браузера є межа, про яку часто забувають: вони перебирають лише запити, які надсилає сам браузер. Оновлення системи, настільні клієнти та інші застосунки й далі йдуть початковим шляхом. Спершу з'ясуйте, що саме має йти через проксі, і лише потім обирайте інструмент — це позбавить від багатьох подальших розборів.

Спочатку поділіть їх за трьома сценаріями

Найпоширеніша потреба — перемикання за окремими сайтами: кілька доменів ідуть через проксі, а решта з'єднується напряму. Такий сценарій керується списком правил, а цінність розширення — у швидкому перемиканні та розподілі за доменами.

Другий тип — глобальний проксі, коли весь трафік браузера виходить через єдину точку виходу. Налаштування найпростіше, але й ціна очевидна: якщо вихід відмовить, браузер фактично залишиться без мережі, що робить повсякденну роботу нестабільною.

Третій тип прив'язаний до середовища: кожен профіль браузера закріплено за одним виходом, і профілі не впливають один на одного. Так роблять, коли паралельно ведуть кілька акаунтів або кілька проєктів; розширення тут радше доповнення, бо сам вихід зазвичай налаштовують на нижчому рівні.

На що дивитися під час оцінювання розширення

Підтримка протоколів стоїть на першому місці. Проксі HTTP і HTTPS працюють лише з TCP, тоді як SOCKS5 універсальніший, але підтримка UDP залежить від реалізації, і багато розширень або пропускають UDP як є, або повністю його відкидають. Це важливо далі, адже напряму пов'язано з витоками WebRTC.

Уважно вивчіть спосіб автентифікації. Вхід за логіном і паролем зручний, але збережені в розширенні дані лежать локально у відкритому вигляді або зі слабким шифруванням, тож будь-хто інший за цим комп'ютером може їх прочитати; автентифікація за списком дозволених IP нічого не зберігає в розширенні, проте список доводиться оновлювати після кожної зміни мережі.

Обсяг дії — місце, де проблеми виникають найчастіше. У режимі правил домени, що не збіглися з жодним правилом, за замовчуванням ідуть напряму, а ви можете не знати, які домени сторінка насправді запитує. Після встановлення з'єднання з HTTPS-сайтом розширення бачить лише домен, а не конкретний шлях, тому ідея розподілу за шляхами практично не працює.

Погляньте й на обсяг дозволів. Якщо проксі-розширення додатково просить доступ до даних усіх сайтів, інформації про вкладки чи буфера обміну, запитайте себе, чи пов'язані ці дозволи із заявленою функцією. Оновлення версії маніфесту браузерних розширень теж звужують доступні інтерфейси, через що частина старих розширень змушена була змінити архітектуру.

Щодо активності підтримки дивіться не на кількість записів у списку змін, а на те, чи хтось встигає за змінами першоджерела. Серед проксі-розширень магазинну версію Proxy SwitchyOmega було знято, і подальшу адаптацію взяв на себе форк, який підтримує спільнота (наприклад, лінія ZeroOmega); у розширень на кшталт FoxyProxy є версії для кількох браузерів. Це лише нейтральні приклади; що підійде краще, і далі залежить від наведених пунктів.

Трафік, який воно не покриває

Після встановлення розширення сам браузер іде через проксі, але інші програми на тому ж комп'ютері, фонові служби оновлення та частина трафіку всередині браузера, що не дотримується шляху запитів розширення, можуть і далі виходити через локальний вузол. Перевіряти узгодженість мережі не можна, дивлячись лише на панель розширення. Для повної ізоляції потрібно діяти на рівні системного проксі або вище.

Самоперевірка: спершу вихід, потім витоки

Обсяг дії проксі-розширення браузера щодо системного трафіку та порядок самоперевірки вихідної IP-адреси, WebRTC і DNS

Перший крок — перевірити вихідну IP-адресу. Відкрийте кілька сторінок, які повертають IP відвідувача та його розташування, перевірте один раз у звичайному вікні й один раз у вкладці, що відповідає вашим правилам, і порівняйте результати. Якщо правило задає проксі, а показується локальна адреса, правило не спрацювало або домен не збігся. Перевірка кількох сайтів виявляє випадки, коли через проксі йде лише частина запитів.

Другий крок — перевірити WebRTC. Спеціальні тестові сторінки показують локальні та публічні адреси-кандидати, які отримує браузер; якщо серед публічних з'являється ваша справжня IP замість проксі-виходу, значить UDP іде не через проксі, і скрипти сторінки все ще можуть визначити ваше реальне розташування в мережі.

Третій крок — перевірити DNS. Якщо розташування DNS-резолвера дуже далеке від розташування виходу, деякі сайти вважатимуть середовище підозрілим.

Останній крок — повторити перевірку у вікні інкогніто. Багато розширень за замовчуванням не працюють у режимі інкогніто, і їх потрібно дозволити вручну в налаштуваннях; якщо пропустити цей крок, висновки будуть цілком хибними.

Після перевірок вирішіть, як користуватися

Результати самоперевірки надійніші за опис розширення. Коли фактичний вихід, розташування DNS-резолвера й розкриття WebRTC узгоджені, вирішуйте: продовжувати користуватися розширенням чи опустити вихід на нижчий рівень. У сценаріях із кількома паралельними середовищами кожному краще виділити окремий фіксований вихід, а не використовувати один вихід на кількох машинах.