User Agent Switcher: що він насправді змінює і що залишає на виду

User Agent Switcher: що він насправді змінює і що залишає на виду

User agent switcher це розширення для браузера або вже вбудоване в браузер налаштування, яке переписує один рядок тексту, що надсилається з кожним HTTP-запитом. Цей рядок називається заголовком User-Agent, це самоопис: браузер повідомляє серверу, ким він себе називає. Нижче: справжній рядок UA з Chrome, розібраний по сегментах, чотири способи змінити його без встановлення будь-чого, що додає розширення понад це, і список того, що після зміни лишається незмінним. Практична частина знадобиться фронтенд-розробникам, які перевіряють адаптивну верстку, і QA-інженерам, які відтворюють серверний редирект. А також усім, хто встановив switcher, однаково потрапив під прапорець і хоче знати причину: ви змінили один рядок, а сайт паралельно зчитував кілька десятків параметрів.

Що насправді каже про вас рядок User-Agent

Ось типовий рядок, який надсилає Chrome у 64-бітній Windows:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/151.0.0.0 Safari/537.36

П’ять сегментів, у кожного своє завдання:

СегментЩо він означає
Mozilla/5.0Історичний артефакт. Його досі пише кожен браузер.
Windows NT 10.0; Win64; x64Заявлені операційна система та архітектура
AppleWebKit/537.36 (KHTML, like Gecko)Заявлений родовід рушія рендерингу
Chrome/151.0.0.0Заявлені браузер і версія
Safari/537.36Токен сумісності, збережений для старих скриптів визначення браузера

Префікс Mozilla/5.0 лишився від браузерних війн 1990-х. Сервери тієї епохи перевіряли наявність «Mozilla», перш ніж віддати сторінку з фреймами, тож кожен браузер-конкурент почав називати себе Mozilla, щоб не отримувати урізану сторінку. Ніхто так і не прибрав цей рядок. Браузери на Blink і WebKit досі починають із нього і з тієї самої причини досі несуть у кінці токен Safari.

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

Щоб побачити власний рядок у Chrome, відкрийте DevTools клавішею F12, перейдіть на вкладку Console і введіть navigator.userAgent. Вкладка Network показує те саме значення в заголовках запиту будь-якого завантаженого ресурсу.

Що user agent switcher робить добре (легітимні сценарії)

Для великої кількості повсякденних задач UA switcher є правильним інструментом, і нічого важчого не потрібно.

Найочевидніший випадок це тестування адаптивного дизайну. Чимало сайтів досі розгалужують логіку за User-Agent на сервері, а не через media query, тож мобільна верстка ніколи не потрапить у ваш десктопний браузер, хоч як ви зменшуйте вікно. Змініть UA на рядок iPhone чи Android, перезавантажте сторінку, і сервер віддасть вам мобільний шаблон. Тепер видно, що в ньому ламається.

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

Діагностиці це теж допомагає. Щоб дізнатися, який варіант сторінки CDN чи шар виявлення повертає кожному клієнту, змініть UA і порівняйте відповіді. Розробники та QA-інженери становлять більшість тих, хто шукає цю тему, і для їхньої роботи інструмент 👍 повністю виконує своє завдання.

Як змінити user agent: чотири способи, дві хвилини

DevTools у Chrome та Edge (Network Conditions)

Відкрийте DevTools (F12), потім командне меню через Ctrl+Shift+P (Cmd+Shift+P на macOS) і знайдіть там панель, що керує умовами мережі. Шукати за функцією надійніше: назви між версіями змінюються, а командне меню все одно їх знаходить. У цій панелі вимкніть опцію, яка залишає власний user agent браузера, а потім виберіть пресет або вставте свій рядок. Підміна діє для поточної вкладки, поки DevTools відкрито. Режим пристрою (Ctrl+Shift+M) робить те саме і додатково емулює viewport.

Firefox (about:config)

Введіть about:config в адресному рядку і прийміть попередження. Знайдіть параметр підміни user agent; якщо у вашій збірці його ще немає, створіть його як String і задайте своє значення. Цей спосіб діє для всього браузера і зберігається, тож після тестування очистьте параметр. У DevTools Firefox також є Responsive Design Mode з власними пресетами пристроїв.

Safari (меню Develop)

Safari тримає switcher серед інструментів розробника, тож спершу потрібно ввімкнути функції для розробників у розширених налаштуваннях Safari. Коли в рядку меню з’явиться меню Develop, у ньому буде пункт user agent зі списком пресетів і можливістю ввести власний рядок.

Прапорець запуску та командний рядок

Chrome приймає прапорець під час запуску: chrome –user-agent="ваш рядок". Поза браузером curl приймає -A: curl -A "ваш рядок" example.test. Цим шляхом ідуть скрипти й CI-пайплайни, і на відміну від шляхів у меню він не змінюється між релізами. Якщо якась назва з розділів вище не збігається з тим, що ви бачите, шукайте налаштування за тим, що воно робить, а не за назвою: браузери перейменовують ці елементи частіше, ніж переносять.

Розширення для браузера

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

