1

Temat: dyndns - logowanie co miesiąc

Parę dni temu dostałem maila od dyndns. Napisali, że od teraz dla kont darmowych konieczne będzie, prócz dotychczasowego updejtu, comiesięczne logowanie się do konta na stronie www. Czy jest już jakiś sposób, aby to zautomatyzować i dodać do crona? A może jakaś poprawiona wersja ddns-scripts, która ma już to "w sobie"?

2

Odp: dyndns - logowanie co miesiąc

Tak,
http://openrouter.info/forum/viewtopic. … amp;t=2563

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: dyndns - logowanie co miesiąc

Dodam tylko, że do skryptu login trzeba wpisać cały małymi literami.

APU2 @ OpenWrt 18.06-SNAPSHOT, r7852-7ac6044632

4

Odp: dyndns - logowanie co miesiąc

Czy ktoś ma jakiś działający skrypt? Ten z tego linku powyżej u mnie nie chce działać.
Mam taki komunikat po wykonaniu:

DEBUG: Fetching initial headers to pre-load cookies...
DEBUG: Fetching UID...
DEBUG: Read UID as '' - posting data...
DEBUG: Response received - verifying result...
Login failed
Ktoś wie jak temu zaradzić.

Wersja Gargoyle:1.5.9.2 (r35228), by obsy
Model:TP-Link TL-WR1043N/ND v1

5

Odp: dyndns - logowanie co miesiąc

Curl nie odczytał Ci uid ze strony. Podałeś dobre dane do logowania? Możesz nimi zalogować się na stronie?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

6

Odp: dyndns - logowanie co miesiąc

Cezary napisał/a:

Curl nie odczytał Ci uid ze strony. Podałeś dobre dane do logowania? Możesz nimi zalogować się na stronie?

Tak dane są poprawne. Zarówno hasło jak i login nie mają znaków specjalnych. Tylko litery i cyfry bez dużych liter.

7

Odp: dyndns - logowanie co miesiąc

Wykonaj:
curl -b /tmp/.dynsdns.cookies.txt -c /tmp/.dynsdns.cookies.txt -Ikso /dev/null -A  --url https://account.dyn.com/entrance

I zobacz co jest w /tmp/.dynsdns.cookies.txt

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

8

Odp: dyndns - logowanie co miesiąc

Nie utworzyło się .dynsdns.cookies.txt

9

Odp: dyndns - logowanie co miesiąc

Więc już od razu na dzień dobry masz problem - albo z curlem że nie chce ściągać albo połączeniem do dyn.com

Curl cokolwiek innego ściąga?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

10

Odp: dyndns - logowanie co miesiąc

Szczerze to nie wiem jak to sprawdzić.
Instalowałem go przez opkg install curl jakby co.

11

Odp: dyndns - logowanie co miesiąc

curl -o /tmp/ikona.ico http://ecco.selfip.net/favicon.ico

Działa?

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

12

Odp: dyndns - logowanie co miesiąc

Działa. Ściągnęło ikonę do tmp

13

Odp: dyndns - logowanie co miesiąc

No to teraz pytanie czemu to na dyndns nie działa...

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

14 (edytowany przez huball 2013-07-28 12:44:35)

Odp: dyndns - logowanie co miesiąc

Też chciałbym wiedzieć. Niestety dla mnie to jest magia smile

Może istnieje jakiś inny sposób na logowanie się do dyndns poza tym curlem?

15

Odp: dyndns - logowanie co miesiąc

Chyba że ktoś napisze coś innego.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

16

Odp: dyndns - logowanie co miesiąc

Wykonaj

curl -v -b /tmp/.dynsdns.cookies.txt -c /tmp/.dynsdns.cookies.txt -Iks -A  --url https://account.dyn.com/entrance

i pokaż wynik.

17

Odp: dyndns - logowanie co miesiąc

slx napisał/a:

Wykonaj

curl -v -b /tmp/.dynsdns.cookies.txt -c /tmp/.dynsdns.cookies.txt -Iks -A  --url https://account.dyn.com/entrance

i pokaż wynik.

Nie dzieje się nic. Nie ma co pokazywać bo nie ma wyników.

18 (edytowany przez slx 2013-07-28 19:58:04)

Odp: dyndns - logowanie co miesiąc

Mała pomyłka, powinno być bez s (silent), chociaż u mnie działa   

root@OpenWrt:~# curl -v -b /tmp/.dynsdns.cookies.txt1 -c /tmp/.dynsdns.cookies.txt1 -Ik -A  --url https://ac
count.dyn.com/entrance
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS handshake, Server key exchange (12):
* SSLv3, TLS handshake, Server finished (14):
* SSLv3, TLS handshake, Client key exchange (16):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
* SSLv3, TLS change cipher, Client hello (1):
* SSLv3, TLS handshake, Finished (20):
> HEAD /entrance HTTP/1.1
> User-Agent: --url
> Host: account.dyn.com
> Accept: */*
>
< HTTP/1.1 301 Moved Permanently
HTTP/1.1 301 Moved Permanently
< Date: Sun, 28 Jul 2013 18:50:46 GMT
Date: Sun, 28 Jul 2013 18:50:46 GMT
< Server: Apache
Server: Apache
< Location: https://account.dyn.com/entrance/
Location: https://account.dyn.com/entrance/
< Vary: Accept-Encoding
Vary: Accept-Encoding
< Content-Type: text/html; charset=iso-8859-1
Content-Type: text/html; charset=iso-8859-1

<
root@OpenWrt:~#

Sprawdź to:

curl -v -b /tmp/.dynsdns.cookies.txt -c /tmp/.dynsdns.cookies.txt -Ik -A  --url https://account.dyn.com/entrance

A i pokaż jeszcze  wynik: curl -V

19 (edytowany przez huball 2013-07-29 19:59:26)

Odp: dyndns - logowanie co miesiąc

Po poleceniu:
root@Gargoyle:~# curl -v -b /tmp/.dynsdns.cookies.txt -c /tmp/.dynsdns.cookies.t
xt -Ik -A  --url https://account.dyn.com/entrance
curl: (43) CURLOPT_SSL_VERIFYHOST no longer supports 1 as value!

Po poleceniu:
root@Gargoyle:~# curl -V
curl 7.23.1 (mips-openwrt-linux-gnu) libcurl/7.29.0 OpenSSL/1.0.1c zlib/1.2.7
Protocols: file ftp ftps http https imap imaps pop3 pop3s rtsp smtp smtps tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

Zmieniłem curla na tego (z tą wersja wynik login successful): http://downloads.openwrt.org/attitude_a … ar71xx.ipk


Dobra pokombinowałem z różnymi skryptami i wreszcie działa.
Tutaj skrypt który użyłem. Pochodzi ze strony http://blog.stuart.shelton.me/archives/1024 ze zmianami ze strony http://openrouter.info/forum/viewtopic. … amp;t=2563. To tak żeby było wszystko jasne smile

#!/bin/sh

LOGIN="*****"
PASSWORD="*****"
EMAIL="<*****@****>"

COOKIES="/tmp/.dynsdns.cookies.txt"
AL="en-gb"
#UA="Mozilla/5.0 (Macintosh; Intel Mac OS X) AppleWebKit/0.0.0 (KHTML, like Gecko) Version/0.0.0 Safari/0.0.0"

LOGINURL="https://account.dyn.com/entrance/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"

[[ $DEBUG ]] && DST="-" || DST="/dev/null"

[[ -w "$( dirname "$COOKIES" )" ]] || { echo >&2 "FATAL: Cannot write to directory '$( dirname "$COOKIES" )'" ; exit 1; }

# Ensure no broken session caching...
if [[ -s "$COOKIES" ]]; then
    [[ -w "$COOKIES" ]] || { echo >&2 "FATAL: Cannot write to file '$COOKIES'" ; exit 1 ; }
    rm -f "$COOKIES" >/dev/null 2>&1
fi

[[ $DEBUG ]] && echo >&2 "DEBUG: Fetching initial headers to pre-load cookies..."
curl -b $COOKIES -c $COOKIES -Ikso "$DST" -A "$UA" --url "$LOGINURL"

[[ $DEBUG ]] && echo >&2 "DEBUG: Fetching UID..."
VALUE="$(
       curl -b $COOKIES -c $COOKIES -kso - -A "$UA" --url "$LOGINURL" | \
       grep -m 1 "multiform" | \
       cut -d"'" -f 6
)"

[[ $DEBUG ]] && echo >&2 "DEBUG: Read UID as '$VALUE' - posting data..."
curl -b $COOKIES -c $COOKIES -d "username=$LOGIN" -d "password=$PASSWORD" -d "iov_id" -d "multiform=$VALUE" -e "$LOGINURL" -kso "$DST" -A "$UA" --url "$POSTURL"

(( DEBUG )) && echo >&2 "DEBUG: Response received - verifying result..."
curl -b $COOKIES -c $COOKIES -e "$POSTURL" -kso - -A "$UA" -H "Accept-Language: $AL" --url "$CHKURL" | \
       grep -qE "<span>(Welcome|Hi)&nbsp;<b>$LOGIN</b></span>" \
    && echo "Login successful" \
    ||  { echo >&2 "Login failed"; echo -e "From: Twój router$EMAIL\nTo: $EMAIL\nSubject: DynDNS update problem\n\n$LOGIN\n" | sendmail -t; exit 1; }
exit 0


Dzięki za pomoc i cierpliwość.

20

Odp: dyndns - logowanie co miesiąc

root@Gargoyle:~# sh dyndns.sh
DEBUG: Fetching initial headers to pre-load cookies...
DEBUG: Fetching UID...
DEBUG: Read UID as 'BF1FAB90FCDFEDD2B7B8ABCBF5166FBB2F' - posting data...
DEBUG: Response received - verifying result...
Login successful
root@Gargoyle:~# curl -V
curl 7.29.0 (mips-openwrt-linux-gnu) libcurl/7.29.0 OpenSSL/1.0.1e zlib/1.2.7
Protocols: file ftp ftps http https imap imaps pop3 pop3s rtsp smtp smtps tftp
Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP


Działa? Działa. curl ode mnie z z repo.

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.