Ingest klaus
Summary:
A lister is needed for Klaus, a simple web frontend for git repositories.
Klaus sites can be listed by downloading and parsing the front page, for example using this shell oneliner:
site=https://klausdemo.lophus.org/ ; git=$site ; suffix=.git ; curl -sL "$site" | grep -E 'class="?name"?' | tr '<>' '|' | cut -f3 -d '|' | sed "s=^=$git=;s=$=$suffix="
On most Klaus sites (but not all), the page for the repo has the git clone URL, in the div.history h2 code
tag text.
On all Klaus sites, the page for the repo has tarball download URLs, in the div.tree h2 span a
href
attribute.
Klaus sites have powered by klaus 2.0.2, a simple Git viewer by Jonas Haag
or similar text in the footer.
According to Google and Bing, Klaus is used on sites below.
The two janitor sites in the list below don't comply with the front page lister above, but definitely do use klaus, but are a bit broken for some repos.
https://git.catseye.tc/
https://git.cinege.com/
https://git.dumitru.net/
https://git.fruit.je/
https://git.gdritter.com/
https://git.luchianov.dev/
https://git.s-ol.nu/
https://klausdemo.lophus.org/
https://wrsjoou.josrouw.nl/
https://janitor.debian.net/git/
https://janitor.kali.org/git/
Plan:
-
Implement lister -
Implement loader -
docker: Run lister -
docker: Run loader -
Document lister -
Document loader -
Deploy on staging -
Call for public review -
Deploy on production