1 (14.03.2015 23:57:55 отредактировано boot2k3)

Помогите пожалуйста подправить скрипт для включения/выключения wifi на роутере
Что-то никак не могу понять как это правильно сделать
Проблема с  частью [нужно заменить]
[нужно заменить] вычисляется по формуле MD5("" + cnt) + MD5(Username.value + cnt ) + MD5(MD5(Password.value) + cnt)
где username=root, password=12345678 (для примера)
cnt нужно получить с сайта из функции
var cnt = GetRandCnt();


#!/bin/bash
# Enable or disable WiFi module on HUAWEI EchoLife HG8245 GPON Terminal
# Cookie password is a md5-encoded password field value
echo HUAWEI EchoLife HG8245T GPON Terminal WiFi management tool
URL=http://192.168.100.1
Wifi(){
        curl "$URL/login.cgi"  --cookie "Cookie=tid=[нужно заменить]:Language:english:id=1" -d "x.X_HW_WlanEnable=0" --header "DHT:1" #--silent -o "/dev/null" && echo -n " . " || echo Login failed
        curl "$URL/html/network/set.cgi?x=InternetGatewayDevice.LANDevice.1&RequestFile=html/network/wlan.asp"  --cookie "Cookie=UserName:[нужно заменить]:Language:english:id=1" -d "x.X_HW_WlanEnable=$1" -e "$URL/html/network/wlan.asp" --header "DHT:1" --silent -o "/dev/null" && echo ". " || echo Wifi failed
}
case "$1" in 
        start)
                Wifi 1
        ;;
        stop)
                Wifi 0
        ;;
        *)
                echo "Usage: ./wifi start|stop"
                exit 1
        ;;
esac
exit 0

часть шифровальную написал, осталось как-то получить параметр cnt и соеденить все это как-то вместе

cnt="" #как-то это надо получить
user="root"
cnt_md5=$(echo -n $cnt | md5sum | cut -c 1-32)
us_cnt_md5=$(echo -n $user$cnt | md5sum | cut -c 1-32)
PW_cnt="$(echo -n "12345678" | md5sum | cut -c 1-32)$cnt"
PW_cnt_md5=$(echo -n "$PW_cnt" | md5sum | cut -c 1-32)
md5=$cnt_md5$us_cnt_md5$PW_cnt_md5
Cookie2="tid="$md5

2

boot2k3 пишет:

[нужно заменить] вычисляется по формуле MD5("" + cnt) + MD5(Username.value + cnt ) + MD5(MD5(Password.value) + cnt)

плюсик это конкатенация?

#!/bin/bash

declare MD5

function md5
{
    MD5=$(md5sum < <(echo "$1"))
    MD5="${MD5/ */}"
}

CNT="cnt"
USERNAME="root"
PASSWORD="1234567890"

md5 "$CNT"
A="$MD5"
md5 "${USERNAME}${CNT}"
A="${A}${MD5}"
md5 "$PASSWORD"
md5 "${MD5}${CNT}"
A="${A}${MD5}"


echo "'$A'"
Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

3

Да, конкатенация
только

echo -n "$1"

иначе значение неправильное получается

4

boot2k3 пишет:

echo -n "$1"

да, это я упустил.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

5

А по curl -у не подскажите какую-нибудь хорошую ссылку на примеры с этими кукизами?
А то задача подвисла на правильном получении переменной и ответа от сервера