Skip to content

Releases: miftahganzz/Pulse

Pulse v1.0.5 — Docker Null Ports Decoding Fix & Error State Resilience

Choose a tag to compare

@miftahganzz miftahganzz released this 13 Sep 01:49

Pulse v1.0.5 (Build 105)

This release addresses an issue where Docker containers without public port mappings caused Swift decoding failures and falsely reported Docker as not detected.

🐛 Bug Fixes & Resilience

  • Docker Null Ports Decoding Fix: Fixed an issue where containers without exposed public ports (e.g., Supabase internal containers) had ports serialized as null in JSON, causing Swift's JSONDecoder to fail and the UI to report "Docker Not Detected".
  • Resilient Container Decoding in macOS App: DockerContainerItem and DockerStatusResponse now defensively decode null or absent ports, strings, and container arrays across all agent daemon versions.
  • Docker Error State & Retry: Replaced ambiguous "Docker Not Detected" fallback with an explicit error card displaying the error description and a Retry button whenever a network or decoding failure occurs.
  • Auto-Update Binary Availability: Attached pulse-agent-linux-amd64 and pulse-agent-linux-arm64 assets to GitHub Releases for zero-friction self-updating via pulse update.

📦 Downloads & Verification

Architecture Download Link Notes
Universal 2 (Recommended) Pulse-1.0.5-Universal.dmg Intel & Apple Silicon
Apple Silicon Pulse-1.0.5-arm64.dmg M1 / M2 / M3 / M4
Intel Pulse-1.0.5-x86_64.dmg 64-bit Intel Mac
Standard DMG Pulse-1.0.5.dmg Universal binary
Linux x86_64 Agent pulse-agent-linux-amd64 Linux daemon
Linux ARM64 Agent pulse-agent-linux-arm64 Linux daemon

Pulse v1.0.4 — Security Hardening, Rate Limiting & Biometric Gate

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 18:21

Pulse v1.0.4 (Build 104) — Comprehensive Security Hardening & Zero-Trust

This release brings enterprise-grade zero-trust security hardening across both the Linux Pulse Agent and the macOS Pulse App.

🛡️ Pulse Agent (Linux Daemon)

  • Brute-Force & Port Scanning Defense: Built-in sliding-window rate limiter blocks malicious IPs automatically for 15 minutes after 5 consecutive failed authentication or pairing attempts.
  • Pairing Session Lockout: 6-digit pairing sessions are immediately revoked and session files destroyed upon 5 invalid attempts, completely preventing PIN brute-forcing.
  • Cross-Site WebSocket Hijacking (CSWSH) Defense: Enforces strict origin checking on WebSocket handshakes to prevent browser-based session hijacking.
  • Security Headers & Strict File Permissions: Automatically serves HSTS, CSP (default-src 'none'), X-Frame-Options: DENY, and X-Content-Type-Options: nosniff.
  • Tamper-Resistant Action Audit Log: Every action execution (systemd service restarts, Docker container actions, system runbooks) is recorded in an append-only $PULSE_DIR/audit.log with timestamp, client identity, and execution status.
  • pulse doctor Security Audits: Audits file permissions on agent.json and key.pem to ensure strict 0600 permissions.

🍏 Pulse macOS App

  • TOFU TLS Certificate Pinning: Implements Trust-On-First-Use (TOFU) SHA-256 certificate fingerprint pinning securely stored in macOS Keychain. Warns and halts connection if the remote TLS certificate changes or is intercepted.
  • Biometric Security Gate (Touch ID / Apple Watch): Destructive and high-impact operations (system reboots, container kill, service stops) can now require Touch ID / Apple Watch / Mac Password confirmation before execution.
  • Clipboard Token Auto-Clearing: Automatically purges copied bearer tokens and pairing codes from the macOS pasteboard after 60 seconds.
  • Dedicated Security Settings Tab: New Security preference tab to configure biometric protection, clipboard security, and certificate pinning policies.

📦 Downloads & Verification

Architecture Download Link Notes
Universal 2 (Recommended) Pulse-1.0.4-Universal.dmg Intel & Apple Silicon
Apple Silicon Pulse-1.0.4-arm64.dmg M1 / M2 / M3 / M4
Intel Pulse-1.0.4-x86_64.dmg 64-bit Intel Mac
Standard DMG Pulse-1.0.4.dmg Universal binary

Pulse v1.0.3 — Redesigned Add Server with Immediate Tailscale & Cloudflare Options

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 17:36

What's New in Pulse v1.0.3 (Build 103)

  • Add Server UI Redesign: Prominent Method pickers (Direct IP, Cloudflare Tunnel, Tailscale) and Mode pickers (Root (sudo) vs. Non-Root (User Mode)) right on the primary screen. No more hidden multi-step wizard!
  • Inline 1-Line Setup: Instant copy button for 1-line setup command with dynamic helper badge and server connection fields all in one clean view.
  • Universal Non-Root Support: Dedicated standalone non-root scripts for Direct IP, Tailscale, and Cloudflare Tunnel.
  • Port Auto-Adjustment: Automatically toggles between port 443 (Cloudflare) and port 8443 (Direct IP / Tailscale).

Pulse v1.0.2 — Non-Root User Mode & Seamless 1-Command Setup

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 15:32

Pulse v1.0.2 (Build 12)

Welcome to Pulse v1.0.2! This release brings full Non-Root (User Mode) support across the one-command installer, daemon runtime, CLI, macOS application, and documentation. Non-root users without sudo access can now run Pulse Agent completely standalone on any Linux VPS or shared host.


What's New in v1.0.2

1. Non-Root (User Mode) for All Connection Methods

  • Direct IP / LAN:
    • Automatically runs in User Mode when $EUID != 0.
    • Installs to ~/.local/bin/pulse-agent & ~/.pulse/agent.json.
    • Auto-configures user-level systemd daemon (systemctl --user) with lingering, or crontab @reboot background fallback.
    • Perintah: curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | bash
  • Cloudflare Tunnel (setup-cloudflare.sh):
    • 100% Zero-Root & Zero-Port: Cloudflare Tunnel works via outbound HTTPS/QUIC, requiring zero open firewall ports and no root privileges!
    • Automatically downloads standalone cloudflared to ~/.local/bin/cloudflared.
    • Runs quick tunnel (trycloudflare.com) in the background with user crontab @reboot autostart.
    • Perintah: curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-cloudflare.sh | bash
  • Tailscale (setup-tailscale.sh):
    • Non-root users are no longer blocked by fail "Run with sudo".
    • Detects existing Tailscale installations and IP addresses (100.x.y.z), automatically binding Pulse Agent in user space without requiring sudo.
    • Perintah: curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-tailscale.sh | bash

2. Redesigned Add Server Dialog (⌘N)

  • Separate Method & Mode Selectors: Fixed the squished vertical Mode text by cleanly separating the Method (Direct IP, Cloudflare Tunnel, Tailscale) and Mode (Root (sudo) vs. Non-Root) pickers with horizontal fixed labels and full-width segmented controls.
  • Smart Auto-Detection: Typing a Cloudflare domain automatically switches the method to Cloudflare Tunnel and sets port 443. Typing a 100.x IP automatically selects Tailscale.
  • Dynamic One-Line Command: The copyable terminal command and helper guidance badge immediately update based on the selected method and privilege mode.

3. CLI Mode Auto-Detection

  • The unified pulse command (pulse restart, pulse stop / start, pulse logs -f, pulse update, and pulse uninstall) automatically senses root vs. user mode.
  • Non-root users can stream logs (journalctl --user), restart user services, and self-update without ever needing sudo.
  • pulse doctor now checks user-mode systemd services without false permission warnings.

4. Sparkle 2 Auto-Update Feed

  • Appcast feed updated for v1.0.2 (Build 12) with cryptographic Ed25519 signatures for seamless auto-updates.

