Files
auto-attendance/README.md
2025-11-28 14:25:04 +03:00

111 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Кьюарминатор
![](https://img.shields.io/badge/Go-blue?logo=go)
![](https://shields.io/badge/TypeScript-3178C6?logo=TypeScript&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)