+++ /dev/null
-../../bookworm/aptmark/catgirl
\ No newline at end of file
--- /dev/null
+# ircplom
+
+# to run in venv
+pyvenv
+# for detachable sessions
+dtach
+# for logs encryption
+age
+#
+++ /dev/null
-../../bookworm/copy/catgirl
\ No newline at end of file
--- /dev/null
+[Unit]
+Description=Run script for encrypting ircplom logs.
+
+[Service]
+Type=oneshot
+User=plom
+ExecStart=/bin/sh -cl 'encrypt_ircplom_logs'
+
--- /dev/null
+[Unit]
+Description=Run service for encrypting ircplom logs once every day.
+
+[Timer]
+OnCalendar=*-*-* 01:00:00
+
+[Install]
+WantedBy=timers.target
+
--- /dev/null
+[Unit]
+Description=ircplom dtached
+After=network.target
+
+[Service]
+Type=simple
+User=plom
+WorkingDirectory=/home/plom
+ExecStart=/bin/sh -lc "dtach -n /tmp/dtach_ircplom && while true; do sleep 1; test ! -e /tmp/dtach_ircplom && break; done"
+ExecStop=/bin/sh -lc "rm /tmp/dtach_ircplom"
+Environment=TERM=linux
+Restart=on-success
+RestartSec=10
+
+[Install]
+WantedBy=multi-user.target
+
--- /dev/null
+alias attach_ircplom='dtach -a /tmp/dtach_ircplom -e "^t"'
--- /dev/null
+to_highlight = ['plom', 'plomlompom']
+
+[[server]]
+hostname = 'irc.libera.chat'
+nickname = 'plomtest'
+password = 'REPLACE_WITH_IRC_PASSWORD'
+channels = [
+ '#plomtest',
+ '##plomtest',
+ '##newdrama',
+ '#mnt-reform',
+]
--- /dev/null
+#!/bin/sh
+set -e
+cd $(dirname "$0")
+. lib/expect_n_args
+
+expect_n_args 0 0 ''
+
+PATH_LOGS="${HOME}/.local/share/ircplom/logs"
+PATH_ENCRYPTED_LOGS="${HOME}/logs_encrypted"
+PATH_ENCRYPTION_KEY="${HOME}/.plomlib/encrypt_with.pub"
+
+TODAY="$(date +'%Y-%m-%d')"
+set +e
+PATHS_LOGFILES="$(ls ${PATH_LOGS}/*/*/*.log 2> /dev/null)"
+set -e
+if [ -z "${PATHS_LOGFILES}" ]; then
+ echo "No log files present, so nothing to do."
+ exit 0
+fi
+for _PATH_LOGFILE in ${PATHS_LOGFILES}; do
+ _FILENAME=$(basename "${_PATH_LOGFILE}")
+ _DATE_OF_LOG=$(echo "${_FILENAME}" | cut -d'.' -f1)
+ _DIRNAME=$(dirname "${_PATH_LOGFILE}")
+ _WINDOW_OF_LOG=$(basename "${_DIRNAME}")
+ _DIRNAME=$(dirname "${_DIRNAME}")
+ _NETWORK_OF_LOG=$(basename "${_DIRNAME}")
+ if ! [ "${_DATE_OF_LOG}" '<' "${TODAY}" ]; then
+ echo "${_PATH_LOGFILE} too young, ignoring."
+ else
+ echo "${_PATH_LOGFILE}: encrypting to ${PATH_ENCRYPTED_LOGS}, deleting original …"
+ _PATH_TARGET="${PATH_ENCRYPTED_LOGS}/${_NETWORK_OF_LOG}/${_WINDOW_OF_LOG}"
+ mkdir -p "${_PATH_TARGET}"
+ age -R "${PATH_ENCRYPTION_KEY}" "${_PATH_LOGFILE}" > "${_PATH_TARGET}/${_FILENAME}.age"
+ rm "${_PATH_LOGFILE}"
+ fi
+done
--- /dev/null
+../../../../../scripts/lib/abort.sh
\ No newline at end of file
--- /dev/null
+../../../../../scripts/lib/expect_n_args.sh
\ No newline at end of file
--- /dev/null
+../../../../../scripts/lib/prefixed_msg.sh
\ No newline at end of file
+++ /dev/null
-../../bookworm/scripts/setup_catgirl.sh
\ No newline at end of file
--- /dev/null
+#!/bin/sh
+set -e
+cd $(dirname "$0")
+. lib/constants_user.sh # PATH_USER_HOME
+. lib/expect_n_args.sh
+. lib/install_tags.sh
+. lib/prefixed_msg.sh
+
+prefixed_msg_init
+prefixed_msg 'starting'
+
+expect_n_args 1 1 'IRC_PASSWORD' $@
+IRC_PASSWORD="$1"
+
+install_tags ircplom
+URL_REPO='https://plomlompom.com/repos/clone/ircplom'
+cd ~
+git clone "${URL_REPO}"
+cd ircplom
+./install.sh
+
+PATH_USER_CONF_IRCPLOM="${PATH_USER_HOME}/.config/ircplom/ircplom.toml"
+prefixed_msg "Writing provided password into ${PATH_USER_CONF_CATGIRL} …"
+sed -i "s/REPLACE_WITH_IRC_PASSWORD/${IRC_PASSWORD}/g" "${PATH_USER_CONF_IRCPLOM}"
+
+prefixed_msg 'Activating ircplom dtach session …'
+systemctl enable --now ircplom
+
+prefixed_msg 'Activating ircplom logs encryption service/timer …'
+systemctl enable --now encrypt_ircplom_logs.timer
+
+prefixed_msg_exit