FHEM Forum

FHEM => Automatisierung => Thema gestartet von: heinzfo am 11 Juni 2020, 10:16:51

Titel: Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 11 Juni 2020, 10:16:51
Hallo

Ich hab ein Problem mit dem Update check per ssh comando, auch nach einem FHEM update (heute) wird eine differenz angezeigt, in FHEMWEB nicht.

Ich bekomme folgendes zurück.
wget -qO - http://fhem.de/fhemupdate4/svn/controls_fhem.txt | cat - FHEM/controls_fhem.txt | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | sort | uniq -u | cut -d "/" -f 2 | sort | uniq
00_MQTT.pm
00_MYSENSORS.pm
00_ZWDongle.pm
01_FHEMWEB.pm
10_CUL_HM.pm
10_FBDECT.pm
10_GFPROBT.pm
10_MAX.pm
10_MQTT2_DEVICE.pm
10_ZWave.pm
14_CUL_MAX.pm
32_withings.pm
38_netatmo.pm
39_gassistant.pm
44_TEK603.pm
46_TeslaPowerwall2AC.pm
49_SSCam.pm
57_SSCal.pm
58_HVAC_DaikinAC.pm
60_Watches.pm
66_EseraDimmer.pm
66_EseraMulti.pm
66_EseraOneWire.pm
70_BRAVIA.pm
70_SolarEdgeAPI.pm
72_FRITZBOX.pm
72_XiaomiDevice.pm
73_AutoShuttersControl.pm
76_SMAPortal.pm
82_LGTV_WebOS.pm
88_HMCCURPC.pm
93_DbLog.pm
94_PWM.pm
95_YAAHM.pm
98_ArduCounter.pm
98_DOIF.pm
98_DSBMobile.pm
98_freezemon.pm
98_HMinfo.pm
98_monitoring.pm
98_SVG.pm
98_vitoconnect.pm
98_WeekdayTimer.pm
DevIo.pm
fhem.pl
HttpUtils.pm
MAINTAINER.txt


Sollten diese files nicht identisch sein?
https://fhem.de/fhemupdate/controls_fhem.txt (https://fhem.de/fhemupdate/controls_fhem.txt)
http://fhem.de/fhemupdate4/svn/controls_fhem.txt (http://fhem.de/fhemupdate4/svn/controls_fhem.txt)

Grüße
Heinz
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: rudolfkoenig am 11 Juni 2020, 10:47:35
ZitatSollten diese files nicht identisch sein?
https://fhem.de/fhemupdate/controls_fhem.txt
http://fhem.de/fhemupdate4/svn/controls_fhem.txt

Seit ca 3 Wochen (Verteilung des lib Verzeichnisses ueber update) wird fhemupdate4/svn/controls_fhem.txt (verwendet von FHEM-update bis FHEM 5.5) nicht mehr aktualisiert.

Siehe auch https://forum.fhem.de/index.php?topic=111125
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 11 Juni 2020, 11:51:48
Würde es gehen wenn ich die Seite mit wget  laden könnte?
https://fhem.de/fhemupdate/controls_fhem.txt

Das geht leider nicht, warum ist das so?


wget -O - https://fhem.de/fhemupdate/controls_fhem.txt
--2020-06-11 11:46:40--  https://fhem.de/fhemupdate/controls_fhem.txt
Auflösen des Hostnamens »fhem.de (fhem.de)« ... 2a01:4f8:10a:806::2, 88.99.31.202
Verbindungsaufbau zu fhem.de (fhem.de)|2a01:4f8:10a:806::2|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 403 Forbidden
2020-06-11 11:46:40 FEHLER 403: Forbidden.


Grüße
Heinz
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: CoolTux am 11 Juni 2020, 11:56:18
Anscheinend geht es nicht weil man die Seite nicht downloaden sondern nur anzeigen kann. Probier mal mit curl damit geht es.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 11:59:23
Zitat von: CoolTux am 11 Juni 2020, 11:56:18
Anscheinend geht es nicht weil man die Seite nicht downloaden sondern nur anzeigen kann. Probier mal mit curl damit geht es.

Also entweder hat das just jemand geändert, oder irgendwas ist bei heinzfo kaputt:

$ wget -O /dev/null https://fhem.de/fhemupdate/controls_fhem.txt
Auflösen des Hostnamens fhem.de (fhem.de)... 88.99.31.202, 2a01:4f8:10a:806::2
Verbindungsaufbau zu fhem.de (fhem.de)|88.99.31.202|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ...
  HTTP/1.1 200 OK
[...]


IPv6-Problem vielleicht?


wget -6 -O /dev/null https://fhem.de/fhemupdate/controls_fhem.txt
WARNUNG: Zeitstempel funktionieren nicht in Kombination mit der Option
»-O«.  Genauere Erläuterungen finden Sie im Handbuch.

