Vorlage:OSCamConfigScript: Unterschied zwischen den Versionen

Aus Streamboard Wiki
Zur Navigation springen Zur Suche springen
(Die Seite wurde neu angelegt: „#!/bin/bash tempfile=/tmp/test$$ tempfileconfig=/tmp/oscam-config.h configfile=oscam-config.h DIALOG=${DIALOG:-`which dialog`} height=30 width=65 listheight=16 …“)
 
(Der Seiteninhalt wurde durch einen anderen Text ersetzt: „<syntaxhighlight lang="bash"> # ich bin ein Kommentar echo 'ich bin Bash Code' </syntaxhighlight>“)
Zeile 1: Zeile 1:
#!/bin/bash
<syntaxhighlight lang="bash">
tempfile=/tmp/test$$
# ich bin ein Kommentar
tempfileconfig=/tmp/oscam-config.h
echo 'ich bin Bash Code'
configfile=oscam-config.h
</syntaxhighlight>
DIALOG=${DIALOG:-`which dialog`}
 
height=30
width=65
listheight=16
 
if [ -z "${DIALOG}" ]; then
echo "Please install dialog package." 1>&2
exit 1
fi
 
cp -f $configfile $tempfileconfig
 
addons="WEBIF HAVE_DVBAPI WITH_STAPI IRDETO_GUESSING CS_ANTICASC WITH_DEBUG CS_WITH_DOUBLECHECK CS_LED QBOXHD_LED CS_LOGHISTORY MODULE_MONITOR WITH_SSL WITH_SSLv3 WITH_LB LCDSUPPORT IPV6SUPPORT"
protocols="MODULE_CAMD33 MODULE_CAMD35 MODULE_CAMD35_TCP MODULE_NEWCAMD MODULE_CCCAM MODULE_GBOX MODULE_RADEGAST MODULE_SERIAL MODULE_CONSTCW MODULE_PANDORA"
readers="WITH_CARDREADER READER_NAGRA READER_IRDETO READER_CONAX READER_CRYPTOWORKS READER_SECA READER_VIACCESS READER_VIDEOGUARD READER_DRE READER_TONGFANG"
 
check_test() {
if [ "$(cat $tempfileconfig | grep "^#define $1$")" != "" ]; then
echo "on"
else
echo "off"
fi
}
 
disable_all() {
for i in $1; do
sed -i -e "s/^#define ${i}$/\/\/#define ${i}/g" $tempfileconfig
done
}
 
enable_package() {
for i in $(cat $tempfile); do
strip=$(echo $i | sed "s/\"//g")
sed -i -e "s/\/\/#define ${strip}$/#define ${strip}/g" $tempfileconfig
done
}
 
print_components() {
clear
echo "You have selected the following components:"
echo -e "\nAdd-ons:"
for i in $addons; do
printf "\t%-20s: %s\n" $i $(check_test "$i")
done
 
echo -e "\nProtocols:"
for i in $protocols; do
printf "\t%-20s: %s\n" $i $(check_test "$i")
done
 
echo -e "\nReaders:"
for i in $readers; do
printf "\t%-20s: %s\n" $i $(check_test "$i")
done
cp -f $tempfileconfig $configfile
}
 
menu_addons() {
${DIALOG} --checklist "\nChoose add-ons:\n " $height $width $listheight \
WEBIF "Web Interface" $(check_test "WEBIF") \
HAVE_DVBAPI "DVB API" $(check_test "HAVE_DVBAPI") \
WITH_STAPI "STAPI (DVB API required)" $(check_test "WITH_STAPI") \
IRDETO_GUESSING "Irdeto guessing" $(check_test "IRDETO_GUESSING") \
CS_ANTICASC "Anti cascading" $(check_test "CS_ANTICASC") \
WITH_DEBUG "Debug messages" $(check_test "WITH_DEBUG") \
CS_WITH_DOUBLECHECK "ECM doublecheck" $(check_test "CS_WITH_DOUBLECHECK") \
CS_LED "LED" $(check_test "CS_LED") \
QBOXHD_LED "QboxHD LED" $(check_test "QBOXHD_LED") \
CS_LOGHISTORY "Log history" $(check_test "CS_LOGHISTORY") \
MODULE_MONITOR "Monitor" $(check_test "MODULE_MONITOR") \
WITH_SSL "OpenSSL support" $(check_test "WITH_SSL") \
WITH_SSLv3          "OpenSSL v3 only support"  $(check_test "WITH_SSLv3") \
WITH_LB "Loadbalancing" $(check_test "WITH_LB") \
LCDSUPPORT "LCD support" $(check_test "LCDSUPPORT") \
IPV6SUPPORT "IPv6 support (experimental)" $(check_test "IPV6SUPPORT") \
2> ${tempfile}
 
opt=${?}
if [ $opt != 0 ]; then return; fi
 
disable_all "$addons"
enable_package
}
 
menu_protocols() {
${DIALOG} --checklist "\nChoose protocols:\n " $height $width $listheight \
MODULE_CAMD33 "camd 3.3" $(check_test "MODULE_CAMD33") \
MODULE_CAMD35 "camd 3.5 UDP" $(check_test "MODULE_CAMD35") \
MODULE_CAMD35_TCP "camd 3.5 TCP" $(check_test "MODULE_CAMD35_TCP") \
MODULE_NEWCAMD "newcamd" $(check_test "MODULE_NEWCAMD") \
MODULE_CCCAM "CCcam" $(check_test "MODULE_CCCAM") \
MODULE_GBOX "gbox" $(check_test "MODULE_GBOX") \
MODULE_RADEGAST "radegast" $(check_test "MODULE_RADEGAST") \
MODULE_SERIAL "Serial" $(check_test "MODULE_SERIAL") \
MODULE_CONSTCW "constant CW" $(check_test "MODULE_CONSTCW") \
MODULE_PANDORA "Pandora" $(check_test "MODULE_PANDORA") \
2> ${tempfile}
 
opt=${?}
if [ $opt != 0 ]; then return; fi
 
disable_all "$protocols"
enable_package
}
 
menu_reader() {
${DIALOG} --checklist "\nChoose reader:\n " $height $width $listheight \
READER_NAGRA "Nagravision" $(check_test "READER_NAGRA") \
READER_IRDETO "Irdeto" $(check_test "READER_IRDETO") \
READER_CONAX "Conax" $(check_test "READER_CONAX") \
READER_CRYPTOWORKS "Cryptoworks" $(check_test "READER_CRYPTOWORKS") \
READER_SECA "Seca" $(check_test "READER_SECA") \
READER_VIACCESS "Viaccess" $(check_test "READER_VIACCESS") \
READER_VIDEOGUARD "NDS Videoguard" $(check_test "READER_VIDEOGUARD") \
READER_DRE "DRE Crypt" $(check_test "READER_DRE") \
READER_TONGFANG "Tongfang" $(check_test "READER_TONGFANG") \
2> ${tempfile}
 
opt=${?}
if [ $opt != 0 ]; then return; fi
 
menuitem=`cat $tempfile`
if [ "$menuitem" != "" ]; then
echo -n " \"WITH_CARDREADER\"" >> ${tempfile}
fi
disable_all "$readers"
enable_package
}
 
while true; do
${DIALOG} --menu "\nSelect category:\n " $height $width $listheight \
Add-ons "Add-ons" \
Protocols "Network protocols" \
Reader "Reader" \
Save "Save" \
2> ${tempfile}
 
opt=${?}
if [ $opt != 0 ]; then clear; rm $tempfile; rm $tempfileconfig; exit; fi
 
menuitem=`cat $tempfile`
case $menuitem in
Add-ons) menu_addons;;
Protocols) menu_protocols;;
Reader) menu_reader;;
Save) print_components; rm $tempfile; rm $tempfileconfig; exit;;
esac

Version vom 7. November 2011, 13:46 Uhr

<syntaxhighlight lang="bash">

  1. ich bin ein Kommentar

echo 'ich bin Bash Code' </syntaxhighlight>