Skip to content

Instantly share code, notes, and snippets.

View Bachsau's full-sized avatar

Bachsau

View GitHub Profile
@Bachsau
Bachsau / localhost.pem
Last active December 5, 2023 02:06
TLS certificate for testing on localhost
-----BEGIN PRIVATE KEY-----
MIIJQgIBADANBgkqhkiG9w0BAQEFAASCCSwwggkoAgEAAoICAQDCS1cz8+MwcnN6
A5qK30AQX+CPXNwuYF738+1zhlVuHzdo/3X76Go1lCfFM+8lpYYxKPOsz6cgLf5f
HWfc3Ikj1OCmHs5LorfQKVormkbBW9aBwaN79Uq+Y8+r6dz0pT0HyLzcWQ/DDgbX
GAzU1hZcuYw5UjN4dptpZk27sTKTrukgNcMttC0CRYgpV1ICCgeT7D1mVAoB+oeF
0I+OxkX5vkPZAab/nzGSuW+hMHiwsf0OoNtkAxkGjrPvHXmB6t/MrYDByCQBi3x9
jhRKZ4ADPXCZMTw7iUoAqBDJ4imMbHN/cfonuKmU0YSbQJYLrZFhOVWHHGJeeXqW
8EuYojaxsxR8YRirNKNVSaUA+7zo0zMWo1Ig1tqONSwZys3QbZA4W3nibICZA8bR
0onKo1iyq+ASHxD7hEEKHLuZnfgs5y8jXbIyxOMAiiFHJoRwwckJ3PcsmvUmpHuG
MinJisbDAVGk2wAzZ7clZs9l510sgFw9RrEGvedB1lO6UFxs2VxxyH6sOfWc4HTs
@Bachsau
Bachsau / cli.ini
Last active October 20, 2023 14:37
Non-patronizing Certbot configuration
# Certbot configuration by Bachsau
# System
max-log-backups = 0
#no-random-sleep-on-renew = true
verbose = 1
# CA settings
#server = https://acme-staging-v02.api.letsencrypt.org/directory
preferred-chain = ISRG Root X1
@Bachsau
Bachsau / deploy.cgi
Last active March 13, 2023 10:57
The simplest of Git deployment scripts: Just ping it!
#!/bin/sh -eu
while read -r discard; do :; done; unset -v discard
echo 'Content-Type: text/plain; charset=UTF-8'
echo 'Cache-Control: no-store, max-age=0'
echo
git fetch -q github main
git reset --hard github/main
git clean -d -e '/deploy.cgi' -x
@Bachsau
Bachsau / post:10etckeeper.sh
Created February 28, 2023 21:15
Certbot hooks for etckeeper; place them in /etc/letsencrypt/renewal-hooks/(pre|post)/
#!/bin/sh -eu
# Run etckeeper after certificate renewal (by Bachsau)
if command -v etckeeper >/dev/null && etckeeper unclean; then
etckeeper commit "committing updates to certificate configuration files after renewal"
fi
@Bachsau
Bachsau / configuration_manager.py
Last active March 2, 2023 15:29
A simple abstraction of Python’s ConfigParser
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# A simple abstraction of Python’s ConfigParser.
# It features implicit type conversion and defaults through prior
# registration of settings. It can be used to save and read settings
# without bothering about the specifics of ConfigParser or the INI files
# themselves. It could also serve as a starting point to abstract
# platform-specific saving methods through its general API.
@Bachsau
Bachsau / dwarf-fortress.svg
Last active February 26, 2023 01:22
Handmade vector icon for Dwarf Fortress
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@Bachsau
Bachsau / update-mysql-timezones
Last active February 19, 2023 03:14
Single command to import system timezones into MySQL
#!/bin/sh -eu
if [ $(id -u) -ne 0 ]; then
echo 'Only root can do this' >&2
exit 1
fi
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql mysql
mysql_tzinfo_to_sql --leap /etc/localtime | mysql mysql
systemctl restart mysql.service
@Bachsau
Bachsau / update-certbot
Last active February 19, 2023 03:13
Single command to update a Certbot installed via pip
#!/bin/sh -eu
python3 -m venv --upgrade /opt/certbot
python3 -m venv --upgrade-deps /opt/certbot
/opt/certbot/bin/pip install --upgrade certbot certbot-dns-standalone
@Bachsau
Bachsau / backup-history.sh
Last active February 15, 2023 14:26
Bash history backup script
#!/bin/bash --login
# Make a backup of the user's Bash history
if [ -z "${HISTFILE}" ]; then
cd "${HOME}"
hfile='.bash_history'
else
cd "${HISTFILE%/*}"
hfile="${HISTFILE##*/}"
fi
@Bachsau
Bachsau / pythonrc.py
Created July 19, 2020 16:28
~/.pythonrc to make `exit` work without parentheses
# ~/.pythonrc
# -*- coding: utf-8 -*-
# Make `exit` work without parentheses
import sys
if "site" in sys.modules:
Quitter = type(exit)
Quitter.__str__ = Quitter.__repr__
Quitter.__repr__ = Quitter.__call__
del Quitter