Link Checker: A GUI + JS-rendered multithreaded broken link checker for dynamic websites.
Project description
Ferb: Broken Link Checker
[GUI + JS Rendering + Multithreading]
A powerful, modern Broken Link Checker desktop application built with Python, featuring:
- Full GUI (Tkinter)
- JS-rendering support (Playwright) — Works with React, Next.js, Vue, Angular, etc.
- Multithreading for extremely fast link scanning
- Broken links highlighted in red
- Filter to show only broken links
- Column sorting
- Export broken links to CSV
- Copy broken links to clipboard
- Optional green progress bar
- Works as a standalone Windows .EXE (PyInstaller)
Features
1. JavaScript Rendering (Next.js / React)
Uses Playwright Chromium to render dynamic pages and extract real DOM links.
2. Multithreaded Link Checker
Link checks run in parallel using ThreadPoolExecutor, drastically reducing scan time.
3. GUI Application
Built with Tkinter:
- URL input
- Check links button
- JS rendering toggle
- Status bar
- Progress bar
- Link results table
4. Broken Link Identification
Broken links are:
- Highlighted red
- Filterable via “Show Broken Only”
- Exportable and copyable
5. CSV Export & Clipboard Copy
Useful for audits, reports, SEO analysis, QA testing.
6. Sorting
Click table headers to sort by:
- URL
- Status
- Broken?
7. EXE Support
Can be compiled to a standalone Windows application via PyInstaller.
Installation
1. Install dependencies
pip install playwright requests beautifulsoup4
python -m playwright install chromium
python -m pip install pyinstaller
2. Running
python linkCheckGUI.py
3. Building a Standalone .exe
python -m PyInstaller --onefile --noconsole linkCheckGUI.py
4. Repository
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 ferb-1.0.0.tar.gz.
File metadata
- Download URL: ferb-1.0.0.tar.gz
- Upload date:
- Size: 18.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1be7ff26c6b1b43e7baf7d2c955f6d394d77350871fb65ec948af57bf2f8621d
|
|
| MD5 |
44f7625b0f6ff208afd2f1203de68415
|
|
| BLAKE2b-256 |
1cf1d3c86224b9bf7de8b735d8a7f3e1e1586e38cc31ede73a7c7ad6e3e80479
|
File details
Details for the file ferb-1.0.0-py3-none-any.whl.
File metadata
- Download URL: ferb-1.0.0-py3-none-any.whl
- Upload date:
- Size: 18.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
aa90a2e7d8eb1880e8256fcd6f8a9e53b3d73c9abd8b84ace0cb2d5a34d95424
|
|
| MD5 |
b124c363b541cd7e257e602bbc640600
|
|
| BLAKE2b-256 |
457b932ffc355f7b749112d419dffd308fedd4acb77ed5961c7653055ce01896
|