# Audion Browsers Portable

[English](README_EN.md) · [Руководство](USER_GUIDE_RU.md)

**Содержание**

- [Библиотеки портативности](#библиотеки-портативности)
- [Возможности отдельных сборщиков в общей программе](#возможности-отдельных-сборщиков-в-общей-программе)
- [Зачем это сделано](#зачем-это-сделано)
- [Скачивание официальных файлов](#скачивание-официальных-файлов)
- [Кто в списке сборки с DLL и почему](#кто-в-списке-сборки-с-dll-и-почему)
- [Запуск](#запуск)
- [Дальше](#дальше)
- [Техническая часть](#техническая-часть)
  - [Что получается](#что-получается)
  - [Обновление](#обновление)
  - [Ложная тревога антивируса](#ложная-тревога-антивируса)

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

## Библиотеки портативности

Основная библиотека — [прокси библиотека](https://gitflic.ru/project/neyrostalker/proksi-biblioteka) (x86/x64). Все переключатели в `App/version.ini` равны `0`. Альтернативы — [Chrome++ (DeftKing)](https://github.com/DeftKing/chrome_plus) и [Vivaldi++](https://github.com/ca-x/vivaldi_plus), обе для x86/x64/ARM64. Если проверка выпуска или загрузка недоступны, используется архив выбранной библиотеки, сохранённый от прежней загрузки (в `Portable\_archives` папки назначения) и проверенный заново. Созданный командный файл запускает браузер из `App`, чтобы относительные пути к `Data` и `Cache` оставались внутри сборки. Очистка реестра применяется только к Chrome++.

## Возможности отдельных сборщиков в общей программе

Раздел `ОБНОВЛЕНИЕ` → `ОБНОВИТЬ ТОЛЬКО DLL` обновляет выбранную библиотеку
в готовых сборках без скачивания браузера. Его файлы, `Data` и `Cache` остаются
на месте. При обновлении той же библиотеки сохраняется INI; при смене библиотеки
создаётся стандартный INI, у прокси библиотеки — с нулевыми переключателями.

Под заголовком `ДОПОЛНИТЕЛЬНО` у сборки, проверки и обновления есть свои ссылки полного
установщика Chrome и Yandex. Пустые поля используют официальные источники.
Установщик по своей ссылке при сборке и обновлении скачивается заново.

Галка `Отключить обновлятор Yandex` включена по умолчанию и удаляет только
`service_update.exe` внутри `App` Яндекс.Браузера. Обновлять его затем нужно
через эту программу.

Раздел `СЕРТИФИКАТ` → `ДОБАВИТЬ В СБОРКУ` сохраняет два сертификата НУЦ
Минцифры и команды установки/отзыва в выбранной готовой сборке. Это загрузка
файлов; установка доверия в Windows остаётся отдельной командой.

## Зачем это сделано

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

**В Windows при этом ничего не устанавливается.** Установщик не запускается, а
распаковывается: из него достаётся то, что он собирался положить в систему.
Профиль лежит в папке сборки, рядом с браузером.

## Скачивание официальных файлов

Раздел `СКАЧИВАНИЕ` сохраняет оригинальные файлы в `Browser Downloads` внутри
папки назначения: портативный SFX Cent Browser (x86/x64), портативный ZIP LibreWolf
(x64/ARM64), установщик Vivaldi (x86/x64/ARM64) и обычный установщик DuckDuckGo (x64).
Для Vivaldi самостоятельно выберите в установщике «Дополнительно → Установить
автономную версию». Программа только скачивает файлы, без запуска, распаковки и
замены DLL.

Повторная загрузка проверяет сохранённый SHA256. Установщик DuckDuckGo скачивается
во временный файл: если хэш совпадает, сохраняется прежняя копия; если отличается,
она заменяется новой.
Ошибка одного источника не останавливает остальные загрузки. Zen не включён:
в текущем официальном выпуске Windows нет портативного пакета (проверено 01.10.2026).

## Кто в списке сборки с DLL и почему

Для сборки с DLL правило отбора одно: **у разработчика нет портативной сборки, которая
обновляет сама себя**.

| браузер | почему здесь |
|---|---|
| Google Chrome | портативной сборки нет вовсе |
| Яндекс.Браузер | портативной нет, а сертификаты Минцифры уже встроены |
| Brave | есть сторонние сборки, и ни одна не обновляется |
| Chromium-Gost | говорит по ГОСТ-TLS, который требуют госпорталы; архив есть, обновления нет |
| Ungoogled Chromium | архив есть, обновлятора нет — в этом и смысл проекта |

**Кто исключён из сборки с DLL:**

* **Vivaldi** — официальная отдельная установка, автообновление в ней работает;
* **Cent Browser** — официальная портативная сборка со встроенным обновлятором;
* **Opera** — отдельного портативного файла нет, но рядом с установщиком лежат
  пакеты автообновления, то есть она умеет обновляться сама;
* **Thorium** — пробовали и отказались: у основного хранилища выпуски без файлов,
  форк собирает только 32-битную версию, и магазин расширений в ней не работает —
  обычный блокировщик рекламы не ставится.

Логика простая: если браузер умеет обновляться сам, оборачивать его — значит
брать на себя работу, которую уже делает разработчик, и делать её хуже.

## Запуск

Окно открывается файлом `Start.exe`. Любую операцию можно запустить и из
командной строки, с теми же настройками, - командой `browsers_cli.cmd`; об этом
в [руководстве](USER_GUIDE_RU.md).

## Дальше

* [Руководство](USER_GUIDE_RU.md) — работа по шагам.
* [Проверки](SMOKE_TEST_RU.md) — что прогоняется перед выпуском.
* `tools\CHROME_PLUS_AND_DEFENDER.md` — Chrome++ и ложное срабатывание
  антивируса при сборке.
* `tools\DECISIONS_EN.md` — принятые решения.

---

## Техническая часть

### Что получается

Папка со сборкой: браузер, профиль, файл запуска и запись о том, какие версии
внутри. Переносится целиком, следов в системе не оставляет.

### Обновление

Движок сверяет, что вышло у разработчика, с тем, что лежит в сборке, и обновляет
только изменившееся. Профиль при этом не трогается.

### Ложная тревога антивируса

Сборка может упасть на упаковке с ошибкой доступа к файлу — это не диск и не
повреждённый архив, а антивирус, разбирающий свежий исполняемый файл. Разобрано
в `tools\CHROME_PLUS_AND_DEFENDER.md`.
