Skip to main content

Linux to Android notification bridge.

Project description

GuGa Nexus

Send your Linux terminal and OS notifications straight to your Android.
No cloud. No subscription. No port forwarding.

PyPI Version Platform Encryption License

🔗 View the full Open Source Repository on GitHub


GuGa Nexus is a minimalist, privacy-focused ecosystem that bridges your Linux machine and your Android device. It uses end-to-end AES-256-GCM encryption and works strictly over your own local network or a direct Cloudflare Tunnel—never storing your data on a third-party server.

  • Waiting for a long script to finish? Get notified the moment it's done.
  • Training a model overnight? Wake up to the final accuracy line in your notification.
  • SSHed into a remote server? GuGa reaches your phone over the internet seamlessly.

Installation

GuGa is distributed strictly as a standard Python module via PyPI.

  1. Install the package:
  2. Initialize the background daemon:
guga --install-service

(This interactive setup will cleanly provision your systemd daemon and configure your network routing. Afterwards, your QR code will be generated).

  1. Reconfiguring: If you ever need to change your connection mode or notification settings later, simply run:
guga --install-service --reconfigure

(This will re-run the interactive setup and update your background daemon).

  1. Install the Android App: Download the stable Android APK from the GitHub Releases Page and scan the QR code printed in your terminal!

🚀 Examples & Usage

Once deployed, the guga command-line utility is globally available on your terminal. It's designed to automatically detect whether you want to send a plain text notification, or if you want it to execute and watch a long-running process on your behalf.

1. Plain Notifications (Message Mode)

Send simple text updates directly to your Android device.

# Push a simple message
guga "Build finished successfully ✅"

# You can also stream output into it via stdin!
echo "Database migration complete" | guga

2. Process Watching (Run Mode)

Put guga in front of any command. It will execute the command natively while streaming the output to your terminal just as normal. Once the command finishes, it will instantly notify your phone with the Elapsed Time, Exit Status, and the Last Console Line.

# Get notified when training finishes
guga python train_model.py --epochs 100

# Compile code and get notified if it succeeded or crashed
guga make build-project

# Add custom labels to your notifications for clarity
guga -r ./deploy.sh --title "Production Server"

Post-Install Utilities

If you need to view your pairing credentials or manage your background daemon after installation, GuGa provides several utility commands:

guga --qr                             # Show the pairing QR code
guga --show-pin                       # Show the secure Zero-Trust PIN
guga --install-service --reconfigure  # Re-run the interactive setup
guga --version                        # Show the current version
guga --uninstall                      # Remove all GuGa system components

To control the Linux backend server explicitly:

sudo systemctl start guga       # Start the server daemon
sudo systemctl stop guga        # Stop the server daemon
journalctl -u guga -f           # View live server connection logs

Core Features & Architecture

  • Terminal Tracking: Push notifications to Android via the guga global CLI.
  • System OS Monitoring: Automatically intercepts DBus to forward your native Linux desktop notifications straight to your phone.
  • Zero-Trust Coupling: Cryptographically secure pairing logic relying strictly on visual QR transmission + 8-Digit PINs (No OAuth or cloud-accounts required).
  • Network Versatility: Operates flawlessly in LAN-only mode strictly over local WiFi, or seamlessly hooks into Cloudflared to grant you Internet-anywhere access without needing to own a domain or configure port-forwarding.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

guga-1.2.1.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

guga-1.2.1-py3-none-any.whl (26.8 kB view details)

Uploaded Python 3

File details

Details for the file guga-1.2.1.tar.gz.

File metadata

  • Download URL: guga-1.2.1.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for guga-1.2.1.tar.gz
Algorithm Hash digest
SHA256 afa54b52fbd5b24ec549aa7e199799131247a37c4569f34d73a45b3227805de5
MD5 6275448bde8d21c95ae5684ad192708d
BLAKE2b-256 2990d93cb587dcaec6b5b9fb171e4625d374a5fb1f149b78ebced724dfbfd7ed

See more details on using hashes here.

Provenance

The following attestation bundles were made for guga-1.2.1.tar.gz:

Publisher: pypi-publish.yml on PositiveMatician/GuGa-Nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file guga-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: guga-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 26.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for guga-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 a1dfcec261f3531b19b872d00f406f1932634dc9e346c4df797d87407df73d07
MD5 3a59ba7b481218985cc170ddffe64b5d
BLAKE2b-256 31868b88cd866a81bef5ea68cb448d09d6b7c3e54547cd2e766f82068f995b9a

See more details on using hashes here.

Provenance

The following attestation bundles were made for guga-1.2.1-py3-none-any.whl:

Publisher: pypi-publish.yml on PositiveMatician/GuGa-Nexus

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page