Skip to content

Instantly share code, notes, and snippets.

View hongkongkiwi's full-sized avatar
🤓

Andy hongkongkiwi

🤓
View GitHub Profile
@hongkongkiwi
hongkongkiwi / gist:fdea90cf945f5f79844067f571066e25
Created December 10, 2019 09:36
Displaying a DTB file from bash
# Install Device Tree Compiler
sudo apt-get install device-tree-compiler
# Generate a DTS file from DTB
dtc -I dtb -O dts -o a.dts a.dtb
# Can add these to your .bashrc file for some shortcuts
dtbs() ( dtc -I dtb -O dts -o - "$1" )
dtsb() ( dtc -I dts -O dtb -o - "$1" )
@hongkongkiwi
hongkongkiwi / gist:26272bcfc77162a5f15dabfaba6eb819
Created December 10, 2019 09:36
Displaying a DTB file from bash
# Install Device Tree Compiler
sudo apt-get install device-tree-compiler
# Generate a DTS file from DTB
dtc -I dtb -O dts -o a.dts a.dtb
# Can add these to your .bashrc file for some shortcuts
dtbs() ( dtc -I dtb -O dts -o - "$1" )
dtsb() ( dtc -I dts -O dtb -o - "$1" )
@hongkongkiwi
hongkongkiwi / bcrypt.sh
Created November 15, 2019 09:50
bcrypt a password from bash
#!/bin/bash
command -v htpasswd >/dev/null 2>&1 || { echo >&2 "I require htpasswd but it's not installed. Aborting."; exit 1; }
RAW=""
COUNT=10
while (( "$#" )); do
case "$1" in
-r|--raw)
@hongkongkiwi
hongkongkiwi / watchcert.sh
Created November 14, 2019 13:19
Watch a certificate and reload nginx
#!/bin/sh
while true; do
inotifywait -e modify /var/local/step/site.crt
nginx -s reload
done
@hongkongkiwi
hongkongkiwi / 99-zerotier-ddns
Last active September 8, 2019 16:21
networkd-dispatcher routable.d config for zerotier-ddns
#!/bin/bash
command -v zerotier-cli >/dev/null 2>&1 || { echo >&2 "I require zerotier-cli but it's not installed. Aborting."; exit 1; }
command -v systemctl >/dev/null 2>&1 || { echo >&2 "I require systemctl but it's not installed. Aborting."; exit 1; }
# Vars for updating
export ZONE=domain.com
export HOST=zt.domain.com
export USE_DYNAMIC_HOSTNAME=true
export API=yourapikey
@hongkongkiwi
hongkongkiwi / cloudflare-ddns.service
Created September 8, 2019 14:01
Runs a cloudflare ddns script to update the zerotier network address via Systemd
# /etc/systemd/system/cloudflare-ddns.service
[Unit]
Description=Zerotier DDNS Client
Wants=network-online.target
After=network.target
[Service]
Type=oneshot
Environment=ZONE=bla.com
@hongkongkiwi
hongkongkiwi / andy-motd-generator
Created May 8, 2019 05:01
Please this script into /etc/periodic/15m/motd to generate a message of the day every 15 mins
#!/bin/sh
UPTIME_DAYS=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 / 86400)
UPTIME_HOURS=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 % 86400 / 3600)
UPTIME_MINUTES=$(expr `cat /proc/uptime | cut -d '.' -f1` % 31556926 % 86400 % 3600 / 60)
FIRST=yes
for iface in $(ls -A /sys/class/net | grep eth)
do
INTERFACE="`echo "$iface" | sed 's/.*/\u&/'` Address: `ifconfig $iface | grep "inet addr" | awk -F: '{print $2}' | awk '{print $1}'`"
if [ $FIRST == "no" ]; then
@hongkongkiwi
hongkongkiwi / renew-cert.sh
Created May 6, 2019 08:53
Rewnew LetsEncrypt Certificate using docker. I use this for a crontab script.
#!/bin/bash
DOMAIN="$1"
TYPE="$2"
if [[ "$DOMAIN" == "" ]]; then
echo "No domain passed e.g. example.com"
exit 1
fi
@hongkongkiwi
hongkongkiwi / ykman-setup
Created March 4, 2019 03:44
Script to setup Yubikey to our desired configuration.
#!/bin/bash
YKMAN_BIN="ykman"
USE_PIV="NO"
USE_OPENPGP="YES"
YUBKEY_LIST=("")
NFC_ENABLED=""
@hongkongkiwi
hongkongkiwi / install-docker-compose.sh
Created October 24, 2018 07:40
Easily install or upgrade docker-compose on any system!
#!/bin/sh
COMPOSE_PATH="/usr/local/bin/docker-compose"
if `command -v "docker-compose" >/dev/null 2>&1`; then
CURRENT_VERSION=`docker-compose -v | sed 's|.*version \([0-9\.]*\).*|\1|'`
if [[ ! -f "$COMPOSE_PATH" ]]; then
echo "WARNING"
echo "Looks like docker-compose is not residing in $COMPOSE_PATH"
echo "This is OK, but make sure that your path variable has /usr/local/bin first to make sure you are running the latest"