Skip to content

Instantly share code, notes, and snippets.

View mbierman's full-sized avatar

Michael Bierman mbierman

View GitHub Profile
@mbierman
mbierman / docker-compose.yaml
Created January 13, 2022 07:38
UniFi YAML for Firewalla
version: "3"
services:
unifi:
container_name: unifi
image: jacobalberty/unifi:latest
volumes:
- '/data/unifi/:/unifi'
restart: unless-stopped
networks:
@mbierman
mbierman / fwbackup.sh
Last active July 28, 2024 05:44
Backup for Firewalla Gold / Purple
#!/bin/bash
#variables
add=${1:-40}
backuphost=192.168.0.$add
user=michael
basedir=/Users/$user/Documents/Applications/Firewalla/backup
echo "Backing up to $backuphost"
echo -n "Enter your password and press [ENTER]: "
@mbierman
mbierman / logspeed.sh
Last active January 25, 2024 14:26
Log speedtest results on Firewalla
#!/bin/bash
# https://gist.github.com/mbierman/6a32df2909202c373a6a39063181dc40
# v 0.4.1
BASEDIR=$(dirname $0)
IFTTTKEY="$(cat $BASEDIR/IFTTT.data | grep IFTTTKEY| cut -f2 -d "=" )"
EVENT="FWspeedtest"
log=/data/logs/logspeed.log
@mbierman
mbierman / exifRename.sh
Last active August 11, 2022 02:21
exifRename.sh
#!/bin/bash
# requires:
# * https://formulae.brew.sh/formula/jq#default
# * https://formulae.brew.sh/formula/exiftool#default
for file in "$@"
do
date=$(exiftool -json "$file" | jq '.[] .CreateDate' | sed -e 's| |_|g' -e 's|:|.|g' -e 's|"||g')
@mbierman
mbierman / fw_reboot.sh
Last active February 17, 2023 06:35
Firewalla script to log upgrades and reboots and notify you.
#!/bin/bash
# v 1.2.2
dir=$(dirname "$0")
IFTTTKEY="$(cat $dir/rebootdata.txt | grep IFTTTKEY | cut -f2 -d "=" )"
IFTTTrigger="$(cat $dir/rebootdata.txt | grep IFTTTTrigger | cut -f2 -d "=" )"
version=$(cat ~/firewalla/net2/config.json | jq '.version')
version=${version:=Not Found}
OS=$(lsb_release -r | cut -f2)
build=$(grep -a "FIREWALLA.UPGRADECHECK.CHECK" /log/firewalla/firelog.log | tail -1 | cut -f12 -d" " | cut -c 1-8)
@mbierman
mbierman / fwg_reboot_notifications.sh
Last active August 11, 2022 02:21
Firewalla reboot notification via IFTT
#!/bin/bash
dir=$(dirname "$0")
IFTTTKEY="$(cat $dir/rebootdata.txt | grep IFTTTKEY | cut -f2 -d "=" )"
IFTTTrigger="$(cat $dir/rebootdata.txt | grep IFTTTTrigger | cut -f2 -d "=" )"
echo $IFTTTrigger
ONLINE=1
while [ $ONLINE -ne 0 ]
do
@mbierman
mbierman / lights.sh
Last active November 13, 2023 16:27
Turn on/off lights on Unifi APs
#!/bin/bash
# Variables
result=""
count=0
log=/data/logs/lights.log
private=/home/pi/.firewalla/config/post_main.d/pass.txt
dir=$(dirname "$0")
user=$(cat $dir/lights.txt | grep user | cut -f2 -d "=" )
baseIP=192.168.0
@mbierman
mbierman / updatedocker.sh
Last active November 1, 2025 21:39
Update Docker containers on Fireawlla
#!/bin/bash
# version 3.3.1
# https://gist.github.com/mbierman/6cf22430ca0c2ddb699ac8780ef281ef
DOCKER=$(which docker)
image=$1
wait=2
# Parse -f flag (must come before the image name)
@mbierman
mbierman / install_speedtest.sh
Last active February 8, 2026 20:02
Install Speedtest for firewalla
!/bin/bash
# 3.0
# https://gist.github.com/mbierman/9ac6a35622ee5a0c631ed6f6ad74b722
# Put this script in ~/.firewalla/config/post_main.d in order to resinstall after upgrades
dir=/data
log=/data/logs/fw_reboot.txt
if ! [ -w $log ] ; then
@mbierman
mbierman / updateIPCloudflare.sh
Last active April 3, 2026 20:45
DDNS update for Cloudflare with dual WAN support
#!/usr/bin/env bash
# Enter your cloudflare credentials
zoneID=""
ID=""
APIToken=""
# the DNS record
name="domain"
# your WAN port eg. eth0
interface=eth2