Skip to content
karol993Public

About

Lekkie, dyskretne narzędzie w zasobniku systemowym (system tray) dla systemu Windows, zapobiegające automatycznemu usypianiu i blokowaniu stacji roboczej.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

14 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Insomnia

Downloads Release License: MIT

C# / Windows Forms / .NET Framework 4.8, Windows 10 i 11. Uruchom plik Insomnia.exe z paczki ZIP. Menu ikony zasobnika i jej dwuklik otwierają ustawienia. Nie potrzeba uruchamiania jako administrator.

Ustawienia i funkcje

Okno ustawień podzielone jest na czytelne karty:

Karta 1: Harmonogram i Wi-Fi

  • Autostart z Windows: opcja automatycznego startu programu w tle przy logowaniu użytkownika (rejestr HKCU\Software\Microsoft\Windows\CurrentVersion\Run, bez potrzeby uprawnień administratora).
  • Harmonogram: godziny i dni tygodnia (Pn–Nd). Początek włącznie, koniec wyłącznie; zakres przez północ jest obsługiwany (przypisywany do zmiany z wybranego dnia), identyczne godziny oznaczają całą dobę.
  • Reguły Wi-Fi: wybór zachowania programu:
    • Wstrzymuj działanie, gdy wykryto sieć z listy (np. w biurze).
    • Działaj tylko wtedy, gdy wykryto sieć z listy (np. tylko w domu).
  • Zarządzanie listą SSID: Dodaj lub usuń sieci, a następnie kliknij „Zastosuj” lub „Zapisz i zamknij”. Wpisany tekst zatwierdza się przyciskiem Dodaj lub dodaje jednym kliknięciem z listy wykrytych sieci w zasięgu.
  • Diagnostyka adapterów: podgląd aktualnie wykrytych sieci w zasięgu, status skanowania i bezpośredni skrót do ustawień uprawnień lokalizacji Windows.

Karta 2: Symulacja i Zgodność

  • Wybór działań symulacji: użytkownik decyduje, jakie impulsy generuje program (losowane z włączonych opcji co ok. 30 s po 25 s bezczynności):

    • Mikro-ruchy myszą (płynny micro-jitter kursora o kilka pikseli)
    • Niewidoczny klawisz F15 (kod wirtualny 0x7E, nie wpisuje znaków i nie koliduje z żadnymi skrótami w Windows, Office ani CAD)
    • Kółko myszy (dyskretny scroll w dół i w górę)
    • Przełączanie okien Alt+Tab (domyślnie wyłączone; przydatne przy narzędziach monitorujących nazwy aktywnych okien)
  • Wspierane aplikacje i skuteczność:

    • 🟢 Microsoft Teams (Desktop & Web) — resetuje licznik bezczynności aplikacji, co w typowych warunkach podtrzymuje zielony status „Dostępny” (Available).
    • 🟢 Slack / Skype / Zoom / Webex — resetuje czas bezczynności sesji, redukując ryzyko automatycznego uśpienia statusu.
    • 🟡 Blokada ekranu i wygaszacz Windows (GPO / Intune) — resetuje standardowy licznik bezczynności Windows (GetLastInputInfo / stan zasilania), co w standardowych konfiguracjach zapobiega wygaszaczowi lub uśpieniu. Nie gwarantuje jednak obejścia zaawansowanych polityk bezpieczeństwa (np. czujników obecności, dedykowanych agentów blokujących czy wymuszeń domenowych).
    • ⚪ Narzędzia ewidencji czasu (Time Doctor, Hubstaff, DeskTime itp.) — generuje syntetyczne impulsy klawisza i myszy. Skuteczność zależy od oprogramowania i polityk u pracodawcy — zaawansowane narzędzia monitorujące analizują aktywne okna, zrzuty ekranu, procesy czy regularność sygnałów, których sam ruch kursora nie zastąpi.
  • Transakcyjny zapis: Zastosuj zapisuje na dysku i aktualizuje działanie bez zamykania okna. Zapisz i zamknij zamyka dopiero po udanym zapisie. Anuluj odrzuca zmiany od ostatniego zapisu. Krzyżyk pyta o zapis/odrzucenie/powrót.

  • Spójność stanu: Przełączenie ręcznego stanu w zasobniku podczas edycji w oknie ustawień jest zawsze zachowywane.