Downloads & Assets

Package Platform / Architecture Description
Pulse-1.0.2-Universal.dmg macOS 13+ (Universal 2) Native Apple Silicon + Intel installer
Pulse-1.0.2-arm64.dmg Apple Silicon (M1/M2/M3/M4) Optimized for Apple Silicon Macs
Pulse-1.0.2-x86_64.dmg Intel x86_64 64-bit Intel Mac installer
Pulse-1.0.2.dmg Default Installer Universal installer
pulse-agent-linux-amd64 Linux x86_64 Static daemon binary for 64-bit Linux
pulse-agent-linux-arm64 Linux ARM64 / aarch64 Static daemon binary for ARM Linux

Quick Setup Matrix (Linux)

Method Root Mode (sudo) Non-Root User Mode (No sudo)
Direct IP / LAN curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | sudo bash curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | bash
Tailscale curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-tailscale.sh | sudo bash curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-tailscale.sh | bash
Cloudflare Tunnel curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-cloudflare.sh | sudo bash curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-cloudflare.sh | bash

Pulse v1.0.1 — Unified CLI, Clean Terminal UX & Auto-Reconnect

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 12:37

Pulse v1.0.1 (Build 11)

Welcome to Pulse v1.0.1! This release introduces the unified pulse command-line tool for Linux hosts with clean borderless terminal UX, real-time network offline detection with auto-reconnect, and enhancements to live log streaming.


What's New in v1.0.1

1. Unified Pulse CLI (pulse)

  • All-in-One CLI: Manage agent health, pairing, private networks, and daemon lifecycle directly via /usr/local/bin/pulse.
  • Modular Subcommands:
    • pulse / pulse status: Real-time daemon state, listen port, LAN IP, Tailscale IP, Public IP, active pairing code, and 1-click deep link.
    • pulse pair [code]: Generate temporary XXX-XXX pairing code (valid 10 mins) to link from Mac without pasting long tokens.
    • pulse tailscale: Detect Tailscale node, display MagicDNS, or run 1-command installer (sudo pulse tailscale install).
    • pulse cloudflare: Inspect cloudflared status, generate ingress configs, and guide zero-port tunnel setup.
    • pulse logs -f: Stream live daemon journalctl logs directly in terminal.
    • pulse update: In-place self-updater from GitHub Releases.
    • pulse doctor: Full health check for TLS, firewall, socket, and permissions.
    • sudo pulse restart / start / stop / uninstall: Manage background service.

2. Clean & Minimal Terminal UX

  • Removed all heavy ASCII/box-drawing borders for a clean, borderless terminal appearance that doesn't wrap or misalign across diverse SSH terminals.

3. Network Offline Detection & Auto-Reconnect

  • Integrated NWPathMonitor on macOS to monitor network connectivity in real time.
  • Displays explicit offline banners with instructions when network path is lost.
  • Automatically reconnects all server WebSocket streams the moment connectivity is restored.

4. Live Log Streaming Polish

  • Made log streaming connection-state aware so opening logs while connecting waits smoothly instead of failing with timeout errors.
  • Prioritizes pulse-agent.service as default unit so logs appear instantly.
  • Added idle waiting state indicator when streaming units with quiet logs.

Downloads & Assets

Package Platform / Architecture Description
Pulse-1.0.1-Universal.dmg macOS 13+ (Universal 2) Native Apple Silicon + Intel installer
Pulse-1.0.1-arm64.dmg Apple Silicon (M1/M2/M3/M4) Optimized for Apple Silicon Macs
Pulse-1.0.1-x86_64.dmg Intel x86_64 64-bit Intel Mac installer
Pulse-1.0.1.dmg Default Installer Universal installer
pulse-agent-linux-amd64 Linux x86_64 Static daemon binary for 64-bit Linux
pulse-agent-linux-arm64 Linux ARM64 / aarch64 Static daemon binary for ARM Linux

