import requests import hashlib import subprocess import osdef check_and_update(): url = "http://updates.example.com/version.json" try: resp = requests.get(url, timeout=5) data = resp.json() remote_version = data["version"] local_version = open("/etc/xmeye_version").read().strip()
if remote_version > local_version: print("Updating...") subprocess.run(["/usr/bin/xmeye_linux_upd.sh"], check=True) else: print("Already up to date.") except Exception as e: print("Update check failed:", e)
if name == "main": check_and_update()
show_help() cat << EOF XmeyeLinux Update System - Command Reference
Usage: xmeyelinux-upd # Check and apply updates (interactive) xmeyelinux-upd --check # Only check for updates xmeyelinux-upd --auto # Automatic update (non-interactive) xmeyelinux-upd --rollback # Rollback to previous version xmeyelinux-upd --status # Show update status xmeyelinux-upd --configure # Configure update settings xmeyelinux-upd --help # Show this help xmeyelinux upd
Examples: # Check for updates sudo xmeyelinux-upd --check
# Update to latest version
sudo xmeyelinux-upd
# Rollback after failed update
sudo xmeyelinux-upd --rollback
EOF
case "$1" in --check) /usr/local/bin/xmeyelinux-upd --check-only ;; --auto) /usr/local/bin/xmeyelinux-upd --non-interactive ;; --rollback) /usr/local/bin/xmeyelinux-upd-rollback ;; --status) /usr/local/bin/xmeyelinux-upd-status ;; --configure) $EDITOR:-nano /etc/xmeyelinux/update.conf ;; --help|-h) show_help ;; *) /usr/local/bin/xmeyelinux-upd ;; esac