Sterowanie z zasobnika systemowego (Tray)

  • Wymuszenie czuwania (Wznów): pozwala tymczasowo uruchomić czuwanie wbrew regułom (np. poza harmonogramem lub na sieci biurowej) na określony czas:
    • Na 1 godzinę / Na 2 godziny / Do końca dnia / Do odwołania (na stałe).
  • Wstrzymanie działania: pozwala tymczasowo wyciszyć czuwanie na wybrany okres:
    • Na 1 godzinę / Na 2 godziny / Do końca dnia / Do odwołania (na stałe).
  • Przywróć działanie wg reguł: opcja pojawia się przy aktywnym wymuszeniu i pozwala jednym kliknięciem wrócić do reguł harmonogramu i Wi-Fi.
  • Automatyczny powrót: po upływie wybranego czasu program samoczynnie wraca do oceny harmonogramu i Wi-Fi.

Dyskrecja wizualna (Tryb Ghost) i skrót Ctrl + Alt + I

  • Ukrycie ikony (Ghost Mode): opcja w Karcie 2 usuwa ikonę z paska zadań i zasobnika systemowego, zapewniając dyskrecję wizualną na pulpicie (np. podczas prezentacji, współdzielenia ekranu lub gdy ktoś patrzy na monitor). Uwaga: ukrycie dotyczy tylko interfejsu wizualnego — proces Insomnia.exe pozostaje widoczny w systemie (Menedżer zadań, narzędzia EDR/audytowe).
  • Globalny skrót Ctrl + Alt + I: pozwala w dowolnej chwili przywołać menu programu pod kursorem myszy lub otworzyć Ustawienia.
  • Bezpieczeństwo pojedynczej instancji: ponowne uruchomienie Insomnia.exe nie tworzy drugiego procesu — zamiast tego bezpiecznie przywołuje okno działającego programu na pierwszy plan.

Konfiguracja nadal używa Properties.Settings i standardowego pliku user.config w profilu użytkownika. Ścieżka jest zależna m.in. od położenia EXE i tożsamości aplikacji. Przeniesienie programu do innego katalogu może utworzyć oddzielną konfigurację — restart testuj z tego samego pliku EXE. Błąd odczytu nie powoduje cichego nadpisania uszkodzonego pliku.

Wi-Fi

Skan startuje przy uruchomieniu, co 45 sekund oraz na żądanie. Wszystkie adaptery są odpytywane przez Windows WLAN API. Powiadomienia ACM są przypisane do GUID adaptera; timeout wynosi 12 sekund. Native WLAN session żyje do zakończenia wszystkich operacji, także przy anulowaniu. Kolejne żądania współdzielą trwający skan.

Lista wykluczeń jest niezależna od wyników. Pomyślne wyniki każdego adaptera mają ważność 2 minuty. Błąd nie usuwa ani nie odświeża ich czasu ważności. Przy niepełnych/nieaktualnych danych wyświetlane jest ostrzeżenie. Po wygaśnięciu wyników status zależy od ręcznego przełącznika i harmonogramu. Przy braku sieci poprawnie zakończony skan zwraca pustą listę; błąd nigdy nie jest prezentowany jako poprawny pusty skan.

Windows może wymagać zgody na lokalizację. Przycisk otwiera tylko stronę ustawień; aplikacja nie zmienia uprawnień. Wyłączony WLAN AutoConfig, radio, polityki systemowe lub sterownik mogą uniemożliwiać skanowanie. Widoczność zależy od okresu skanowania i informacji sterownika — nie jest ciągłym pomiarem. Ukryte SSID nie zawsze dają się poznać bez profilu. SSID to maksymalnie 32 bajty; aplikacja obsługuje tekst UTF-8, w tym polskie znaki. Nieprawidłowe sekwencje UTF-8 są pomijane, aby nie porównywać błędnie zdekodowanych nazw.

Kompilacja i testy

Wymagane Visual Studio 2022 / Build Tools z MSBuild i targeting pack .NET Framework 4.8.

.\build.ps1 -Test
.\Tests\bin\x64\Insomnia.Tests.exe --hardware
.\Tests\bin\x64\Insomnia.Tests.exe --ui
.\package.ps1

Build trafia do artifacts/Release. Testy używają oddzielnej tożsamości Insomnia.Tests.exe i własnego user.config, a podgląd --ui ma konfigurację wyłącznie w pamięci i nie symuluje aktywności. --hardware odczytuje prawdziwe adaptery bez przełączania połączeń lub ustawień. package.ps1 zawsze buduje nowy Release i tworzy artifacts/Insomnia-Fixed-Release.zip ze źródłami i binariami. Szczegółowe wyniki i ograniczenia: TEST-REPORT.md.

Dokumentacja Microsoft

Licencja

Projekt jest dostępny na zasadach otwartego oprogramowania na warunkach licencji MIT. Szczegóły znajdują się w dołączonym pliku LICENSE.

About

Lekkie, dyskretne narzędzie w zasobniku systemowym (system tray) dla systemu Windows, zapobiegające automatycznemu usypianiu i blokowaniu stacji roboczej.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages