diff --git a/admin/src/pages/sms/SmsSetupPage.tsx b/admin/src/pages/sms/SmsSetupPage.tsx index e54e3ca4..d1d87eb3 100644 --- a/admin/src/pages/sms/SmsSetupPage.tsx +++ b/admin/src/pages/sms/SmsSetupPage.tsx @@ -447,11 +447,14 @@ export default function SmsSetupPage() { Auto-start on phone reboot: - Install Termux:Boot from F-Droid, then run these two commands: + Install Termux:Boot from F-Droid, then run these commands one at a time:
- - > ~/logs/watchdog.log 2>&1 &\\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server"} /> + + + + +
Also disable battery optimization: Android Settings → Apps → Termux → Battery → Unrestricted. diff --git a/mkdocs/docs/docs/admin/broadcast/sms.md b/mkdocs/docs/docs/admin/broadcast/sms.md index 67ae4a20..293822c6 100644 --- a/mkdocs/docs/docs/admin/broadcast/sms.md +++ b/mkdocs/docs/docs/admin/broadcast/sms.md @@ -162,16 +162,19 @@ This is **required** regardless of which method you use below: Install [Termux:Boot](https://f-droid.org/packages/com.termux.boot/) from F-Droid (must be same source as Termux), then open it once to register with Android. -```bash -# Create the boot scripts directory -mkdir -p ~/.termux/boot +Run each command one at a time (copy-paste friendly): -# Create the auto-start script (single command, no heredoc) -printf '#!/data/data/com.termux/files/usr/bin/bash\nsource ~/.bashrc\ntermux-wake-lock\nmkdir -p ~/logs\nnohup python ~/sms-server/android/termux-sms-api-server.py >> ~/logs/sms-api.log 2>&1 &\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server +```bash +mkdir -p ~/.termux/boot && echo '#!/data/data/com.termux/files/usr/bin/bash' > ~/.termux/boot/start-sms-server +echo 'source ~/.bashrc' >> ~/.termux/boot/start-sms-server +echo 'termux-wake-lock' >> ~/.termux/boot/start-sms-server +echo 'mkdir -p ~/logs' >> ~/.termux/boot/start-sms-server +echo 'nohup python ~/sms-server/android/termux-sms-api-server.py >> ~/logs/sms-api.log 2>&1 &' >> ~/.termux/boot/start-sms-server +chmod +x ~/.termux/boot/start-sms-server ``` -!!! tip "Why printf instead of heredoc?" - Heredoc (`<< 'EOF'`) blocks are unreliable when copy-pasting on mobile devices — trailing whitespace or clipboard quirks prevent the `EOF` from being recognized. The `printf` one-liner is more reliable for mobile copy-paste. +!!! tip "Why individual echo commands?" + Heredocs and `printf` with `\n` are unreliable when copy-pasting to a mobile terminal — the clipboard mangles escape sequences or adds trailing whitespace. Individual `echo >>` commands are the most reliable approach for mobile copy-paste. #### C. Watchdog (auto-restart on crash) @@ -193,9 +196,11 @@ The watchdog: For maximum reliability, use the watchdog as your boot script: ```bash -mkdir -p ~/.termux/boot - -printf '#!/data/data/com.termux/files/usr/bin/bash\ntermux-wake-lock\ncd ~/sms-server/android\nnohup bash sms-watchdog.sh >> ~/logs/watchdog.log 2>&1 &\n' > ~/.termux/boot/start-sms-server && chmod +x ~/.termux/boot/start-sms-server +mkdir -p ~/.termux/boot && echo '#!/data/data/com.termux/files/usr/bin/bash' > ~/.termux/boot/start-sms-server +echo 'termux-wake-lock' >> ~/.termux/boot/start-sms-server +echo 'cd ~/sms-server/android' >> ~/.termux/boot/start-sms-server +echo 'nohup bash sms-watchdog.sh >> ~/logs/watchdog.log 2>&1 &' >> ~/.termux/boot/start-sms-server +chmod +x ~/.termux/boot/start-sms-server ``` #### D. Quick Background (simplest)