Как стать автором
Обновить
80.47

Браузеры

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

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

Ultimatum — еще один форк хромиума, с претензией…

Время на прочтение10 мин
Количество просмотров11K

image


Добрый день! Меня зовут Тимур и я программист.


Сегодня я хочу сделать настоящий анонс своей сборки chromium — Ultimatum. Он умеет уже достаточно много что бы гордо носить свое собственное имя.


В прошлой своей статье я рассказал о том как пробросил в js прямой доступ до http кеша и объяснил для чего я это делаю. Статья завершилась со словами что я еще вернусь со своим антидетект браузером. Я вернулся и это немного больше чем антидетект браузер.


Если коротко — Ultimatum уже помножил на ноль такие техники трекинга как hsts-pinning, favicons cache и вообще использование многих других кешей в трекинге. А также! Теперь можно поставить расширение с любого сайта, не только со сторов гугля, оперы или микрософта (с них кстати тоже можно — со всех!). А еще! Можно перехватывать сетевые запросы и подменять их полностью! Ну и так далее и тому подобное.


А теперь более подробно и более спокойно.

Читать дальше →

Работа с куки-файлами хуже сапёрного дела

Время на прочтение15 мин
Количество просмотров4.8K

Если в этом посте вам в основном интересно, как что ломается, сразу можете переходить к последнему разделу.

HTTP-куки — это небольшие информационные добавки, направляемые на клиент с сервера, работающего с JavaScript или HTTP. Куки играют определяющую роль для поддержки состояния во всем вам известной Всемирной Паутине — системе, где иного способа сохранять состояние не предусмотрено. Как только куки установлены, браузеры станут переадресовывать их в нагрузку ко всем HTTP-запросам, у которых правильно выставлена область видимости — до тех пор, пока срок действия куки не истечёт.

Читать далее

Firefox: 20 лет борьбы за свободный интернет и долю рынка. Успехи и падения браузера

Время на прочтение4 мин
Количество просмотров8.5K

Привет, Хабр! Это Виктор Сергеев из МТС Диджитал. Двадцать лет назад, в ноябре 2004 года, увидел свет первый релиз браузера Firefox. Новинка быстро завоевала популярность благодаря инновационным решениям (минимализм, вкладки, дополнения и так далее) и открытости кода. За 20 лет браузер прошел путь от новичка до одного из лидеров и поборолся с серьезнейшими конкурентами. Сейчас у Firefox уже нет былой доли рынка, но браузер продолжает развиваться  и акцентируется на конфиденциальности и безопасности.

Читать далее

Как Dinosaur Game стал маркером стабильности интернета? История создания и феномен игры

Время на прочтение4 мин
Количество просмотров5.8K

Привет, Хабр! Компьютерных игр с динозаврами много. Но есть одна особенная: ее не нужно покупать, играть можно на любом устройстве и, главное, без интернета! В честь прошедшего дня рождения наш Тирекс решил познакомить вас со своим приятелем, тираннозавром Рексом. Он, как и Тирекс, работает в IT: отвечает за стабильность интернет-соединения. Но если Тирекс стоит на страже инфраструктуры, то Рекс находит и определяет проблемные места. Под катом погружаемся в IT-палеонтологию и рассказываем историю залипательной браузерной игрушки Dinosaur Game.
Читать дальше →

Vivaldi 7.0 — Вы его не узнаете

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров4.7K

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

Наверное, это и правильно. Когда-то давно выдающийся авиаконструктор Андрей Николаевич Туполев говорил, что хорошо летают только красивые самолёты. Что-то в этом действительно есть. Ведь стильный и проработанный внешний дизайн зачастую говорит о том, что не меньшую тщательность конструктор проявил и при разработке скрытых от взгляда пользователя внутренних компонентов. И к браузерам это тоже относится в полной мере.

Сегодня мы представляем вам Vivaldi 7.0 - новую версию браузера, получившую значительно переработанный дизайн интерфейса, а также несколько не менее интересных и заметных улучшений. Давайте вместе посмотрим, что изменилось.

Читать далее

ПО шагам: Защищаем сайт от парсеров и поведенческих ботов с помощью DNS-прокси

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

