<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jarink, branch v0.2.1</title>
<subtitle>Program to inspects and maintains web sites.</subtitle>
<id>http://git.kilabit.info/jarink/atom?h=v0.2.1</id>
<link rel='self' href='http://git.kilabit.info/jarink/atom?h=v0.2.1'/>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/'/>
<updated>2025-12-27T07:27:41Z</updated>
<entry>
<title>Release jarink 0.2.1 (2025-12-27)</title>
<updated>2025-12-27T07:27:41Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-12-27T07:27:41Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=c7cf21afcfc2229a423229f9e0ce685b46e3a1b9'/>
<id>urn:sha1:c7cf21afcfc2229a423229f9e0ce685b46e3a1b9</id>
<content type='text'>
**🌼 brokenlinks: fix infinite loop on unknown host**

On link with invalid domain, it should break and return the error
immediately.

</content>
</entry>
<entry>
<title>brokenlinks: fix infinite loop on unknown host</title>
<updated>2025-11-20T10:12:19Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-07-01T19:07:43Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=5301c666eec35699bbb9024678bb37adc057404c'/>
<id>urn:sha1:5301c666eec35699bbb9024678bb37adc057404c</id>
<content type='text'>
On link with invalid domain, it should break and return the error
immediately.

</content>
</entry>
<entry>
<title>Release jarink version 0.2.0 (2025-05-27)</title>
<updated>2025-06-27T07:38:56Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-27T07:36:19Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=c5d26d9a6c039816ce8369c34dd5ea33fac660a1'/>
<id>urn:sha1:c5d26d9a6c039816ce8369c34dd5ea33fac660a1</id>
<content type='text'>
**🌱 brokenlinks: add option to ignore list HTTP status code**.

When link known to have an issues, one can ignore the status code during
scanning broken links using "-ignore-status" option.

**🌱 brokenlinks: add option "insecure"**.

The "-insecure" option does not report an error on server with invalid
certificates.

**🌱 brokenlinks: implement caching for external URLs**.

Any successful fetch on external URLs will be recorded into jarink
cache file, located in user's cache directory.
For example, in Linux it would be `$HOME/.cache/jarink/cache.json`.
This help improve the future rescanning on the same or different target
URL, minimizing network requests.

**🌼 brokenlinks: reduce the number of goroutine on scan**.

Previously, each scan run on one goroutine and the result is
pushed using one goroutine.
This makes one scan of link consume two goroutine.

This changes the scan function to return the result and push it
in the same goroutine.
</content>
</entry>
<entry>
<title>cmd/jarink: add "version" command</title>
<updated>2025-06-27T05:23:31Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-27T05:23:31Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=e10c28e345cc3857664e2d92c948f95d15279038'/>
<id>urn:sha1:e10c28e345cc3857664e2d92c948f95d15279038</id>
<content type='text'>
The version command print the version of the program.

</content>
</entry>
<entry>
<title>all: add SPDX copyright and licenses to README</title>
<updated>2025-06-27T05:19:50Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-27T05:18:52Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=41e53878912e17d22a199435f9cf704ff9c14e2b'/>
<id>urn:sha1:41e53878912e17d22a199435f9cf704ff9c14e2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>brokenlinks: reduce the number of goroutines on scan</title>
<updated>2025-06-27T05:19:50Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-25T13:59:06Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=95c32b6f6b0dbe0a026a5c0650cdb74bd45d1175'/>
<id>urn:sha1:95c32b6f6b0dbe0a026a5c0650cdb74bd45d1175</id>
<content type='text'>
Previously, each scan run on one goroutine and the result is
pushed using pushResult also in one goroutine.
This makes one link consume two goroutines.

This changes the scan function to return the result and push it
in the same goroutine.

</content>
</entry>
<entry>
<title>brokenlinks: implement caching for external URLs</title>
<updated>2025-06-27T05:19:23Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-21T08:20:01Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=1ca561ed0ecfa59b70a10191ac8e58cde90d126e'/>
<id>urn:sha1:1ca561ed0ecfa59b70a10191ac8e58cde90d126e</id>
<content type='text'>
Any succesful fetch on external URLs, will be recorded into jarink
cache file, located in user's home cache directory.
For example, in Linux it would be `$HOME/.cache/jarink/cache.json`.

This help improve the future rescanning on the same or different target
URL, minimizing network requests.
</content>
</entry>
<entry>
<title>all: add test cases for simulating slow server</title>
<updated>2025-06-18T18:06:48Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-18T18:06:48Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=8bc8fce1bd80b5a25c452ac5a24b1a1e3f5a4feb'/>
<id>urn:sha1:8bc8fce1bd80b5a25c452ac5a24b1a1e3f5a4feb</id>
<content type='text'>
The test run a server that contains three six pages that contains
various [time.Sleep] duration before returning the response.

This allow us to see how the main scan loop works, waiting
for resultq and listWaitStatus.

</content>
</entry>
<entry>
<title>brokenlinks: add test cases for IgnoreStatus options</title>
<updated>2025-06-17T16:49:18Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-17T16:49:18Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=5ac82928702a0f0a7be0ef6e96ab04c39a7e8e9d'/>
<id>urn:sha1:5ac82928702a0f0a7be0ef6e96ab04c39a7e8e9d</id>
<content type='text'>
There are two test cases, one for invalid status code like "abc",
and one for unknown status code like "50".

</content>
</entry>
<entry>
<title>brokenlinks: update comment on test case with path</title>
<updated>2025-06-16T15:44:37Z</updated>
<author>
<name>Shulhan</name>
<email>ms@kilabit.info</email>
</author>
<published>2025-06-15T18:18:23Z</published>
<link rel='alternate' type='text/html' href='http://git.kilabit.info/jarink/commit/?id=02ff261893e3b27ba6400973cc3202042a8f3f91'/>
<id>urn:sha1:02ff261893e3b27ba6400973cc3202042a8f3f91</id>
<content type='text'>
</content>
</entry>
</feed>