User agent spoofing: та сама робота, суворіша назва

Розробники називають це перемиканням, а в текстах про антифрод це називають user agent spoofing, і Chrome user agent spoofer це той самий інструмент, що й UA switcher. Назва відображає мотив, а не програму. Підмінити UA, щоб відрендерити мобільний шаблон, це інженерна робота; підмінити його, щоб видати себе за іншу людину, означає створити суперечність, описану нижче, бо системи виявлення читають узгодженість, а не наміри.

Чого він НЕ змінює (повний список)

Усе, що нижче, лишається точно таким самим після підміни заголовка.

СигналЩо з нього дізнається сайт
User-Agent Client Hints (Sec-CH-UA, Sec-CH-UA-Platform)Друге, окреме оголошення браузера та ОС, яке більшість switcher’ів не чіпають
navigator.platformДруге оголошення ОС із JavaScript. Switcher, який виправляє лише заголовок, залишає його в суперечності з ними
hardwareConcurrencyКількість логічних ядер процесора
deviceMemoryПриблизний обсяг встановленої оперативної пам’яті
Роздільна здатність і глибина кольору екранаФізична геометрія дисплея
Canvas-відбитокДрібні відмінності рендерингу, унікальні для вашої відеокарти й драйверів
WebGL і WebGPUРядки виробника й рендерера GPU, часто з дослівними назвами заліза
АудіовідбитокЯк ваш аудіостек обробляє згенеровану хвилю
Встановлені шрифтиСписок, сформований вашою ОС і встановленими програмами
Часовий поясВаше локальне зміщення, яке порівнюють з IP
Мова та Accept-LanguageВаші налаштування локалі
Cookies і LocalStorageПопередні сесії, входи й ідентифікатори, які вже збережено
IP-адресаВаше розташування в мережі і те, резидентна адреса чи датацентрова
Мережевий відбитокХарактеристики TLS-рукостискання, незалежні від усього, що повідомляє браузер

Тож коли питають, чи безпечний user agent switcher у сенсі «чи сховає він мене», ❌ відповідь ні. Його ніколи для цього не створювали.

Як вас видає невідповідність

Уявіть профіль, який називає себе Safari на iPhone. Client Hints при цьому кажуть Windows. WebGL повідомляє про десктопний рендерер NVIDIA, екран має 2560×1440, hardwareConcurrency повертає 16, а часовий пояс на кілька годин відрізняється від IP, з якого прийшов запит. Такого пристрою немає в жодної реальної людини. Сам рядок нічого не видав. 🕵 Видала розбіжність навколо нього.

Системи виявлення працюють на трьох рівнях, і UA зачіпає лише крихту першого:

  1. Середовище: відбиток, тобто залізо, графіка, шрифти, екран, локаль.
  2. Мережа: IP-адреса, її тип і географія.
  3. Сесія: cookies, LocalStorage, збережені входи та історія переглядів.

Інструменти для ізоляції акаунтів працюють з усіма трьома одночасно. 🚀 Dolphin Anty створює цілісний профіль браузера, а не один заголовок: повний набір параметрів відбитка, узгоджено налаштованих між собою (у кожному профілі доступно 20 параметрів), плюс власний проксі й ізольований контейнер для cookies та сховища. Він працює як десктопний застосунок у Windows, macOS і Linux.

Тут же починає мати значення термінологія, бо профіль в антидетект-браузері не те саме, що віртуальний браузер, емулятор браузера чи вікно «браузер у браузері». Наше порівняння віртуального браузера, емулятора браузера та browser-in-the-browser пояснює, що з цього справді запускає браузер, а що лише його малює.

Розширення, DevTools, окремий профіль чи антидетект-браузер: що яку задачу розв’язує

СпосібЗмінює рядок UAЗмінює параметри відбиткаІзолює cookies і сховищеПрив’язує окремий IPМасштабується на десятки акаунтів
Розширення для браузераТакНіНіНіНі
Режим пристрою в DevToolsТак (для вкладки)Лише viewportНіНіНі
Прапорець запускуТакНіНіНіНі
Окремий профіль браузераНіНіТакНіЧастково, вручну
Антидетект-браузерТакТакТакТакТак

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

Інтерфейс Dolphin Anty

Ризик розширень, про який ніхто не читає

Типовий UA switcher запитує широкі дозволи, і більшість із них йому справді потрібні: webRequest або declarativeNetRequest, щоб переписувати заголовки, дозволи на хости <all_urls>, бо заголовок треба змінювати на кожному сайті, storage для збережених профілів і часто доступ до scripting, щоб виправляти navigator.userAgent усередині сторінки й JavaScript збігався із заголовком. Саме через останній пункт список виглядає тривожно. Розширення, яке впроваджує скрипти в кожну сторінку, може читати кожне поле форми та кожен токен сесії.

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

Тож називати тут конкретні безкоштовні UA-розширення було б безвідповідально. Оцінюйте будь-якого кандидата за списком дозволів, видавцем та історією оновлень.

Перевірте себе за п’ять хвилин

