Обновить
64K+

Браузеры

Веб-обозреватели

97,25
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

MCP для Juggler на Go

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели3.9K

Демонстрация MCP сервера на GO для управления браузером Firefox & Camoufox.

ИИ-агенты уже не просто отвечают на вопросы - они действуют. Они открывают страницы, читают разметку, кликают по кнопкам, заполняют формы и делают скриншоты. А самый быстрорастущий способ дать агенту руки - это Model Context Protocol (MCP), открытый стандарт, который превращает браузер в набор инструментов, вызываемых любым ИИ-клиентом.

Читать далее

Новости

Почему в Chrome маленькие JPEG выглядят иначе

Время на прочтение4 мин
Охват и читатели11K

Этот значок на компьютере моего коллеги выглядит лучше

Как-то я общался с коллегой у него за компьютером и заметил, что логотип выглядит не совсем так, как моём компьютере. На компьютере коллеги он казался тоньше и больше походил на исходное изображение. Он имел размер 15px; на картинке выше показана его увеличенная версия.

Примечание: показано не исходное изображение. Это было уже довольно давно, поэтому я создал новое изображение, чтобы продемонстрировать, в чём же проблема.

Если прищуриться или отойти подальше, то изображение из Chrome выглядит толще. Это немного странно, но если заменить картинку на SVG, то проблема исчезнет. Однако мне всё равно стало любопытно: почему она вообще так рендерится?

Я провёл исследование и обнаружил в Chrome изящную оптимизацию, используемую для рендеринга JPEG в мелком масштабе.

Читать далее

Ruthenium: Chromium для Android с поддержкой сертификата Минцифры

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели11K

Некоторые банки и государственные сервисы используют TLS-цепочки, которые заканчиваются корнем Russian Trusted Root CA. Яндекс Браузер и Атом умеют работать с такими цепочками. Chrome для Android показывает NET::ERR_CERT_AUTHORITY_INVALID, потому что этого корня нет в хранилище Chromium.

Я пользуюсь Chrome и не хотел заводить второй браузер для нескольких сайтов. Поэтому добавил корень в Chromium, ограничил его зонами .ru и .рф и собрал отдельный APK. Проект получил название Ruthenium.

Читать далее

Заметки о том, как я писал SFU на Rust (2 часть)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели8.1K

Продолжаем изучать, как устроен SFU изнутри: добавляем simulcast, ice restart и мониторинг сети. Дневник разработки на Rust.

Читать далее

Chrome скачавает 4 Гб локальной Gemini Nano: нужно ли, и как отключить

Время на прочтение14 мин
Охват и читатели17K

В настройках Chrome появился переключатель «ИИ на устройстве». Он относится к моделям, которые запускаются прямо на компьютере, причем, для целей довольно разнообразных (в частности, даже для обнаружения мошеннических сайтов). В каталоге профиля браузера при этом действительно лежат несколько гигабайт весов Gemini Nano. Хочется сказать: раз модель уже скачана, то встроенный Gemini должен работать локально - например, читать и пересказывать открытую страницу без обращения в облако!

Увы, для Google это оказалось не самым логичным решением. Более того, они даже с неймингом не справились до конца, чем здорово всех запутали.

Под словом Gemini у компании скрываются две принципиально разные системы.

Ask Gemini / Gemini in Chrome — облачный сервис. Когда вы просите его пересказать страницу или ответить на вопрос по открытым вкладкам, их содержимое передаётся в инфраструктуру Google.

Gemini Nano — локальная модель. Chrome скачивает её на компьютер и запускает на CPU или GPU. Отдельной кнопки «спросить Gemini Nano» у пользователя нет. Этой моделью пользуются сайты и расширения через специальные API Chrome, а также сам браузер — например, при первичной проверке подозрительных страниц.

Читать далее

«Как за вами (не) следит Яндекс»: что на самом деле происходит внутри Android-приложений

Время на прочтение15 мин
Охват и читатели72K

На днях на Хабре вышла статья с разбором Яндекс Браузера и приложения Яндекс для Android. Автор сделал несколько выводов о работе приложений на основе анализа кода.

Часть наблюдений в статье действительно описывает существующие механизмы, однако их назначение интерпретируется неверно. Во многих случаях речь идёт не о специфике Яндекса, а о стандартных механизмах Android, Chromium, работе современных голосовых помощников или платёжных SDK.

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