Quick Agent Installation (Linux)

curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | sudo bash

Pulse v1.0.0 — Live Logs, Telegram Alerts, Storage Analyzer & Runbooks

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 04:57

Pulse v1.0.0 (Build 10)

Welcome to the major 1.0.0 milestone release of Pulse! This release brings enterprise-grade stability, live log streaming, multi-recipient Telegram outbound alerts, storage breakdown & 1-click cleaners, maintenance runbooks, and per-process network/disk I/O monitoring.


What's New in v1.0.0

1. Live Log Viewer & Streaming (⌘L)

  • Sub-second WebSocket log streaming: Stream live server logs straight to your Mac without an SSH session.
  • Systemd Journal & Docker Containers: Seamlessly switch between any systemd unit service (journalctl -u <unit> -f) and Docker container stdout/stderr.
  • Interactive Console: Real-time keyword filtering, auto-scroll toggle, pause/resume, and 1-click clipboard export.

2. Outbound Alerts: Telegram Integration

  • Direct Bot API push: Receive instant push notifications on Telegram 24/7 without third-party proxies or cloud relays.
  • Simple 3-step setup: Add Bot Token from @BotFather, enter recipient user/chat IDs, and test with one click.
  • Multi-recipient broadcast: Route server incidents to multiple admin user IDs and ops channels simultaneously.
  • Smart anti-flapping: Built-in consecutive check gates prevent alert storms.

3. Disk Space Analyzer & Safe 1-Click Cleaners (⌘U)

  • "Where Did My Storage Go?": Instant visual breakdown of disk consumption across /var/log, /var/lib/docker, /var/cache, /tmp, and systemd journals.
  • 1-Click Safe Cleaners:
    • Vacuum Journals: Safely removes systemd journal logs older than 3 days.
    • Docker Prune: Cleans stopped containers, dangling images, and build caches without disturbing running containers.
    • Clean APT Cache: Frees gigabytes from /var/cache/apt/archives on Debian/Ubuntu.

4. Maintenance Runbooks (⌘R)

  • Trigger essential operational tasks directly from macOS with a live terminal output console:
    • Reload Web Server: Gracefully reload Nginx, Caddy, or Apache without dropping connections.
    • Flush DNS Cache: Clear local systemd-resolved / nscd cache.
    • Check System Updates: Inspect available security updates without installing.
    • Drop Page Cache: Sync buffers and safely reclaim filesystem page cache (echo 3 > /proc/sys/vm/drop_caches).

5. Process Network & Disk I/O

  • Live Bandwidth Rates: Disk read and write throughput per process (KB/s or MB/s) parsed directly from Linux /proc/[pid]/io.
  • Open Socket Tracking: View open socket file descriptors per process to catch connection leaks early.

6. Menu Bar Live Metrics Ticker

  • Toggle live CPU xx% RAM xx% display directly in the macOS menu bar status item from Settings.

7. In-App Documentation & Guides

  • Expanded in-app docs (⌘/) covering Telegram Bot setup, one-line installation scripts, Tailscale zero-port mesh, and Cloudflare tunnels.

Downloads & Assets

Package Platform / Architecture Description
Pulse-1.0.0-Universal.dmg macOS 13+ (Universal 2) Native Apple Silicon + Intel installer
Pulse-1.0.0-arm64.dmg Apple Silicon (M1/M2/M3/M4) Optimized for Apple Silicon Macs
Pulse-1.0.0-x86_64.dmg Intel x86_64 64-bit Intel Mac installer
Pulse-1.0.0.dmg Default Installer Universal installer
pulse-agent-linux-amd64 Linux x86_64 Static daemon binary for 64-bit Linux
pulse-agent-linux-arm64 Linux ARM64 / aarch64 Static daemon binary for ARM Linux

Quick Agent Installation (Linux)

curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | sudo bash

Pulse v0.9.0 — Tags, Setup Scripts & All-Linux Support

Choose a tag to compare

