# Кьюарминатор ![](https://img.shields.io/badge/Go-blue?logo=go&logoColor=FFF) ![](https://shields.io/badge/TypeScript-3178C6?logo=TypeScript&logoColor=FFF) ![](https://shields.io/badge/Svelte-FF3000?logo=Svelte&logoColor=FFF) ![](https://img.shields.io/badge/OpenCV-green?logo=opencv) ![](https://img.shields.io/badge/Wails-red?logo=wails) ![](https://img.shields.io/badge/License-GPL_V3-purple) ### ⚠️ Дисклеймер Данное приложение создано исключительно в образовательных целях. Разработчик не поддерживает и не поощряет использование приложения для обхода учебных обязательств. Ответственность за использование программы полностью лежит на пользователе. В коде приложения не содержатся никакие данные о сайтах ВУЗов, пользователю предоставляется возможность самостоятельно задать электронные адреса для проверки взаимодействия с гипотетической платформой. ![Здесь нет рикролла](.github/cover.jpg) ## 💡 Идея Дистант мог бы быть прекрасной возможностью отдохнуть, попить чаёк, поиграть, расслабиться, но необходимость отмечаться заставляет нас внимательно следить за ходом лекции в попытках выловить QR-код. Это приложение призвано автоматизировать данную задачу, чтобы Вы смогли хоть на полтора часа забыть о том, что сегодня ВУЗ проводит пару прямо у Вас дома. ## 🎩 Функции - [x] Обнаружение QR-кодов - [x] Вывод ссылки в консоль - [x] Автоматический переход по ссылке ### ⏰ Запланированные - [ ] GUI - [ ] Звуковой сигнал - [ ] Push-уведомления с ntfy ### 🤔 На рассмотрении - [ ] Скриншот только области окна браузера - [ ] Работа при свёрнутом окне браузера - [ ] Отметка через API журнала ## 📐 Реализация Приложение делает скриншот окна браузера с заданным интервалом и анализирует снимки с помощью OpenCV, обнаруживая и декодируя QR-коды. Ссылки, ведущие на журнал посещаемости, автоматически открываются в браузере, либо используется другое альтернативное поведение, выбранное пользователем. ## 🧻 Начало работы ### 🖥 ОС Вам потребуется поддерживаемая операционная система из списка ниже. Если галочки нет, то поддержка появится в будущем. - [x] Linux (Wayland) - [x] Linux (XORG) - [ ] Windows 10/11 (не тестировалось, должно билдиться) - [ ] MacOS (не тестировалось, должно билдиться) ### ⬇️ Установка Перейдите в список релизов и скачайте портативный исполняемый файл для Вашей платформы. Если хотите собрать приложение самостоятельно, читайте следующий раздел. ### ⚙️ Настройка При первом запуске будет необходимо выполнить настройку приложения. В Linux файл конфигурации располагается здесь: `~/.config/auto-attendance/auto-attendance.toml`. Необходимо получить актуальный файл конфигурации, который будет работать с конкретным журналом посещений ## 🔨 Сборка ### 🧩 Зависимости - git - make - curl - opencv 4.12.0 - go 1.25.4 ### Go Используйте следующую команду в терминале: ```bash go install git.weirdcat.su/weirdcat/auto-attendance/cmd/qrminator-cli@main ``` Далее можно запускать командой: ```bash qrminator-cli ``` Убедитесь, что вы добавили `~/.go/bin` в PATH. Например: ```bash export PATH=$PATH:~/.go/bin ``` ### Make Склонируйте мой репозиторий: ```bash git clone https://git.weirdcat.su/weirdcat/auto-attendance ``` Перейдите в него: ```bash cd auto-attendance ``` Запустите сборку: ```bash # для текущей платформы make # make build-linux # make build-macos # make build-windows ``` Далее для запуска можете использовать команду `make run`. # Поддержать разработчиков ![Николай (Telegram)](https://t.me/thebreadcat)