Repository navigation
Releases
DonutOS Build 23
Что исправлено
Выбор движка при создании профиля возвращён
- Диалог создания снова берёт установленный Wayfern как движок по умолчанию. Начиная с free-11 дефолт молча падал на Chromium: список установленных версий на момент выбора дефолта был пуст и догружался только для уже выбранного движка — замкнутый круг.
- Селектор «Wayfern — отпечатки / Chromium — открытый» теперь появляется, как только установлены оба движка (у вас это так и есть: Wayfern 155 + Chromium 148/158).
- На чистой установке без Wayfern поведение прежнее — Chromium.
- Профили, создаваемые через REST/MCP, не затронуты: там строго Wayfern, как и раньше.
Следствие для окон
- Новые Wayfern-профили снова получают персональный цвет рамки окна и метку с именем профиля (цвет выводится из id). У Chromium-движка этой механики нет ни в оригинале, ни здесь.
Диагностика
Первопричина — переключение UI-дефолта на Chromium в acbb524 (25.10, «open Chromium engine»); «умный дефолт» из d4f78d4 (27.10, free-11) оказался мёртвым кодом из-за пустой карты версий. Подробный разбор с живыми уликами — в истории чата владельца 07.11.
Обновление
Прод обновляется подменой релизной сборки (DonutOS.exe + donut-proxy.exe); config/, токен и данные не затрагиваются. Уже созданные Chromium-профили остаются Chromium — пересоздайте нужные через диалог, если хотите перевести их на Wayfern.
DonutOS Build 22
Automated free-build from main.
Includes:
- Portable Windows x64 executable
- Proxy and xray binaries
- No vendor cloud integration (local only)
- Automation-ready config with bearer token
Quick start:
- Extract zip
- Run
DonutOS.exe - MCP:
http://localhost:10109/v1/mcp
DonutOS Build 18
DonutOS Build 18 (free-18)
Движок и сессии:
- Version-pinned session-TTL патч Wayfern 155.0.8059.79: арминг обоих вендорских
таймеров сессии, проверка сигнатур и целей переходов перед записью, бэкап
chrome.dll.orig, идемпотентность, fail-closed на неизвестных раскладках 155+.
Порядок патчей: TTL → entitlement-gate; отсутствие TTL-патча у 155.x — ошибка
установки (fail-fast вместо тихого пропуска). - Лимит вендорской сессии CDP (~305 с) снят для закреплённой версии; подтверждено
живой сессией >6 минут через MCP (см. Verification).
Политика free-канала (Wayfern = локально закреплённый движок):
- Метаданные релизов Wayfern больше не запрашиваются; источник истины —
установленный закреплённый движок. - Legacy pending-обновления не перемещают закреплённые профили.
- Startup-recovery не пытается докачать отсутствующий Wayfern-бинарник;
профиль остаётся закреплённым с предупреждением в логе.
Сеть:
- Проверка прокси переведена на нейтральный URL: фоновых обращений к
donutbrowser.com из продукта больше нет.
UI:
- Исправлена гонка устаревшего ответа версий в диалоге создания профиля.
- Формулировки отражают поведение закреплённого движка.
Verification (free-18, прод C:/Users/max/Desktop/DonutOS):
- CI: сборка релиза и все push-гейты — зелёные (run 41899419189).
- Прод-бинарник sha256 совпадает с релиз-ассетом (426cdbb00b8278fb…).
- Живой смоук: health ok; wayfern-профиль headless; 9 успешных MCP
tools/call (get_page_info) за 405 с без дисконнекта — прежняя вендорская
граница сессии ~305 с пересечена; CDP /json/version → Chrome/155.0.8059.79. - TTL-патч: статически проверен юнит-тестами + живая сессия; статус
live-smoke (см. docs/engine-patches.md).
Для агентов флота: MCP-контракт, порт 10109 и токен не изменились;
подключение профилей Donut сохранено.
DonutOS Build 15
Automated free-build from main.
Includes:
- Portable Windows x64 executable
- Proxy and xray binaries
- No vendor cloud integration (local only)
- Automation-ready config with bearer token
Quick start:
- Extract zip
- Run
DonutOS.exe - MCP:
http://localhost:10109/v1/mcp
DonutOS Build 14
DonutOS free-14 — upstream v0.36.0 внутри локального продукта
DonutOS free-14 синхронизирует локальную линию с upstream Donut Browser v0.36.0 (база была v0.35.4; 47 тематических коммитов вендора) с полным сохранением локального слоя: антидетект-движки, встроенный sync-сервер, MCP/REST-автоматизация, автопатчер движка.
What's changed
Движок Wayfern и обновления (vendor v0.36.0)
- Пересборки Wayfern как отдельные ревизии (155.x.y-rN): приложение видит и предлагает их корректно
- Исправлены медленные загрузки Wayfern и падение arm64-сборок на x64
- Выбор архитектуры движка по хосту (host-arch pick)
Идентичность и стабильность запуска (vendor v0.36.0)
- Починено сообщение «primary device» (identity)
- «Watch a launch at once»: один запуск — один наблюдатель, меньше гонок при старте профилей
- «Clean up after exits»: процессы и RAM-хосты чистятся после выхода браузеров
- Освобождение неиспользуемого RAM-хоста
Автоматизация и сеть (vendor v0.36.0 + локальный слой)
- MCP tool annotations (метаданные инструментов в tools/list)
- Прокси для служебного трафика приложения (app traffic proxy)
- IPv6-маршрутизация прокси, https для API-URL, keydown без key (CDP-ввод)
- Из логов удалены user id (privacy)
Sync (vendor + локальный встроенный)
- Upstream перевёл sync-сервер на Rust; встроенный loopback-сервер (без Docker) сохранён и работает как прежде
- Починен remote sync password
Локальный слой free (сохранён полностью)
- fingerprint-chromium (второй движок) и Wayfern-автопатчер: лестница «скачать → патч → живой смоук» fail-closed
- Встроенный sync, member-REST с ролями, ротация токена, журнал активности
- Wayfern launch-аргументы — паритет с upstream v0.36.0: diff по аргументам пуст
- Движок 155.0.8059.79 — живой максимум вендора, не менялся
Gates (measured, дерево 2af2223)
| Gate | Результат |
|---|---|
| pnpm test (rust) | 1864 passed / 0 failed (1786 lib + 24 proxy-int + 15 vpn + 39 donut-sync) |
| sync-e2e (внешний donut-sync + S3) | 15 passed / 0 failed |
| node-сьюты (incl. i18n-parity, 11 локалей) | все зелёные |
| clippy --all-targets --all-features -D warnings | green |
| tsc (tsrs) --noEmit + biome + typos | green |
| Смоук 3a на релизной сборке в проде | run ✓ → CDP /json/version = Chrome/155.0.8059.79 ✓ → tools/call get_page_info (живая страница) ✓ → kill ✓, сирот нет |
Quick start
- Распаковать zip
- Запустить
DonutOS.exe - MCP:
http://localhost:10109/v1/mcp(Bearer-токен вconfig/automation-token.txt)
Обновление поверх существующей папки: подменяются DonutOS.exe и donut-proxy.exe; config/automation-token.txt не трогать — иначе MCP-клиенты отвалятся.
DonutOS — локальный-first форк Donut Browser (AGPL-3.0, attribution вендору): облачные функции заменены локальными (движки, sync, автоматизация), данные не покидают машину.
Метаданные: upstream v0.36.0 (61092ed), free-base 0f582f4, merge 2af2223, CI run 14.
DonutOS Build 13
Automated free-build from main.
Includes:
- Portable Windows x64 executable
- Proxy and xray binaries
- No vendor cloud integration (local only)
- Automation-ready config with bearer token
Quick start:
- Extract zip
- Run
DonutOS.exe - MCP:
http://localhost:10109/v1/mcp
DonutOS Build 12
Automated free-build from main.
Includes:
- Portable Windows x64 executable
- Proxy and xray binaries
- No vendor cloud integration (local only)
- Automation-ready config with bearer token
Quick start:
- Extract zip
- Run
DonutOS.exe - MCP:
http://localhost:10109/v1/mcp
DonutOS Build 11
Portable free build of DonutOS (tag free-11, commit 9e7abda).
- Unzip anywhere
- Run
DonutOS.exe(the zip's exe was still named DonutFree.exe when this build shipped — same binary)
DonutFree Build 5
Automated free-build from main.
Includes:
- Portable Windows x64 executable
- Proxy and xray binaries
- No vendor cloud integration (local only)
- Automation-ready config with bearer token
Quick start:
- Extract zip
- Run
DonutFree.exe - MCP:
http://localhost:10109/v1/mcp