brok alternatives and similar packages
Based on the "Command Line Tools" category.
Alternatively, view brok alternatives based on common mentions on social networks and blogs.
Do you think we are missing an alternative of brok or a related project?
Find broken links in text documents
Similar idea to awesome_bot, but with different output options.
Currently only supports
https:// prefixed URLs
Binaries for Mac and Linux are available. Add the binary to a directory in your path (such as
To build the latest version:
docker build -t brok https://github.com/smallhadroncollider/brok.git
To run brök:
docker run brok
If you have
cabal install brok
Make sure you run
cabal update if you haven't run it recently.
The following command will build brök and then install it in
stack build && stack install
Check all links in a single text file:
Or in multiple files:
brok test.md links.tex
If you're using this as part of a test suite, you probably only need the errors:
brok text.md links.tex > /dev/null
By default brök will cache successes for a day in a
.brokdb file. It will always recheck errors.
If you want to adjust the cache length, you can enter the number of seconds after which the cache invalidates:
# cache for a week brok --cache 604800 test.md links.tex
If you want to avoid creating the
.brokdb file or ignore the cache entirely you can use the
# do not cache results # and don't use previously generated cache brok --no-cache test.md links.tex
Most browsers will display a website even if it has certificate issues (such as an incomplete certificate chain). By default Brök will not check certificates, so replicate this behaviour.
If you would like to enforce certificate checking, you can turn this on:
brok --check-certs test.md
Any sites with certificate issues will then return a
Could not connect error.
You can tell brök to ignore URLs with specified prefixes:
# ignore facebook and amazon URLS brok --ignore "http://facebook.com" "http://amazon.com" test.md links.tex
By default brök waits for 100ms between URL checks. You can change the delay:
# wait for 1 second between checks brok --interval 1000 test.md links.tex
Only Show Failures
If you want to see what's going on, but you're not interested in successes, then you can use the
# see what's going on, but only show failures brok --only-failures test.md links.tex
If you're using brök as part of a script then you should redirect
By default the output uses bash colour codes. You can turn this off using the
Git Pre-Commit Hook
If you want to check all the links in your Git repo are valid before being able to commit then add something like the following to
#! /bin/bash # cache for 1 week # use find to check all *.md files # only show errors (if there are any) brok --cache 604800 $(find . -type f -name "*.md") > /dev/null
#! /bin/zsh # cache for 1 week # using a zsh glob to check all *.md files # only show errors (if there are any) brok --cache 604800 */**/*.md > /dev/null