Skip to content

Instantly share code, notes, and snippets.

@kiki67100
Created February 22, 2026 23:15
Show Gist options
  • Select an option

  • Save kiki67100/1d830266c89dd4b0cf947ef0c89aeb7b to your computer and use it in GitHub Desktop.

Select an option

Save kiki67100/1d830266c89dd4b0cf947ef0c89aeb7b to your computer and use it in GitHub Desktop.
ZTE MF920 (SFR Box 4G) — Change WiFi coverage via curl (short/medium/long_mode) Bypasses disabled UI, uses goform API with AD token authentication.
#!/bin/bash
# ZTE MF920 — SET WiFi Coverage (fully automatic)
# Usage: ./wifi_range.sh [short_mode|medium_mode|long_mode]
ROUTER="http://192.168.0.1"
MODE=${1:-"long_mode"}
echo "=== [1] Login ==="
STOK=$(curl -s -D - -X POST "$ROUTER/goform/goform_set_cmd_process" \
-H "Referer: $ROUTER/index.html" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d "goformId=LOGIN&password=YWRtaW4=" \
| grep "Set-Cookie" | grep -o "stok=[^;]*" | cut -d= -f2)
if [ -z "$STOK" ]; then
echo "ERREUR: Login échoué"
exit 1
fi
echo "STOK=$STOK"
echo ""
echo "=== [2] Récupère RD0/RD1 (versions firmware) ==="
VERS=$(curl -s -H "Cookie: stok=$STOK" \
-H "Referer: $ROUTER/index.html" \
"$ROUTER/goform/goform_get_cmd_process?cmd=wa_inner_version%2Ccr_version&multi_data=1")
echo "VERS=$VERS"
RD0=$(echo "$VERS" | grep -o '"wa_inner_version":"[^"]*"' | cut -d'"' -f4)
RD1=$(echo "$VERS" | grep -o '"cr_version":"[^"]*"' | cut -d'"' -f4)
echo "RD0=$RD0"
echo "RD1=$RD1"
echo ""
echo "=== [3] Récupère RD (nonce) ==="
RD=$(curl -s -H "Cookie: stok=$STOK" \
-H "Referer: $ROUTER/index.html" \
"$ROUTER/goform/goform_get_cmd_process?cmd=RD" \
| grep -o '"RD":"[^"]*"' | cut -d'"' -f4)
echo "RD=$RD"
echo ""
echo "=== [4] Calcule AD ==="
A=$(echo -n "${RD0}${RD1}" | md5sum | cut -d' ' -f1)
AD=$(echo -n "${A}${RD}" | md5sum | cut -d' ' -f1)
echo "A=$A"
echo "AD=$AD"
echo ""
echo "=== [5] GET wifi_coverage actuel ==="
CURRENT=$(curl -s -H "Cookie: stok=$STOK" \
-H "Referer: $ROUTER/index.html" \
"$ROUTER/goform/goform_get_cmd_process?cmd=wifi_coverage&multi_data=1")
echo "Actuel: $CURRENT"
echo ""
echo "=== [6] SET wifi_coverage=$MODE ==="
RESULT=$(curl -s -X POST \
-H "Cookie: stok=$STOK" \
-H "Referer: $ROUTER/index.html" \
-H "Content-Type: application/x-www-form-urlencoded" \
"$ROUTER/goform/goform_set_cmd_process" \
-d "goformId=SET_WIFI_COVERAGE&wifi_coverage=$MODE&AD=$AD")
echo "Résultat SET: $RESULT"
echo ""
echo "=== [7] Vérifie après SET ==="
sleep 1
NEW=$(curl -s -H "Cookie: stok=$STOK" \
-H "Referer: $ROUTER/index.html" \
"$ROUTER/goform/goform_get_cmd_process?cmd=wifi_coverage&multi_data=1")
echo "Nouveau: $NEW"
echo ""
echo "=== DONE ==="
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment