Anleitung Web Interface

UnknownDeveloper
Core Developer
Beiträge: 154
Registriert: Sa 19. Mai 2018, 15:59
Hat sich bedankt: 14 Mal
Danksagung erhalten: 39 Mal

Anleitung Web Interface

Beitrag von UnknownDeveloper » So 1. Jul 2018, 12:32

Hallo zusammen,

ne kurze Einführung und Anleitung zum neuen Web Interface meinerseits:

Background Info

Einige von euch klagten hier, dass die Anzeige und Info´s bei der Konsolenapplikation doch recht spärlich sind, Änderungen der Settings aufwendig, u.ä.
Aufgrund des neuen Remoting Interfaces mit JSON API Funktionalität, bieten sich nun einige Möglichkeiten ein nettes Feature für die Rasperry/Linux Leute zu bauen. (Keine Angst auch die Windows Nutzer können hiervon profitieren ;) )

Euer Wunsch nach etwas "Oberfläche", "Anzeige" und "Einstellungen ändern" wurde erhört und entstanden ist ein Webinterface basierend auf Python und Dash.

Funktionen
  • Anzeige des Accountoverviews (Spalten modifizierbar)
  • Anzeige von Account Logs
  • Anzeige von den allgemeinen Logs
  • Anzeige/Ändern der Globalen Einstellungen
  • Anzeige/Ändern der Account Einstellunge
  • Aktionen auf allen Accounts ausführen (Login/Logout, Start/Stop, cancel Current Action)
  • Aktionen Account spezifisch ausführen
Bild

Kompatibilität

Im Folgenden rede ich teilweise von 2 Parteien:
1. Client - das Gerät/ der Broswer der auf das Web Interface zugreift.
2. Webserver - der PC/Server/Rasperry der das Webinterface hostet (dies muss nicht zwingend der Rechner sein, auf dem der Bot läuft)
Dieser Punkt ist einer der wichtigsten:
  1. Ihr könnt auf das Webinterface im lokalen Netzwerk zugreifen, oder wenn ihr den Port freigebt auch von außerhalb/unterwegs. (Applikation ist passwortgeschützt (Nutzername/Passwort konfigurierbar), dennoch übernehmen wir für etwaig auftretende Sicherheitsprobleme keine Haftung ;) )
  2. Ihr könnte auf das Webinterface mit jedem Internetfähigen Gerät und ab einem "gewissen" Broswer zugreifen. (Handy, Tablet, Windows [Firefox, Opera, Chrome, Brave], Mac [Safari, Chrome, ....],...)
  3. Als Python Applikation kann der Webserver problemlos auf Linux/Mac/Windows laufen
Benötigte Software und Installation
  1. Zunnächst wird Python 3.5 - 3.6.6 benötigt. Wichtig: ihr solltet Python an die Umgebungsvariablen anbinden.
  2. Für Linux braucht ihr ggf. noch

    Code: Alles auswählen

    apt-get install libcurl4-openssl-dev
  3. Dann benötigt ihr die Dateien von der Downloadseite
  4. Die Installation der Python Libraries über

    Code: Alles auswählen

    pip install -r requirements.txt
  5. Die Remoteinstellungen in den globalen Einstellungen des Bots anpassen:
    Bild
    Es reicht wenn ihr nur einen Admin User angebt, der hat direkt Zugriff auf alle Accounts im Bot.
  6. Das Webinterface testweise starten

    Code: Alles auswählen

    python MainProgram.py -a http://127.0.0.1:1029/ --remoteU=Beispiel --remoteP="Passwort" --webU=Test --webP=1234
    Bild
  7. Im Broswer aufrufen über 127.0.0.1:8050
    Bild
  8. Wenn ihr euch nun mit dem gewählten webU und webP anmelden könnt habt ihr alles richtig gemacht.
  9. Sucht euch die Ip eures Rechners/Servers raus (ipconfig) und versucht von einem Tablet/Handy darauf zuzugreifen.

Generell könnt ihr mit -h weitere Konsolenbefehle für das Webinterface einsehen.
Wenn ihr Bugs findet bitte reporten und falls ihr Änderungen am Python Code vornehmt und sie mit uns teilen wollt, immer gerne :)



Viele Grüße und viel Spaß beim Erkunden

Unknown
Zuletzt geändert von Robin am Fr 13. Jul 2018, 11:43, insgesamt 1-mal geändert.

Benutzeravatar
TakeViagraDieHard
Spender
Beiträge: 48
Registriert: Fr 29. Jun 2018, 21:53
Wohnort: NRW
Hat sich bedankt: 9 Mal
Danksagung erhalten: 14 Mal

Anleitung Web Interface (Raspbian 9)

