Программисты
дистанционно
договорная
Разработка приложений для ПК. Доработка существующего продукта. Краткое ТЗ для программиста: Задача: Сборка и поддержка кастомного Chromium для распространения через мой сайт другим пользователям - аналог вебраузера хром или яндекс. Требования: Сборка из исходников Chromium (не Chrome) — чистый open-source, без Google-сервисов, телеметрии, рекламы и предустановленных расширений/партнёрских модулей (Яндекс, Mail.ru, Bing-дефолты и т.п.). Кастомизация: свой брендинг (название, иконка, splash); дефолтная поисковая система — моя; homepage/new tab — ваш сайт; отключены: Google API keys, sync с Google, crash reporter, RLZ, MetricsReporting, Privacy Sandbox где возможно; свои политики через master_preferences / enterprise policies. Сборки под: Windows (x64, желательно ARM), macOS (x64/ARM), Linux (deb/rpm/AppImage). Установщики: тихие, с автообновлением с вашего сервера (свой update-сервер на базе Omaha или аналога — Sparkle/WinSparkle для mac, собственный для Linux). Инфраструктура: CI/CD для регулярных сборок при выходе новых версий Chromium (stable-канал); подпись бинарников (code signing для Win/mac — обязательно); хостинг обновлений + CDN. Юридически: соблюдение Chromium BSD-лицензии, публикация исходников патчей. Сроки/этапность: MVP (одна платформа) ? остальные ОС ? автообновление ? регулярный релиз-цикл. Что нужно от вас программисту уточнить: бюджет, приоритетная ОС, готовность платить за code signing сертификаты (~$100–500/год) и серверы сборки (сборка Chromium требует 16+ ядер, 32+ ГБ RAM, ~150 ГБ диска на билд). ТЗ с этапами. Техническое задание: Сборка и поддержка кастомного Chromium 1. Общая информация Цель: Создание собственной сборки Chromium для распространения через сайт заказчика, без рекламы, встроенного ПО и телеметрии Google. Базовый проект: Chromium (open-source, BSD-лицензия) Каналы обновления: Собственный сервер обновлений, не связанный с Google. 2. Требования к сборке 2.1. Источник и базовые настройки Сборка из официальных исходников Chromium (chromium.googlesource.com) . Регулярная синхронизация с upstream (stable-канал) через gclient sync . Обязательное применение патчей, удаляющих/отключающих: Google API keys и зависимости Telemetry и crash reporting Google account sync Safe Browsing phone-home RLZ, MetricsReporting, Privacy Sandbox (где технически возможно) Референс: Проекты типа Privacy Browser и Cromite демонстрируют подход с последовательным применением патчей через git am . 2.2. Брендинг и кастомизация Файл initial_preferences (ранее master_preferences) в директории с исполняемым файлом задаёт поведение при первом запуске : homepage: URL домашней страницы (сайт заказчика). homepage_is_newtabpage: false. first_run_tabs: список стартовых вкладок (сайт заказчика). distribution.create_all_shortcuts: true. distribution.import_*: false — отключить импорт из других браузеров. Поисковая система: Замена дефолтного поисковика на собственный. Требуется правка исходников в модулях поиска (по аналогии с chrome_settings_overrides для расширений) . Визуальные элементы: Иконки, splash screen, название продукта — замена в ресурсах сборки. 2.3. Целевые платформы Платформа Архитектуры Приоритет Windows x64, ARM64 (желательно) 1 macOS x64, ARM64 2 Linux x64 (deb/rpm/AppImage) 3 3. Инфраструктура сборки 3.1. Требования к сборочному серверу ОС: Ubuntu 20.04+ LTS (рекомендуется для Linux-сборок) RAM: 16+ ГБ (рекомендуется 32+) Диск: 100+ ГБ на одну сборку CPU: 16+ ядер Инструменты: depot_tools, Python 3.8+, Git, Clang 3.2. CI/CD Автоматическая сборка при выходе новой версии Chromium stable. Артефакты: установщики для каждой платформы + подписанные бинарники. Версионирование: -. 4. Автообновление 4.1. Собственный update-сервер Вариант реализации: На базе Omaha-протокола. Референс: Nebraska — mock Omaha-сервер на Python, лёгкий в развёртывании, отвечает на update-запросы metadata-файлами . Структура: Сервер принимает запросы от клиента. Возвращает JSON с метаданными (target_version, sha256, URL payload) . Payload (установочный файл) размещается на CDN/файловом сервере. 4.2. Клиентская часть Windows: встроенный updater Chromium с заменой URL на собственный. macOS: WinSparkle/Sparkle или собственный updater. Linux: пакеты в репозитории (deb/rpm) с обновлением через пакетный менеджер. 5. Подпись и безопасность 5.1. Windows Обязательный code signing сертификат (EV или OV). Стоимость: ~$200–500/год. 5.2. macOS Apple Developer Program (обязательно, $99/год) . Подпись через sign_chrome.py (скрипт в Chromium repo) . Нотаризация через xcrun notarytool с app-specific password. Хардкод entitlements и hardened runtime — ручная настройка (Chromium не использует Xcode-автоматизацию) . 5.3. Linux Подпись пакетов GPG-ключом. Публикация публичного ключа на сайте. 6. Процесс разработки и релиза 6.1. Этапы Этап Содержание Результат 1 Настройка окружения, первая сборка Работоспособный бинарник 2 Патчи телеметрии, брендинг Кастомизированный Chromium 3 Инфраструктура сборки (CI/CD) Автоматизированные артефакты 4 Update-сервер + клиент Автообновление 5 Подпись (Win/mac) Установщики без предупреждений ОС 6 Регулярный релиз-цикл Стабильные обновления 6.2. Работа с патчами Ведение списка патчей (patches_list.txt) с порядком применения . При обновлении upstream — git rebase-update + gclient sync + повторное применение . Скрипт для автоматического обновления и пересборки (аналогично Privacy Browser update_source.sh) . 7. Юридические аспекты Лицензия Chromium: BSD 3-Clause — требует сохранения copyright notice. Публикация патчей: рекомендуется (требование open-source сообщества, не юридическое). Торговые марки: нельзя использовать «Google Chrome» в названии продукта. GDPR/персональные данные: при сборе статистики (если будет) — согласие пользователей.
2026-09-16
Откликнуться