- контент не будет спаршен
- с ВПН работает
- выявит высокоуровневых JS ботов
- реальных не заблокирует
- фиксирование только настоящих просмотров
- рекомендательная система будет работать изумительно

Как интегрировать защиту, как выявить фейковых http ботов, как написать свой код верификации пользователя на прокси сервере и еще читайте далее.

Читать далее

Протокол ECH в браузере

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

Chrome продолжает развивать свои механизмы безопасности, и одной из последних технологий, привлекающих внимание, стал протокол Encrypted Client Hello (ECH). Этот протокол, ранее известный как ESNI (Encrypted Server Name Indication), направлен на усиление конфиденциальности при установке HTTPS-соединений.

Читать далее

Реймонд Хилл и его блокировщик uBlock Origin

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров27K


Реймонд Хилл (gorhill) — автор и мейнтейнер оригинального блокировщика рекламы uBlock и нынешнего uBlock Origin. Признанный авторитет в сообществе, каждая его статья или твит имеет большой вес. В последние годы он часто высказывается о лицемерной политике компании Google, которая под видом заботы о пользователях ужесточает требования к расширениям для браузера Chrome, что в первую очередь затрагивает блокировщики рекламы.

К сожалению, в ближайшие месяцы расширение uBlock Origin окончательно перестанет работать в браузере Chrome.

Отдельная головная боль — видеохостинг YouTube, который тоже объявил «священную войну» блокировщикам рекламы, пытается их идентифицировать и помешать работе, придумывая всё новые способы внедрения неудаляемой рекламы.
Читать дальше →

А что, так можно было?

Время на прочтение5 мин
Количество просмотров16K

Привет Хабр!

Меня зовут Алекс, и я автор фронтенд-библиотеки для создания UI-компонентов-агностиков - Symbiote.js. Я не единственный разработчик, но главный контрибьютор и тот, кто отвечает за концепцию, развитие, документацию, деврел, DX все остальное. Мейнтейнер то есть. Всем этим я занимаюсь в свободное от другой работы время, на которой я фуллстек, R&D-инженер и техлид.

Сегодня, я бы хотел рассказать о том, как появился Симбиот, и почему он вообще существует, при наличии огромного зоопарка библиотек и фреймворков для фронтенда, с куда более значительной аудиторией и поддержкой от крупных IT-компаний. Ведь мы, инженеры, очень НЕ любим, когда вокруг нас начинают плодиться лишние сущности, и сразу начинаем угрожающе размахивать бритвой Оккама. Верно? (хитро прищурился)

Читать далее

Как я узнал номер паспорта и телефон премьер-министра по фото в Instagram*

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров26K

Акт 1: полдень воскресенья


Я занимался домашними делами, ни о чём плохом не думал, пил водичку и ни в коем случае не имел никаких намерений заниматься подрывной деятельностью против Австралийского Союза.

А потом я получил сообщение в «групповом чате»1.

Милое сообщение от моего друга с фотографией посадочного талона. В сообщениях от друзей хорошо то, что они не несут за собой никаких катастрофических последствий

Обладателем талона был Тони Абботт, один из множества бывших премьер-министров Австралии.
Читать дальше →

Встречаем нейроредактор в Браузере, или Как мы учили LLM-модели помогать пользователям с текстами

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

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

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

Читать далее

Необычные приёмы отладки, которые браузер от вас скрывает

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

Список неочевидных, но при этом полезных хаков, которые позволят использовать отладчик вашего браузера1 более полноценно. Для понимания материала статьи потребуется как минимум средний уровень владения инструментами разработчика.
Читать дальше →

Как устроено хранение разных типов данных в веб-буфере обмена

Время на прочтение16 мин
Количество просмотров2.1K

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

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

Начнём мы с изучения API веб-буферов обмена и их истории. API накладывают интересные ограничения, связанные с типами данных; мы узнаем, как некоторые из компаний обходят эти ограничения. Также мы рассмотрим некоторые из предложений, предназначенных для устранения этих ограничений (самое примечательное из них — это Web Custom Formats).

