# Audion Browsers Portable

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

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

- [Зачем это сделано](#зачем-это-сделано)
- [Кто в списке и почему](#кто-в-списке-и-почему)
- [Дальше](#дальше)
- [Техническая часть](#техническая-часть)
  - [Что получается](#что-получается)
  - [Обновление](#обновление)
  - [Ложная тревога антивируса](#ложная-тревога-антивируса)

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

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

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

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

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

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

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

**Кого нет — и это не упущение:**

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

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

## Дальше

* [Руководство](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`.
