No description
  • Python 53.3%
  • Shell 41.4%
  • Perl 5.3%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-13 14:35:56 +02:00
AGENTS.md doc: agents.md 2026-08-20 13:28:55 +02:00
awx-check.py new: awx-check.py 2026-08-20 12:18:21 +02:00
awx-inventory.py fixes: debian-cve-watcher + awx-inventory 2026-10-13 14:35:56 +02:00
backup-clean.sh ref-ai: refactor of all scripts by ai 2026-08-20 13:28:22 +02:00
backup.sh ref-ai: refactor of all scripts by ai 2026-08-20 13:28:22 +02:00
debian-cve-matcher.py fixes: debian-cve-watcher + awx-inventory 2026-10-13 14:35:56 +02:00
exif-people-symlink.sh Do a check if exiftool is on the system 2020-05-11 10:02:52 +02:00
gen-actor-pair-graphviz.sh actor pair graphviz 2025-02-02 19:43:50 +01:00
gen-plex-cert.sh ref-ai: refactor of all scripts by ai 2026-08-20 13:28:22 +02:00
gen-torrent-hash.py new ones 2025-02-02 19:28:14 +01:00
gen-unifi-cert.sh * Fixes as suggested by newburns 2021-07-09 11:02:07 +02:00
Makefile.postfix - Postfix Makefile 2020-02-03 13:50:46 +01:00
newmaildir.sh Shellchecked newmaildir.sh 2019-11-28 10:08:43 +01:00
nfo-symlink.sh Minor nfo update 2024-09-18 09:08:42 +02:00
nfo-tool.pl ref-ai: refactor of all scripts by ai 2026-08-20 13:28:22 +02:00
orphan-nfo.sh Orphaned nfo 2025-02-02 19:21:55 +01:00
produce-redirect.sh Multiple script cleanups using ShellCheck 2019-11-25 15:33:53 +01:00
README.md fixes: debian-cve-watcher + awx-inventory 2026-10-13 14:35:56 +02:00
rename-ascii.py new ones 2025-02-02 19:28:14 +01:00
rtorrent-check.py rtorrent check and clean 2025-02-02 19:23:52 +01:00
scan-pf-log.sh Check for logfile existence 2019-12-09 12:36:16 +01:00
search_ip.py Small change in variable assignment to prevent errors when no ip address 2019-05-28 15:04:40 +02:00
search_tenant_resources_public.py Netbox script to list all IP prefixes from a tenant 2019-11-25 14:37:25 +01:00
ssdstor-enclosure-leds SSDStor Enclosure LEDS 2024-12-12 15:45:51 +01:00
ssdstor-enclosure-leds-zfs SSDStor Enclosure LEDS 2024-12-12 15:45:51 +01:00
update-nfo.sh Multiple script cleanups using ShellCheck 2019-11-25 15:33:53 +01:00

scripts

This is a mirror of the original git repo in my personal forgejo

https://oisec.net/

Destructive scripts (delete or overwrite data): backup-clean.sh, orphan-nfo.sh, rename-ascii.py, rtorrent-check.py, update-nfo.sh.

Server maintenance and operations

produce-redirect.sh: produce nginx configuration files for URL redirection

backup.sh: remote rsync backup script with hard-link incremental support. Usage: backup.sh <remote host> <remote path> <local path>. Requires an existing snapshot directory under the local path to use as --link-dest.

backup-clean.sh: remove the oldest non-monthly snapshot when more than 10 remain. First-of-month directories (YYYY-MM-01…) are kept. Usage: backup-clean.sh <local path> or the same 3 args as backup.sh.

scan-pf-log.sh: check log entries for specific e-mail adres and show full log

Makefile.postfix: Makefile to reload postfix and generate new .db/maps for postfix

ssdstor-enclosure-leds: map md/RAID devices to SAS enclosure slots, SMART-check drives, set fault LEDs (root)

ssdstor-enclosure-leds-zfs: same as above for ZFS pools instead of md

Letsencrypt Scripts

gen-plex-cert.sh: SSL Certificates for Plex using letsencrypt. Requires PLEX_KEYFILE_PASS (PKCS12 / Plex custom certificate encryption key). The old hardcoded password was committed to git — treat it as compromised, export a new secret, and set the same value in Plex.

gen-unifi-cert.sh: SSL Certificates for Unifi Controller using letsencrypt

Network Engineering

search_ip.py: Generate overview of an IP address from Netbox

search_tenant_resources_public.py: Generate overview of all prefixes of a tenant from Netbox

Emby Scripts

update-nfo.sh: generate emby .nfo files to set actor/actress for all movies in the directory (recursive). Overwrites existing .nfo sidecars.

nfo-tool.pl: patch an existing .nfo (year, actor, studio, tags) without regenerating the whole file. Use this to update; use update-nfo.sh to create.

nfo-symlink.sh: if media has been symlinked to another file this will also fix a symlink for the corresponding .nfo file

orphan-nfo.sh: find .nfo files with no matching media sidecar and rename them to .nfo.backup

gen-actor-pair-graphviz.sh: emit Graphviz edges for actor pairs found in /opt/**/*.nfo

Maildir/MUTT scripts

newmaildir.sh: script to do a monthly rotate on a maildir structure

EXIF/Picture Scripts

exif-people-symlink.sh: extract exif people tag (Picasa) and symlink into persons directory

rename-ascii.py: strip non-ASCII characters from filenames in the current directory

Ansible / AWX / AAP

awx-check.py: extracts all job templates with configured limits. Token via AWX_TOKEN or --token; URL via AWX_URL.

awx-inventory.py: dump AWX inventories as an Ansible YAML inventory. Each AWX inventory is a child group, with its host groups kept. Disabled hosts are omitted. Host descriptions come from AWX; a host with none is marked "Auto Added by AWX Inventory". Token via AWX_TOKEN or --token; URL via AWX_URL.

Torrents

gen-torrent-hash.py: print infohash for example.torrent via libtorrent (stub)

rtorrent-check.py: verify a torrent against /media/torrent/unsorted/ and delete the rtorrent job if files are missing