Files
AnabasisChatRemove/README.md
T
benya bb6de9b737
Desktop CI / tests (push) Failing after 1m51s
Prepare 2.3.0 release and Linux Docker workflows
2026-09-25 14:02:32 +03:00

116 lines
6.9 KiB
Markdown

# 🚀 Anabasis VK Chat Manager
**Anabasis VK Chat Manager** — специализированное десктопное приложение для HR-менеджеров и администраторов сообществ, предназначенное для автоматизации управления участниками в чатах ВКонтакте. Избавьтесь от рутины и управляйте всеми беседами из одного удобного интерфейса.
---
## ✨ Основные возможности
* **🔐 Безопасная авторизация:** Вход через официальный VK OAuth во встроенном защищенном браузере.
* **💾 Умное сохранение сессий:** Поддержка Persistent Cookies — не нужно вводить пароль при каждом запуске.
* **⏳ Таймер токена:** Наглядное отображение времени действия сессии прямо в интерфейсе.
* **📊 Массовые операции:**
* Моментальная загрузка всех доступных чатов пользователя.
* Групповой выбор чатов («Выбрать все» / «Снять выбор»).
* Быстрое обновление списка бесед.
* Выполнение массовых действий в фоновом потоке без подвисания интерфейса.
* Визуальный прогресс-бар по ходу операции.
* **👤 Интеллектуальный поиск ID:** Автоматическое распознавание ID пользователя из ссылок любого формата (например, `vk.com/id123`, `vk.com/durov` или просто `durov`).
* **🛠 Управление в один клик:** Кнопки для мгновенного исключения или приглашения пользователя во все выбранные чаты одновременно.
* **🔄 Безопасные обновления:** Проверка SHA256 и защищенная распаковка архива обновления.
* **🛡 Стабильность и безопасность:** Улучшенная обработка ошибок VK API, автоматическая реакция на смену IP-адреса и безопасное хранение токена с шифрованием DPAPI в Windows.
---
## 📦 Установка и запуск
### Вариант 1: Готовый билд (Windows)
1. Перейдите в раздел **Releases** на GitHub.
2. Скачайте архив формата `AnabasisManager-1.x.zip`.
3. Распакуйте архив в удобную папку.
4. Запустите файл **AnabasisManager.exe**.
### Вариант 2: Запуск из исходного кода
Вам потребуется **Python 3.10** или выше.
1. **Клонируйте репозиторий:**
```bash
git clone [https://github.com/your-username/AnabasisVKChatManager.git](https://github.com/your-username/AnabasisVKChatManager.git)
cd AnabasisVKChatManager
```
2. **Настройте виртуальное окружение:**
```bash
python -m venv venv
# Для Windows:
.\venv\Scripts\activate
# Для macOS/Linux:
source venv/bin/activate
```
3. **Установите зависимости:**
```bash
pip install -r requirements.txt
```
4. **Запустите приложение:**
```bash
python main.py
```
---
## 🕹 Инструкция по использованию
1. **Вход:** Нажмите кнопку «Авторизоваться через VK». Введите данные в открывшемся окне браузера.
2. **Выбор целей:** Отметьте галочками чаты, в которых нужно произвести изменения.
3. **Данные пользователя:** Вставьте ссылку на профиль VK человека, которого нужно добавить или удалить.
4. **Действие:** Нажмите кнопку нужной операции. Следите за прогрессом в окне системных сообщений.
---
## 📂 Техническая информация
### Последние обновления
- Массовые операции VK (`remove/add/admin`) выполняются в фоновом потоке, чтобы интерфейс не зависал; добавлен визуальный прогресс-бар.
- Распаковка архива автообновления теперь валидирует пути перед извлечением для защиты от path traversal.
- Проверка обновлений переведена на `QThread` (модель потоков Qt) вместо Python `threading.Thread`.
- В Windows сохранение токена требует успешного шифрования через DPAPI; при ошибке шифрования сессия продолжается, но токен не сохраняется на диск.
### Сборка проекта (для разработчиков)
Инструкция по выпуску Windows-релиза на Linux runner: [docs/release-linux.md](docs/release-linux.md).
Проект использует кастомный скрипт автоматизации `build.py`, который оптимизирует зависимости `PySide6` и корректно упаковывает `QtWebEngineCore`.
**Команда для сборки:**
```bash
python build.py
```
Скрипт автоматически:
Собирает .exe через PyInstaller с использованием --collect-all для модулей WebEngine.
Удаляет лишние библиотеки (PDF, Multimedia, Designer) и папки переводов, сокращая размер сборки на ~100 МБ.
Создает готовый ZIP-архив с актуальной версией в названии.
Хранение данных
Приложение использует системные папки AppData для изоляции пользовательских данных:
Windows: %APPDATA%/AnabasisVKChatManager
macOS: ~/Library/Application Support/AnabasisVKChatManager
В этих папках хранятся token.json (доступ к API) и web_engine_cache/ (сессия браузера).
---
## 📜 Лицензия
---
Проект распространяется под лицензией MIT.
Сэкономьте часы ручного труда с Anabasis VK Chat Manager.