@miftahganzz miftahganzz released this 12 Sep 02:05

What's New in v0.9.0

🏷️ Server Tags & Groups

  • Servers in the sidebar now group by environment: Production 🔴, Staging 🟠, Development 🔵, Other
  • Set the environment when adding a server, or right-click → Edit Tags & Environment...
  • Free-form custom tags appear as chips in each server row
  • Tag editor: color-coded environment buttons + add/remove tag chips

⚡ One-Command Setup Scripts

Pick your connection method and run a single command:

# Direct IP / LAN
curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/install.sh | sudo bash

# Tailscale (zero open ports — recommended)
curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-tailscale.sh | sudo bash

# Cloudflare Tunnel (zero open ports)
curl -fsSL https://raw.githubusercontent.com/miftahganzz/Pulse/main/agent/pulse-agent/scripts/setup-cloudflare.sh | sudo bash

🐧 All Linux Support

Supported distros: Debian, Ubuntu, RHEL, CentOS, Fedora, Arch Linux, Alpine Linux, openSUSE, Void Linux + any systemd-based distro.
Firewall auto-config: UFW, firewalld, or iptables.

🔢 XXX-XXX Pairing Code

Format changed from 653557653-557 (easier to read and type).

📖 In-App Docs (? button)

Updated with all new setup methods, XXX-XXX pairing section, and full distro list.


macOS 13.0+ required.

File Architecture
Pulse-0.9.0-Universal.dmg Universal (Apple Silicon + Intel) — recommended
Pulse-0.9.0-arm64.dmg Apple Silicon only
Pulse-0.9.0-x86_64.dmg Intel only
Pulse-0.9.0.dmg Same as Universal

Pulse v0.8.0 - Security Inspector, Sparkle 2, Launch at Login & Private Networks

Choose a tag to compare

@miftahganzz miftahganzz released this 11 Sep 13:47

Pulse v0.8.0

Pulse v0.8.0 delivers a major release featuring the new Network & Open Ports Auditor (Security Inspector), native Sparkle 2 Auto-Updater, macOS Launch at Login, pulse:// 1-Click Server Onboarding, Cinematic Pulse Logo Launch Animation & First-Time Interactive Feature Tour, official zero-port private network support (Tailscale & Cloudflare Tunnels), and Pixel-Perfect Apple HIG DMG Installers with architecture-specific downloads.


🎨 Apple-Grade DMG Installers with Native Drag-and-Drop

  • High-DPI Styled Installers: Professional minimalist dark canvas DMG window with native Application folder shortcuts and high-resolution Retina artwork.
  • Dedicated Architecture Packages:
    • Pulse-0.8.0-arm64.dmg for Apple Silicon Macs (M1 / M2 / M3 / M4)
    • Pulse-0.8.0-x86_64.dmg for Intel 64-bit Macs
    • Pulse-0.8.0-Universal.dmg Universal 2 binary running natively on all Macs

⚡ Cinematic Pulse Logo Launch Motion & Interactive Feature Tour

  • Pure Pulse Logo Motion: Pure, cinematic dark startup sequence featuring the iconic Pulse squircle, expanding soft sonar rings, neon ECG heartbeat sweep, and gentle cardiac pulse bloom—with zero clutter or text labels.
  • First-Time Interactive Welcome Guide: On first launch, smoothly unfolds into an Apple-grade interactive 4-card tour explaining core capabilities (Live Telemetry, Zero-Inbound mTLS/Tailscale/Cloudflare, Port Auditor, and macOS Integrations) with page navigation and 1-click server onboarding.
  • Calm & Respectful Pacing: Balanced cinematic timing with click-to-skip support, plus a toggle and replay button under Settings > General.

