Skip to content

oliwebd/package-watchdog

Repository files navigation

Package Watchdog — Premium GNOME 50 Extension

A high-performance, modular GNOME Shell extension that monitors system and Flatpak updates with integrated security vulnerability scanning via the OSV API.

GNOME Shell: 48 · 49 · 50 (Tokyo)
Distros: Fedora · Debian · Ubuntu · openSUSE · and more...


🚀 Key Features

🛡️ Security & Vulnerability Intelligence

  • OSV Integration: Real-time scanning against the Open Source Vulnerability database.
  • Enhanced Details: Displays vulnerability summaries, severity levels (Critical, High, etc.), and provides direct links to detailed reports.
  • Security History: Automatically persists security findings to a local history log for later review.
  • Visual Alerts: Urgent red branding for security-critical findings.

✨ Performance-First Architecture

  • Modular Design: Separated into UpdateManager, Service, and UI layers for maximum stability and speed.
  • Optimized Background Checks: Uses non-blocking asynchronous processes with centralized path discovery to minimize CPU usage.
  • GNOME 50 Optimized: Specifically tuned for the latest Shell version with modern GObject class registration and resource management.

🛠️ Advanced Monitoring & Actions

  • Multi-Source Support:
    • System Packages: DNF, APT, Zypper.
    • Flatpaks: Apps and Runtimes.
    • Developer Tools: npm project security scanning and Git repository commit monitoring.
  • One-Click Remediation:
    • GUI Update Managers: Launches GNOME Software, Pamac, or your native update manager.
    • Smart Terminal Update: Generates and runs a secure, distro-aware update script in your preferred terminal.

🛠️ Technology Stack

  • TypeScript: Modern, type-safe development.
  • GJS (Gnome JavaScript): Deep native integration.
  • Refactored Core: Clean, modular code using the Manager/Service pattern.
  • Modular Styling: Unified CSS design system in src/stylesheet.css.

📦 Installation & Build

Deploy (Recommended)

pnpm run deploy

Manual Build

pnpm install
pnpm run build
pnpm run pack

📂 Project Structure

  • src/extension.ts: Lightweight extension lifecycle management.
  • src/manager.ts: Core UpdateManager orchestrating all checks and persistence.
  • src/indicator.ts: Modern, lazy-loading panel indicator UI.
  • src/checks.ts: Low-level package manager and security API abstractions.
  • src/utils.ts: Shared utilities and distro detection logic.
  • src/prefs.ts: Libadwaita-based preferences window.

🤝 Distro Support

Distro family Package manager
Fedora / RHEL dnf / dnf5
Debian / Ubuntu apt
openSUSE zypper
Generic auto-probe

📝 License

GPL-3.0-or-later

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors