116 lines
6.9 KiB
Markdown
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.
|