PC Wrapper (open-code)
Всем привет, точнее, доброй ночи :) Никто не просил, но опять было скучно, вот с клодом собрал приложуху для фанатов разной бесполезной шляпы (почему-то в сравнение идёт флаппи бёрд в 10-х годах, вроде идея тупая, но столько людей залипало).
Она отслеживает сколько раз вы нажали на разные клавиши, сколько проехали мышкой и т.д. ( в общем чем вы заняты за пк и время активности )
Также можно выгрузить в excel, и посмотреть свой отчёт на слайдах (ниже)
Сразу отмечу - сервера у меня нет, код открыт, все данные только на вашем личном пк
Исходники и скачивание: https://github.com/Forecastych/pc_wrapped
Буду благодарен всем за фидбек! Пока черновой вариант, но люди любят опен-сорс/опен-код, решил поделится, ничего похожего не нашёл на гитхабе, вроде че-то похожее есть платное, но щас такое время, платить не хочет никто (я тоже), поэтому мой пост существует.
На чём сделано
Tauri 2 + Rust. Всё, что работает в фоне, написано на Rust: счётчики, трей, запись на диск. Electron не используется, поэтому установщик весит 1,5 МБ, а portable-версия 3,9 МБ.
Svelte 5 + TypeScript для окна статистики, мини-окна и слайдов.
Пара подробностей
Не кейлоггер и не тормозит в играх. Нажатия читаются через Raw Input, а не через глобальные хуки. Windows просто присылает программе копию событий, а в цепочку обработки ввода она не встаёт, поэтому задержки нет. Хранится только количество нажатий каждой клавиши, без текста.
Окно не висит в памяти. Интерфейс на WebView создаётся, только когда ты его открываешь, и полностью выгружается при закрытии. Всё остальное время работает один маленький процесс на Rust.
Цифры в трее рисуются своим пиксельным шрифтом 3×5. Обычный шрифт в значке 16×16 превращается в кашу, пришлось нарисовать каждую цифру по точкам.
Сравнения не мигают. Есть справочник от листа А4 до пути до Марса. Фразу «это 2 круга по МКАДу» программа выбирает так, чтобы она не прыгала каждую секунду: меняется, только когда число вырастает примерно на 18%. И да, склонения тоже честные: «1,5 Эйфелевой башни».
Excel-таблица без библиотек. .xlsx — это zip с XML внутри, его программа собирает сама: даты, ширина колонок, закреплённая шапка.
Всё локально. Данные хранятся в JSON-файлах по дням в папке, которую ты выбираешь сам. Сетевых запросов в программе нет вообще, это можно проверить по исходникам.
Простой не считается. Если больше двух минут не трогать мышь и клавиатуру, это время за компом не засчитывается.
А ваще интересно, можно с друзьями сравнивать кто больший геймер, да и понятно чем ты вообще за компом занят, если стату видишь. Кстати ниже слайдов ещё текст, но для тех кому лень читать - надеюсь, хоть пару скриншотов через несколько дней увижу, либо отзывов/багов (надеюсь, багов не будет), мб кто-то оценит.
Ниже пара скриншотов как это выглядит (копировать можно, один заскринил, а второй и третий скопировал)
Кстати, для тех кто досюда дочитал, скоро ещё один ОООЧЕНЬ прикольный проект доделаю, но пока надо доделать диплом и защитить его, поэтому возможны задержки :)
P.S. Для внимательных, сижу на 0.2.1 версии, в новой кнопки CSV нет, переименована в excel :) Последние две версии просто микро-фиксы, так что не критично, потом себе поставлю
Тесты прогнал руками, потыкал, вроде проблем нет, ресурсы не ест и не мешает, но фидбек всё же хотелось бы






