Interaktives Script unter /var/tuxbox/plugins einbinden

Antworten
satellitenschubser
Beiträge: 71
Registriert: Sa 23. Apr 2016, 10:06
Wohnort: Münster
Box: Mut@nt HD51

Interaktives Script unter /var/tuxbox/plugins einbinden

Beitrag von satellitenschubser »

Moin.

Da mein VPN-Anbieter und die OpenVPN Einstellungen in den Erweiterungen irgendwie nicht zusammen kommen wollen, habe ich, um einen VPN-Server anzuwählen, bereits ein funtionierendes Bash-Script in dem im Titel angegebenen Verzeichnis angelegt.

Ein weiteres Script habe ich vor einem halben Jahr für meine Raspi gebaut, weil Kodi ähnliche Probleme hatte. Dies läuft auf der Konsole und ist interaktiv zum schnellen Wechsel von VPN-Servern. Nachdem ich das jetzt mit ein paar kleinen Änderungen auch auf der Konsole meiner HD51 ans Laufen gekriegt habe, frage ich mich jetzt, warum es scheinbar nicht möglich ist, das Script aus der Neutrino-Oberfläche zu bedienen. Die Bash erwartet eine Zahleneingabe zwischen 0 und 100, reagiert aber nicht auf die FB. Muß ich da vielleicht irgendwas in der cfg ändern?

Hier mal meine cfg:
[+] Spoiler

type=3
name=VPN-Server Auswahl
desc=VPN ein
index=05
key=auto
needfb=1
needrc=1
needoffsets=1
hide=0
shellwindow=1
integration=0
hinticon=
und auch mal das Script zur Ansicht:
[+] Spoiler

#!/bin/bash
ls /media/sda1/VPN/ > /media/sda1/dateien.txt
echo "============================================================ VPN Manager ======================================================================"
showMenu(){
echo "--------------------"
echo " menu"
echo "--------------------"
grep 'conf' /media/sda1/dateien.txt > /media/sda1/dateien1.txt
sed = /media/sda1/dateien1.txt | sed 'N; s/^/ /; s/ *\(.\{6,\}\)\n/\1 /' | sed 's/\(.*\)\.[^.]*$/\1/'
echo " 0 VPN beenden"
echo " 100 Abbrechen"
echo "--------------------"

read -p "Bitte Nummer des Servers angeben: " mc
return $mc
}
string=$(curl -s ipinfo.io/org )
if [ "$string" = "AS8881 1&1 Versatel Deutschland GmbH" ]; then
echo "Status:"
echo -e "\e[31mServer nicht verbunden!\e[0m"
#kodi-send -a "Notification(GooseVPN,OVPN ist offline.)"
else
echo "Status:"
echo -e "\e[93mServer verbunden.\e[0m"
#kodi-send -a "Notification(GooseVPN,OVPN ist verbunden.)"
fi
echo "========================================================= VPN Server Auswahl =================================================================="
showMenu
m=$?
if [ "$m" == "0" ] ; then
echo "========================================================= Stop VPN Service ===================================================================="
killall -9 openvpn
modprobe -r tun.ko
echo "Beende VPN Service"
echo "============================================================= IP direkt ======================================================================="
curl ipinfo.io
echo
echo "Service beendet"
elif [ "$m" == "100" ]; then
exit 0
fi
server=$(head -n$m /media/sda1/dateien.txt|tail -n1)
echo "Verbinde mit Server $server"
#string1=$(curl -s ipinfo.io/org )
modprobe tun.ko
echo "============================================================= IP vorher ======================================================================="
curl ipinfo.io
echo
echo "========================================================= Stop VPN Service ===================================================================="
killall -9 openvpn
/sbin/openvpn /media/sda1/VPN/$server
sleep 10
echo
echo "==============================================================IP nachher ======================================================================"
curl ipinfo.io
echo
echo "================================================= Neuen Server in die Autostart eintragen? ===================================================="
#read -n 1 -p"Beim Neustart mit dem Server verbinden(j/n)? " response
#echo
#if [ "$response" == "j" ]; then
#echo
#echo "openvpn --daemon --config /storage/vpn/$server" > /storage/.config/autostart.sh
#echo "(sleep 20; sh /storage/nachricht.sh)&" >> /storage/.config/autostart.sh
#echo "Start-Server gewechselt."
#fi
echo "==============================================================================================================================================="
string=$(curl -s ipinfo.io/org )
if [ "$string" = "AS8881 1&1 Versatel Deutschland GmbH" ]; then
echo "----------------"
echo -e "\e[31mServer nicht verbunden!\e[0m"
#kodi-send -a "Notification(GooseVPN,OVPN ist offline.)"
else
echo "----------------"
echo -e "\e[93mServer verbunden.\e[0m"
#kodi-send -a "Notification(GooseVPN,OVPN ist verbunden.)"
fi
Die auskommentierten Zeilen sind noch Baustellen :wink:

Gruß Hans
Neutrino-Timeline: 2 X D-Box 2 von Philips (Schönste überhaupt :relaxed:), Coolstream Neo Twin, Mut@nt HD51.
Gibertini Alu-Antenne OP 85 SE, Inverto IDLB-QUDL40 Selected Quad Premium LNB 40mm
Benutzeravatar
fred_feuerstein
NI - Team
Beiträge: 1295
Registriert: Di 5. Apr 2016, 16:11
Wohnort: Rhein-Main-Gebiet
Box: TankMut@ntTrinityZee²LinkHD1BSE
Has thanked: 1 time
Been thanked: 23 times

Re: Interaktives Script unter /var/tuxbox/plugins einbinden

Beitrag von fred_feuerstein »

Du hast bei dem script zwar Ausgaben und Anzeigen drin und in der Cfg auch das shellwindow aktiviert. Das shellwindow ist aber nur eine Anzeige und reagiert nicht auf Eingaben.

Du müsstest also schon ein richtiges plugin mit Eingabemoglichkeiten erstellen. Entweder ein solches Skript mit Eingaben und Anzeigen über msgbox (so mache ich das bspw. beim Logo updater oder smart home Info) oder ein plugin mit Lua. Das wäre die modernere Form und die Anzeigen würden genauso aussehen wie die sonstigen neutrino Menüs.
satellitenschubser
Beiträge: 71
Registriert: Sa 23. Apr 2016, 10:06
Wohnort: Münster
Box: Mut@nt HD51

Re: Interaktives Script unter /var/tuxbox/plugins einbinden

Beitrag von satellitenschubser »

Autsch...das hatte ich schon befürchtet :grinning:
Da werde ich mich doch mal ersthaft mit Lua auseinandersetzten müssen. Das gibt wieder viele schlaflose Nächte :grin:
Danke dir für den hilfreichen Tipp!

Gruß Hans
Neutrino-Timeline: 2 X D-Box 2 von Philips (Schönste überhaupt :relaxed:), Coolstream Neo Twin, Mut@nt HD51.
Gibertini Alu-Antenne OP 85 SE, Inverto IDLB-QUDL40 Selected Quad Premium LNB 40mm
Antworten

Zurück zu „Plugins“