#!/bin/bash set -euo pipefail CONFIG_PATH="${1:-config.json}" require_cmd() { command -v "$1" >/dev/null 2>&1 || { echo "Error: required command '$1' not found" >&2 exit 1 } } for cmd in javascript-obfuscator html-minifier-terser node; do require_cmd "$cmd" done # Detect whether mktemp supports the --suffix option. If not, fall back to a # portable template-based approach (e.g., on macOS). if tmp=$(mktemp --suffix=.test 2>/dev/null); then rm -f "$tmp" mktemp_with_suffix() { mktemp --suffix="$1"; } else mktemp_with_suffix() { mktemp "${TMPDIR:-/tmp}/tmp.XXXXXX$1"; } fi # Input and output file names input_file="nostr-master.html" output_file="nostr.html" temp_js_file=$(mktemp_with_suffix .js) # Temporary .js file for extracting JavaScript temp_js_obfuscated_file=$(mktemp_with_suffix .js) # Temporary file for obfuscated JavaScript temp_html_file=$(mktemp) # Temporary file for processing HTML without JS # Check if the input file exists if [ ! -f "$input_file" ]; then echo "Input file $input_file does not exist." exit 1 fi # Extract embedded JavaScript into a temporary .js file awk '/