DeadFinder Action
ActionsDead link (broken link) means a link within a web page that cannot be connected. These links can have a negative impact to SEO and Security. This tool makes it easy to identify and modify.
gem install deadfinder
# https://rubygems.org/gems/deadfinder
brew install deadfinder
# https://formulae.brew.sh/formula/deadfinder
docker pull ghcr.io/hahwul/deadfinder:latest
deadfinder sitemap https://www.hahwul.com/sitemap.xml
steps:
- name: Run DeadFinder
uses: hahwul/[email protected]
# or uses: hahwul/deadfinder@latest
id: broken-link
with:
command: sitemap # url / file / sitemap
target: https://www.hahwul.com/sitemap.xml
# timeout: 10
# concurrency: 50
# silent: false
# headers: "X-API-Key: 123444"
# worker_headers: "User-Agent: Deadfinder Bot"
# include30x: false
# user_agent: "Apple"
# proxy: "http://localhost:8070"
- name: Output Handling
run: echo '${{ steps.broken-link.outputs.output }}'
require 'deadfinder'
app = DeadFinderRunner.new
options = app.default_options
options['concurrency'] = 30
result = app.run('https://www.hahwul.com/2022/09/30/deadfinder/', options)
puts result
Commands:
deadfinder file <FILE> # Scan the URLs from File. (e.g deadfinder file urls.txt)
deadfinder help [COMMAND] # Describe available commands or one specific command
deadfinder pipe # Scan the URLs from STDIN. (e.g cat urls.txt | deadfinder pipe)
deadfinder sitemap <SITEMAP-URL> # Scan the URLs from sitemap.
deadfinder url <URL> # Scan the Single URL.
deadfinder version # Show version.
Options:
r, [--include30x], [--no-include30x] # Include 30x redirections
c, [--concurrency=N] # Number of concurrency
# Default: 50
t, [--timeout=N] # Timeout in seconds
# Default: 10
o, [--output=OUTPUT] # File to write JSON result
H, [--headers=one two three] # Custom HTTP headers to send with initial request
[--worker-headers=one two three] # Custom HTTP headers to send with worker requests
[--user-agent=USER_AGENT] # User-Agent string to use for requests
# Default: Mozilla/5.0 (compatible; DeadFinder/1.5.0;)
p, [--proxy=PROXY] # Proxy server to use for requests
s, [--silent], [--no-silent] # Silent mode
v, [--verbose], [--no-verbose] # Verbose mode
# Scan the URLs from STDIN (multiple URLs)
cat urls.txt | deadfinder pipe
# Scan the URLs from File. (multiple URLs)
deadfinder file urls.txt
# Scan the Single URL.
deadfinder url https://www.hahwul.com
# Scan the URLs from sitemap. (multiple URLs)
deadfinder sitemap https://www.hahwul.com/sitemap.xml
deadfinder sitemap https://www.hahwul.com/sitemap.xml \
-o output.json
cat output.json | jq
{
"Origin URL": [
"DeadLink URL",
"DeadLink URL",
"DeadLink URL"
]
}
We welcome contributions from everyone! If you have an idea for an improvement or want to report a bug:
- Fork the repository.
- Create a new branch for your feature or bug fix (e.g.,
feature/awesome-feature
orbugfix/annoying-bug
). - Make your changes.
- Commit your changes with a clear commit message.
- Push to the branch.
- Submit a Pull Request (PR) to our
dev
branch.
We'll review your PR as soon as possible. Thank you for contributing to our project!
DeadFinder Action is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.