girl
is a Github Readme Link Checker
served over HTTP with Scala
and Spray.
A public version is hosted at http://bamos.github.io/girl.
http://bamos.github.io/girl checks broken links in the top 1000 GitHub repositories by number of stars. The following table shows how the number of broken links in these repos has improved since girl's release.
Date | Broken Links |
---|---|
2015/03/12 | 416 |
2015/05/25 | 384 |
To prevent misuse, girl restricts usage to GitHub users with over 50 followers or users and organizations on the whitelist. Please add your accounts and submit a pull request to gain access. Thanks!
Before running locally,
set your GitHub API token
in the environment variable GITHUB_TOKEN
,
or modify the GitHub API connection in
Girl.scala
to another option from
kohsuke.github.GitHub.
Also in Girl.scala
, if desired, set the minimum number of
required followers to zero: val reqFollowers = 0
.
girl
is built with sbt.
Executing sbt run
from the girl
directory will download
the dependencies, compile the source code, and start
an HTTP server on 0.0.0.0:8585
.
Main.scala
configures the interface and port.
sbt-revolver is helpful for development.
Start an sbt
shell and execute ~re-start
,
which re-compiles and restarts the server upon source code changes.
Girl can be deployed as a container with Docker.
After replacing the string <token>
in the
Dockerfile
with your GitHub API token, the following command
will build and start the girl as an HTTP server on port 8585
of the container.
docker build -t girl .
girl.service is an example systemd service that calls start-service.sh to automatically start girl with the system.
Modify the paths to this repo on your system in both of the scripts
and copy girl.service
to /etc/systemd/system/girl.service
.
A symlink will not work, see
this bug report
for more details.
Basic controls are:
sudo systemctl start girl
sudo systemctl stop girl
sudo systemctl restart girl
And run on startup with:
sudo systemctl enable girl
All portions are MIT-licensed.