A collection of personal shell scripts for macOS automation, productivity, media handling, IoT device control, and development workflows.
| Script | Purpose | Dependencies |
|---|---|---|
brw |
Updates, upgrades, and cleans Homebrew packages | Homebrew |
conv |
Converts HEIC images to JPEG format | ImageMagick |
copy |
Interactively copies contents of text files in a directory to clipboard | macOS pbcopy |
dog |
Keeps a local network device awake by pinging it every 15 seconds | curl |
mp3 |
Downloads audio from YouTube videos and converts to MP3 | yt-dlp, ffmpeg |
pic |
Interactive image converter (PNG/JPG/PDF) | ImageMagick |
run |
Compiles and runs C programs (ARM64), auto-deletes binary after | gcc |
sshstart |
Starts SSH agent and adds the default SSH key | ssh-agent |
start |
Displays a colorful animated log from a file | - |
yt |
Downloads videos from YouTube in MP4 format | yt-dlp |
| Script | Purpose | Dependencies |
|---|---|---|
brightness |
Sets brightness for Govee smart lights via API | curl, auth.sh (not included) |
lights |
Full-featured Govee light controller with presets | curl, jq, auth.sh (not included) |
| Script | Purpose | Dependencies |
|---|---|---|
hart |
Simulates and sends vehicle telemetry data to Firebase | curl, Node.js, generate-id-token.js (not included) |
# Update Homebrew
./brw
# Convert HEIC images to JPEG
./conv /path/to/folder
# Copy text files to clipboard interactively
./copy
# Download YouTube video
./yt "https://youtube.com/..." "my_video"
# Download YouTube audio as MP3
./mp3 "https://youtube.com/..." "my_song"
# Convert image format
./pic input.jpg
# Then follow prompts for output format
# Compile and run C program
./run myprogram.c
# Start SSH agent
./sshstartNote: These scripts require auth.sh with your Govee API key and device IDs (see Security Notes).
# Set brightness for all lights
./brightness 50
# Turn on lights
./lights -o
# Apply a preset (sunset, ocean, brightwhite, test)
./lights -p sunset
# Set custom RGB color
./lights -d 1 -r 255 -g 0 -b 0Note: This script requires Firebase setup with generate-id-token.js (see Security Notes).
# Start sending simulated vehicle telemetry
./hartSeveral scripts interact with external services that require authentication credentials:
- Require
auth.shcontainingAPI_KEYanddevicesarray auth.shis gitignored and must be created locally- Obtain your API key from Govee Developer Portal
- Example
auth.sh:API_KEY="your-govee-api-key" devices=("device-id-1" "device-id-2" "device-id-3")
- Requires
generate-id-token.jsfor Firebase authentication - Connects to Firebase Realtime Database for telemetry simulation
- Designed for testing vehicle telemetry dashboards
- Authentication files are gitignored
- Never commit API keys, tokens, or credentials to git
- Use environment variables or separate auth files (already configured in
.gitignore) - The
.gitignorealready excludes:auth.shgenerate-id-token.jsfirebase-service-account.jsonlogfile.txt- Node.js artifacts
- macOS (uses
pbcopy,opencommands) - Bash 4.0+
- Optional dependencies based on usage:
This project is licensed under the MIT License - see LICENSE file for details.
These scripts are for personal use and learning purposes. Use at your own risk. Always review scripts before running them, especially those that modify system settings or interact with external APIs.