Кейс
Inco Browser Manager
Windows-приложение изолированных Chromium-профилей
Кейс Inco Browser Manager: desktop-продукт для изоляции браузерных профилей — безопасность и контроль сессий без хаоса вкладок.
- Изолированные Chromium-профили
- HTTP/HTTPS/SOCKS5 прокси
- AES-256-GCM + DPAPI
- Готовый установщик под Windows
О проекте
Inco Browser Manager
Inco Browser Manager — это Windows-приложение для управления изолированными браузерными профилями на базе Chromium. Проект предназначен для работы с разными веб-кабинетами, банками, маркетплейсами, CRM и другими сервисами, где важно разделять сессии, cookies, кэш, прокси и учетные данные между профилями.
Главная идея проекта: пользователь создает отдельный профиль под конкретного клиента, компанию или задачу, после чего приложение запускает отдельное окно Chromium с собственным user-data-dir, отдельным кэшем, своей сессией и индивидуальными настройками прокси. Это позволяет безопасно работать с несколькими аккаунтами и веб-кабинетами без смешивания cookies, авторизаций и локальных данных.
Что делает проект
Приложение позволяет:
- создавать и редактировать браузерные профили
- хранить для каждого профиля название, клиента, тип рабочего пространства, стартовый URL, заметки и учетные данные
- запускать каждый профиль в отдельном изолированном Chromium-процессе
- использовать отдельные cookies, cache, localStorage и sessionStorage для каждого профиля
- назначать отдельный прокси на каждый профиль
- поддерживать HTTP, HTTPS и SOCKS5 прокси, включая прокси с логином и паролем
- задавать bypass-правила для сайтов, которые должны открываться напрямую
- защищенно хранить логины, пароли и другие секреты
- блокировать повторный запуск одного и того же профиля, если он уже открыт
- вести аудит действий
- делать backup и recovery данных
- запускаться как self-contained Windows-приложение с bundled Chromium
проверять при старте наличие нужного runtime и окружения.
Как работает
Пользователь открывает приложение и видит список профилей. Каждый профиль представляет отдельное рабочее окружение: например, профиль для банка, личного кабинета, маркетплейса или конкретной компании.
При запуске профиля приложение формирует команду запуска Chromium с отдельными параметрами:
- отдельная папка пользовательских данных
- отдельная папка кэша
- стартовый URL
- уникальный идентификатор профиля
- startup-token для проверки сессии
- настройки прокси
remote debugging port для контроля запуска. После запуска создается session.json, где фиксируется информация о процессе браузера: PID, профиль, startup-token, путь к user-data-dir и состояние сессии. При повторном открытии приложение проверяет, жив ли процесс, совпадает ли командная строка Chromium с нужным профилем, и не дает случайно открыть один и тот же профиль дважды.
Если профиль использует прокси с авторизацией, приложение поднимает локальный proxy-auth bridge. Chromium подключается к локальному адресу, а bridge уже проксирует трафик во внешний HTTP/SOCKS5 прокси с нужным логином и паролем. Это позволяет не передавать чувствительные данные напрямую в командную строку браузера.
Безопасность
В проекте реализовано локальное шифрование чувствительных данных. Секреты профиля, логины, пароли и данные прокси не хранятся в открытом виде.
Используется комбинированный подход:
- DPAPI для защиты мастер-ключа на машине пользователя
- AES-256-GCM для шифрования полей
- SQLCipher для защищенного локального хранения данных
recovery package для восстановления доступа через passphrase. Также предусмотрена логика резервного копирования, восстановления и обработки поврежденной базы данных.
Архитектура
Проект построен по слоистой архитектуре:
- UI — WPF-интерфейс, окна, страницы, ViewModel
- Application — сценарии приложения, сервисы, DTO, валидация
- Domain — сущности профилей, учетных данных, прокси, сессий
- Infrastructure — база данных, шифрование, запуск Chromium, proxy bridge, backup, логирование
Shared — общие исключения и утилиты. Такое разделение упрощает поддержку, тестирование и дальнейшее развитие приложения.
Технологии
Основной стек:
- C#
- .NET 8
- WPF
- MVVM
- Entity Framework Core
- SQLite / SQLCipher
- DPAPI
- AES-256-GCM
- Serilog
- Chromium runtime
- PowerShell scripts
- Inno Setup
xUnit / unit tests.
Интерфейс
В приложении реализован WPF-интерфейс с собственной дизайн-системой:
- токены цветов
- типографика
- общие стили контролов
- переключаемая плотность интерфейса
- виртуализированный список профилей
- страницы профилей, деталей, backup, аудита
окна создания и редактирования профиля. Все стили вынесены в XAML resource dictionaries, без inline-оформления в окнах.
Инсталлятор и поставка
Для проекта подготовлена self-contained поставка под Windows. Приложение может запускаться на чистом компьютере без ручной установки зависимостей.
В поставку входят:
- опубликованное .NET-приложение
- bundled Chromium runtime
- Inno Setup installer
- установка в Program Files
- настройка прав доступа
- импорт необходимых сертификатов
preflight-проверка окружения при запуске. Практическая польза Проект решает реальную задачу: безопасная работа с большим количеством веб-кабинетов и аккаунтов без смешивания данных между ними.
Примеры использования:
- бухгалтерия и работа с банковскими кабинетами
- агентства, которые ведут несколько клиентов
- работа с маркетплейсами
- тестирование веб-сервисов в разных окружениях
- разделение рабочих сессий по компаниям
запуск профилей через разные прокси.
Стек
C# · .NET 8 · WPF · SQLite · Chromium
Интерфейс