Если вы когда-нибудь задавались вопросом, как устроен веб-буфер обмена, то этот пост для вас.
Читать дальше →

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

Буфер обмена веб-приложений и как он хранит различные данные

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров4.8K

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

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

Давайте начнем с исследования различных API и их истории. Эти API имеют весьма интересные ограничения по типам данных, и мы увидим, как некоторые компании обошли эти ограничения. Мы также рассмотрим некоторые предложения, которые направлены на устранение этих ограничений (наиболее примечательное из них — Web Custom Formats).

Если вам хотя бы раз было интересно, как работает веб-буфер обмена, то эта статья для вас.

Читать далее

Vivaldi 6.9 для Android — Настройся по-новому

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

Не всегда изменений должно быть много - иногда достаточно одного, но очень важного улучшения. Встречайте Vivaldi 6.9 для Android.

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

Читать далее

CORS — это тупо

Время на прочтение7 мин
Количество просмотров25K

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

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

Прежде всего, отмечу, что CORS — это огромный костыль, помогающий снизить влияние ошибок, передающихся с унаследованным кодом. В этой системе защита предоставляется как по принципу отказа от участия (opt-out) в попытке частично купировать XSRF-атаки против незащищённых или немодифицированных сайтов, так и по принципу активного участия (opt-in), чтобы на сайте включалась активная самозащита. Но ни одной из этих мер не достаточно, чтобы решить целенаправленно созданную проблему. Если на вашем сайте используются куки, то вы обязаны деятельно позаботиться о его безопасности. (Ладно, это касается не любого сайта, но лучше перестрахуйтесь. Выделите время на тщательный аудит вашего сайта или выполните описанные ниже простые шаги. Даже придерживаясь самых разумных паттернов, вы всё равно можете подставиться под XSRF-уязвимости).

Читать далее

Как новичку поучаствовать в устранении багов Google Chrome

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров4.4K

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

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

Заранее скажу, что устранение этого бага стоило всех моих усилий, и я очень горд наличием этого достижения в моём портфолио разработчика ПО.
Читать дальше →

Как удалить JavaScript из файлов PDF

Время на прочтение3 мин
Количество просмотров8.4K
Как известно, внутри файлов PDF можно размещать скрипты JavaScript, которые будут запускаться на исполнение в браузере. Например, если загрузить этот PDF, то вы увидите результат выполнения скрипта:



Это стандартная функция формата. Все разработчики браузеров знают, что PDF подобно HTML является активным контентом и может содержать исполняемые скрипты.
Читать дальше →

JPEG XL лучше всех, но Google против

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

JPEG XL превосходит все форматы по уровню сжатия и визуальному восприятию (DSSIM), источник

Оригинальный формат JPEG разработан в далёком 1992 году и уже устарел. Вопрос в том, кто придёт ему на смену. Идеальной заменой казался JPEG XL, в сравнительных тестах он показывает превосходство над AVIF, WebP и другими форматами. Можно было бы сказать, что будущее за JPEG XL, если бы не один нюанс: в 2022 году корпорация Google почему-то удалила его поддержку из браузера Chrome. И не хочет возвращать обратно.
Читать дальше →

Можно ли отследить пользователя Telegram через отпечаток браузера в Mini App

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров7.5K

Недавно мне потребовалось запустить в обычном браузере встроенное в Telegram веб-приложение, называемое Mini App. Объектом изучения стал самый популярный на данный момент кликер Hamster Kombat. Решением стал скрипт для браузерного расширения TamperMonkey, в котором я реализую объект window.Telegram с подмененным свойством platform для обхода проверки того, что приложение запускается на мобильном устройстве. Но самым интересным оказалось другое.

В процессе поиска решения я наткнулся на любопытное поведение кликера. На этапе аутентификации фронтенд совершает POST-запрос к https://api.hamsterkombatgame.io/auth/auth-by-telegram-webapp. В теле запроса, помимо данных пользователя Telegram, необходимых для аутентификации, передается свойство fingerprint, содержащее хэш идентификатора пользователя, и набор информации, характерный для отпечатка браузера.

Читать далее

Вклад авторов