PureLink: Enhancing Privacy and Workflow for Developers
PureLink is a privacy guard and clipboard manager designed to protect users' privacy and streamline their workflow by intercepting and processing clipboard content locally. Running as a background daemon with a system tray interface on Windows, Linux, and macOS, it ensures seamless integration into daily tasks.
Key Features:
Privacy Protection: Automatically strips tracking parameters (utm_*, fbclid, gclid, etc.) from URLs copied to the clipboard.
Link Unshortening: Resolves shortened URLs like bit.ly and tinyurl.com to their original destinations.
WSL Path Conversion: Converts Windows paths to WSL format for easier use in Linux environments.
Base64 Tools: Encodes or decodes Base64 strings directly from the clipboard.
UUID Generation: Creates v4 UUIDs for quick integration into projects.
URL Encoding/Decoding: Percent-encodes or decodes clipboard content as needed.
JSON Formatting: Pretty-prints JSON data from the clipboard for enhanced readability.
Unix Timestamp Handling: Generates current Unix epoch seconds for timestamps.
JWT Decoding: Extracts and formats the payload of JWT tokens for analysis.
System Tray Interface: Offers a user-friendly menu with options for social tools, updates, advanced settings, and developer utilities.
Audience & Benefit:
Ideal for developers and privacy-conscious users, PureLink enhances workflow efficiency by providing essential tools directly in the clipboard. It ensures that all processing occurs locally, safeguarding data privacy without compromising functionality. By integrating seamlessly into cross-platform environments, PureLink serves as an indispensable tool for those prioritizing both productivity and security.
Install PureLink via winget to experience its benefits firsthand.
README
PureLink 🚀
The native privacy guard and clipboard manager for developers. Runs as a background daemon with a system tray interface on Windows, Linux, and macOS.
Features
PureLink is a cross-platform desktop daemon that protects your privacy and accelerates your workflow by intercepting clipboard copies and processing them locally.
Privacy Guard
Strips tracking parameters (utm_*, fbclid, gclid, si, ref, and 15+ more) from links copied to your clipboard
All processing is local and instant — no data leaves your machine
Ignore List (whitelist): specify domains like localhost or 127.0.0.1 to skip cleaning entirely, configurable via purelink_config.json
Developer Tools
WSL Path Mode — Persistently convert C:\Projects to /mnt/c/Projects on all copies, or use the one-shot "Convert Clipboard to WSL Path" action
Base64 Encode / Decode — Encode or decode Base64 strings directly in the clipboard
Generate UUID — Create a v4 UUID and copy it instantly
URL Encode / Decode — Percent-encode or decode clipboard content
Format JSON — Pretty-print arbitrary JSON from the clipboard
Unix Timestamp — Generate the current Unix epoch seconds
Decode JWT Payload — Extract and pretty-print the JSON payload from any JWT token
Link Utilities
Unshorten Links — Resolve shortened URLs (bit.ly, t.co, tinyurl.com, and more) to their original destination
Cloud Boost — Convert Dropbox share links to direct ?dl=1 download links and Google Drive view links to direct uc?export=download links
YouTube Shorts Fix — Automatically convert /shorts/ URLs to /watch with the video ID preserved
Social Tools
Convert to WhatsApp — Read a phone number from the clipboard and format it as a wa.me link (no browser opens)
Convert to Telegram — Read a Telegram username from the clipboard and format it as a t.me link
Clipboard Commands — Type !wa, !tg, !b64e, !b64d, or !uuid followed by text, copy it, and PureLink processes it automatically (can be toggled off)
Background Daemon
Clipboard Watcher — Continuously monitors clipboard changes with a 1-second debounce to avoid redundant processing
Auto-Update Filters — Fetches the latest tracking-rule blocklist from GitHub every 7 days in the background
Self-Update — Checks GitHub releases on startup; prompts you when a newer version is available. Supports safe binary replacement (download .tmp, rename, spawn new process)
Single-Instance Lock — Prevents multiple instances via a flock file in the OS-standard config directory
Startup Registration — Auto-start on login (Windows Registry / XDG .desktop file on Linux / macOS)
Architecture
Thread-safe App struct with sync.RWMutex protecting Config and ActiveBlocklist
Configuration stored as JSON in os.UserConfigDir()/PureLink/purelink_config.json
Rules stored as JSON in os.UserConfigDir()/PureLink/rules.json
No global variables — all state is encapsulated in the App struct
Sentinel-error redirect resolver prevents body downloads during URL unshortening
System Tray Menu Structure
The tray menu is organized into screen-reader-friendly submenus:
Recent History — Last 5 cleaned links, clickable to re-copy
Social Tools — Convert to WhatsApp, Convert to Telegram
Updates and Rules — Update Filters Now, Check for App Updates, View Release Notes
Advanced Settings — YouTube Shorts Fix, Cloud Boost, Clipboard Commands, Clear Data and History
Contributions are welcome! This project uses syscall for Windows native features. Build tags (//go:build windows / //go:build !windows) keep platform-specific code isolated. Run go build ./... and go vet ./... before submitting.