Skip to content

Instantly share code, notes, and snippets.

View cfultz's full-sized avatar
👹

Caleb Fultz cfultz

👹
View GitHub Profile
@cfultz
cfultz / findthepi
Created June 6, 2026 16:34
A RPi finding nmap script for /usr/bin
#!/bin/bash
# Target subnet to scan. Defaults to 192.168.0.0/24 if no argument is provided because this is the local area I use.
TARGET=${1:-192.168.0.0/24}
# Run the nmap scan, parse the output, and filter for known Raspberry Pi MAC addresses
sudo nmap -n -sP "$TARGET" | awk '/Nmap scan report/{printf "%s ", $5; getline; getline; print $3;}' | grep -E -i "(B8:27:EB|DC:A6:32|E4:5F:01|28:CD:C1|D8:3A:DD|2C:CF:67|3A:35:41|88:A2:9E|98:FE:54)"
@cfultz
cfultz / Bootable.md
Created November 29, 2025 20:25
Creating a Windows 11 bootable on Linux (backup copy from nixaid.com)

Here is the procedure formatted as clean, copy-pastable Markdown.


Creating a Bootable Windows 11 USB on Linux

This procedure outlines how to create a bootable Windows 11 USB flash drive (or HDD/SSD) using the command line.

⚠️ WARNING: DATA LOSS This process involves formatting drives. Identify your device identifier correctly (e.g., /dev/sdX). In the examples below, the device is /dev/sde. Do not copy/paste commands containing /dev/sde without verifying your specific drive identifier.

@cfultz
cfultz / wof.service
Created August 13, 2025 03:07
wof.service for Pwnagotchi and Wall of Flippers
[Unit]
Description=Wall of Flippers Daemon
After=network.target
[Service]
User=root
WorkingDirectory=/root/Wall-of-Flippers
ExecStart=/bin/bash -c "printf '1\n0\n' | /root/Wall-of-Flippers/wof.sh"
Restart=always
@cfultz
cfultz / gist:b7000152ba2c2d70a0a43fdd389feb7d
Created June 25, 2024 23:35
Fail2Ban Parse (original by classmember, spelling corrections and print correction by me: https://gist.github.com/classmember/a100c2bfe9936daf4ceff24743f871ab)
#!/usr/bin/env python
'''
Parse fail2ban log for IP addresses
Usage: $ ./parse.py log
'''
import re
import sys
import subprocess
import collections
[cfultz@papasip](~)$ fastfetch -` cfultz@papasip .o+` --------------
`ooo/ OS: Arch Linux x86_64
`+oooo: Host: MS-7C91 (2.0)
`+oooooo: Kernel: Linux 6.9.2-arch1-1
-+oooooo+: Uptime: 3 hours, 21 mins
`/:-:++oooo+: Packages: 1017 (pacman), 19 (flatpak-system), 12 (flatpak-user) `/++++/+++++++: Shell: bash 5.2.26 `/++++++++++++++: Display (Unknown-1): 1920x1080 @ 60Hz
@cfultz
cfultz / Player.gd
Created January 8, 2024 22:23
Godot 4.2.1 Player Script to stop diagonal movement
extends CharacterBody2D
# speed in pixels/sec
var speed = 500
func _physics_process(delta):
# setup direction of movement
var direction = Input.get_vector("left", "right", "up", "down")
# stop diagonal movement by listening for input then setting axis to zero
if Input.is_action_pressed("right") || Input.is_action_pressed("left"):
@cfultz
cfultz / GX-IR03.ir
Created January 28, 2023 19:22
GX-IR03 IR Flipper Zero
Filetype: IR signals file
Version: 1
#
name: Power
type: parsed
protocol: NEC
address: 01 00 00 00
command: 0A 00 00 00
#
name: Edit
@cfultz
cfultz / Dead Rising 2 infinite loading fix
Created February 15, 2022 05:18 — forked from coreybruce/Dead Rising 2 infinite loading fix
Dead Rising 2 infinite loading fix & controller fix instructions
You will first need to install xact first to fix the infinite loading screen bug
"WINEPREFIX=/home/$USER/.steam/steam/steamapps/compatdata/427190/pfx/ winetricks xact"
Change the location on the command above if your library is on a different drive location.
Please use the latest Proton-GE to also fix wierd controller layout issues
https://github.com/GloriousEggroll/proton-ge-custom/releases
After that your game will run without issues.

Keybase proof

I hereby claim:

  • I am cfultz on github.
  • I am cfultz (https://keybase.io/cfultz) on keybase.
  • I have a public key ASDwsbU9DHqW4nolmDZ6ynFxpSttUbRUj3lQlmZqFJPp-go

To claim this, I am signing this object:

package dev.fultz.counter
fun main(){
//immutable variable
//TODO: Add new functions
// val myString: String = "Android Masterclass"
// val myFloat: Float = 13.37F
// val myDouble: Double = 471.4288
// val myByte: Byte = 25