- Vlastný produkt
- macOS
- Otvorený kód
Eject Guard
Notarizovaná macOS appka, ktorá chráni zálohy pred vytiahnutím kábla.
Fakty o projekte
- Platforma
- macOS 14+ · Apple Silicon
- Podpis
- Developer ID + Apple notarizácia
- Jazyky
- SK · CS · EN · DE
- Distribúcia
- GitHub Releases · automatické aktualizácie
- Swift 6
- SwiftUI
- EventKit
- Sparkle
- XCTest
- GitHub Actions
Zadanie
Eject Guard je macOS aplikácia, ktorá pred stretnutím sama bezpečne odpojí externé disky, aby vytiahnutý kábel nepoškodil dáta ani zálohu. Stráži akýkoľvek externý disk, sleduje kalendár, rozozná skutočné stretnutie od blokovaného času, korektne zastaví prebiehajúcu zálohu Time Machine a disky vysunie päť minút vopred. Je podpísaná Developer ID certifikátom, notarizovaná spoločnosťou Apple a aktualizuje sa sama.
Notebook v ruke, o minútu stretnutie a na disk so zálohou si človek spomenie, až keď je kábel vonku. Pri klasickom pevnom disku uprostred zálohy Time Machine je to spoľahlivý spôsob, ako zálohu poškodiť. Eject Guard sme postavili, aby na to myslel za vás: pozrie do kalendára a disky odpojí skôr, než vstanete od stola. Funguje s akýmkoľvek externým diskom, záloha Time Machine je len najčastejší prípad. Sami ho používame a je zverejnený ako open source.
Čo sme urobili
Disk je odpojený skôr, než vstanete od stola
Aplikácia sleduje kalendár a päť minút pred stretnutím vysunie disky, ktoré ste označili. Čas vopred si nastavíte. Príde notifikácia a kábel môžete pokojne vytiahnuť. Nič netreba pamätať ani klikať, a keď sa stretnutie zruší, aplikácia to zistí a disky nechá tak.
Rozozná stretnutie od blokovaného času
Za stretnutie považuje len udalosť s ďalšími účastníkmi, ktorú ste neodmietli. Bloky ako Focus alebo Obed ju nespustia, a to bez porovnávania názvov. Jedno konkrétne stretnutie sa dá jedným klikom preskočiť a preskočenie sa dá vrátiť.
Záloha sa ukončí korektne, nie násilne
Ak Time Machine práve zapisuje na daný disk, aplikácia zálohu najprv riadne zastaví a až potom disk vysunie. Zálohy na iné disky nechá bežať. Keď disk vysunúť nejde, povie, ktorá aplikácia ho drží, aby ste kábel nevyťahovali naslepo.
Bezpečnosť ako pravidlo, nie ako sľub
Aplikácia sa nikdy nedotkne systémového disku ani disku, ktorý ste neoznačili, a disky rozoznáva podľa identifikátora, nie podľa názvu. Tieto pravidlá strážia automatické testy, takže ich neporuší ani budúca úprava. Kalendár sa číta iba lokálne a na internet sa aplikácia pripája len kvôli aktualizáciám.
Doručená ako hotový produkt
Štyri jazyky vrátane slovenčiny a češtiny, podpis Developer ID, notarizácia Apple a automatické aktualizácie s overeným podpisom. Keď sa v prevádzke objavila chyba, opravená a podpísaná aktualizácia vyšla hneď na druhý deň, spolu s testom, ktorý tú istú chybu už nepustí späť.
Čo to znamená pre váš projekt?
Eject Guard robí prácu, na ktorú si človek spomenie neskoro: päť minút pred stretnutím sám vysunie disky. Má pevne stanovené, čoho sa nikdy nedotkne, teda systémového disku a disku, ktorý ste neoznačili, a tieto pravidlá strážia automatické testy pri každej úprave. Keď disk vysunúť nejde, povie, ktorá aplikácia ho drží, aby ste kábel nevyťahovali naslepo. A keď sa v prevádzke objavila chyba, oprava vyšla na druhý deň aj s testom, ktorý ju nepustí späť. Úlohu, ktorá vo vašej firme závisí od toho, či si na ňu niekto spomenie, sa oplatí zveriť aplikácii. Musí však mať jasné hranice a ozvať sa, keď svoju prácu urobiť nemôže.
Odkazy
Chcete podobný projekt?
Pošlite nám pár viet o projekte. Ozveme sa s návrhom ďalšieho kroku.
Napísať nám

