Aktuelles
Digital Eliteboard - Das Digitale Technik Forum

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

Registriere dich noch heute kostenlos, um Mitglied zu werden! Sobald du angemeldet bist, kannst du auf unserer Seite aktiv teilnehmen, indem du deine eigenen Themen und Beiträge erstellst und dich über deinen eigenen Posteingang mit anderen Mitgliedern unterhalten kannst! Zudem bekommst du Zutritt zu Bereichen, welche für Gäste verwehrt bleiben

VAVOO Live-TV benutzen ohne Kodi, TV-Box, Premium ...

Hallo,
ich kenne mich nicht mit Linux aus aber für Einige ist sowas bestimmt kein großes Problem.

Wie kann man unter Termux meine lokale IP auslesen und einer Variable namens DATA übergeben?
Z.B. im start.sh auslesen und in playlist.py hurl = ' ' diese eninsetzen.?

Irgendwie sowas:
DATA=ifconfig........ Hier unter DATA soll meine lokale IP (192.168.2.25) unter der Variable ausgelesen sein
und in hurl = $DATA als Variable an der Stelle einsetzen.
Ich versuche schon Stunden lang das hinzubekommen. Es klappt nicht!
 
Das Projekt läuft schon ganz gut bei mir. Und das ist das letzte Quäntchen, um mir den Weg "zur Fuß zu ersparen" ;)
 
Die Anweisung vom Woopser Ist aber leider nicht richtig!
Ich bekomme die IP 127.0.0.1 und nicht meine Locale (192.168.2.25):unsure:
 
Edit:
Danke für die schnelle Hilfestellung aber bei Termux hostname -I scheitert es!
Als Option gibt nur "das kleine" i
Mag sein das es bei Rasbi geht aber nicht bei meinem Smartphone!

Nur bei dem Befehl ifconfig vom salidos sehe ich die "richtige" IP mit einer Warnung. Vielleicht eher diese Richtung?
Oder doch noch andere Idee?
 
Zuletzt bearbeitet:
DATA=ifconfig | grep broadcast | sed -e 's/ *inet //' -e 's/ .*$//'
Das ist die Lösung! Super und vielen Dank (y) :giggle:
Jetzt noch der letzte Schritt:

Jetzt habe ich noch zusätzlich die DATA modifiziert und folgendes hinzugefügt:
DATA='http://'ifconfig | grep broadcast | sed -e 's/ *inet //' -e 's/ .*$//'':8080' (und es kommt jetzt: raus).

Die Variable Data ist jetzt so in einer start.sh definiert und die möchte ich an meine playlist.py übergeben.
Wie macht man das? Muss man die Variable DATA in der playlist.py extra definieren? (sowas ähnliches wie z.B. Public DATA in einem vbscript?)
Für die Hilfestellung werde ich dankbar. :)
 
das könnte klappen:
Python:
import socket

hostname = socket.gethostname()
ip_address = socket.gethostbyname(hostname)

DATA = ip_address

print("IP:", DATA)
 
Eine Shell-Variable ist nur innerhalb der Shell vorhanden, in der sie erzeugt wurde!
Frag mal die Python-Spezialisten, wie man die IP direkt in Python abfragen kann. Das wäre der bessere Weg.
Die Idee mit dem Shell-Skript ist sehr gut.
Leider übernimmt die playlist.py die Variable von dem start.sh nicht.

In der $HOME/start.sh habe ich die Anweisung:
Export DATA='http://'ifconfig | grep broadcast | sed -e 's/ inet //' -e 's/ .$//'':8080' eingefügt. ( )
Dann in der $HOME/lighttpd/www/playlist.py folgendes eingetragen:
1. import os (eigentlich war es schon drin)
2. hurl = os.getenv("DATA")
und am Ende steht in der M3U-Liste anstatt None/playlist2.php?id=... was falsch ist.
Vielleicht weil die start.sh und playlist.py in unterschiedlichen Ordnern liegen!

Wenn ich damit nicht weiter kommen sollte dann kann man in der erzeugten im Ordner lighttpd/www/M3U-Liste (ist eine Text-Datei)
über den sed Befehl in der Zeile, wo sich z.B. befindet, die durch die Variable DATA zu ersetzen?
So müsste das auch gehen.
Welches Weg soll ich einschlagen?
Vielleicht ein kleines Beispiel mit dem ersetzen des Strings in der M3U-Liste:
.... in DATA (DATA=' ')

das könnte klappen:
Python:
import socket

hostname = socket.gethostname()
ip_address = socket.gethostbyname(hostname)

DATA = ip_address

print("IP:", DATA)
Das werde ich jetzt probieren. Vielen Dank (y) :giggle:
Habe es gerade probiert.:unsure:
Schade, das mit dem Python klappt so nicht! Als Ergebnis kommt: IP: 127.0.0.1 und leider nicht meine IP (192.168.2.25)
Vielleicht fehlt hier noch was in dem Aufbau.
Ich denke, wenn es klappen würde, wäre dieser Weg der einfachster.
Erstmal vielen Dank für die Unterstützung
 
Zuletzt bearbeitet:
Zurück
Oben