Various shell scripts that are useful enough to me to keep in my PATH
Find a file
2024-10-26 14:10:36 -07:00
.gitignore Add .gitignore 2024-10-26 14:00:39 -07:00
bates Auto-update: Sat Oct 26 13:45:39 PDT 2024 2024-10-26 13:45:39 -07:00
cf Auto-update: Tue Jul 30 19:48:25 PDT 2024 2024-07-30 19:48:25 -07:00
checknode Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
comfy Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
ddns Auto-update: Tue Jul 30 19:48:25 PDT 2024 2024-07-30 19:48:25 -07:00
delpycache added delpycache for deleting all __pycache__ folders in current folder and its subfolders 2024-06-23 14:06:44 -07:00
emoji-flag Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
get Auto-update: Tue Jul 9 16:15:05 PDT 2024 2024-07-09 16:15:05 -07:00
getreq Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
gitpurge Auto-update: Tue Jul 30 20:55:02 PDT 2024 2024-07-30 20:55:02 -07:00
gitscan routine update 2024-08-03 00:22:15 -07:00
import-finder Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
kip Auto-update: Mon Aug 5 19:11:27 PDT 2024 2024-08-05 19:11:27 -07:00
kip-simple Auto-update: Mon Aug 5 19:11:27 PDT 2024 2024-08-05 19:11:27 -07:00
lsd Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
mamba-exporter Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
mamba-importer Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
murder Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
nocomment Add nocomment 2024-10-08 06:40:59 +02:00
noon first commit 2024-06-23 13:47:43 -07:00
nv first commit 2024-06-23 13:47:43 -07:00
o Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
pf Auto-update: Wed Jun 26 10:08:59 PDT 2024 2024-06-26 10:08:59 -07:00
pippin routine update 2024-08-03 00:22:15 -07:00
pull Auto-update: Sat Aug 3 12:14:26 PDT 2024 2024-08-03 12:14:26 -07:00
README.md Auto-update: Sat Oct 26 14:10:36 PDT 2024 2024-10-26 14:10:36 -07:00
serv first commit 2024-06-23 13:47:43 -07:00
sij Auto-update: Thu Aug 8 15:55:31 PDT 2024 2024-08-08 15:55:31 -07:00
summarize Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
tmux-merge first commit 2024-06-23 13:47:43 -07:00
txt-line-merge-abc Auto-update: Tue Jul 30 19:48:25 PDT 2024 2024-07-30 19:48:25 -07:00
txtsort Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00
uninstall first commit 2024-06-23 13:47:43 -07:00
up Auto-update: Sat Aug 3 12:14:26 PDT 2024 2024-08-03 12:14:26 -07:00
vitals Auto-update: Mon Sep 23 13:17:54 PDT 2024 2024-09-23 13:17:54 -07:00
vpn Auto-update: Tue Aug 6 14:39:31 PDT 2024 2024-08-06 14:39:31 -07:00
z Auto-update: Tue Jul 30 19:30:24 PDT 2024 2024-07-30 19:30:24 -07:00

PATH-worthy Scripts 🛠️

A collection of useful scripts for your system PATH. Here's how to get started:

Installation

# Clone the repository
git clone https://sij.ai/sij/pathScripts.git

# Add to PATH on macOS
echo 'export PATH="$PATH:$HOME/path/to/pathScripts"' >> ~/.zshrc
source ~/.zshrc

# Add to PATH on Debian/Ubuntu
echo 'export PATH="$PATH:$HOME/path/to/pathScripts"' >> ~/.bashrc
source ~/.bashrc

Make scripts executable:

cd pathScripts
chmod +x *

📄 bates - PDF Bates Number Tool

Extracts and renames PDFs based on Bates numbers.

Setup

pip3 install pdfplumber
# For OCR support:
pip3 install pytesseract pdf2image
brew install tesseract poppler  # macOS
# or
sudo apt-get install tesseract-ocr poppler-utils  # Debian

Usage

bates /path/to/folder --prefix "FWS-" --digits 6 --name-prefix "FWS "

Key Features

  • Extracts Bates numbers from text/scanned PDFs
  • Renames files with number ranges
  • Prepare files for use with my Bates Source Link DEVONthink script
  • Preserves original names in Finder comments
  • OCR support for scanned documents
  • Dry-run mode with --dry-run

Options

  • --prefix: The Bates number prefix to search for (default: "FWS-")
  • --digits: Number of digits after the prefix (default: 6)
  • --ocr: Enable OCR for scanned documents
  • --dry-run: Test extraction without renaming files
  • --name-prefix: Prefix to use when renaming files
  • --log: Set logging level (DEBUG, INFO, WARNING, ERROR, CRITICAL)

Examples

# Test without making changes
bates /path/to/pdfs --prefix "FWS-" --digits 6 --dry-run

# Rename files with OCR support
bates /path/to/pdfs --prefix "FWS-" --digits 6 --name-prefix "FWS " --ocr

Notes

  • Always test with --dry-run first
  • Original filenames are preserved in Finder comments (macOS only)
  • OCR is disabled by default to keep things fast

🔒 vpn - Tailscale Exit Node Manager

Privacy-focused Tailscale exit node management.

Setup

pip3 install requests

Usage

vpn <action>  # actions: start, stop, new, shh

Actions

  • start: Connect to a suggested exit node if not already connected
  • stop: Disconnect from current exit node
  • new: Switch to a new suggested exit node
  • shh: Connect to a random exit node in a privacy-friendly country

Key Features

  • Auto-connects to suggested nodes
  • Privacy-friendly country selection (SE, CH, DE, FI, NL, NO)
  • Connection verification via Mullvad API
  • Default Tailscale arguments:
    • --exit-node-allow-lan-access
    • --accept-dns
    • --accept-routes

Examples

vpn start  # Connect to suggested node
vpn shh    # Connect via privacy-friendly country

Verification

  • Checks Tailscale's reported exit node
  • Verifies connection using Mullvad's API
  • Confirms hostname matches

Notes

  • Requires active Tailscale configuration
  • Internet connectivity needed for verification
  • Some commands may need admin privileges

More scripts will be documented as they're updated. Each script includes --help for detailed usage information.