1 (edytowany przez jacekalex 2019-03-21 01:25:44)

Temat: [SOLVED]Powiadamianie o nowych wydaniach sysupgrade?

Cześć

Chciałem sobie zrobić automatyczne powiadamianie o wydaniach, żeby nie przegapić żadnego.
Najprościej byłoby np ściągnąć sha256sums i wygrepować z niego  nazwę obrazu, np tak:

curl -s  http://dl.eko.one.pl/openwrt-18.06/targets/ar71xx/nand/sha256sums | grep wndr4300-squashfs-sysupgrade.tar
ec859b25737623e291f4657e9a8272b3c2eae8eb398d4296cec3a58fecece510  openwrt-18.06-snapshot-r7714-4918fe0291-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar

Jest tylko jedna zagwozdka, serwer eko.one.pl nie znaczników czasu dla plików:

wget -N http://dl.eko.one.pl/openwrt-18.06/targ … sha256sums
--2019-03-19 02:40:31--  http://dl.eko.one.pl/openwrt-18.06/targ … sha256sums
Translacja dl.eko.one.pl (dl.eko.one.pl)... 95.160.102.144
Łączenie się z dl.eko.one.pl (dl.eko.one.pl)|95.160.102.144|:80... połączono.
Żądanie HTTP wysłano, oczekiwanie na odpowiedź... 200 OK
Długość: 2529 (2,5K) [application/octet-stream]
Zapis do: `sha256sums'

sha256sums          100%[===================>]   2,47K  --.-KB/s     w 0s     

Brak nagłówka Last-modified -- znaczniki czasu wyłączone.
2019-03-19 02:40:31 (80,9 MB/s) - zapisano `sha256sums' [2529/2529]

Dowód nr 2:

curl -I http://dl.eko.one.pl/openwrt-18.06/targets/ar71xx/nand/sha256sums 
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Accept-Ranges: bytes
Content-Length: 2529
Date: Tue, 19 Mar 2019 01:53:30 GMT
Server: lighttpd/1.4.45

W ten sposób ciężko określić czy plik się zmienił, czy ten jest ten sam co miesiąc temu.

Prawdopodobnie trzeba nieco poprawić konfigurację Lighttpd.
Tu jest opis podobnego problemu razem z rozwiązaniem:
https://www.anexia-it.com/blog/en/the-t … ed-header/

Pozdro

2

Odp: [SOLVED]Powiadamianie o nowych wydaniach sysupgrade?

Dobry pomysł.

Choć po prostu wystarczy czytać eko.one.pl - wypisuje tam informacje że coś się zmieniło.

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

3

Odp: [SOLVED]Powiadamianie o nowych wydaniach sysupgrade?

Cezary napisał/a:

Dobry pomysł.

Choć po prostu wystarczy czytać eko.one.pl - wypisuje tam informacje że coś się zmieniło.

Kiedy mnie chodzi o to, żeby router sam sobie sprawdzał, czy są nowe wydania,
i powiadamiał o tym mailem czy przez jabbera.

Nie zawsze mam czas i sposobność pilnować strony internetowej, zwłaszcza takiej, która nie posiada kanału RSS/Atom.

Skonfigurowanie na routerze poczty to nie jest jakiś kosmiczny problem,
choć jeszcze nie wyczaiłem, jak zmusić msmtp do pracy z kolejką wiadomości, a nie zawsze mam włączonego kompa, na którym mam Postfixa.
Ale to, jak znajdę chwilkę, będzie zrobione.

Na razie wystarczyłby poprawić konfigurację Lighttpd na eko.one.pl żeby zwracał poprawny  nagłówek Last-modified.

Luksusem byłoby dowiązanie ostatniego obrazu do  jakieś uniwersalnej nazwy jak np

openwrt-18.06-snapshot-current-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar

ale to mogłoby być zbyt problematyczne po stronie serwera. xD

Pozdro

4

Odp: [SOLVED]Powiadamianie o nowych wydaniach sysupgrade?

Nagłówek jest dawno dodany. A nazwa nie będzie stała - kiedyś tak robiłem obrazy i było więcej zamieszania bo nikt nie potrafił powiedzieć jaką wersję firmware ma itd. Stąd też numery wersji w nazwie.

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

5 (edytowany przez jacekalex 2019-03-20 14:12:30)

Odp: [SOLVED]Powiadamianie o nowych wydaniach sysupgrade?

Cezary napisał/a:

Nagłówek jest dawno dodany. A nazwa nie będzie stała - kiedyś tak robiłem obrazy i było więcej zamieszania bo nikt nie potrafił powiedzieć jaką wersję firmware ma itd. Stąd też numery wersji w nazwie.

curl -I http://dl.eko.one.pl/openwrt-18.06/targ … sha256sums
HTTP/1.1 200 OK
Content-Type: application/octet-stream
Accept-Ranges: bytes
ETag: "438226147"
Last-Modified: Mon, 11 Mar 2019 17:14:42 GMT
Content-Length: 2529
Date: Wed, 20 Mar 2019 12:02:04 GMT
Server: lighttpd/1.4.45

Dzięki, to mi wystarczy.

Nazwa nie może być stała, ale może być dowiązanie symboliczne, czyli np:
przeglądarka woła o:
openwrt-18.06-snapshot-current-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar

a serwer w odpowiedzi zwraca plik:
openwrt-18.06-snapshot-r7714-4918fe0291-ar71xx-nand-wndr4300-squashfs-sysupgrade.tar

Wtedy będzie wilk syty i owca cala.

Podobne rozwiązanie masz w szukajce modelu, podobnie się np pobiera firefoxa z serwera mozilli, nie trzeba znać numerka, wchodzisz do katalogu latest i tam jest wsio co trzeba.

EDIT:
Trzeba tylko z tego nagłowka zrobić unix-time dla łatwiejszego porówania, wio.

curl -s -I [url]http://dl.eko.one.pl/openwrt-18.06/targets/ar71xx/nand/sha256sums[/url] |      awk '/Last-Modified/{ date=""; for(i=2;i<=NF;++i) date=(date " " $i); print date;}' |      xargs -I{} date -d {} +"%s"
1552324482p

CDN wg tego:
https://stackoverflow.com/questions/302 … ad-command
https://stackoverflow.com/questions/194 … -with-bash
wink

Pozdro