Skip to content

Instantly share code, notes, and snippets.

View Scarsz's full-sized avatar
🐒
Programming Primate

Austin Shapiro Scarsz

🐒
Programming Primate
View GitHub Profile
@Scarsz
Scarsz / 99-ingest.rules
Last active May 17, 2025 10:18
Automatic TrueNAS media ingesting with UGREEN NAS blinky lights. Tested on DXP4800+
# /etc/udev/rules.d/99-ingest.rules
ACTION=="add", SUBSYSTEM=="block", KERNEL=="sd*[0-9]", ENV{ID_MODEL}=="MassStorageClass", RUN+="/bin/systemctl start ingest@%k.service"
# udevadm control --reload-rules
# udevadm trigger
@Scarsz
Scarsz / Log4JHook.java
Created April 7, 2025 22:57
Run a Runnable when a specific Log4J message is appended to the log
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.Appender;
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.appender.AbstractAppender;
import org.apache.logging.log4j.core.layout.PatternLayout;
import java.lang.reflect.InvocationTargetException;
import java.util.function.Predicate;
@Scarsz
Scarsz / Caddyfile
Last active March 19, 2025 02:08
Pterodactyl running in docker-compose stacks with Caddy reverse proxying + SSL behind CloudFlare
(ssl) {
tls {
dns cloudflare INSERT_CLOUDFLARE_TOKEN
}
}
(log) {
log {
output stdout
}
@Scarsz
Scarsz / printer.cfg
Created February 8, 2023 09:07
Klipper printer.cfg for my Ender 3 S1 (upgraded hot end, higher max temperature)
[include mainsail.cfg]
[stepper_x]
step_pin: PC2
dir_pin: PB9
enable_pin: !PC3
microsteps: 16
rotation_distance: 40
endstop_pin: !PA5
position_min: -14
@Scarsz
Scarsz / HandsOffTheItemFrames.java
Created July 28, 2020 22:18
WorldGuard item-frame-interact flag plugin
package github.scarsz.handsofftheitemframes;
import com.sk89q.worldedit.bukkit.BukkitAdapter;
import com.sk89q.worldedit.util.Location;
import com.sk89q.worldguard.WorldGuard;
import com.sk89q.worldguard.protection.flags.Flag;
import com.sk89q.worldguard.protection.flags.StateFlag;
import com.sk89q.worldguard.protection.flags.registry.FlagConflictException;
import com.sk89q.worldguard.protection.flags.registry.FlagRegistry;
import com.sk89q.worldguard.protection.regions.RegionContainer;
@Scarsz
Scarsz / RectangleBound.java
Last active April 29, 2020 00:33
Class for handling 2D rectangles in Minecraft
import lombok.Getter;
import org.bukkit.Location;
import org.bukkit.World;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
import java.util.stream.Stream;
public class RectangleBound {
@Scarsz
Scarsz / links.js
Last active January 13, 2019 04:31
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
namespace ScarszDebugTest
{
internal static class Program
{
@Scarsz
Scarsz / GenerateUndirectedGraphWithRoutesMaxLength.java
Last active April 21, 2018 01:21
Join a list of points with routes of a maximum length
import javafx.geometry.Point3D;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
@Scarsz
Scarsz / backup-files.sh
Created April 4, 2018 18:21
Script to backup specified directories to a compressed .tar.gz and upload to AWS S3
#!/bin/bash
bucket="milkyway-backups"
server="MILKYWAY"
subject="FILES"
locationstocompress=( "/home" "/var/www" "/etc/apache2" )
masterfile="$server-$subject-$(date +"%Y-%m-%d").tar.gz"
tmpdir="/tmp/backup-$(echo $RANDOM % 999999 + 1 | bc)"
masterfile="/tmp/$masterfile"