Обновить
32K+

Google Chrome

Браузер от Gooogle

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

Чистка ленты linkedin

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

Привет, анонимус. Достало читать рекрутерш в LinkedIn? Или пипла из Астаны? С текущим вайбкодингом ленту можно адаптировать под себя любимого за один вечер – я сделал себе chrome extension. Код не выкладываю, каждый навайбкодит сам минут за десять, ниже только что получилось.

Читать далее

Новости

AI‑Less Habr — Чистим Хабр от ИИ (теперь ML моделью)

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

Несколько месяцев назад я выложил расширение AI‑Less Habr, скрывающее на Хабре нескончаемые статьи про ИИ бенчмарки и тому подобное (см. пост: Расширение AI-Less Habr — Чистим Хабр от ИИ). Оно достаточно хорошо работало, но был существенный недостаток: оно полагалось на добросовестность авторов и модераторов (простите). В реальности скрыть хаб «Искусственный интеллект» недостаточно, так как очень часто он не указывается там, где должен. А дополнительный фильтр по словам довольно несовершенен. С другой стороны, ложноположительные срабатывания были довольно частым явлением, а обижать такие статьи тоже очень не хотелось.

Уже тогда была идея отдать определение тематики ИИ на откуп какой‑то модельке. И вот дошли руки это сделать, и оно даже работает и доступно всем желающим: Chrome Web Store, GitHub.

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

Забавно, что те счастливчики‑хабровчане, которые уже пользуются расширением, скорее всего не увидят эту статью в ленте, так как расширение ее скроет.

Читать далее

Двухпанельный менеджер закладок для браузера: Total Bookmarks

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

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

Читать далее

Стоит ли связывать Claude Code и Gemini Notebook?

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

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

Читать далее

Почему попап расширения Chrome открывался 89 секунд

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

Расширения Chrome иногда могут душить сами себя, попадая в бесконечные циклы. В статье я расскажу о том, как искал причины странного поведения pop-up окна нашего внутреннего расширения. Найдя их, я провёл ряд оптимизаций, а ещё создал чек-лист проверок, которые полезно выполнять перед публикацией нового расширения Chrome.

Читать далее

Подмена камеры в Яндекс.Телемосте

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

Яндекс.Телепульт — расширение для Chrome, которое добавляет в Яндекс.Телемост то, чего мне не хватало на созвонах: исчезновение из кадра по щелчку пальцами, фон, маски, стикеры, субтитры с переводом, календарь и трекер рядом со звонком. Всё работает локально в браузере, без серверов.

В статье разбираю, как это устроено: как подменить камеру через getUserMedia и canvas.captureStream, как найти человека в кадре без нейросети и с MediaPipe, как распознать щелчок пальцами по видео и как сделать субтитры с переводом прямо в браузере.

Читать далее

Как я подавал шахматное расширение в Chrome Web Store: разрешения, данные и отказ

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

Вторая часть истории о том, как моё шахматное расширение попадало в Chrome Web Store. Первая была про оплату аккаунта разработчика и мои ошибки, эта про саму подачу: что спрашивает форма, какие объяснения прошли проверку, где я чуть не написал неправду в разделе о данных и как получил отказ по своей же вине.

Внутри настоящие тексты объяснений к разрешениям, письмо с отказом, тест, который ловит забытое разрешение, и чек-лист перед подачей.

Читать далее

Как я собрал бота коммерческих предложений на чистом stdlib и рендерю PDF через headless Chrome

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

Я дизайнер интерфейсов и работаю как фрилансер. На каждое коммерческое предложение у меня уходило часа три: смета в таблице, вёрстка, экспорт, проверка. Шаги одни и те же, меняются цифры и состав работ. В конце июля я упаковал этот процесс в Telegram-бота, который задаёт семь вопросов и присылает PDF со сметой, сроками, этапами и кейсами.

Расскажу, как смета собирается из свободного текста, почему PDF рендерит Chrome, как бот приводит обложки кейсов к одной пропорции и зачем ему мини-приложение. В конце грабли эксплуатации и цифры за два месяца.

Читать далее

Экспорт коллекции API‑запросов в файлы для git — и как мы чуть не отправили токены в открытом виде

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

Как работать с коллекциями в Http API‑клиенте...

В клиенте уже год как работал экспорт коллекции как патча — одного JSON‑файла с операциями вида upsertRequest / removeRequest / setCollectionMeta. Достаточно, чтобы переслать коллеге точечное изменение: поправил заголовок в одном запросе — экспортировал — коллега применил патч у себя. Рабочая штука для передачи «из рук в руки».

Ниже — история одной конкретной фичи: зачем понадобился «git‑friendly» экспорт коллекции, как устроена стабильная сериализация и разрешение коллизий имён файлов, и какую дыру в защите секретов мы нашли и закрыли по пути. Без сравнений с другими клиентами — только то, что случилось и что мы с этим сделали.

Читать далее

Лёгкие HTTPS-сертификаты на деревьях Меркла

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

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

