Compare commits

...

2 commits

Author SHA1 Message Date
n
a33f4e2e97
markdownlint fixes
All checks were successful
check / check (push) Successful in 7s
wtfpl.md from
https://github.com/IQAndreas/markdown-licenses/pull/12/files#diff-d3680e57bf07501d74278a9da08578428fe4328561ebcf73982aa105407c91b4
2024-10-03 23:54:14 +02:00
n
42eade53b6
add markdownlint to CI 2024-10-03 23:54:14 +02:00
4 changed files with 107 additions and 47 deletions

View file

@ -7,4 +7,8 @@ jobs:
name: check name: check
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- uses: actions/markdownlint-cli2-action@v17
with:
globs: |
**/*.md
- run: shellcheck *.sh monitoring/*.sh - run: shellcheck *.sh monitoring/*.sh

3
.markdownlint.json Normal file
View file

@ -0,0 +1,3 @@
{
"MD029": { "style": "zero" }
}

View file

@ -1,4 +1,5 @@
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE # Do what the fuck you want to public license
Version 2, December 2004 Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net> Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>

128
README.md
View file

@ -6,57 +6,109 @@ Various scripts for various tasks.
Scripts Scripts
------- -------
* [backupnaz.sh](https://forge.tourmentine.com/n/scripts/src/main/backupnaz.sh) => used to backup my NAS * [backupnaz.sh](https://forge.tourmentine.com/n/scripts/src/main/backupnaz.sh)
* [bootstraponline.sh](https://forge.tourmentine.com/n/scripts/src/main/bootstraponline.sh) => create a root-on-zfs FreeBSD server. can be used on Scaleway/Online, using this [howto](https://loicpefferkorn.net/2015/10/freebsd-10.2-release-on-a-dedibox-xc-server-online.net-with-root-on-zfs/) => used to backup my NAS
* [cleanmaildir.sh](https://forge.tourmentine.com/n/scripts/src/main/cleanmaildir.sh) => delete old mail in maildirs * [bootstraponline.sh](https://forge.tourmentine.com/n/scripts/src/main/bootstraponline.sh)
* [dodo.sh](https://forge.tourmentine.com/n/scripts/src/main/dodo.sh) => turn off screen using DPMS => create a root-on-zfs FreeBSD server. can be used on Scaleway/Online,
* [dump_mysql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_mysql.sh) => dump all mysql databases (and send a report to the monitoring system) using this
* [dump_postgresql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_postgresql.sh) => dump all Postgres databases (and send a report to the monitoring system). based on [dump_mysql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_mysql.sh). [howto](https://loicpefferkorn.net/2015/10/freebsd-10.2-release-on-a-dedibox-xc-server-online.net-with-root-on-zfs/)
* [opdsupdates.py](https://forge.tourmentine.com/n/scripts/src/main/opdsupdates.py) => look for OPDS catalog updates and send a mail if any * [cleanmaildir.sh](https://forge.tourmentine.com/n/scripts/src/main/cleanmaildir.sh)
* [qownnotes-mermaid-dark.qml](https://forge.tourmentine.com/n/scripts/src/main/qownnotes-mermaid-dark.qml) => Fork of QOwnNotes' [Mermaid script](https://github.com/qownnotes/scripts/tree/master/mermaid) for dark theme => delete old mail in maildirs
* [randomwallpaper.sh](https://forge.tourmentine.com/n/scripts/src/main/randomwallpaper.sh) => display a random wallpaper * [dodo.sh](https://forge.tourmentine.com/n/scripts/src/main/dodo.sh)
* [secupdate](https://forge.tourmentine.com/n/scripts/src/main/secupdate) => apply security updates & recompile kernel (FreeBSD) => turn off screen using DPMS
* [superscreen](https://forge.tourmentine.com/n/scripts/src/main/superscreen) => open multiple ssh sessions to a bunch of servers inside a screen * [dump_mysql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_mysql.sh)
* [supertmux](https://forge.tourmentine.com/n/scripts/src/main/supertmux) => open multiple ssh sessions to a bunch of servers inside a tmux => dump all mysql databases (and send a report to the monitoring system)
* [zfsync.sh](https://forge.tourmentine.com/n/scripts/src/main/zfsync.sh) => sync some ZFS pools between two machines * [dump_postgresql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_postgresql.sh)
=> dump all Postgres databases (and send a report to the monitoring system).
based on [dump_mysql.sh](https://forge.tourmentine.com/n/scripts/src/main/dump_mysql.sh).
* [opdsupdates.py](https://forge.tourmentine.com/n/scripts/src/main/opdsupdates.py)
=> look for OPDS catalog updates and send a mail if any
* [qownnotes-mermaid-dark.qml](https://forge.tourmentine.com/n/scripts/src/main/qownnotes-mermaid-dark.qml)
=> Fork of QOwnNotes' [Mermaid script](https://github.com/qownnotes/scripts/tree/master/mermaid)
for dark theme
* [randomwallpaper.sh](https://forge.tourmentine.com/n/scripts/src/main/randomwallpaper.sh)
=> display a random wallpaper
* [secupdate](https://forge.tourmentine.com/n/scripts/src/main/secupdate)
=> apply security updates & recompile kernel (FreeBSD)
* [superscreen](https://forge.tourmentine.com/n/scripts/src/main/superscreen)
=> open multiple ssh sessions to a bunch of servers inside a screen
* [supertmux](https://forge.tourmentine.com/n/scripts/src/main/supertmux)
=> open multiple ssh sessions to a bunch of servers inside a tmux
* [zfsync.sh](https://forge.tourmentine.com/n/scripts/src/main/zfsync.sh)
=> sync some ZFS pools between two machines
Greasemonkey/Userscripts Greasemonkey/Userscripts
------------------------ ------------------------
* [autocompleteondamnit.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/autocompleteondamnit.user.js) => greasemonkey script for autocomplete on all forms * [autocompleteondamnit.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/autocompleteondamnit.user.js)
* [nickbook.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/nickbook.user.js) => greasemonkey script for facebook => greasemonkey script for autocomplete on all forms
* [rue89.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/rue89.user.js) => greasemonkey script to restore legacy rue89 favicon * [nickbook.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/nickbook.user.js)
* [clearvtigerloginform.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/clearvtigerloginform.user.js) => greasemonkey script to remove auto-filled login&password "admin" added by VTiger setup => greasemonkey script for facebook
* [rue89.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/rue89.user.js)
=> greasemonkey script to restore legacy rue89 favicon
* [clearvtigerloginform.user.js](https://forge.tourmentine.com/n/scripts/src/main/userscripts/clearvtigerloginform.user.js)
=> greasemonkey script to remove auto-filled login&password "admin" added by
VTiger setup
Patches Patches
------- -------
* [alcasar_logo.patch](https://forge.tourmentine.com/n/scripts/src/main/alcasar_logo.patch) => small patch to add a background changer for ALCASAR webpages * [alcasar_logo.patch](https://forge.tourmentine.com/n/scripts/src/main/alcasar_logo.patch)
* [shaarli_OleG.0.9.0.patch](https://forge.tourmentine.com/n/scripts/src/main/shaarli_OleG.0.9.0.patch) => Open Graph support for Shaarli 0.9.X ( Hi [Charly](https://fr.wikipedia.org/wiki/Charly_Oleg)! ). no more necessary in Shaarli 0.10.0 and after => small patch to add a background changer for ALCASAR webpages
* [twitter2clickable.diff](https://forge.tourmentine.com/n/scripts/src/main/twitter2clickable.diff) => makes Twitter & Fediverse links clickable in Shaarli 0.9.X-0.11.X ( Hi [Charly](https://fr.wikipedia.org/wiki/Charly_Oleg)! ). no more usable in Shaarli 0.12.X, please use [clickat plugin](https://forge.tourmentine.com/n/clickat) instead * [shaarli_OleG.0.9.0.patch](https://forge.tourmentine.com/n/scripts/src/main/shaarli_OleG.0.9.0.patch)
=> Open Graph support for Shaarli 0.9.X
( Hi [Charly](https://fr.wikipedia.org/wiki/Charly_Oleg)! ).
no more necessary in Shaarli 0.10.0 and after
* [twitter2clickable.diff](https://forge.tourmentine.com/n/scripts/src/main/twitter2clickable.diff)
=> makes Twitter & Fediverse links clickable in Shaarli 0.9.X-0.11.X
( Hi [Charly](https://fr.wikipedia.org/wiki/Charly_Oleg)! ).
no more usable in Shaarli 0.12.X, please use
[clickat plugin](https://forge.tourmentine.com/n/clickat) instead
Monitoring Monitoring
------- -------
* [check_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_ntppool_score) => Simple shell script to check score on NTP Pool Project (score must be over 10 to serve NTP). Requires cURL and bc, fits for Nagios/Shinken/Icinga/etc. * [check_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_ntppool_score)
* [collectd_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/collectd_ntppool_score) => Same as [check_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_ntppool_score) but for collectd graphing. => Simple shell script to check score on NTP Pool Project (score must be over 10
* [check_postgresql_replication.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_postgresql_replication.sh) => check postgresql's replication lag. to serve NTP). Requires cURL and bc, fits for Nagios/Shinken/Icinga/etc.
* [check_rspamc](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_rspamc) => Check rspamd status. Heavily based on [check_spamc](https://www.vanheusden.com/Linux/check_spamc-0.1.tgz). * [collectd_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/collectd_ntppool_score)
* [check_gemini.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_gemini.sh) => Nagios/Icinga check for Gemini capsule availability. Requires gnutls for now (not tested with other tls clients). => Same as [check_ntppool_score](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_ntppool_score)
* [check_lastdate.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_lastdate.sh) => Check for a +%Y-%m-%d %H:%M:%S-formated date in the last two lines of a file. but for collectd graphing.
* [GonKyrellM](https://forge.tourmentine.com/n/scripts/src/main/monitoring/GonKyrellM) => Conky, GKrellM style - with "invisible" theme (well, sort of) * [check_postgresql_replication.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_postgresql_replication.sh)
* [collectweather.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/collectweather.sh) => get weather data from https://openweathermap.org/ and feed collectd with it. needs jq as OpenWeather provides data in json format. => check postgresql's replication lag.
* [check_rspamc](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_rspamc)
=> Check rspamd status. Heavily based on [check_spamc](https://www.vanheusden.com/Linux/check_spamc-0.1.tgz).
* [check_gemini.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_gemini.sh)
=> Nagios/Icinga check for Gemini capsule availability. Requires gnutls for now
(not tested with other tls clients).
* [check_lastdate.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/check_lastdate.sh)
=> Check for a +%Y-%m-%d %H:%M:%S-formated date in the last two lines of a file.
* [GonKyrellM](https://forge.tourmentine.com/n/scripts/src/main/monitoring/GonKyrellM)
=> Conky, GKrellM style - with "invisible" theme (well, sort of)
* [collectweather.sh](https://forge.tourmentine.com/n/scripts/src/main/monitoring/collectweather.sh)
=> get weather data from [https://openweathermap.org/] and feed collectd with it.
needs jq as OpenWeather provides data in json format.
Attic Attic
----- -----
* [73lab.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/73lab.sh) => grap 73lab's wallpapers * [73lab.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/73lab.sh)
* [caminfo.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/caminfo.sh) => update webcam info with xmms ouput => grap 73lab's wallpapers
* [caminit](https://forge.tourmentine.com/n/scripts/src/main/attic/caminit) => manage a very old webcam (Logitech Quickcam) * [caminfo.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/caminfo.sh)
* [kimsufi_postinstall.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/kimsufi_postinstall.sh) => bootstrap script for fresh kimsufi/OVH servers => update webcam info with xmms ouput
* [mplayer_update.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/mplayer_update.sh) => download, compile and install FFMpeg & MPlayer * [caminit](https://forge.tourmentine.com/n/scripts/src/main/attic/caminit)
* [mkvig](https://forge.tourmentine.com/n/scripts/src/main/attic/mkvig) => little script to download covers => manage a very old webcam (Logitech Quickcam)
* [tssh](https://forge.tourmentine.com/n/scripts/src/main/attic/tssh) => automaticaly rename Konsole tabs using ssh'ed hostname * [kimsufi_postinstall.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/kimsufi_postinstall.sh)
* [webnewsget2.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/webnewsget2.sh)+[html2rss.php](https://forge.tourmentine.com/n/scripts/src/main/attic/html2rss.php) => download HTML pages and generate RSS feeds from them => bootstrap script for fresh kimsufi/OVH servers
* [tsize.c](https://forge.tourmentine.com/n/scripts/src/main/attic/tsize.c) => small utility that displays a directory's size (yes, I basically rewrote DU(1)). original comments & bugs included, straight from the Millenium era * [mplayer_update.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/mplayer_update.sh)
=> download, compile and install FFMpeg & MPlayer
* [mkvig](https://forge.tourmentine.com/n/scripts/src/main/attic/mkvig)
=> little script to download covers
* [tssh](https://forge.tourmentine.com/n/scripts/src/main/attic/tssh)
=> automaticaly rename Konsole tabs using ssh'ed hostname
* [webnewsget2.sh](https://forge.tourmentine.com/n/scripts/src/main/attic/webnewsget2.sh)
+[html2rss.php](https://forge.tourmentine.com/n/scripts/src/main/attic/html2rss.php)
=> download HTML pages and generate RSS feeds from them
* [tsize.c](https://forge.tourmentine.com/n/scripts/src/main/attic/tsize.c)
=> small utility that displays a directory's size (yes, I basically rewrote
DU(1)). original comments & bugs included, straight from the Millenium era