Сразу оговоримся: автор не указал версии приложений, которые анализировал, поэтому в точности воспроизвести его опыт невозможно. Для разбора мы использовали актуальные версии Яндекс Браузера и приложения Яндекс из Google Play. Все описанные ниже механизмы можно проверить самостоятельно.

Читать далее

Один запрос, пять наблюдателей: что сайт, провайдер, DNS и VPN узнают, когда вы открываете страницу

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели16K

Пока я собирал материал для этой статьи, мне казалось, что логика будет простой: без VPN сайт видит мой обычный IP, с VPN — адрес сервера выхода; cookies при этом никуда не деваются. На практике даже такой маленький эксперимент сразу подкинул вопросы. В DevTools при подключении через VPN на странице Хабра появился ещё один домен с Google-cookies. Значит ли это, что VPN начал собирать обо мне больше данных? Нет. Он меняет маршрут и IP, а сайт, рекламная сеть или аналитика могут из-за нового адреса отдать браузеру другую конфигурацию страницы.

С интернет-приватностью постоянно происходит то же самое. Фраза «провайдер всё видит» смешивает в одну кучу название сайта, содержимое страницы, IP-адрес и личность пользователя. А совет «включи VPN» часто звучит так, будто после этого исчезнут авторизация, cookies и браузерный отпечаток. Они не исчезают.

В статье я пройду путь одного запроса от адресной строки до сервера и обратно. Разберу, какие данные в этот момент остаются у браузера, что видят DNS-резолвер и провайдер, что получает сам сайт и какую новую роль берёт на себя VPN-сервис. Заодно покажу, почему HTTPS скрывает далеко не всё, а смена IP ещё не означает анонимность.

Читать далее

От идеи создания своего React‑проекта до столкновения с реальностью

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели8.2K

Книжный тир-лист, SPA, боты и 55 запросов в месяц. Честная история пет-проекта: от «все обнимут меня» до пререндера и коллабораций с блогерами.

Читать далее

От чего защищает Certificate Transparency?

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели8.5K

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

Читать далее

Установка SSL-сертификатов в профиль Firefox

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели23K

Столкнувшись с необходимостью использовать сертификат Минцифры из-за отзыва зарубежных SSL-сертификатов, некоторые хабравчане почему-то начали придумывать переусложнённые варианты вроде отдельного устройства или виртуалки для Яндекс-Браузера. Тогда как встроенного механизма профилей нормальных браузеров вполне достаточно!

Инструкция со скриншотами

О чём писать в книге о браузере, если ChatGPT уже знает все Web API?

Время на прочтение7 мин
Охват и читатели8.4K

Здравствуйте, уважаемые читатели.

Рады предложить вам одну из самых долгожданных новинок на тему современной веб-разработки - книгу уважаемого Александра Гусева @flancer "Браузер как операционная система для разработки современных приложений". Ниже предлагаем обзорный материал, в котором автор рассказывает о концепции книги, роли больших языковых моделей в современной веб-разработке, об истинных возможностях браузера как рабочего инструмента и о системном понимании Интернета.

Читать далее

Отпечатки браузера: что это такое и как работает? Переосмысление технологии

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели8.5K

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

Отпечаток браузера не возник недавно — о нем знали уже тогда, когда мессенджеры еще не ловили на парковке, а сахар был слаще, трава зеленее и вода мокрее. В далеком 2020 году были робкие попытки препарировать это понятие и рассказать окружающим, как там все устроено. 

Много воды с тех пор утекло, как и много нового добавилось в понятие «отпечаток устройства». Ну а где, как не в блоге антидетект‑браузера, разобрать, что такое фингерпринт, почему он важен для цифровой гигиены и куда движется антифрод в вопросах отслеживания нас с вами в сети? Давайте разбираться!

Читать про отпечаток браузера

Почему смена IP не делает вас новым пользователем

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели12K

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

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

Читать далее

Ближайшие события

Что такое качественный антидетект‑браузер и почему мы написали свой, когда рынок уже перегрет

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели14K

Представьте себе огромный, гудящий рынок электроники для «своих» — такая классическая гиковская Мекка. Вокруг снуют суровые инженеры, пахнет канифолью. На прилавках можно найти всё: от редких микросхем и серверных стоек до самописных контроллеров для умного дома.