Beitrag von TakeViagraDieHard » So 15. Jul 2018, 22:48

Ich wollte mir das WI mal auf dem PI (wo auch der Bot läuft) installieren und bin dabei auf einige Probleme gestoßen. Falls es jemand anderem genau so geht schreibe ich hier meine Vorgehensweise nieder.
Ich muss dabei anmerken das ich kein „Profi“ in Sachen Linux bin :roll: . Sollte also jemandem etwas auffallen soll er mich doch bitte korrigieren :king: !

Raspbian 9 (Jasminium) Pi3:

1. Ein Backup erstellen sodass bei Problemen ein rollback durchgeführt werden kann :!:

2. Neues Terminal öffnen und dauerhafte root-Rechte holen:

Code: Alles auswählen

sudo -i
3. Das System auf vordermann bringen:

Code: Alles auswählen

apt-get update
apt-get upgrade
4. Pakete installieren die wir brauchen (manche werden für das kompilieren von Python benötigt und mache für die requirements):

Code: Alles auswählen

apt-get install build-essential libcurl4-openssl-dev libssl-dev libcurl4-gnutls-dev librtmp-dev libmysqlclient-dev tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev
5. Python 3.6.5 downloaden, kompilieren, installieren und pip updaten. Einige Schritte können lange dauern!:
Ggf. das -j4 weg lassen wenn nicht 4 CPU-Kerne vorhanden sind (älter Pi's).

Code: Alles auswählen

wget https://www.python.org/ftp/python/3.6.5/Python-3.6.5.tar.xz
tar xf Python-3.6.5.tar.xz
cd Python-3.6.5
./configure
make -j4
make altinstall
pip3.6 install --upgrade pip
6. Das kompilat und den download wieder löschen:

Code: Alles auswählen

cd ..
rm -r Python-3.6.5
rm Python-3.6.5.tar.xz
7. In das Verzeichnis des heruntergeladenen und entpacken Webinterface wechseln und die requirements installieren. Die Installation kann sehr lange dauern!:

Code: Alles auswählen

cd [PfadZuDemVerzeichnis]/webinterface
pip3.6 install -r requirements.txt
8. Remotezugriff im Bot aktivieren und dann das Skript mit den passenden Argumenten starten:

Code: Alles auswählen

python3.6 MainProgram.py -a http://127.0.0.1:[PortVomBot]/ --remoteU="[UserVomBot]" --remoteP="[PasswortVomBot]" --webU="[UserNameFürWI]" --webP="[UserPasswortFürWI]"

Benutzeravatar
LostSoul
Spender
Beiträge: 65
Registriert: Fr 27. Nov 2015, 17:07
Wohnort: Gotha / Thuringia
Hat sich bedankt: 87 Mal
Danksagung erhalten: 18 Mal
Kontaktdaten:

Re: Anleitung Web Interface

Beitrag von LostSoul » Mo 16. Jul 2018, 03:51

Hi TakeViagraDieHard,

Erstmal Respekt für die saubere Arbeit. Nun bin ich hoffnungsvoll an die Konfiguration vom Webzugriff
gegangen um dann auch beim zweiten Mal lesen der "Anleitung Web Interface" festzustellen das es
für Windows keine Installationshilfe gibt.

Hab dann sicherheitshalber erst einmal Python für Windows [Python 3.7.0 x86-64] installiert, was natürlich
am Weboutput meines Servers NULL Wirkung hatte.

Okay meine Frage...

Kannst Du bitte auch eine Anleitung für Windows schreiben?

Ich würde das Webinterface auch gern sehen. :oops:

Greetz
LostSoul
Geboren in einer stürmischen & verschneiten Nacht im April des Jahres 1972 und bis heute nicht Erwachsen geworden…
Bild
Wer ohne Sünde ist, werfe den ersten CD Player! --- Wenn ich ein Pferd wäre, hätte man mich schon längst erschossen!!!

Benutzeravatar
Robin
Administrator
Beiträge: 1308
Registriert: So 30. Jun 2013, 18:12
Wohnort: Rheinland-Pfalz
Hat sich bedankt: 184 Mal
Danksagung erhalten: 151 Mal

Re: Anleitung Web Interface

Beitrag von Robin » Mo 16. Jul 2018, 09:07

Hi Lost,
ich möchte mich an der Stelle kurz einklinken.
Unter Windows gehst du eigentlich ziemlich genauso vor:

a) Python installieren
b) Kommandozeile / Powershell im Ordner öffnen (bspw. über Shift + Rechsklick) und

Code: Alles auswählen

pip.exe install -r requirements.txt
ausführen
c) start.bat starten und gegebenenfalls die Argumente zur Ausführung wie in den Linux-Anweisungen beschrieben anpassen.

