aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md103
1 files changed, 103 insertions, 0 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..ca63317
--- /dev/null
+++ b/README.md
@@ -0,0 +1,103 @@
+<!-- SPDX-License-Identifier: GPL-3.0-only -->
+<!-- SPDX-FileCopyrightText: 2025 M. Shulhan <ms@kilabit.info> -->
+
+# Jarink
+
+Jarink is a program to help web administrator and developers to inspect
+and maintains their website.
+
+## SYNOPSIS
+
+ jarink [OPTIONS] <COMMAND> <args...>
+
+Available commands,
+
+ brokenlinks - scan the website for broken links (page and images).
+ help - print the usage of the command.
+ version - print the version of program.
+
+## USAGE
+
+### The brokenlinks command
+
+ [OPTIONS] brokenlinks <URL>
+
+Scan for broken links on the web server pointed by URL.
+Links will be scanned on anchor href attribute ("<a href=...>") or
+on the image src attribute ("<img src=...").
+
+The URL can be start from base or from sub path.
+Scanning from path only report brokenlinks on that path and their
+sub paths.
+
+Once finished it will print the page and list of broken links in
+JSON format to standard output,
+
+```
+{
+ "$PAGE": [{
+ "link": <string>,
+ "error": <string>,
+ "code": <integer>
+ },
+ ...
+ ],
+ ...
+}
+```
+
+This command accept the following options,
+
+`-ignore-status=<comma separated HTTP status code>`:
+List of HTTP status code that will be ignored during scan.
+
+`-insecure`:
+Do not report as error on server with invalid certificates.
+
+`-past-result=<path to JSON file>`:
+Scan only the pages reported by result from past scan based
+on the content in JSON file.
+This minimize the time to re-scan the pages once we have fixed the URLs.
+
+`-verbose`:
+Print the page that being scanned to standard error.
+
+## EXAMPLES
+
+Given a website that have the following pages,
+
+- web.tld (base)
+- web.tld/page1
+- web.tld/page1/sub1
+- web.tld/page2
+- web.tld/page2/sub1
+
+The following command will scan all of the pages in the website web.tld.
+
+```
+$ jarink brokenlinks https://web.tld
+```
+
+Invoking brokenlinks on path "/page2" only scan "/page2" and "/page2/sub1".
+
+```
+$ jarink brokenlinks https://web.tld/page2
+```
+
+Ignore HTTP status code 403 and 418,
+
+```
+$ jarink -ignore-status=403,418 brokenlinks https://web.tld/page2
+```
+
+## NOTES
+
+Project page - https://kilabit.info/project/jarink/
+
+Source code - https://git.sr.ht/~shulhan/jarink
+
+## LICENSE
+
+This software is licensed under GPL 3.0.
+See the LICENSE file for more information.
+Copyright 2025 M. Shulhan &lt;ms@kilabit.info&gt;.