🔎 Задайте підміну, проженіть браузер через чекер відбитка, а потім звірте звіт із чотирма питаннями.

Чи збігається показана платформа із заявленою? UA, що каже macOS, поруч із navigator.platform, що повертає Win32, бачить будь-який скрипт. Чи узгоджуються Client Hints із заголовком? UA з Android поруч із Sec-CH-UA-Platform: «Windows» суперечить сам собі в межах одного запиту. Чи називає WebGL залізо, яке правдоподібно могло б стояти в заявленому пристрої? Рядки десктопних GPU під телефонним UA закінчують розмову. Чи відповідає ваш часовий пояс країні, до якої належить ваш IP?

Будь-що з цього позначає сесію як неузгоджену. Виправляйте середовище, а не ярлик.

Коли UA switcher’а достатньо, а коли ні

ДостатньоНедостатньо
Тестування адаптивної верстки та серверних шаблонівРобота з кількома акаунтами на одній платформі
Разовий доступ до сайту із застарілою перевіркою браузераСкрапінг сайтів з активним захистом від ботів
Налагодження того, що сервер повертає різним клієнтамКоманда, яка спільно користується тими самими акаунтами
Перевірка кросбраузерної сумісностіРекламні акаунти в Meta Ads, TikTok Shop та подібних

Один момент заслуговує на окремий абзац. 📱 Мобільний user agent не є мобільним пристроєм. Рядок iPhone дає вам мобільну версію сторінки. Він не дає вам екрана, GPU, сенсорного вводу, набору датчиків чи середовища застосунків iPhone, а будь-який скрипт перевіряє все це за мілісекунди. Редагуванням заголовка «мобільний профіль» не створити. Dolphin Anty мобільних профілів теж не надає: це десктопна програма.

Та сама логіка стосується географії. Обмеження контенту застосовують за IP-адресою, а не за User-Agent, тож жодне редагування рядка не перенесе вас в іншу країну.

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

Юридична примітка. Роботу з кількома акаунтами регулюють правила кожної платформи (Meta Advertising Policies і Meta Commerce Policies, Amazon Seller Code of Conduct, X Rules щодо кількох акаунтів) і закон країни, де ви живете. Обробка чужих даних через ці інструменти підпадає, зокрема, під GDPR в ЄС, UK GDPR у Великій Британії та CCPA/CPRA в Каліфорнії. Відповідальність за дотримання вимог несете ви, а не інструмент.

Часті запитання

Що таке user agent switcher?

Розширення для браузера або вбудоване налаштування, яке замінює заголовок User-Agent, що надсилає ваш браузер, на рядок на ваш вибір. Сайти, які читають цей заголовок, вважають вас тим браузером і тією операційною системою, які ви заявили. Більше нічого у вашому браузері не змінюється.

Чи безпечний user agent switcher?

Користуватися безпечно, з одним застереженням: розширення-switcher’и просять дозвіл читати й змінювати кожну сторінку, яку ви відвідуєте, а це дуже багато довіри до невідомого розробника. Як захист він не працює. Він приховує одне заявлене значення і не чіпає ваш відбиток, IP та cookies.

Як підмінити user agent у Chrome?

Відкрийте DevTools, запустіть «network conditions» з командного меню (Ctrl+Shift+P), зніміть позначку Use browser default у розділі User agent і виберіть або вставте рядок. Підміна діє, поки DevTools відкрито на цій вкладці. Щоб зміна не залежала від вкладки та стану DevTools, запустіть Chrome із прапорцем –user-agent. Він діє на всю сесію, але не назавжди.

Як дізнатися свій user agent?

Відкрийте консоль DevTools у будь-якому браузері й введіть navigator.userAgent. Виведене значення це точний рядок, який отримують сайти. Вкладка Network показує той самий заголовок у кожному вихідному запиті, і так можна переконатися, що підміна справді спрацювала.

Чи приховує зміна user agent мою IP-адресу?

Ні. User-Agent це заголовок прикладного рівня. Ваш IP додається на мережевому рівні й лишається видимим незалежно від того, що каже заголовок. Щоб змінити IP, потрібен проксі або VPN, тобто окремий механізм.

Чи змусить мобільний user agent сайт думати, що я з телефона?

Він змінює шаблон, який надсилає сервер. Перевірки на боці клієнта (підтримка дотиків, розміри екрана, пам’ять пристрою, рендерер GPU, API датчиків) усе одно повідомляють про ваш десктоп, і сайт, який порівнює їх із заголовком, одразу бачить суперечність.

Чорна п'ятниця · Лист очікування До 22 листопада, 23:59 GMT+3

До 22 листопада включно: встигніть у лист очікування зі знижкою до −82%

Одна заявка, і вічна підписка за найкращою ціною року закріплена за вами 🔒
Одна хвилина зараз заощадить вам роки платежів ✨

Заявка в листі очікування: ×2 шансів на перемогу

Telegram-канал Dolphin {anty}

Стежте за оновленнями та новими можливостями

Telegram-чат спільноти

Спілкуйтеся та діліться досвідом зі спільнотою