Skip to content

Instantly share code, notes, and snippets.

View zsarge's full-sized avatar

Zack Sargent zsarge

View GitHub Profile
@zsarge
zsarge / create-kml-file.py
Created May 4, 2025 05:28
KML List of all Firetowers in USA
#!/usr/bin/env python3
"""
This script reads from "urls.txt", which is assumed to be the list of
firetowers from http://nhlr.org/.
From there, it parses all of the webpages, and builds up a "firetowers.kml" file,
which contains the points from the urls found.
Estimated runtime: 15 to 30 minutes, depending on the time slept.
@zsarge
zsarge / docker-compose.override.yml
Created April 22, 2025 18:46
STLP Docker Compose
services:
ctfd:
image: ctfd/ctfd
ports:
- "4500:8000"
environment:
- UPLOAD_FOLDER=/var/uploads
- LOG_FOLDER=/var/log/CTFd
- DATABASE_URL=sqlite:///ctfd.db
- WORKERS=1
@zsarge
zsarge / SnipeIt Modified Label.php
Created February 11, 2025 17:02
SnipeIT modified label for Norse IoT. This has the barcode and our text.
<?php
namespace App\Models\Labels\Tapes\Brother;
class TZe_12mm_A extends TZe_12mm
{
// this file lives at /var/www/html/snipeit/app/Models/Labels/Tapes/Brother/TZe_12mm_A.php
private const BARCODE_SIZE = 5.00;
private const BARCODE_MARGIN = 0.60;
private const TEXT_SIZE_MOD = 1.00;
#!/usr/bin/env python3
from pwn import *
realpath = "/home/sarge/Documents/bcctf/challenge/calling_convention"
elf = ELF(realpath)
# create a ropchain
rop = ROP(elf)
@zsarge
zsarge / install_fedora_software.sh
Created April 5, 2024 01:55
Bash script to install all of the software I frequently need on Fedora
#!/bin/bash
# These are all of the things that I install on Fedora linux.
set -e # exit on first error
sudo dnf update --refresh
# install chrome
sudo dnf install fedora-workstation-repositories
#!/bin/bash
set -e
# this script:
# 1. downloads downloads drivers for USB to UART (requires GUI input)
# 2. installs Xcode command line tools with homebrew
# 3. installs Arduino IDE and adds it to the dock
# 4. downloads Arduino CLI
# 5. adds board support for ESP32s
#
@zsarge
zsarge / install_vms.sh
Last active October 31, 2023 03:08
Install OWASP PyGoat and WebGoat VM from OneDrive
#!/bin/bash
set -e
# contains no hidden info, fyi
YOUR_ONEDRIVE_SHARE_LINK="https://mymailnku-my.sharepoint.com/:u:/g/personal/sargentz1_mymail_nku_edu/EVMxZ0hCDfZMnKpeqHpVpZQB-utsXsOBxYgVWtQuhyLUig?e=hPj1Zq&download=1"
install_path="/tmp/install_pygoat"
mkdir -p "$install_path"
cd "$install_path"
@zsarge
zsarge / irb.rb
Last active August 7, 2023 16:51
A quick hacky function to see the classes necessary to create an ActiveRecord object.
# A quick hacky function to see the other ActiveRecord objects necessary to create an ActiveRecord object.
# There might be a better way to do this natively.
# these are both one line so they can be quickly found with Ctrl+R
def _needs(obj) = (if obj.nil? then return obj end; props = obj.class.columns.map(&:name).filter{_1.ends_with?("_id") && _1 != "reference_id"}.map{_1.gsub('_id', '')}; if props.nil? || props.size == 0 then return obj else return [obj, props.map{_needs(obj.send(_1.to_sym))}.reject{_1.nil?}].compact end)
def needs(obj) = _needs(obj).flatten.map(&:class).map(&:name).uniq
# Usage:
needs User.last # => ["User", "AccountType", "WhateverOtherClass", ...]
@zsarge
zsarge / backup_npp.rb
Created June 25, 2022 04:48
Back up save data (nprofile) for the game N++
#!/usr/bin/ruby
# This script backs up the save data for the game N++.
# It is only tested on Fedora Workstation 36.
#
# There is a rare bug in the game where save data gets corrupted,
# but the game is so long that many people still encounter it.
#
# I recommend running this script on a regular interval with cron.
#
@zsarge
zsarge / make_server_public.sh
Created April 29, 2022 17:51
Run Minecraft server with playit.gg tunnel
#!/bin/sh
echo "running playit with the config file under './playit_config/config.txt'"
playit --config-file ./playit_config/config.txt