DYNDNS skrypt z openwrt
|
Kwicol |
Dodano 19-07-2013 09:01
|
User
Posty: 20
Dołączył: 13/05/2006 10:41
|
Witam.
Jak wiadomo stare konta na dyndns.com trzeba co miesiąc odnawiać na stronie www.Na openwrt jest skrypt który załatwia za nas sprawe http://openrouter.info/forum/viewtopi...=40&t=2563 czy jest szansa na tomato to zrobić?
Pozdrawiam.
TL-WDR3600 v1, Gargoyle - RT-N16-MIPSR2-123 K26 USB AIO ,Tomato - NEOWARE CA10 - Debian 6.0.1
|
|
|
|
shibby |
Dodano 19-07-2013 09:21
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
nie widzę powodu czemu miaby on nie działać na tomato. Wymagany jest jedynie curl (optware/entware)
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
hermes-80 |
Dodano 19-07-2013 09:22
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Raczej bez problemu powinien działać - może po jakiś modyfikacjach.
Wymagane:
- echo
- grep
- rm
- cut
- curl
- exit
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
shibby |
Dodano 19-07-2013 11:02
|
SysOp
Posty: 17110
Dołączył: 15/01/2009 20:30
|
wszystko prócz curl jest w tomato (busybox).
Router: Unifi Cloud Gateway Max
Switch: Netgear MS510TXPP
Switch: Unifi USW-Flex-Mini - szt. 2
Wi-Fi: Unifi U6-Lite - szt. 2
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM #1: Synology SA6400
VM #2: Debian, WWW
VM #3: Home Assistant OS
|
|
|
|
esil |
Dodano 29-08-2013 15:54
|
User
Posty: 9
Dołączył: 20/01/2011 23:24
|
Witam.
Użyłem skryptu ze strony http://blog.stuart.shelton.me/archive...hives/1024
Tomato PL 1.28.0000 MIPSR2-110-PL K26 USB AIO na Netgear WNR3500L v2
Skrypt chyba działa, mam na końcu "Login successful"
ale podczas wykonywania się skryptu mam poniższe komunikaty:
Cytat /opt/bin/dyndns.sh: line 14: DEBUG: not found
/opt/bin/dyndns.sh: line 24: DEBUG: not found
/opt/bin/dyndns.sh: line 27: DEBUG: not found
/opt/bin/dyndns.sh: line 34: DEBUG: not found
/opt/bin/dyndns.sh: line 37: DEBUG: not found
Podpowiedzcie mi co zrobić aby wszystko było OK.
Pozdrawiam.
Asus RT-N18U
FreshTomato Firmware 2018.3 K26ARM USB AIO-64K-NOSMP
|
|
|
|
hermes-80 |
Dodano 29-08-2013 16:01
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
zahaszuj, usuń linijki z funkcja debug.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
esil |
Dodano 29-08-2013 18:20
|
User
Posty: 9
Dołączył: 20/01/2011 23:24
|
Dzięki za odpowiedź ale jak zahaszuje linijki z DEBUG wtedy skrypt zwraca mi "Login Failed"
Pozdrawiam.
Połączony z 29 sierpień 2013 18:40:55:
Przepraszam za post pod postem ale nie mogłem już wyedytować poprzedniego.
Już doszedłem o co chodzi,
w zahaszowanej linijce
#(( DEBUG )) && DST="-" || DST="/dev/null"
był wpis
który jest potrzebny do prawidłowego działania skryptu.
Dołożyłem linijkę z tym wpisem i teraz jest wszystko ok.
Pozdrawiam.
Edytowany przez esil dnia 29-08-2013 18:40
Asus RT-N18U
FreshTomato Firmware 2018.3 K26ARM USB AIO-64K-NOSMP
|
|
|
|
khain |
Dodano 01-09-2013 12:50
|
Power User
Posty: 335
Dołączył: 25/07/2007 17:09
|
Witam
Uruchomiłem na tomato K26USB 1.28.RT MIPSR2 109 EN AIO z entware ten skrypt (curl w wersji 7.29.0-1a):
#!/usr/bin/env sh
LOGIN="*****"
PASSWORD="*****"
#UA="Mozilla/5.0"
COOKIES="/tmp/.dynsdns.cookies.txt"
LOGINURL="https://account.dyn.com/entrance/"
POSTURL="$LOGINURL"
CHKURL="https://account.dyn.com/"
[[ $DEBUG ]] && DST="-" || DST="/dev/null"
DST="/dev/null"
# Ensure no broken session caching...
[[ -s "$COOKIES" ]] && rm "$COOKIES"
[[ $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" --url "$CHKURL" | grep -q "Welcome $LOGIN" && echo "Login successful" || echo >&2 "Login failed"
i pojawia się taki komunikat:
root@router:/opt/etc# /opt/etc/dyndns.sh
(23) Failed writing body
Login successful
Szukałem na innych forach odpowiedzi, ale nikt nie znalazł sensownego rozwiązania, a na openrouter w temacie o skrypcie nie spieszą się z odpowiedzią, może wy mi podpowiecie co może być przyczyną tego komunikatu lub jak sprawdzić czy logowanie było poprawne.
TP-LINK TL-WDR3600 @ Openwrt - 300/20Mbps
HP ProLiant DL360e Gen8 @ ESXi 7.0.1:2 x Intel Xeon CPU E5-2450L @ 1.80GHz, 160GB RAM ECC, 2x 1TB SSD
ASRock J4205-ITX @ Debian 11 16BG RAM, 2x 1TB SSD, 1x 1TB HDD
|
|
|
|
hermes-80 |
Dodano 01-09-2013 12:57
|
VIP
Posty: 3676
Dołączył: 21/04/2009 11:24
|
Skrypt był pisany pod basha - może tutaj jest problem usuń też funkcje debug ale ze wskazówkami kolegi powyżej.
===============================================================
Netgear WNR3500L v1
Podziękowania dla administracji Openlinksys.info!
|
|
|
|
khain |
Dodano 01-09-2013 13:07
|
Power User
Posty: 335
Dołączył: 25/07/2007 17:09
|
Dzięki za podpowiedź, ale tego też próbowałem i ale nadal jest dokładnie taki sam rezultat. Jak sprawdzić czy logowanie rzeczywiście się powiodło? Na stronie dyndns nie ma żadnej historii logowania.
TP-LINK TL-WDR3600 @ Openwrt - 300/20Mbps
HP ProLiant DL360e Gen8 @ ESXi 7.0.1:2 x Intel Xeon CPU E5-2450L @ 1.80GHz, 160GB RAM ECC, 2x 1TB SSD
ASRock J4205-ITX @ Debian 11 16BG RAM, 2x 1TB SSD, 1x 1TB HDD
|
|
|