Broken links are one of those problems that quietly destroy the quality of your projects. Whether you're managing documentation, scraping data, or maintaining content, invalid URLs can lead to poor UX, failed integrations, and unreliable datasets.
I built LinkGuardian PRO v5.0 to solve this problem in a fast, local, and developer-friendly way.
β‘ The Problem
If youβve ever tried to:
Audit links inside .txt, .pdf, or .html files
Validate hundreds (or thousands) of URLs
Identify broken endpoints
Organize links by domain
You already know how painful it is to do this manually.
Even with scripts, you often miss:
UI visibility
pause/resume control
structured reporting
domain-level insights
π The Solution
LinkGuardian PRO v5.0 is a desktop-based, multi-threaded link scanner that:
Extracts URLs from local files
Checks link status (valid / broken)
Tracks domain-level statistics
Provides real-time feedback via UI
All without uploading your data anywhere.
π§ Core Features
π Multi-threaded Link Checking
Uses ThreadPoolExecutor to validate links concurrently for maximum speed.
π Multi-format Support
Parses links from:
.txt
.pdf (via PyPDF2)
.html / .htm
β Broken Link Detection
HTTP requests are validated with timeout handling to catch:
dead domains
unreachable servers
invalid endpoints
π Domain Analytics
Automatically groups links by domain:
example.com | 120 links | 15 broken
api.service.io | 80 links | 2 broken
Perfect for auditing and prioritization.
π― Include / Exclude Filters
Filter links dynamically using keywords:
Include only specific patterns
Exclude tracking, ads, or unwanted URLs
π CSV Export
Export domain-level reports for:
audits
clients
documentation
βΈ Full Scan Control
Pause, resume, or cancel scans anytime without losing progress.
π₯οΈ UI Highlights
Built with Tkinter + ttkbootstrap, the app provides:
Dark-themed modern interface
Real-time logs
Progress tracking
Click-to-open links
Search/filter within results
This makes it more than just a script β itβs a usable tool.
π§ How It Works (Simplified)
def safe_request(url):
try:
r = requests.get(url, timeout=8)
return not (200 <= r.status_code < 400)
except:
return True
Each link is:
Extracted via regex
Checked via HTTP request
Categorized as valid or broken
Aggregated into domain statistics
π Why Local-First Matters
Unlike many tools, LinkGuardian PRO runs entirely on your machine:
No cloud APIs
No data leaks
No rate-limited external services
This is especially important for:
internal company files
private datasets
sensitive documents
πΌ Use Cases
This tool is useful if you:
Maintain documentation or knowledge bases
Work with scraped or extracted links
Audit SEO or content quality
Manage large file repositories
Build datasets from mixed file formats
π Developer Benefits
Clean Python architecture
Easy to customize (filters, UI, logic)
Extendable for APIs or automation
Works cross-platform (with source code)
π Try It Out
If you want to save hours of manual work and bring structure to your link validation process:
π https://gum.new/gum/cmn1sdj00000804jsh4tu21gf
π Final Thoughts
This project started as a simple link checker β but evolved into a full productivity tool.
If you deal with links at scale, having:
speed
visibility
control
β¦makes a huge difference.

Top comments (0)