feat: x3-backup v1.0.0 initial release

GTK3 backup/snapshot tool using rsync backend.

Features:
- rsync-based snapshots with hardlink delta for space efficiency
- Snapshot sidebar with date-sorted list
- Full file browser with permissions display (name, size, perms, mtime)
- Right-click context menu: Restore file/dir with sudo prompt
- System tray icon: backup status, context menu (show/backup/settings/quit)
- Menu system: File, Backup, System, Help
- Settings dialog: backup destination, source path, retention, exclusions
- Cronjob management: install/remove scheduled backups
- Live Log tab: real-time rsync output during backup
- History Log tab: full log file viewer with color-coded entries
- System Backup mode: full root filesystem backup
- System Restore mode: restore entire system from snapshot
- CLI mode: --backup, --system-backup for cron/headless use
- /mnt always excluded from backups
- Preserves permissions, ACLs, xattrs (-aAX flags)
- Log file: ~/.config/x3-backup/x3-backup.log
- Config: ~/.config/x3-backup/settings.json
- uninstall.sh for clean removal
This commit is contained in:
x3
2026-09-07 17:20:41 +00:00
commit c8ef700612
20 changed files with 2535 additions and 0 deletions
+19
View File
@@ -0,0 +1,19 @@
AC_INIT([x3-backup], [1.0.0], [x3@sysdaemon.xyz])
AC_CONFIG_SRCDIR([src/main.cpp])
AC_CONFIG_AUX_DIR([build-aux])
AM_INIT_AUTOMAKE([foreign -Wall -Werror subdir-objects])
AC_PROG_CXX
AX_CXX_COMPILE_STDCXX([17], [noext], [mandatory])
PKG_CHECK_MODULES([GTK], [gtk+-3.0 >= 3.24])
PKG_CHECK_MODULES([JSON_GLIB], [json-glib-1.0])
AC_CHECK_PROG([RSYNC], [rsync], [yes], [no])
AS_IF([test "x$RSYNC" = "xno"], [AC_MSG_ERROR([rsync is required])])
AC_CHECK_PROG([CRONTAB], [crontab], [yes], [no])
AC_CHECK_PROG([PKEXEC], [pkexec], [yes], [no])
AC_CONFIG_FILES([Makefile src/Makefile])
AC_OUTPUT