dumbtv
dumbtv takes the ads, screen tracking and update nags out of your Fire TV over ADB. No root, none of your apps touched, every step can be undone. Free and open source.
翻译准备中
Free, open-source backup software for Windows 11: incremental backups to an external drive or NAS, encrypted archives, schedules, real-time and USB triggers, one-file restore.
翻译准备中
取自仓库 README
正在加载完整 README。
查看完整 README ↗Backups for Windows that you set up once and stop thinking about. Pick any folders (or whole drives), pick where the backups go, and Backup Labs keeps them, on a schedule, when files change, or when you plug in the backup drive.
Download the installer — Windows 10/11, x64. Installs for every user in C:\Program Files\ProtagonistLabs\Backup Labs (installing and updating ask for admin rights once). The app updates itself.
Screenshots, a comparison with other backup tools and the full guide: protagonistlabs.app/backuplabs.
.bkl file per backup with four compression levels, or encrypted
(AES-256-GCM, key from your password with PBKDF2-SHA256, 600,000 iterations). A plain .bkl is an
ordinary zip inside: 7-Zip and other archivers open it as it is, and renamed to .zip it opens in
Explorer, so your files stay reachable without Backup Labs. Encrypted archives open only in Backup Labs,
and only with the password. Backups made before 1.3.0 as .zip are still listed, restored and pruned..bkl and it opens in Backup Labs, on the Restore panel for that file, wherever it
is: restore it whole into a folder, or find one file in it. An encrypted one asks for its password. A
backup in one of your jobs' destinations can also go back to its original places.%APPDATA%\ProtagonistLabs, where every studio app keeps its data), leaving out covers,
trailers and caches the apps download again. It asks only where the backups go; a second click opens it.node_modules; *.tmp; C:\Users\me\AppData..pst, databases) through a Volume Shadow Copy. Windows asks for administrator
permission at each such backup..img (Etcher,
Win32 Disk Imager and dd read it) or straight onto another disk, and an image back onto a disk. Every
sector, or only the space NTFS uses. The disk Windows runs from can be copied (through a shadow copy),
never written to. Onto a bigger disk, the GPT backup table moves to the new end, a recovery partition at
the end moves along, and the partition before it grows, file system included; onto a smaller one, as long
as the partitions fit. Verified by reading everything back. Needs administrator permission.%APPDATA%\ProtagonistLabs\data\stash.items.json, so moving the folder in Stash needs nothing here.Nothing leaves your computer: no account, no cloud, no telemetry. The only network call is the update check against this repository's releases.
Needs the .NET 10 SDK and Inno Setup 6.
.\build.ps1 # engine tests, self-contained publish, dist\BackupLabs-<version>-setup.exe
dotnet run --project tests # engine tests alone
The version lives only in <Version> in Backup.csproj. A release is
gh release create v<version> dist\BackupLabs-<version>-setup.exe; the updater picks up the latest release
whose asset ends in setup.exe and checks it against the SHA-256 GitHub publishes.
| File | What |
|---|---|
Engine.cs | backup, retention, restore, file versions, shadow copies |
Crypto.cs | the encrypted archive stream, the saved password (DPAPI) |
Program.cs | entry point, USB drive tracking, the elevated run for open files |
Jobs.cs | jobs, settings (and reading older settings files), when a job runs (Schedule) |
Ecosystem.cs | the shared %APPDATA%\ProtagonistLabs folder: card, jobs file, sister apps, the apps' data job |
MainWindow.xaml(.cs) | the window, tray, scheduling, real-time watching |
Updater.cs, UpdateDialog.xaml | self-update from GitHub releases |
installer/ | Inno Setup script and the icon generator |
tests/ | engine checks (--vss <file> runs the shadow-copy check, needs admin) |
Settings and the log are in %APPDATA%\ProtagonistLabs\Backup Labs (moved there from %APPDATA%\BackupLabs in 1.6.0, by the installer or at the first start).
Archives are <date>.bkl. Plain or encrypted is told by the first 8 bytes (BKLENC1\0 = encrypted, see
Crypto.cs), never by the extension. The installer registers .bkl for every user
(HKLM\Software\Classes\.bkl → BackupLabs.Backup, "Backup Labs backup", the app's icon) and removes it on
uninstall; opening one runs BackupLabs.exe --open "<file>", which a running copy takes over.
For UI checks only: BACKUPLABS_TEST_ROOT=<folder> runs a separate copy whose settings, log and
ProtagonistLabs folder live in that folder, with its own single-instance names and no autostart writes, so it
never touches or hands its arguments to your own Backup Labs.