[bash] wget Tomato
|
shadoww |
Dodano 02-03-2011 19:38
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Witam,
Kombinuje ze skryptem bash do ściągania z fileserve premium. Na 'zwyczajnym' Linuksie wszystko działa ok. Jednak w przypadku Tomato mam problem z wgetem. Pomyślałem, że może to być problem ze składną (wywalał Invalid Arguments), ale w przypadku prostego użycie wgeta mam podobnym problem:
[root@fleming fileserve]$ /opt/bin/wget http://noc.gts.pl/5mb.gts
--2011-03-02 19:16:57-- http://noc.gts.pl/5mb.gts
Resolving noc.gts.pl (noc.gts.pl)... 217.153.108.10
Connecting to noc.gts.pl (noc.gts.pl)|217.153.108.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5120005 (4.9M) [text/plain]
Saving to: `5mb.gts'
0% [ ] 0 --.-K/s in 0s
2011-03-02 19:16:57 (0.00 B/s) - Read error at byte 0/5120005 (Invalid argument). Retrying.
--2011-03-02 19:16:58-- (try: 2) http://noc.gts.pl/5mb.gts
Connecting to noc.gts.pl (noc.gts.pl)|217.153.108.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5120005 (4.9M) [text/plain]
5mb.gts has sprung into existence.
Retrying.
wget w wersji wget - 1.12-2 z repozytorium shibby'ego. Spotkał się ktoś z podobnym problemem ewentualnie wie co go powoduje? Z góry dzięki za wszelką pomoc. |
|
|
|
shibby |
Dodano 02-03-2011 19:50
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
to zdecydowanie cos u ciebie
Cytat [root@groov /tmp]$ wget http://noc.gts.pl/5mb.gts
--2011-03-02 19:49:01-- http://noc.gts.pl/5mb.gts
Resolving noc.gts.pl (noc.gts.pl)... 217.153.108.10
Connecting to noc.gts.pl (noc.gts.pl)|217.153.108.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5120005 (4.9M) [text/plain]
Saving to: `5mb.gts'
100%[======================================>] 5,120,005 1013K/s in 5.1s
2011-03-02 19:49:06 (979 KB/s) - `5mb.gts' saved [5120005/5120005]
[root@groov /tmp]$ wget -V
GNU Wget 1.12 built on linux-gnu.
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
shadoww |
Dodano 02-03-2011 21:00
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Że u mnie to nie zaprzeczam ;-)
Dziwna rzecz, którą zauważyłem, jest to, że mam dwie "wersje" wget. Przykład poniżej:
Gdy odpalam "wget":
Cytat [root@fleming root]$ wget http://noc.gts.pl/5mb.gts
Connecting to noc.gts.pl (217.153.108.10:80)
5mb.gts 100% |*********************************************************************************************************| 5000k 00:00:00 ETA
[root@fleming root]$ wget -V
wget: invalid option -- V
BusyBox v1.17.4 (2011-02-11 13:15:21 CET) multi-call binary.
Usage: wget [-csq] [-O FILE] [-Y on/off] [-P DIR] [-U AGENT] URL
Retrieve files via HTTP or FTP
Options:
-s Spider mode - only check file existence
-c Continue retrieval of aborted transfer
-q Quiet
-P Set directory prefix to DIR
-O FILE Save to FILE ('-' for stdout)
-U STR Use STR for User-Agent header
-Y Use proxy ('on' or 'off')
Natomiast gdy odpalam go poleceniem "/opt/bin/wget":
Cytat [root@fleming root]$ /opt/bin/wget http://noc.gts.pl/5mb.gts
--2011-03-02 20:58:47-- http://noc.gts.pl/5mb.gts
Resolving noc.gts.pl... 217.153.108.10
Connecting to noc.gts.pl|217.153.108.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5120005 (4.9M) [text/plain]
Saving to: `5mb.gts'
0% [ ] 0 --.-K/s in 0s
2011-03-02 20:58:48 (0.00 B/s) - Read error at byte 0/5120005 (Invalid argument). Retrying.
--2011-03-02 20:58:49-- (try: 2) http://noc.gts.pl/5mb.gts
Connecting to noc.gts.pl|217.153.108.10|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5120005 (4.9M) [text/plain]
5mb.gts has sprung into existence.
Retrying.
[root@fleming root]$ /opt/bin/wget -V
GNU Wget 1.12 built on linux-gnu.
Jeszcze find:
Cytat
[root@fleming root]$ find / -iname wget
/opt/bin/wget
/usr/bin/wget
Masz może shibby pomysł, jak temu zaradzić? Firmware to Twoje tomato 036H.
Dzięki! |
|
|
|
shibby |
Dodano 02-03-2011 21:29
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
nic dziwnego. Przeciez w tomato jest wbudowany w busyboxa okrojony wget (zobacz ze /usr/bin/wget to link symboliczny do /bin/busybox.
Zeby miec pelnego wgeta wgrywa sie z optware. Skoro tobie nie wykrywa domyslnie wgeta z optware tylko musisz podawac pelna sciezke to musisz miec cos zle wgrane optware (moze path zle ustawione).
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
shadoww |
Dodano 02-03-2011 21:39
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Zmiana PATH w /opt/etc/profile z PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin na PATH=/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin pomogła. Dzięki za naprowadzenie. |
|
|
|
shadoww |
Dodano 28-03-2011 19:46
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Nie chcę zakładać nowego wątku, więc może tutaj ktoś zaglądnie, tym razem pojawił się problem z curlem, który zachowuje się dość dziwnie.... Otóż jest sobie skrypt. Skrypt ma za zadanie linijka po linijce odczytać linka z pliku links.tmp, jeśli link prowadzi do linksafe.me 'wejść' na tę stronę curlem i zapisać wynik w pliku output.tmp, a następnie wyłuskać (grep+cut) z niego adres do fileserve. Niestety jak to w przypadku tomato bywa nie wszystko działa tak jak powinno. Otóż jeżeli uruchamiam skrypt jak poniżej w pliku output.tmp znajduje się odpowiedź 400 Bad Request serwera. Jeżeli ręcznie uruchomie curl z danym URL lub URL ten jest podany w postaci prostej zmiennej jest, ok. Schody zaczynają się gdy podaje się mu wynik działania innego polecenia, czy to bezpośrednio (vide curl -s -o output.tmp `echo link`) czy poprzez zmienną (tak jak jest to przedstawione w skrypcie poniżej). Ma ktoś pomysł o co biega, ewentualnie jakiś inny pomysł na to jak linijka po linijce z pliku wyciągnąć url, a wynik podać do curla z tomato? W razie czego proszę pytać gdyby było coś niezrozumiałe ;-)
Cytat
#!/opt/bin/bash
cp links links.tmp
count=`sed -e '/^ *$/d' links.tmp | wc -l`
for ((i=1;i<=$count;i++))
do
link=`awk -v countawk="$i" 'FNR==countawk' links.tmp`
islinksafe=`echo $link | grep ^http://linksafe.me | wc -l`;
if [ "$islinksafe" -eq 1 ]
then
curl -s -o output.tmp $link;
link=`cat output.tmp | grep -m 1 -i fileserve.com | cut -f 2 -d \"`;
fi
echo $link;
done
rm -f links.tmp
rm -f output.tmp
|
|
|
|
shibby |
Dodano 28-03-2011 20:56
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
zdecydowanie za duzo kombinujesz
Cytat
#!/opt/bin/bash
for LINK in $(cat /plik/z/linkami.tmp); do
curl -s -o output.tmp $LINK;
done;
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
shadoww |
Dodano 28-03-2011 21:03
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Hehe, faktycznie, zapomniałem o tej pętli i "troszkę" przekombinowałem ;-) Sam pomysł skrócenia skrypty jest ok, niestety oczekiwany rezultat się nie pojawia. Shibby mogłbyś w chwili wolnego czasu sprawdzić jak takie coś działa u ciebie z np. takim linkiem w pliku http://linksafe.me/d/c4f3b9f0ef/1-3-3-8.com_No.Ordinary.Family.S01E19.HDTV.XviD-LOL.avi
W output.tmp powinno być coś takiego:
odpalając jednak skrypt taki jak mój, czy ten twój
Cytat
400 Bad Request
400 Bad Request
nginx/0.7.62
Edytowany przez shadoww dnia 28-03-2011 21:20
|
|
|
|
shibby |
Dodano 28-03-2011 21:36
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
Cytat root@groov:/tmp/test# cat skrypt.sh
#!/opt/bin/bash
for LINK in $(cat linki.txt); do
curl -s -o output.tmp $LINK;
done;
root@groov:/tmp/test# cat linki.txt
http://linksafe.me/d/c4f3b9f0ef/1-3-3-8.com_No.Ordinary.Family.S01E19.HDTV.XviD-LOL.avi
root@groov:/tmp/test# ./skrypt.sh
root@groov:/tmp/test# cat output.tmp
Click here to continue if you do not get redirected
root@groov:/tmp/test#
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
shibby |
Dodano 28-03-2011 21:40
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
po delikatnym zmodyfikowaniu
Cytat root@groov:/tmp/test# cat skrypt.sh
#!/opt/bin/bash
for LINK in $(cat linki.txt); do
curl -s -o output.tmp $LINK;
DL=`cat output.tmp |grep "window.location" | cut -d '"' -f 2`
echo $DL
rm output.tmp
done;
root@groov:/tmp/test# ./skrypt.sh
http://www.fileserve.com/file/nFYPpC5/1-3-3-8.com_No.Ordinary.Family.S01E19.HDTV.XviD-LOL.avi
root@groov:/tmp/test#
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
shadoww |
Dodano 28-03-2011 21:43
|
User
Posty: 23
Dołączył: 11/10/2007 22:19
|
Mógłbyś jeszcze podać wersję curl/libcurl i tomato? Dzięki za pomoc :-) |
|
|
|
shibby |
Dodano 28-03-2011 22:27
|
SysOp
Posty: 17109
Dołączył: 15/01/2009 20:30
|
tomato 030H build52 - jeszcze nie wydaje
libcurl
[root@groov /]$ curl -V
curl 7.21.3 (mipsel-unknown-linux-gnu) libcurl/7.21.3 OpenSSL/0.9.7m zlib/1.2.5
Protocols: file ftp ftps http https imap imaps pop3 pop3s rtsp smtp smtps tftp
Features: IPv6 Largefile NTLM SSL libz
[root@groov /]$
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
|
|
|
|
kubekpl |
Dodano 19-01-2016 14:00
|
User
Posty: 23
Dołączył: 23/01/2014 14:54
|
Witam,
Mam podobny problem:
--2016-01-19 13:51:39-- (try: 3) http://update.groov.pl/lighttpd.conf
Connecting to update.groov.pl (update.groov.pl)|193.17.184.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4102 (4.0K)
lighttpd.conf.1 has sprung into existence.
Retrying.
po instalowaniu rtorrent +rutorrent
moj path :
[root@Tomato-kubek root]$ echo $PATH
/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin
[root@Tomato-kubek root]$ env
USER=root
LD_LIBRARY_PATH=/lib:/usr/lib:/usr/local/lib:/opt/lib:/opt/usr/lib
TERMINFO=/opt/share/terminfo
HOME=/root
SSH_TTY=/dev/pts/0
PS1=[\u@\h \W]$
LOGNAME=root
TERM=xterm
PATH=/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin
SHELL=/bin/sh
PWD=/tmp/home/root
pomoze ktos?
[root@Tomato-kubek root]$ which wget
/opt/bin/wget
Co ciekawe jak dam opcje -q plik sie sciaga
/opt/bin/wget -q http://update.groov.pl/lighttpd.conf
[root@Tomato-kubek root]$ ls -lrt
-rw-r--r-- 1 root root 4102 Sep 25 2012 lighttpd.conf
Połączony z 19 styczeń 2016 14:26:03:
Bardzo dziwne po instalce wget :
root@Tomato-kubek:/tmp/home/root# ipkg install wget
Installing wget (1.12-2) to /opt/...
Downloading http://ipkg.nslu2-linux.org/feeds/optware/oleg/cross/stable/wget_1.12-2_mipsel.ipk
Configuring wget
Successfully terminated.
root@Tomato-kubek:/tmp/home/root# wget http://update.groov.pl/lighttpd.conf
Connecting to update.groov.pl (193.17.184.2:80)
lighttpd.conf 100% |*************************************************************************************************************************************************| 4102 0:00:00 ETA
root@Tomato-kubek:/tmp/home/root# which wget
/usr/bin/wget
root@Tomato-kubek:/tmp/home/root# /opt/bin/wget http://update.groov.pl/lighttpd.conf
--2016-01-19 14:19:15-- http://update.groov.pl/lighttpd.conf
Resolving update.groov.pl... 193.17.184.2
Connecting to update.groov.pl|193.17.184.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4102 (4.0K)
Saving to: `lighttpd.conf.1'
0% [ ] 0 --.-K/s in 0s
2016-01-19 14:19:15 (0.00 B/s) - Read error at byte 0/4102 (Invalid argument). Retrying.
Edytowany przez kubekpl dnia 19-01-2016 14:26
|
|
|