🛡️ Network & Open Ports Auditor (Security Inspector)

  • Live Socket Scanner: Parses active TCP/UDP listening sockets on Linux (ss -tlpn -ulpn) and macOS (lsof), reporting process name, PID, and local binding addresses.
  • Exposure Classification: Automatically tags sockets as Public (0.0.0.0), Localhost (127.0.0.1), or Private (Tailscale 100.64.0.0/10 and RFC 1918 subnets).
  • Sensitive Database Exposure Alerts: Warns immediately if databases or management services (Redis, PostgreSQL, MySQL, MongoDB, Docker API) are listening on 0.0.0.0.
  • Firewall Auditor: Displays live host firewall status (UFW / iptables / pf) and default incoming policy.
  • macOS Security Tab: KPI summary cards, critical warning callouts with 1-click filter, and real-time socket search.

✨ Pro-Grade macOS Experience

  • Sparkle 2 Auto-Updater: Native background check and release channel updates with zero user friction (SPUStandardUpdaterController + appcast.xml).
  • Launch at Login: Deep integration with native macOS 13+ SMAppService.mainApp (auto-syncs with macOS System Settings Login Items).
  • Custom URL Scheme (pulse://): 1-Click Server Onboarding via pulse://add?name=...&host=...&port=...&token=... pre-fills the connection sheet.
  • Quick Shortcut: Press ⌘N from anywhere in the app to open the Add Server sheet.
  • Pixel-Perfect Apple HIG Icon: Standardized icon to official Apple Human Interface Guidelines specification (824x824 px canvas on 1024x1024 with dual-layer drop shadows).

🔒 Zero-Port Private Networks

  • Tailscale: Connect directly via encrypted WireGuard mesh on 100.x.y.z with port 8443 completely blocked from the public internet.
  • Cloudflare Tunnel (cloudflared): Connect via custom domain (pulse.yourdomain.com) on port 443 with zero incoming open firewall ports.

📦 Artifacts & Checksums

File Target Platform SHA-256 Checksum
Pulse-0.8.0-arm64.dmg Apple Silicon (M1/M2/M3/M4) b898d4e7ef5f5168c85e8603e0404fb75dc867161130d3aa083fccb3e44d0da7
Pulse-0.8.0-x86_64.dmg Intel 64-bit Core/Xeon f17fb69a043242fda6885055f112194391cf334901afec9900ec995ca7cc5995
Pulse-0.8.0-Universal.dmg Universal 2 (Apple Silicon & Intel) 4f986fb2646de3256c01758bc9dcf60fd6197029c6b93d1bf655791ba8fa9543
Pulse-0.8.0.dmg Default Universal Installer 4f986fb2646de3256c01758bc9dcf60fd6197029c6b93d1bf655791ba8fa9543
pulse-agent-linux-amd64 Linux x86_64 c0959853bf629697ab93a2351067be9279ab27ea6b3d037d4c80bf42c1b6634a
pulse-agent-linux-arm64 Linux ARM64 46bfb0d7512eacfd86a17bed3ab92c1e57b678e20aac9da94486fb134ca8dffd

Pulse v0.7.0 - Initial Official Release

Choose a tag to compare

@miftahganzz miftahganzz released this 11 Sep 11:30

🎉 Pulse v0.7.0 Official Release

Pulse is a native, lightweight infrastructure monitoring & auto-remediation application for macOS and Linux VPS.

📦 What's Included:

  • Pulse-0.7.0.dmg: Drag-and-drop macOS App installer (Universal Apple Silicon & Intel).
  • Pulse-0.7.0.pkg: Standard macOS Package installer.
  • pulse-agent-linux-amd64 / arm64: Standalone static Linux monitoring binaries (< 15 MB RAM).

✨ Features:

  • Direct P2P TLS & WebSocket encryption (zero cloud servers/telemetry).
  • 1-Command Automated Installer & 6-Digit Numeric Pairing Code.
  • pulse-agent doctor automated VPS diagnostics.
  • Real-time container monitoring (Docker), Systemd, PM2, databases (PostgreSQL, Redis, MySQL, MongoDB).
  • Graph dependency mapping, outage cascade grouping, and controlled auto-remediation safety gates.