Files
auto-attendance/README.md
2025-12-16 19:23:40 +03:00

6.2 KiB
Raw Blame History

Кьюарминатор

⚠️ Дисклеймер

Данное приложение создано исключительно в образовательных целях. Разработчик не поддерживает и не поощряет использование приложения для обхода учебных обязательств. Ответственность за использование программы полностью лежит на пользователе.

В коде приложения не содержатся никакие данные о сайтах ВУЗов, пользователю предоставляется возможность самостоятельно задать электронные адреса для проверки взаимодействия с гипотетической платформой.

Здесь нет рикролла

💡 Идея

Дистант мог бы быть прекрасной возможностью отдохнуть, попить чаёк, поиграть, расслабиться, но необходимость отмечаться заставляет нас внимательно следить за ходом лекции в попытках выловить QR-код. Это приложение призвано автоматизировать данную задачу, чтобы Вы смогли хоть на полтора часа забыть о том, что сегодня ВУЗ проводит пару прямо у Вас дома.

🎩 Функции

  • Обнаружение QR-кодов
  • Вывод ссылки в консоль
  • Автоматический переход по ссылке

Запланированные

  • GUI
  • Звуковой сигнал
  • Push-уведомления с ntfy

🤔 На рассмотрении

  • Скриншот только области окна браузера
  • Работа при свёрнутом окне браузера
  • Отметка через API журнала

📐 Реализация

Приложение делает скриншот окна браузера с заданным интервалом и анализирует снимки с помощью OpenCV, обнаруживая и декодируя QR-коды. Ссылки, ведущие на журнал посещаемости, автоматически открываются в браузере, либо используется другое альтернативное поведение, выбранное пользователем.

🧻 Начало работы

🖥 ОС

Вам потребуется поддерживаемая операционная система из списка ниже. Если галочки нет, то поддержка появится в будущем.

  • Linux (Wayland)
  • Linux (XORG)
  • Windows 10/11
  • MacOS (не тестировалось, должно билдиться)

⬇️ Установка

Перейдите в список релизов и скачайте портативный исполняемый файл для Вашей платформы. Если хотите собрать приложение самостоятельно, читайте следующий раздел.

⚙️ Настройка

При первом запуске будет необходимо выполнить настройку приложения. Расположение файла конфигурации зависит от системы:

  • В Linux:
    • ~/.config/auto-attendance/auto-attendance.toml
  • В Windows:
    • C:\Users\user\AppData\Roaming\auto-attendance\auto-attendance.toml

Необходимо получить актуальный файл конфигурации, который будет работать с конкретным журналом посещений. Ключевую роль играют следующие параметры:

qr_query_token = ''  # Название query-параметра, содержащего уникальный токен ссылки
self_approve_url = ''  # Полный URL ссылки QR-кода (без query-параметров) 

🔨 Сборка

Make (Linux, MacOS)

🧩 Зависимости

  • git
  • make
  • curl
  • opencv 4.12.0
  • go 1.25.4

Порядок сборки

Склонируйте мой репозиторий:

git clone https://git.weirdcat.su/weirdcat/auto-attendance

Перейдите в него:

cd auto-attendance

Запустите сборку:

# для текущей платформы
make

# make build-linux
# make build-macos

Далее для запуска можете использовать команду make run.

Dockerfile (Windows)

На данный момент единственный проверенный и самый простой способ собрать приложение под Windows - использовать специальный Dockerfile. На Windows для этого можно использовать WSL с Docker.

Порядок сборки (Bash):

# Создаем директорию и переходим в нее
mkdir build && cd build

# Получаем содержимое Dockerfile
curl "https://git.weirdcat.su/weirdcat/auto-attendance/raw/branch/main/Dockerfile.windows-build" > Dockerfile

# Выполняем сборку
docker build -t autoattendance-build-windows .

# Копируем бинарник из образа в текущую папку
docker run --rm -v $(pwd):/output autoattendance-build-windows sh -c "cp /go/src/auto-attendance/bin/autoattendance.exe /output/"

Готовое приложение - файл autoattendance.exe.

Поддержать разработчиков

Николай (Telegram)