По логике вещей, если не в центре этого рынка, то хотя бы недалеко от него, должны стоять палатки, где продают профессиональные аппаратные эмуляторы (стелс-роутеры, хитрые программаторы, способные заставить калькулятор «прикинуться» Макбуком). Ведь спрос немаленький — покупателям нужно парсить данные, обходить блокировки, тестировать сети и автоматизировать рутину. 

Но ряды сменяются палатками, а нормальных продуктов из данной ниши как будто и нет. Это либо покрытые пылью китайские недоделки из 2015 года, либо пустые витрины. Есть отдельно стоящие продавцы, у которых можно найти что-то и про антидетект и про парсинг и много про что еще, но продукт, как будто не на своем месте, среди других похожих, но не то.

В данном материале разберем что такое антидетект-браузер и как он работает. Информация из первых уст!

Читать далее

FFmpeg в браузере: как мы сделали медиа-конвертер, который ни разу не обращается к серверу

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели13K

Конвертация медиа. Люди решают эту задачу десятки раз в неделю. Видео с дрона нужно перевести в MP4 для мессенджера, HEIC с айфона в JPEG для сайта, аудиозапись интервью обрезать и сжать. Обычно это выглядит так: человек открывает один из сотен онлайн-конвертеров, загружает туда полугигабайтный файл, ждёт, пока он доползёт до сервера, потом ждёт очереди, потом скачивает обратно. Параллельно его файлы лежат на чужом сервере, о чём мало кто задумывается (а зря, если речь про корпоративный договор или личное видео).

Мы решили проверить, можно ли полностью убрать из этой схемы сервер. Чтобы конвертация происходила целиком в браузере, на устройстве пользователя. Без загрузок, без очередей, без серверных затрат. Так появился BrowsersKit: набор инструментов (медиа-конвертер, PDF, математика, Python-песочница), работающих на клиенте. Дальше расскажу, как это устроено внутри, какие грабли нас поджидали и как мы с ними справились.

Читать далее

Мобильный Vivaldi 8.1 — Всё для лета

Время на прочтение2 мин
Охват и читатели7.7K

Наша команда боролась с летней жарой, чтобы отполировать ваш любимый браузер и подготовить его к праздникам. Благодаря большому количеству исправлений Vivaldi на мобильных устройствах стал лучше, чем когда-либо. Но это ещё не всё!

Читать далее

RUINSWORLD: Возвращение невозможной игры-предупреждения

Уровень сложностиСредний
Время на прочтение12 мин
Охват и читатели6.5K

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

Невозможная игра‑предостережение некоторое время назад была все‑таки дописана в первой играбельной минимальной версии, и вот можно уже тыкать и умирать https://ruinsworld.online/. Не забывайте пить воду, есть, охотиться. От ранений, отравлений и жажды начинает сильно качать. У вас есть союзники — это предки Роботов‑Собутыльников... На самом деле это все рюшечки, а технически решение интересно тем, что это реально эффективно работающая реализация шовного открытого мира и шутера в нем, в бро, только исключительно на ноде и ts. Писал пять лет ручками, такое уже не модно нынче. Мир сейчас развернут на всего 9 локаций (и это число тоже может быть 25 вполне), но одной переменной его можно развернуть в четыре или девять, двадцать пять копий‑процессов по столько локаций — зависит только от мощностей. Вот у меня одно ядро и поэтому только один процесс, один кластер‑биом мира. Больше копий сервера — образуют замкнутую на себя сетку практически никак не связанных «частей мира», между которыми клиенты несущие много своего состояния могут свободно перемещаться. Нагрузка практически не прирастает, только незначительно при подключении новых игроков. Ну вот это и есть, что мы, по сути, построили стабильную модель открытого мира любой величины.

Читать далее

История JavaScript: браузерные войны, ECMAScript, Node.js, TypeScript, React

Уровень сложностиПростой
Время на прочтение16 мин
Охват и читатели9.2K

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

Читать далее

Vivaldi 8.1: На спокойной воде

Уровень сложностиПростой
Время на прочтение2 мин
Охват и читатели13K

Этот год обещает быть годом комаров, поэтому мы взяли с собой спрей от насекомых, чтобы избавиться от них в Vivaldi и грести, не отвлекаясь.

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

Читать далее

Заметки о том, как я писал SFU на Rust (1 часть)

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели10K

Как устроен SFU изнутри: Publisher, Subscriber, комната-маршрутизатор и никакого перекодирования. Дневник разработки на Rust.

Читать далее
1
23 ...