--2020-06-11 12:01:11--  https://fhem.de/fhemupdate/controls_fhem.txt
Auflösen des Hostnamens fhem.de (fhem.de)... 2a01:4f8:10a:806::2
Verbindungsaufbau zu fhem.de (fhem.de)|2a01:4f8:10a:806::2|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ...
  HTTP/1.1 200 OK
[...]
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: CoolTux am 11 Juni 2020, 12:00:52
11:55 marko@notebook-ac tmp) > wget -O /dev/null https://fhem.de/fhemupdate/controls_fhem.txt
--2020-06-11 12:00:05--  https://fhem.de/fhemupdate/controls_fhem.txt
Auflösen des Hostnamens fhem.de (fhem.de)... 88.99.31.202, 2a01:4f8:10a:806::2
Verbindungsaufbau zu fhem.de (fhem.de)|88.99.31.202|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 403 Forbidden
2020-06-11 12:00:05 FEHLER 403: Forbidden.


Da hast Du wohl einen magischen Finger oder aber mein Webfilter micht sich ein.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 12:02:39
Zitat von: CoolTux am 11 Juni 2020, 12:00:52
Da hast Du wohl einen magischen Finger oder aber mein Webfilter micht sich ein.

Eher dicke Finger ;-)
Pihole?
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: CoolTux am 11 Juni 2020, 12:04:11
OPNSense

und die sagt alles schick
2020-06-11T12:03:00.100000 115 10.6.9.3 TCP_TUNNEL/200 3957 CONNECT fhem.de:443 - ORIGINAL_DST/88.99.31.202 -
2020-06-11T12:02:59.980000 0 10.6.9.3 NONE/200 0 CONNECT 88.99.31.202:443 - HIER_NONE/- -
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 12:08:01
Was passiert wenn du den Git-Mirror benutzt?
https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: CoolTux am 11 Juni 2020, 12:10:17
Geht durch wie Butter


(12:09 marko@notebook-ac tmp) > wget -O /dev/null https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt
--2020-06-11 12:09:29--  https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt
Auflösen des Hostnamens raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.112.133
Verbindungsaufbau zu raw.githubusercontent.com (raw.githubusercontent.com)|151.101.112.133|:443 ... verbunden.
HTTP-Anforderung gesendet, auf Antwort wird gewartet ... 200 OK
Länge: 145132 (142K) [text/plain]
Wird in »/dev/null« gespeichert.

/dev/null                          100%[===============================================================>] 141,73K  --.-KB/s    in 0,03s   

2020-06-11 12:09:30 (4,01 MB/s) - »/dev/null« gespeichert [145132/145132]
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 11 Juni 2020, 12:30:35
a )Mit https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt (https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt) geht das hier wieder:
wget -qO - https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt  | cat - FHEM/co
ntrols_fhem.txt | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | sort | uniq -u | cut -d "/" -f 2 | sort | uniq


b) Mit curl geht es auf stdout curl https://fhem.de/fhemupdate/controls_fhem.txt
c) aber nicht so:
curl https://fhem.de/fhemupdate/controls_fhem.txt | cat - FHEM/controls_fhem.txt | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | sort | uniq -u | cut -d "/" -f 2 | sort | uniq

Das - nach curl geht nicht, gibt es eine Alternative?
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 12:42:49
Zitat von: heinzfo am 11 Juni 2020, 12:30:35
Mit curl geht es auf stdout curl https://fhem.de/fhemupdate/controls_fhem.txt
aber nicht so:
curl https://fhem.de/fhemupdate/controls_fhem.txt | cat - FHEM/controls_fhem.txt | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | sort | uniq -u | cut -d "/" -f 2 | sort | uniq

Das - nach curl geht nicht, gibt es eine Alternative?

Ja was machst du denn da mit cat dazwischen? Was hast du vor? curl lädt erstmal nix runter (wie wget es macht), sondern pumpt den Output nur auf die Konsole.
Ich würde ja eher mal versuchen rauszufinden, warum euer wget nicht funktioniert.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 11 Juni 2020, 12:46:54
wget -qO - https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt

Das funktioniert, und lädt auch herunter im genensatz zu curl, wie ich gerade von Dir gelernt habe ;-)

Ich lese aus welche Updates es gibt vs. zu meinem letzten FHEM update und sende es mir per Telegram zu.

Danke für die Hilfe!
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 13:13:54
Zitat von: heinzfo am 11 Juni 2020, 12:46:54
wget -qO - https://raw.githubusercontent.com/fhem/fhem-mirror/master/fhem/controls_fhem.txt

Das funktioniert, und lädt auch herunter im genensatz zu curl, wie ich gerade von Dir gelernt habe ;-)

Ich lese aus welche Updates es gibt vs. zu meinem letzten FHEM update und sende es mir per Telegram zu.


Bedenke, dass das ein (halbinoffizieller) Mirror ist. Du kannst das ganze auch mit curl von den Originaldaten haben, dazu musst du nur curl etwas treten (https://curl.haxx.se/docs/manpage.html) und deine Pipe-Kette umbauen (https://sanctum.geek.nz/arabesque/useless-use-of-cat/):


curl -s https://fhem.de/fhemupdate/controls_fhem.txt 2>&1  | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | cut -d "/" -f 2 | sort | uniq


Sollte auch tun, was du möchtest und spart sogar noch eine sort und uniq Subkette. 2>&1 ist eine Redirection (https://www.gnu.org/software/bash/manual/html_node/Redirections.html) der Ausgabe von STDERR auf STDOUT (- ist eine Abkürzung von STDOUT).
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 11 Juni 2020, 14:07:41
Ja, aber ich muss es ja mit meiner vorhandenen FHEM/controls_fem.txt vergleichen und die Unterschiede darstellen.

So geht es jetzt auch ohne den mirror
curl -s https://fhem.de/fhemupdate/controls_fhem.txt | cat - FHEM/controls_fhem.txt | egrep -v 'REV|CHANGED|commandref|firmware|pgm2|lib|gplot|fhemSVG' | sort | uniq -u | cut -d "/" -f 2 | sort | uniq

Besten Grüße
Heinz
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: xenos1984 am 11 Juni 2020, 14:31:24
Wenn man als Parameter noch ein -U Firefox übergibt, geht es auch mit wget - ohne den bekomme ich ebenfalls HTTP 403 Forbidden. Anscheinend mag der Server den User Agent von wget nicht.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 14:47:16
Zitat von: xenos1984 am 11 Juni 2020, 14:31:24
Wenn man als Parameter noch ein -U Firefox übergibt, geht es auch mit wget - ohne den bekomme ich ebenfalls HTTP 403 Forbidden. Anscheinend mag der Server den User Agent von wget nicht.

Das ist des Pudels Kern. Ich hab 'ne .wgetrc auf meinem System:

$ grep -i user .wgetrc
user_agent = Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)


Ohne config, gleiches Problem wie bei euch:


$ wget --no-config -O /dev/null https://fhem.de/fhemupdate/controls_fhem.txt
--2020-06-11 14:46:43--  https://fhem.de/fhemupdate/controls_fhem.txt
Resolving fhem.de (fhem.de)... 88.99.31.202, 2a01:4f8:10a:806::2
Connecting to fhem.de (fhem.de)|88.99.31.202|:443... connected.
HTTP request sent, awaiting response... 403 Forbidden
2020-06-11 14:46:43 ERROR 403: Forbidden.


wtf
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: rudolfkoenig am 11 Juni 2020, 15:00:20
Ich habe vor Jahren wget controls_fhem.txt per Apache-Regel untersagt, da etliche Zeitgenossen minuetlich die Datei abgeholt haben, was pro Zeitgenosse 150MB an sinnlosen taeglichen Traffic gekostet hat: die Datei wird ja nur einmal am Tag generiert.

Ein Zeitgenosse holt jetzt die Datei per curl minuetlich ab. Per curl wurde die Datei gestern 5277-mal abgeholt, macht 800MB an (nicht beabsichtigten) Traffic. Weiterhin 981-mal (vergeblich) von wget, und 2289 mal von FHEM selbst. Verhaeltnis Beabsichtigt vs. Missbrauch ist 1:3

Ich denke darueber nach in update-Modul was einzubauen, was per shell nicht ganz trivial nachzustellen ist.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 11 Juni 2020, 15:17:29
Zitat von: rudolfkoenig am 11 Juni 2020, 15:00:20
Ich habe vor Jahren wget controls_fhem.txt per Apache-Regel untersagt, da etliche Zeitgenossen minuetlich die Datei abgeholt haben, was pro Zeitgenosse 150MB an sinnlosen taeglichen Traffic gekostet hat: die Datei wird ja nur einmal am Tag generiert.

Ein Zeitgenosse holt jetzt die Datei per curl minuetlich ab. Per curl wurde die Datei gestern 5277-mal abgeholt, macht 800MB an (nicht beabsichtigten) Traffic. Weiterhin 981-mal (vergeblich) von wget, und 2289 mal von FHEM selbst. Verhaeltnis Beabsichtigt vs. Missbrauch ist 1:3

Ich denke darueber nach in update-Modul was einzubauen, was per shell nicht ganz trivial nachzustellen ist.

Ich verstehe das Problem und verstehe auch nicht, warum man das so häufig macht. Aber wäre es nicht eher eine Idee, stattdessen ein rate limit (https://httpd.apache.org/docs/2.4/mod/mod_ratelimit.html) einzubauen? Du siehst (und weißt ja eh, vermute ich), wie trivial sich die Sperre mit einem geriggten User-Agent umgehen lässt - wechselnde IP sind deutlich aufwändiger. Dann können die curl und wgetler weiter laden, dauert dann halt nur ein paar Minuten ;-)
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Guybrush am 11 Juni 2020, 23:20:55
Zitat von: rudolfkoenig am 11 Juni 2020, 15:00:20ist 1:3
Ich denke darueber nach in update-Modul was einzubauen, was per shell nicht ganz trivial nachzustellen ist.

wieso nicht einfach über fail2ban oder mod_evasive vom apache? da kannst du jeweils ein erlaubtes rate limit für die datei angeben - z.b. 5 requests auf 60 min/20 auf 24h. damit sollte man die ,,poweruser" alleine aussperren können ohne normale nutzer zu beeinträchtigen. ginge jedenfalls schnell/einfach umzusetzen. wenn man lust hat, kann man das alternativ auch übern captcha dann schicken
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: rudolfkoenig am 11 Juni 2020, 23:23:23
Kann mir jemand erklaeren, _wozu_ das "manuelle" abholen dieser Datei gut ist?
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Guybrush am 12 Juni 2020, 08:48:21
Zitat von: rudolfkoenig am 11 Juni 2020, 23:23:23
Kann mir jemand erklaeren, _wozu_ das "manuelle" abholen dieser Datei gut ist?

das kann vermutlich nur der, der es verursacht ;D

ist aber auch so eine Sache. wenn mans komplett sperrt, dann sperrt man ggf. auch mal nutzer aus, die es - warum auch immer - fürs debugging brauchen.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 12 Juni 2020, 09:53:38
Zitat von: rudolfkoenig am 11 Juni 2020, 23:23:23
Kann mir jemand erklaeren, _wozu_ das "manuelle" abholen dieser Datei gut ist?

heizfo hat unten ja erklärt, warum er das macht. Er lässt sich die ausstehenden Updates per Telegram schicken:

Zitat von: heinzfo am 11 Juni 2020, 12:46:54
Ich lese aus welche Updates es gibt vs. zu meinem letzten FHEM update und sende es mir per Telegram zu.

Per se finde ich auch nicht völlig sinnlos das zu tun, auch wenn man einfach svn nehmen und mit svn status -u auch eine Liste der updates bekommen könnte.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: rudolfkoenig am 12 Juni 2020, 10:21:50
Oder "update check" in FHEM.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 12 Juni 2020, 10:39:17
Zitat von: rudolfkoenig am 12 Juni 2020, 10:21:50
Oder "update check" in FHEM.

Nicht jeder Prozess kann auf eine laufende Instanz von FHEM zurückgreifen und der Output von update check ist nicht trivial weiterzuverarbeiten, oder?
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Guybrush am 12 Juni 2020, 14:49:12
das ist trotzdem sinnfrei, wegen eines update checks sowas minütlich abzufragen. selbst tools wie apt-cron aktualisieren sich per default nur einmal täglich, was auch für fhem locker ausreichend wäre. damit wäre die trafficlast schon mal nur noch bei 1/3600. deswegen ja der Vorschlag zur Nutzung von mod_evasive/fail2ban
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: Christoph Morrison am 12 Juni 2020, 14:55:57
Zitat von: Guybrush am 12 Juni 2020, 14:49:12
das ist trotzdem sinnfrei, wegen eines update checks sowas minütlich abzufragen. selbst tools wie apt-cron aktualisieren sich per default nur einmal täglich, was auch für fhem locker ausreichend wäre. damit wäre die trafficlast schon mal nur noch bei 1/3600. deswegen ja der Vorschlag zur Nutzung von mod_evasive/fail2ban

Also es ist erstmal nur eine Spekulation (nicht meine, um da klar zu sein), dass heizfo das ist und deshalb ist die Verknüpfung minütliche Downloads && Check auf Updates so erstmal nicht haltbar. Wir wissen nicht wer es ist und warum er es tut und ob er nicht einen guten Grund hat. Trotzdem hatte ich ja schon ein rate limit vorgeschlagen. Dann dauert es halt ein bisschen länger für Mr. Unknown.

Hat jemand mal die verschiedenen Github-Mirrors abgeklappert? Wäre jetzt meine spontane Vermutung.
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: heinzfo am 12 Juni 2020, 15:21:26
Hallo

Ich rufe es einmal am Tag ab, künftig zwei mal pro Woche.

Zum testen nehme ich die Github Adresse, das kann ich nur jedem empfehlen

Hätte ich geahnt was ich da lostrete  :-\

Beste Grüße
Heinz
Titel: Antw:Update check per ssh geht nicht mehr wie zuvor
Beitrag von: rudolfkoenig am 12 Juni 2020, 15:29:48
Ich habe gar kein Problem mit eimal am Tag, das ist ja 1/1440-mal weniger als einmal die Minute. :)