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.
🔗 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.
- Install the package:
- 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).
- 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).
- Install the Android App:
Download the
stableAndroid 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
gugaglobal 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
afa54b52fbd5b24ec549aa7e199799131247a37c4569f34d73a45b3227805de5
|
|
| MD5 |
6275448bde8d21c95ae5684ad192708d
|
|
| BLAKE2b-256 |
2990d93cb587dcaec6b5b9fb171e4625d374a5fb1f149b78ebced724dfbfd7ed
|
Provenance
The following attestation bundles were made for guga-1.2.1.tar.gz:
Publisher:
pypi-publish.yml on PositiveMatician/GuGa-Nexus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guga-1.2.1.tar.gz -
Subject digest:
afa54b52fbd5b24ec549aa7e199799131247a37c4569f34d73a45b3227805de5 - Sigstore transparency entry: 1224690104
- Sigstore integration time:
-
Permalink:
PositiveMatician/GuGa-Nexus@80787dd3a30cd7d9226df6ee2065333499e3c414 -
Branch / Tag:
refs/heads/latest - Owner: https://github.com/PositiveMatician
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@80787dd3a30cd7d9226df6ee2065333499e3c414 -
Trigger Event:
workflow_dispatch
-
Statement type:
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1dfcec261f3531b19b872d00f406f1932634dc9e346c4df797d87407df73d07
|
|
| MD5 |
3a59ba7b481218985cc170ddffe64b5d
|
|
| BLAKE2b-256 |
31868b88cd866a81bef5ea68cb448d09d6b7c3e54547cd2e766f82068f995b9a
|
Provenance
The following attestation bundles were made for guga-1.2.1-py3-none-any.whl:
Publisher:
pypi-publish.yml on PositiveMatician/GuGa-Nexus
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
guga-1.2.1-py3-none-any.whl -
Subject digest:
a1dfcec261f3531b19b872d00f406f1932634dc9e346c4df797d87407df73d07 - Sigstore transparency entry: 1224690153
- Sigstore integration time:
-
Permalink:
PositiveMatician/GuGa-Nexus@80787dd3a30cd7d9226df6ee2065333499e3c414 -
Branch / Tag:
refs/heads/latest - Owner: https://github.com/PositiveMatician
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
pypi-publish.yml@80787dd3a30cd7d9226df6ee2065333499e3c414 -
Trigger Event:
workflow_dispatch
-
Statement type: