initial commit

This commit is contained in:
2025-11-20 17:09:16 +03:00
commit ffc8ff1b7f
12 changed files with 700 additions and 0 deletions

91
README.md Normal file
View File

@@ -0,0 +1,91 @@
# Кьюарминатор
![](https://img.shields.io/badge/Go-blue?logo=go)
![](https://img.shields.io/badge/OpenCV-green?logo=opencv)
![](https://img.shields.io/badge/License-GPL_V3-purple)
### ⚠️ Дисклеймер
Данное приложение создано исключительно в образовательных целях. Разработчик не поддерживает и не поощряет использование приложения для обхода учебных обязательств. Ответственность за использование программы полностью лежит на пользователе.
В коде приложения не содержатся никакие данные о сайтах ВУЗов, пользователю предоставляется возможность самостоятельно задать электронные адреса для проверки взаимодействия с гипотетической платформой.
![Здесь нет рикролла](.github/cover.jpg)
## 💡 Идея
Дистант мог бы быть прекрасной возможностью отдохнуть, попить чаёк, поиграть, расслабиться, но необходимость отмечаться заставляет нас внимательно следить за ходом лекции в попытках выловить QR-код. Это приложение призвано автоматизировать данную задачу, чтобы Вы смогли хоть на полтора часа забыть о том, что сегодня ВУЗ проводит пару прямо у Вас дома.
## 🎩 Функции
- [x] Обнаружение QR-кодов
- [x] Вывод ссылки в консоль
- [x] Автоматический переход по ссылке
- [x] Звуковой сигнал
### ⏰ Запланированные
- [ ] Push-уведомления с ntfy
### 🤔 На рассмотрении
- [ ] Работа при свёрнутом окне
- [ ] Отметка через API журнала
## 📐 Реализация
Приложение делает скриншот окна браузера с заданным интервалом и анализирует снимки с помощью OpenCV, обнаруживая и декодируя QR-коды. Ссылки, ведущие на журнал посещаемости, автоматически открываются в браузере, либо используется другое альтернативное поведение, выбранное пользователем.
## 🧻 Начало работы
### 🖥 ОС
Вам потребуется поддерживаемая операционная система из списка ниже. Если галочки нет, то поддержка появится в будущем.
- [x] Linux (Wayland)
- [ ] Linux (XORG)
- [x] Windows 10/11
### ⬇️ Установка
Перейдите в список релизов и скачайте портативный исполняемый файл для Вашей платформы. Если хотите собрать приложение самостоятельно, читайте следующий раздел.
### ⚙️ Настройка
При первом запуске будет необходимо выполнить настройку приложения. Для этого нужно выбрать соответствующий пункт меню и следовать инструкциям на экране. Если Вы получили готовый файл настройки из другого источника, можно передать программе его URL.
## 🔨 Сборка
### 🧩 Зависимости
- git
- curl
- go 1.25.4 (ранние версии не тестировались)
### Linux & Windows
Склонируйте мой репозиторий:
```bash
git clone https://git.weirdcat.su/weirdcat/auto-attendance
```
Перейдите в него:
```bash
cd auto-attendance
```
Запустите сборку:
```bash
# для текущей платформы
make
# для Linux
make build-linux
# для Windows
make build-windows
```
Далее для запуска можете использовать команду `make run`.
### Mac
Я не шарю за этот Ваш мак. Если есть кто-то, кто хочет помочь, - я готов принять pull-request ([пишите в телегу](https://t.me/thebreadcat)).
# Поддержать разработчиков
![Николай (Telegram)](https://t.me/thebreadcat)