Разработчики Chrome с коллегами из других компаний и экспертами группы PLANTS внедряют первое изменение HTTPS, которое поможет решить постквантовые проблемы производительности. Это компактные [TLS-сертификаты на деревьях

Читать далее

Удалить что угодно со страницы одним кликом: как устроен «пипеточный» блокировщик на Manifest V3

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

Бывает, что блокировщик рекламы не справляется: всплывающее окно подписки, баннер «мы используем cookies», чат-виджет в углу, липкая шапка на пол-экрана. Для этого было маленькое расширение ekill: жмёшь кнопку, наводишь на элемент, кликаешь — элемент исчез. Оно не обновлялось с 2019 года и перестало работать в Chrome, когда Google отключил Manifest V2.

Я переписал его под Manifest V3 для Firefox, Chrome и Edge. Получился SkullClick (GitHub). Задача кажется тривиальной, но у неё неожиданно много граней:

Разберём по порядку

Субтитры с переводом в расширении Chrome: звук вкладки в MV3, один поток вместо двух сервисов

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

Расширение Chrome показывает субтитры с переводом поверх созвона в браузере, бот в звонок не заходит. Разбираю три места, где ушло больше всего времени: захват звука вкладки в Manifest V3, переход с двух сервисов на один поток с транскрипцией и переводом, и ошибку в счётчике минут, из-за которой время списывалось в тишине.

Читать далее

Как всегда, (почти) во всём виноват Internet Explorer: древности и артефакты в HTML

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

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

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

Читать далее

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

Устал листать неинтересные проекты на Kwork.ru добавил кнопку Скрыть

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

На kwork.ru/projects каждый день 50 проектов, половина не подходит. Фильтра «скрыть» нет листаешь одно и то же. Сделал расширение Kwork Hider. Кто листал, тот знает.

Читать далее

Складской учёт на трёх платформах без дублирования логики: расширение Chrome, мобилка и SaaS из одного кода

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

Я довольно давно вожусь с сервисами вокруг товарных данных: делаю price‑matrix (обработка прайсов поставщиков) и CatalogLoader (парсеры сайтов). InventoryMod вырос из той же темы, но с другого конца — не «собрать и разобрать данные», а «вести по ним складской учёт».

InventoryMod — учётная система для склада: товары, остатки, движения, заказы, закупки, инвентаризация, отчёты. Начал где‑то в середине апреля 2026-го с расширения для Chrome с локальной базой (первый коммит в git датирован 19 мая — до него первая версия довольно долго собиралась «в столе»), потом добавились мобильное приложение и полноценный SaaS с сервером.

Главная проблема, с которой я жил всё это время, формулируется просто: как не писать три раза одну и ту же бизнес‑логику, когда база данных в каждой среде своя. Где‑то SQLite прямо в браузере, где‑то удалённый сервер по HTTP.

Дальше разберу на реальном коде из репозитория, как из query‑модулей выводится API‑контракт, почему я в итоге слез с IndexedDB на SQLite‑WASM и что творилось с транзакциями в резервировании остатков. Про сам продукт скажу ровно столько, сколько нужно для контекста.

Читать далее

Как устроен локальный шахматный помощник в браузере: Stockfish 18, Manifest V3 и веб-доски

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

Stockfish умеет находить сильные ходы. Но браузерному расширению ещё нужно понять, какая из нескольких досок относится к текущей партии, дождаться стабильной позиции, пережить остановку service worker и не показать устаревший результат.

Дальше не про кнопки, а про проверки: какая доска настоящая, не протух ли ответ, пока считал движок, куда девать WASM, когда Chrome гасит service worker, и почему «сыграй как 1500» нельзя получить, урезав глубину. Отдельно, без эвфемизмов: подсказка в партии с человеком — это чит.

Читать далее

От клика до железа: хроника одного запроса. Часть 2

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

В первой части мы заставили кнопку на веб-странице запустить локальный exe-файл через расширение Chrome и Native Messaging Host. Теперь усложним задачу: операция длится десять секунд, сообщает прогресс и поддерживает отмену. Для этого заменим sendNativeMessage() постоянным соединением connectNative(), перепишем хост на Java 21, разберём протокол, восстановление соединения и жизненный цикл процесса, а затем соберём exe с помощью GraalVM Native Image и проверим всё в настоящем Chrome.

Читать вторую часть

DragonDoll для Google Chrome: обновите ваш шпион до последней версии

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

Весной 2026 года специалисты направления Threat Intelligence экспертного центра безопасности Positive Technologies обнаружили необычную атаку на пользователей Саудовской Аравии с использованием неизвестного ранее APK-файл с именем Chrome.apk. Образец заинтересовал: за милой картинкой обновления Google Chrome и неожиданным требованием для работы «специальных возможностей» мы обнаружили тщательно защищенную от анализа цепочку запуска Android-шпиона.

Читать далее

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

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

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

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

Читать далее

Корпоративный Claude в компании на 400 автомобилей: 15 грабель, о которых не пишут в документации

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

Корпоративный Claude в компании на 400 автомобилей: 15 грабель, о которых не пишут в документации Пять месяцев разворачивал корпоративную AI-экосистему в компании, сдающей автомобили в аренду водителям такси. Парк около 400 машин, четыре руководителя плюс собственник, 21 рабочая сессия под запись. Компания обезличена.

Бизнес-результаты вынесу в одну строку: бюджет технического ремонта −25…30%, доля парка в ремонте 14% → 5,7%, среднее время ремонта −65%, фонд оплаты труда −20%. Дальше — только техника, потому что интересна не она, а то, обо что мы бились.

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