Skip to content

Instantly share code, notes, and snippets.

View luckman212's full-sized avatar

Luke Hamburg luckman212

View GitHub Profile
@luckman212
luckman212 / icloud_ubiquity_fix.sh
Last active July 30, 2025 23:42
Fix for stuck iCloud Ubiquity containers reported as Client Truth Unclean Items
#!/usr/bin/env bash
CLIENT_DB="$HOME/Library/Application Support/CloudDocs/session/db/client.db"
[[ -e $CLIENT_DB ]] || { echo "db not found"; exit 1; }
mapfile -t ITEM_IDS < <(sqlite3 "$CLIENT_DB" <<-EOS
SELECT throttle_id
FROM client_sync_up
EOS
)
@luckman212
luckman212 / .env
Last active September 3, 2023 01:27
docker-compose config for speedtest-tracker + MariaDB on Synology
# place in same dir as compose.yml, adjust as needed for your environment
# create a limited user and run `id <username>` to get the PUID/PGID values
TZ=America/New_York
CNAME=speedtest
DOCKER_DIR=/volume1/docker
PUID=1030
PGID=100
MARIADB_DATABASE=speedtest-tracker
MARIADB_USER=speedy
Just something weird I'm investigating
https://www.alfredforum.com/topic/20542-with-space-keywordargument-option-being-ignored-script-filter/
@luckman212
luckman212 / pwgen-dw.py
Last active January 25, 2023 15:01
small wrapper around diceware (https://pypi.org/project/diceware) to implement multiple passphrase generation
#!/usr/bin/env python3
"""
generates multiple random passphrases in one go
https://github.com/ulif/diceware/issues/53
requires diceware: pip install diceware
"""
import os
@luckman212
luckman212 / syno_hb_hcio.sh
Last active November 7, 2024 17:39
Script to ping healthchecks.io if Synology HyperBackup was successful
#!/usr/bin/env bash
ENDPOINT='https://hc-ping.com/{insert-HealthChecks-UUID-here}'
#logfile location changed as of v4.1.2-4039
#LOGFILE='/var/log/synolog/synobackup.log'
LOGFILE='/volume1/@appdata/HyperBackup/log/synolog/synobackup.log'
[[ -e $LOGFILE ]] || exit 1
awk -f- $LOGFILE <<'EOF'
@luckman212
luckman212 / syncthing-log-stream.sh
Created November 7, 2022 18:09
stream change events via syncthing REST API
#!/usr/bin/env bash
# https://docs.syncthing.net/rest/events-get.html
# https://docs.syncthing.net/dev/events.html#event-types
APIKEY=$(defaults read com.github.xor-gate.syncthing-macosx ApiKey)
[[ -n "$APIKEY" ]] || { echo "error retreiving API key"; exit 1; }
ENDPOINT='http://localhost:8384/rest/events/disk'
INTERVAL=2
@luckman212
luckman212 / obsidian_link2.sh
Last active March 7, 2024 16:37
Self contained version that should fully work for generating Markdown links via Service Station [REQUIRES Python3 from Homebrew!]
#!/usr/bin/env bash
###############################################
### requires python3 installed via Homebrew ###
###############################################
unset TARGETED_URL
MENU_KIND=-1
SELECTED_ITEM_URLS=()
@luckman212
luckman212 / wgfix.sh
Last active October 3, 2022 20:54
wgfix 1.0 (deprecated: use v2.0, see https://github.com/luckman212/wgfix)
#!/bin/sh
# put the line below at the end of /etc/rc.gatway_alarm, just above the final `exit`:
# /root/wgfix.sh "${GW}" "${alarm_flag}"
# set the 2 variables below to match the interface name and public key
# of the wg tunnel that you want to "fail back" when your default gateway changes
# WG_PEER_PUBLIC_KEY should be the public key from the FAR side (i.e the one from the PEERS tab)
WG_IFNAME='tun_wg0'
WG_PEER_PUBLIC_KEY='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
@luckman212
luckman212 / dpinger_static_routes.php
Last active July 18, 2023 22:58
dpinger_static_routes.php - helper script related to https://github.com/pfsense/pfsense/pull/4591
<?php
// includes
require_once("functions.inc");
require_once("system.inc");
require_once("util.inc");
// global dpinger_dont_add_static_routes option
$dp_global_sr_disable = (isset($config['system']['dpinger_dont_add_static_routes']) ? 'ENABLED (checked)' : 'default (unchecked)');
printf("==> global `dpinger_dont_add_static_routes` setting: %s\n", $dp_global_sr_disable);
@luckman212
luckman212 / plist-parse.py
Created May 18, 2022 23:14
small python script to print a single key from a plist
#!/usr/bin/env python3
import sys
import plistlib
try:
f = sys.argv[1]
k = sys.argv[2]
except:
print(f'supply .plist pathname AND key as args', file=sys.stderr)