This implementation provides a comprehensive link checking infrastructure for the Awesome-OSINT-For-Everything repository to help maintain the health of 1,479+ links across the README.md file.
- Corrected invalid JSON syntax (unquoted values, comments)
- Added
markdown-link-checkas a dependency - Added new npm scripts for link checking
.gitignore: Excludes node_modules and generated files from gitLINK_CHECK_REPORT.md: Comprehensive documentation about link checkingCONTRIBUTING.md: Guidelines for contributors including link checking processscripts/check-links.sh: Automated script for link analysis and reporting
package.json: Added link-check scripts and dependencies
The repository already has a GitHub Actions workflow (. github/workflows/md-link-check.yml) that:
- Runs automatically on every push
- Checks all markdown files for broken links
- Uses industry-standard link checking tools
# 1. Install dependencies (first time only)
npm install
# 2. Quick link check
npm run link-check
# 3. Detailed link check with report
npm run link-check-reportAfter running the link checker:
- Check the console output for summary
- Review
link-check-results.txtfor detailed results - Check
link-check-summary.mdfor formatted summary
- Go to the Actions tab in the repository
- Check the latest "Check Markdown links" workflow
- Review any failures and broken links reported
When submitting PRs:
# 1. Make your changes to README.md
# 2. Install dependencies
npm install
# 3. Run link check
npm run link-check
# 4. Fix any broken links before submitting PR✓(Green checkmark) = Link is working✖(Red X) = Link is broken or unreachable
- 200: Success - Link is working
- 301/302: Redirect - Usually fine, but may need updating
- 403: Forbidden - May be bot protection or authentication required
- 404: Not Found - Link is definitely broken
- 429: Too Many Requests - Rate limited
- 0: Connection failed - Network or DNS issue
- Bot detection (Cloudflare, etc.)
- Rate limiting from too many requests
- Geographic restrictions
- Temporary server downtime
Always manually verify in a browser before removing links!
- Total Links: ~1,479 links in README.md
- Categories: 70+ OSINT tool categories
- Update Frequency: Should be checked monthly
-
Run comprehensive check:
npm run link-check-report
-
Review broken links:
- Open
link-check-summary.md - Identify broken links
- Open
-
Verify manually:
- Test each broken link in browser
- Check if service moved or shut down
- Search for alternatives
-
Update README.md:
- Replace dead links with working alternatives
- Remove permanently dead services
- Update descriptions if needed
-
Document changes:
- Note what was changed in commit message
- Create issue if major service disappeared
The automated workflow runs on every push:
- Check the Actions tab after each push
- Review any failures
- Fix broken links before merging PRs
If running in restricted environments:
- Link checking may show all links as broken (Status: 0)
- This is due to firewall/internet restrictions
- Rely on GitHub Actions results instead
If you see many 429 errors:
- Wait a few minutes between checks
- The script includes user-agent headers to reduce this
- GitHub Actions has better success rate
If check-links.sh won't run:
chmod +x scripts/check-links.sh- Review the GitHub Actions tab for current link status
- Check if any critical broken links need immediate fixing
- Share CONTRIBUTING.md with potential contributors
Consider adding:
- Scheduled checks: Weekly automated checks via GitHub Actions cron
- Issue automation: Auto-create issues for broken links
- PR comments: Auto-comment on PRs with broken link notifications
- Status badge: Add link health badge to README
- Link grouping: Categorize broken links by section for easier fixing
All documentation is available in the repository:
LINK_CHECK_REPORT.md: Detailed link checking guideCONTRIBUTING.md: Contribution guidelinesREADME.md: Main project documentationmarkdown-link-check-config.json: Link checker configuration.github/workflows/md-link-check.yml: GitHub Actions workflow
For questions or issues:
- Read the documentation files
- Check existing GitHub issues
- Create a new issue with details
- Tag maintainers if urgent
The link checking infrastructure is now in place and ready to use. The repository has:
✅ Automated link checking via GitHub Actions ✅ Local link checking capability ✅ Detailed documentation and guides ✅ Scripts for analysis and reporting ✅ Contribution guidelines ✅ Proper .gitignore setup
The infrastructure is ready for use. The next step is regular monitoring and maintenance of the 1,479+ links to keep this OSINT resource collection up-to-date and valuable for the community.
Created: 2026-02-11 Purpose: Link checking implementation for Awesome-OSINT-For-Everything Status: ✅ Complete and ready to use