Add url-encode-password.sh helper

Prompts for a password without echoing, URL-encodes it via Python's
urllib.parse.quote, and prints the result with a ready-to-paste .env
snippet.  Password is passed via environment variable to avoid any
shell quoting or injection issues — never written to disk or network.

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
This commit is contained in:
Claude
2026-04-21 15:26:42 +00:00
parent 3c2e413ea2
commit 98cef1bcd8
+24
View File
@@ -0,0 +1,24 @@
#!/bin/bash
# url-encode-password.sh — URL-encode a password for use in an RTSP (or any) URL.
#
# Runs entirely locally. The password is read without echoing, never written
# to disk, never sent anywhere. The encoded result is printed to stdout so
# you can copy it straight into your .env file.
#
# Usage:
# ./url-encode-password.sh
printf 'Password (not echoed): '
read -rs password
echo # newline after silent input
# Pass via environment variable — avoids any shell quoting / injection issues.
encoded=$(PASSWORD="$password" python3 -c "
import os, urllib.parse
print(urllib.parse.quote(os.environ['PASSWORD'], safe=''))
")
echo "URL-encoded: $encoded"
echo ""
echo "Paste into .env like:"
echo " CAM_RTSP_<cam>='rtsp://admin:${encoded}@192.168.1.XXX:554/stream1'"