Grüße,
Robin
MFBot 3.x: 19858 CodeZeilen in 32 Dateien
MFBot 4.x: 79792 CodeZeilen in 234 Dateien
MFBot 5.x: 62804 CodeZeilen in 331 Dateien

Benutzeravatar
LostSoul
Spender
Beiträge: 65
Registriert: Fr 27. Nov 2015, 17:07
Wohnort: Gotha / Thuringia
Hat sich bedankt: 87 Mal
Danksagung erhalten: 18 Mal
Kontaktdaten:

Re: Anleitung Web Interface

Beitrag von LostSoul » Mo 16. Jul 2018, 11:04

Hi Robin,
Robin hat geschrieben:
Mo 16. Jul 2018, 09:07
ich möchte mich an der Stelle kurz einklinken.
Mach nur. Ich habe von Python NULL Ahnung.
Robin hat geschrieben:
Mo 16. Jul 2018, 09:07
Unter Windows gehst du eigentlich ziemlich genauso vor:

a) Python installieren
Check [Python 3.7 (64-bit)]
Robin hat geschrieben:
Mo 16. Jul 2018, 09:07
b) Kommandozeile / Powershell im Ordner öffnen (bspw. über Shift + Rechsklick) und

Code: Alles auswählen

pip.exe install -r requirements.txt
ausführen
...und TILT! Woher bekomme ich diese "requirements.txt" ich will doch eigentlich das das ganze im Chrome läuft.

