Локальный магазин программ для Windows в духе Steam Library.
Скачали GetBox.exe — готово. Курируемые приложения ставятся напрямую с официальных сайтов. Scoop, winget и Chocolatey поднимаются сами при первом запуске в %LOCALAPPDATA%\GetBox\runtime\ — отдельно ничего ставить не нужно.
| Платформа | Windows x64 |
| Стек | Electron · React · TypeScript · Vite |
| Версия | 1.2.0 |
| Дистрибутив | Portable .exe (~70 МБ) |
- Курируемый каталог — витрина с иконками, описаниями и прямыми ссылками на установщики
- Все пакеты — индекс Scoop / winget / Chocolatey на отдельной вкладке
- Очередь установок — один install за раз, с прогрессом
- Избранное, профили, рекомендации — быстрый старт наборами программ
- RU / EN — переключение языка в интерфейсе
- Кастомный title bar — без системного меню File / Edit / View
- Очередь с отменой — можно отменить загрузку/установку, повторить или убрать ошибку
- Понятные ошибки — 404, блокировка CDN/региона, сеть, таймаут (RU/EN)
- Offline-first — каталог работает сразу, runtime и метаданные догружаются в фоне
| Провайдер | ID | Права | Описание |
|---|---|---|---|
| Каталог GetBox | catalog |
Не нужны | Курируемый offline-каталог + прямая загрузка installer |
| Scoop | scoop |
Не нужны | Изолированный Scoop в runtime\scoop\ |
| winget | winget |
Не нужны* | Системный winget / App Installer |
| Chocolatey | chocolatey |
UAC 1× | Опционально: кнопка «Разрешить установку» при первом запуске |
* На старых Windows 10 может понадобиться обновить App Installer.
Провайдеры включаются и отключаются в настройках.
Не запускайте GetBox постоянно от администратора. Официальный установщик Scoop отказывается работать в elevated-сессии; для Scoop используется zip-установка. Chocolatey запрашивает UAC только один раз.
Соберите portable-сборку или возьмите готовый артефакт из Releases (если опубликованы):
release/GetBox-1.2.0-portable.exe
Runtime не упакован внутрь exe — он ставится при первом запуске в %LOCALAPPDATA%, поэтому файл остаётся относительно лёгким.
- Откройте GetBox — curated-каталог доступен сразу.
- В фоне настраиваются Scoop и winget (индикатор внизу слева).
- Для Chocolatey нажмите Разрешить установку (UAC) или Пропустить.
- Выберите программу → GetBox скачает официальный installer и установит.
- Windows 10/11 x64
- Node.js 20+ (рекомендуется LTS)
- npm
npm install
npm run electron:devnpm run distРезультат: release/GetBox-1.2.0-portable.exe.
| Команда | Описание |
|---|---|
npm run electron:dev |
Dev-режим с HMR |
npm run build |
Сборка renderer + main + иконки |
npm run dist |
Portable Windows x64 |
npm run index |
Пересборка индекса пакетов (CLI) |
npm run prewarm |
Предзагрузка метаданных (CLI) |
npm test |
Проверка каталога + smoke |
npm run verify:catalog |
Только проверка data/catalog.json |
npm run lint |
ESLint |
electron/ Main process, провайдеры, bootstrap, IPC, очередь установок
src/ React UI (витрина, очередь, настройки, i18n)
data/ Каталог, категории, профили, иконки, logo.svg
scripts/ Иконки приложения, verify-catalog, smoke
release/ Артефакты electron-builder (в git обычно не коммитятся)
Всё пользовательское — в %LOCALAPPDATA%\GetBox\:
| Путь | Назначение |
|---|---|
runtime\scoop\ |
Изолированный Scoop |
runtime\winget\ |
Fallback App Installer |
runtime\chocolatey\ |
Chocolatey CLI (если разрешён) |
runtime-state.json |
Статус bootstrap |
package-index.json |
Индекс пакетов провайдеров |
web-meta\ |
Кэш описаний |
web-images\ |
Кэш иконок |
search-cache\ |
Кэш поиска (~14 дней) |
downloads\ |
Временные installer-файлы |
- PackageProvider — общий интерфейс (
search,install,listInstalled,available,describe) - Runtime bootstrap — Scoop / winget / Chocolatey в
%LOCALAPPDATA%\GetBox\runtime\ - Catalog merge — offline-first: curated + индекс + installed
- Install queue — сериализованная очередь установок
- Meta enrich — описания от провайдеров, логотипы из
icon-index/ favicon - getbox-media:// — протокол для локальных иконок
Витрина (главная, каталог, рекомендации) строится только из data/catalog.json. Всё, что нашли Scoop, winget и Chocolatey, живёт на вкладке Все пакеты.