# PureLink v3.0.0 — Developer Tools, Self-Update, Ignore List, and Major Architecture Overhaul
LatestPureLink is a native desktop privacy guard and clipboard manager for developers, running as a background daemon in the system tray on Windows, Linux, and macOS.
This release represents a fundamental rewrite of the internal architecture — replacing global variables with a thread-safe App struct, eliminating a legacy config_manager.go, centralizing all state under sync.RWMutex, and adding 9 new features spanning developer tools, clipboard commands, background updates, and accessibility.
What's New
Developer Tools Submenu
- WSL Path Mode toggle and one-shot "Convert Clipboard to WSL Path" action
- Base64 Encode/Decode clipboard operations
- UUID v4 generator
- URL Encode/Decode (percent-encoding)
- Format JSON — pretty-print clipboard JSON
- Unix Timestamp — copy current epoch seconds
- Decode JWT Payload — extract and pretty-print JWT body
- All actions read clipboard, transform, write back, and play a success beep; errors produce a silent error beep without crashing
Clipboard Commands
- Inline commands typed as clipboard content:
!wa {number},!tg {username},!b64e {text},!b64d {base64},!uuid - Can be toggled on/off via Advanced Settings menu (persisted to config)
Ignore List (Whitelist)
- Configurable per-domain bypass in
purelink_config.json— domains likelocalhostand127.0.0.1skip all cleaning - Defaults to
["localhost", "127.0.0.1"]with auto-migration for existing config files - "Open Config File" menu item launches OS default editor for quick editing
Self-Update Mechanism
- Checks GitHub releases API on startup (silent), compares semver, shows Yes/No dialog via
sqweek/dialog - Safe binary replacement: download
.tmp→ renameexe→.old→ rename.tmp→exe→ spawn new process →os.Exit(0) - Cleanup of stale
.oldbinaries on startup os.Chmod(0755)applied to downloaded binaries for Linux/macOS compatibility- Menu items: "Check for Updates" (bypasses skipped version) and "View Release Notes"
Background Rules Updater
- 7-day ticker automatically fetches the latest tracking-parameter blocklist from GitHub
- Manual "Update Filters Now" menu item for immediate refresh
- Network errors silently swallowed in background mode
Architecture & Reliability
- App struct replaces all global variables;
sync.RWMutexguardsConfigandActiveBlocklist - Cross-platform config path via
os.UserConfigDir()(no more hardcoded%APPDATA%) - Single-instance flock lock moved to
UserConfigDir()/PureLink/purelink.lock(survives reboots) - 1-second clipboard debounce — skips duplicate OS events for the same content
- Self-contained state —
config_manager.godeleted, all logic lives inapp.go,config.go,cleaner.go,tools.go,updater.go
Social Tools Refinements
- "Convert to WhatsApp" / "Convert to Telegram" now format the clipboard and play a beep without opening a browser
- No network calls are made by these actions
Accessibility & Cross-Platform
- Terminal bell (
\a) notification on Linux/macOS as an audible cue - XDG autostart
.desktopfile for Linux - Windows registry autostart remains unchanged
- Platform build tags keep OS-specific code isolated
Bug Fixes
- Resolved clipboard watcher goroutine leak by passing tick time as
time.Durationinstead ofint64 - Fixed
resolveURLmodifying the original URL host — now uses a copy - Corrected WSL path conversion to not append an extra
/to root paths - Fixed beep function not imported in platform files
- Config persistence now properly handles default values for new fields in existing configs
📥 Installation & Downloads
Windows (via Winget)
The fastest way to install or update on Windows is using the Windows Package Manager. Run this command in your terminal:
winget install AhmedSamy.PureLink
Direct Downloads (Windows, macOS, Linux)
You can download the pre-compiled binaries for your specific operating system from the Assets section below.
- Verify Integrity: Every binary comes with a corresponding
.sha256file. We highly recommend usingsha256sumto verify the integrity of your downloaded executable before running it.