Du bemerkst meine völlige Blindheit...
Robin hat geschrieben:
Mo 16. Jul 2018, 09:07
c) start.bat starten und gegebenenfalls die Argumente zur Ausführung wie in den Linux-Anweisungen beschrieben anpassen.
Und die start.bat suche ich auch noch :-(

Sorry aber da komme ich nicht ohne detailliertere Hilfe weiter.

Greetz
LostSoul
Geboren in einer stürmischen & verschneiten Nacht im April des Jahres 1972 und bis heute nicht Erwachsen geworden…
Bild
Wer ohne Sünde ist, werfe den ersten CD Player! --- Wenn ich ein Pferd wäre, hätte man mich schon längst erschossen!!!

Benutzeravatar
Robin
Administrator
Beiträge: 1308
Registriert: So 30. Jun 2013, 18:12
Wohnort: Rheinland-Pfalz
Hat sich bedankt: 184 Mal
Danksagung erhalten: 151 Mal

Re: Anleitung Web Interface

Beitrag von Robin » Mo 16. Jul 2018, 19:35

Hi Lost!
Die requirements.txt liegen in der ZIP-Datei, die du downloaden und entpacken sollst (Punkt 2 bei Unknown, Punkt 7 bei DieHard), genau wie die start.bat, die liegt auch in der ZIP-Datei.
Du lädst dir also die ZIP-Datei von der Downloadseite herunter, entpackst sie und in dem Ordner liegen alle notwendigen Dateien, so auch die Python-Dateien die über die start.bat mit Python aufgerufen werden.

Also nochmal langsam:
1. Zip-Archiv von Downloads-Seite ("Web-Interface (Python in .zip Datei)") downloaden und entpacken.
2. Win+R (Ausführen-Dialog) aufrufen, cmd.exe eingeben oder Kommandozeile per Hand (bspw. über die Windows-10-Suchfunktion in der Taskleiste) starten
3. Wenn der neue Ordner bspw. der Ordner C:\mfbot-webinterface ist:

Code: Alles auswählen

cd C:\mfbot-webinterface
pip.exe install -r requirements.txt
4. Wenn alles durch ist, start.bat im Notepad öffnen (Rechtsklick -> Bearbeiten -> im ggf. sich öffnenden Windows-Schutzfenster "Weitere Informationen" und dann "Trotzdem ausführen" drücken)
5. Remotezugriff im Bot aktivieren falls noch nicht erfolgt
6. start.bat in Zeile 2 wie folgt editieren und alles in eckigen Klammern (auch die eckigen Klammern selbst) mit deinen Daten austauschen: (Light Theme habe ich hier rausgenommen, das dunkle gefällt mir besser)

Code: Alles auswählen

python MainProgram.py -a http://127.0.0.1:[PortVomBot]/ --remoteU="[UserVomBot]" --remoteP="[PasswortVomBot]" --webU="[UserNameFürWI]" --webP="[UserPasswortFürWI]"
Hinweis: [UserVomBot] und [PasswortVomBot] lassen sich im Bot in den globalen Einstellungen (Erweiterte Ansicht -> Fernzugriff) anpassen, UserName/PasswortFürWI ist das Paar, mit dem du dich später im Browser beim Webinterface authentifizierst.
7. start.bat speichern und start.bat starten

Bei Fragen: Einfach fragen!


Grüße,
Robin
MFBot 3.x: 19858 CodeZeilen in 32 Dateien
MFBot 4.x: 79792 CodeZeilen in 234 Dateien
MFBot 5.x: 62804 CodeZeilen in 331 Dateien

Benutzeravatar
TakeViagraDieHard
Spender
Beiträge: 48
Registriert: Fr 29. Jun 2018, 21:53
Wohnort: NRW
Hat sich bedankt: 9 Mal
Danksagung erhalten: 14 Mal

Anleitung Web Interface (Windows)

Beitrag von TakeViagraDieHard » Mo 16. Jul 2018, 19:54

Ich möchte noch betonen das die installation von Python etc. nur auf dem Server gemacht werden muss! Clients verbinden sich ausschließlich über den Browser.

1. Download und installation von Python (Ich denke mit einer neueren Version funktioniert es auch):
https://www.python.org/ftp/python/3.6.6 ... -3.6.6.exe

2. Download des aktuellen Webinterface:
https://www.mfbot.de/downloads/

3. Entpacken in irgendeinen Ordner. In meinem Fall nach "C:\mfbot\webinterface"

4. Requirements installieren. Cmd (als Administraor) öffnen und folgende Befehle ausführen:

Code: Alles auswählen

cd c:\mfbot\webinterface
%LOCALAPPDATA%\Programs\Python\Python36-32\Scripts\pip3.6.exe install -r requirements.txt
5. Im bot die Remote-Funktion konfigurieren und aktivieren.

6. Die start.bat (liegt unter "C:\mfbot\webinterface") anpassen:

Code: Alles auswählen

@echo off
py MainProgram.py -a http://127.0.0.1:[PortVomBot]/ --remoteU="[UserVomBot]" --remoteP="[PasswortVomBot]" --webU="[UserNameFürWI]" --webP="[UserPasswortFürWI]"
pause
Starten des Webinterface dann einfach über einen Doppelklick auf die "start.bat"

Benutzeravatar
LostSoul
Spender
Beiträge: 65
Registriert: Fr 27. Nov 2015, 17:07
Wohnort: Gotha / Thuringia
Hat sich bedankt: 87 Mal
Danksagung erhalten: 18 Mal
Kontaktdaten:

Re: Anleitung Web Interface

Beitrag von LostSoul » Mo 16. Jul 2018, 20:24

Hi Ihr Beiden,

Okay das war jetzt ausführlich. Ich probiere das morgen definitiv aus. Habt vielen Dank. Ich gebe natürlich Rückmeldung wie es ausgegangen ist.

Eine Sache macht mich noch stutzig. Ich habe auf meinem Windows Client die Apache, MySQL usw. Server. Ist das die Maschine auf der ich Python installiere?

Greetz
LostSoul
Geboren in einer stürmischen & verschneiten Nacht im April des Jahres 1972 und bis heute nicht Erwachsen geworden…
Bild
Wer ohne Sünde ist, werfe den ersten CD Player! --- Wenn ich ein Pferd wäre, hätte man mich schon längst erschossen!!!

Benutzeravatar
TakeViagraDieHard
Spender
Beiträge: 48
Registriert: Fr 29. Jun 2018, 21:53
Wohnort: NRW
Hat sich bedankt: 9 Mal
Danksagung erhalten: 14 Mal

Re: Anleitung Web Interface

Beitrag von TakeViagraDieHard » Mo 16. Jul 2018, 20:27

Der Server ist i.d.R das worauf der Bot + Python mit WI läuft. Clients sind dann deine Workstations oder dein Handy.

Benutzeravatar
LostSoul
Spender
Beiträge: 65
Registriert: Fr 27. Nov 2015, 17:07
Wohnort: Gotha / Thuringia
Hat sich bedankt: 87 Mal
Danksagung erhalten: 18 Mal
Kontaktdaten:

Re: Anleitung Web Interface

Beitrag von LostSoul » Mo 16. Jul 2018, 20:33

Hi TakeViagraDieHard,
TakeViagraDieHard hat geschrieben:
Mo 16. Jul 2018, 20:27
Der Server ist i.d.R das worauf der Bot + Python mit WI läuft.
Dann ist mein Windows Client also der Server. Danke.

Greetz
LostSoul
Geboren in einer stürmischen & verschneiten Nacht im April des Jahres 1972 und bis heute nicht Erwachsen geworden…
Bild
Wer ohne Sünde ist, werfe den ersten CD Player! --- Wenn ich ein Pferd wäre, hätte man mich schon längst erschossen!!!

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste