Autor Thema: FHEM hinter Proxy  (Gelesen 10867 mal)

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 28343
Antw:FHEM hinter Proxy
« Antwort #15 am: 06 Januar 2017, 16:27:11 »
Du erstellst ein Patch und lässt ihn Rudi zukommen.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Offline TL

  • Jr. Member
  • **
  • Beiträge: 77
Antw:FHEM hinter Proxy
« Antwort #16 am: 06 Januar 2017, 19:02:52 »
Moin!

...

Ich würde gern meine Weiterentwicklung zurück fließen lassen. Das es sich um eine wichtige Komponente handelt, natürlich nicht ohne Review. Testen konnte ich die Klasse nur eingeschränkt mit meinen Setups mit und ohne Proxy.
Muss ich meine Änderungen nun in ein git einstellen?

Testen würde ich sehr gern - wenn ich helfen kann, sag' bitte Bescheid...  :)

Viele Grüße,
   Thomas
Einen Pi, sie zu knechten, sie alle zu finden,
ins FHEM zu treiben und ewig zu binden.

Offline Sebastian J

  • New Member
  • *
  • Beiträge: 40
Antw:FHEM hinter Proxy
« Antwort #17 am: 20 April 2017, 12:49:14 »
Gibt es irgendwo diesen Patch zum Download ?
Oder ist er schon in der Aktuellen Version integriert ?
Wie müssen die Einträge in der fhem.cfg aussehen ?

Vielen Dank im Voraus. :)

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 28343
Antw:FHEM hinter Proxy
« Antwort #18 am: 20 April 2017, 13:38:33 »
Habe gerade mal geschaut. Im Code des aktuellen Modules gibt es keine Proxy Implementierung.
Schnelle Lösung wäre hier wohl ein transparenter Proxy
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Engel

  • Gast
Antw:FHEM hinter Proxy
« Antwort #19 am: 20 April 2017, 23:13:09 »
Meine Implementierung läuft nun seit geraumer Zeit ohne Fehler.

Wo finde ich im Forum eine Anleitung zu "Du erstellst ein Patch und lässt ihn Rudi zukommen"?

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 28343
Antw:FHEM hinter Proxy
« Antwort #20 am: 20 April 2017, 23:18:05 »
Wie man ein Patch erstellt findet man zahllos im Internet. Und dann entweder hier anhängen oder Rudi direkt senden. Natürlich sollte der Patch auf Codebasis des aktuellen HttpUtils Modul basieren.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2464
  • FHEMinist
Antw:FHEM hinter Proxy
« Antwort #21 am: 21 April 2017, 07:36:48 »
Wo finde ich im Forum eine Anleitung zu "Du erstellst ein Patch und lässt ihn Rudi zukommen"?

Nicht im Forum, aber im Wiki: https://wiki.fhem.de/wiki/How_to_write_a_patch

Engel

  • Gast
Antw:FHEM hinter Proxy
« Antwort #22 am: 26 April 2017, 22:14:21 »
So, hier mein erster Versuch eines Patches auf Basis der aktuellen Code-Basis.
Ich bin gespannt auf ein Feedback und hoffe, dass es auch anderen Nutzern weiter hilft.

Über eine Info, wie oder wo die zwei neu eingeführten globalen Variablen (proxyHost & proxyPort) eingetragen werden müssen, damit die Warnungen verschwinden, wäre ich dankbar.

Offline michiatlnx

  • New Member
  • *
  • Beiträge: 16
Antw:FHEM hinter Proxy
« Antwort #23 am: 12 Mai 2017, 14:19:08 »
Hallo,

nach dem patchen der HttpUtils, habe ich bei mir noch die fhem.pl erweitert danach war bei mir die Fehlermeldungen weg und die proxyHost proxyPort sind in der global Attr List auswählbar:
/opt/fhem/fhem.pl
my @globalAttrList = qw(
  ...
+  proxyHost
+  proxyPort
  ...

Ein Update check ging aber nicht und bekomme die Meldung HTTP/1.0 400 Bad Request und X-Squid-Error: ERR_INVALID_REQ 0
Den fhem log Ausschnitt habe ich drangehängt.
FHEM Container with mysql on Debian 8 INTEL NUC5PPYB (Celeron N3050) - FTUI on Blackview Tab 8E 10,1" - HMLAN - CCU3 with piVCCU on Raspberry Pi 4B - some HM-Devices - EM 1000-WZ via nanoCUL868 - SIGNALduino - SIGNALESP - AirPurifier3C - MQTT for CO2-Sensor(MH-Z19C), Gosund SP1, XY-WFUSB
Informativ Informativ x 1 Liste anzeigen

Offline Prof. Dr. Peter Henning

  • Developer
  • Hero Member
  • ****
  • Beiträge: 8646
Antw:FHEM hinter Proxy
« Antwort #24 am: 12 Mai 2017, 15:11:03 »
Eine Veränderung der fhem.pl  ist vollkommen unnötig.
Globale Attrribute kann jeder mit userAttr setzen, wenn er sie denn benötigt.

Also bitte erst einmal die Dokumentation lesen.

LG

pah

Offline Benni

  • Developer
  • Hero Member
  • ****
  • Beiträge: 2464
  • FHEMinist
Antw:FHEM hinter Proxy
« Antwort #25 am: 12 Mai 2017, 18:57:40 »
Eine Veränderung der fhem.pl  ist vollkommen unnötig.
Globale Attrribute kann jeder mit userAttr setzen, wenn er sie denn benötigt.

Also bitte erst einmal die Dokumentation lesen.

LG

pah

Wenn ich es richtig sehe, geht es hier aber um device-spezifische Attribute am global-Device, nicht um globale Attribute für alle Devices. Das gäbe in dem Kontext ja auch gar keinen Sinn.

Offline lulatsch66

  • New Member
  • *
  • Beiträge: 15
Antw:FHEM hinter Proxy
« Antwort #26 am: 30 August 2017, 19:58:05 »
Um das Thema nochmal aufzugreifen: da ich ebenfalls jemanden habe, der nach extern über einen Proxy "muss"
und aktuell deswegen keine Updates machen kann, habe ich den Patch für die aktuelle HttpUtils.pm angepasst -
scheint bei mir lokal auch prinzipiell zu funktionieren, allerdings nur mit ipv4 getestet.

  • FHEM/HttpUtils.pm gepatcht: cd FHEM ; patch < HttpUtils-14945-proxy.patch
  • fhem.pl habe ich ebenfalls angepasst - das ist ja kein Device Attribut? - jedenfalls klappt es so
  • attr global proxyHost 192.168.x.y
  • attr global proxyPort 3128

... danach laufen alle http Abfragen über den Proxy. Hier fehlt also noch eine Ausschluss-Liste, sprich z.B. alles im lokalen Netz sollte wahrscheinlich nicht über den Proxy, sondern kann den direkten Weg nehmen. Jemand eine Idee, wie man das sauber lösen könnte?

Uns geht es in diesem Fall ja vor allem um's Fhem-Update - was die gepatchten Dateien natürlich wieder überschreibt, solange der Patch nicht integriert wurde ...  :-\

Zum Testen hatte ich mir einen squid proxy so aufgesetzt:

  • apt install squid
  • in /etc/squid/squid.conf aktiviert:  acl localnet src 192.168.0.0/16   und   http_access allow localnet 

LG
Falko

PS: mir ist klar, wenn es nur um's Update ginge, könnte man einfach den svn checkout verwenden ...

Offline rudolfkoenig

  • Administrator
  • Hero Member
  • *****
  • Beiträge: 26098
Antw:FHEM hinter Proxy
« Antwort #27 am: 03 September 2017, 15:30:32 »
Meine Bemerkungen zum Patch:
- die DNS-Aufloesung in HttpUtils_gethostbyname ist nur fuer die blockierende Version implementiert, dafuer aber explizit nochmal. Wuerde eine Zeile wie
  $host = AttrVal("global", "proxyHost", $host);am Anfang der Routine nicht auch reichen? Damit wuerde IPv6 usw auch funktionieren.
- soweit ich es sehe, funktioniert es nur mit einer IPv4-Adresse als proxyHost.
- falls proxyPort nicht gesetzt ist, wird proxyHost ignoriert.
- das Ergebnis von HttpUtils_gethostbyname wird beim gesetzten proxy-Attributen ignoriert, d.h. der Code in HttpUtils_gethostbyname ist ueberfluessig.
- $hash->{proxyhost} und $hash->{proxyport} werden in HttpUtils_Close nicht entfernt.
- ich faende es sinnvoller auf CONNECT zu verzichten: wenn schon Proxy, dann sollte der doch mitlesen duerfen. Bin aber kein Experte auf diesem Gebiet.

Falls das mehrere Anwender interessiert, werde ich das Problem selbst angehen.

Zitat
Uns geht es in diesem Fall ja vor allem um's Fhem-Update - was die gepatchten Dateien natürlich wieder überschreibt, solange der Patch nicht integriert wurde ...
attr global exclude_from_update ...

Online CoolTux

  • Developer
  • Hero Member
  • ****
  • Beiträge: 28343
Antw:FHEM hinter Proxy
« Antwort #28 am: 03 September 2017, 15:42:04 »
Da ich persönlich mit einem Proxy arbeite wäre Interesse vorhanden.
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Mein Dokuwiki:
https://www.cooltux.net

Offline krikan

  • Developer
  • Hero Member
  • ****
  • Beiträge: 7048
Antw:FHEM hinter Proxy
« Antwort #29 am: 03 September 2017, 16:41:18 »
Zitat
Da ich persönlich mit einem Proxy arbeite wäre Interesse vorhanden.
Schließe mich an.  :)

 

decade-submarginal