bist du dir denn sicher das der zum einen nicht viel zappt und zum anderen keinen twin tuner hat und zum beispiel einen sender auf nimmt wärend er einen anderen sender guckt? das geht aber auch mit einem einfachen tuner sofern die sender auf dem selben transponder sind also wär ich mit einer solchen masnahme vorsichtig
beaobachten den lieber und stell ihn zur rede. wenn er dann komisch oder garnicht antwortet sperr ihn manuell
Es geht nicht um jemanden der zu viel zappt. Wenn ich meinem Kumpel ne 2.te Line für Lau gebe, zB. für Schlafzimmer, aber nur unter Voraussetzung, dass er die Line nur nutzen kann, solange der Server nicht ausgelastet ist.
Wenn jetzt die ECM -Zeiten bei z.B. 6 Sekunden sind, sollte Oscam hingehen und sagen Client XY bekommt keine ECM, bis die Zeiten wieder unter 6 Sekunden sind.
Hoffe hab das verständlich ausgedrückt.
Gruß
und woher soll der client wissen ob deine karte bereits ausgelastet ist? wäre es dann nicht sinnvoller es gar nicht erst soweit kommen zu lassen in dem du eine weitere karte als share besorgst um deine zu entlasten?
die ecm zeiten können auch aus anderen gründen höher sein daran muss nicht immer der eine client schuld sein sondern auch ein anderer aber deswegen immer nur den einen zu bestrafen ist auch nicht sehr sinnvoll wie ich finde
hwmmc: denkst auch mal darüber nach bevor du jemanden dankst oder machst du das jetzt nur weil ich hier schreibe?
Normalerweise ist meine Karte nicht ausgelastet, es soll nur eine Schutzfunktion im Extremfall sein. Eine weitere Karte hinzuzufügen ist momentan nicht möglich.
Es ist auch nur ein Beispiel.
Wenn der Client XY mit der ersten Line z.b. Aufnimmt und die Kinder eine 2. Sendung ansehen und er dann zusätzlich auf der zweiten Line noch was ansieht, dann muss er halt damit rechnen, dass es nicht geht.
Dafür ist es auch für Lau. Das ist doch keine Bestrafung.
Evtl. beschränke ich auch mich selbst, aber das ist auch völlig egal.
Bitte jetzt zu der Kernfrage.
Kann die Oscam einen Clienten (damit kann ich auch selbst gemeint sein) automatisch sperren und entsperren?
cardsharing ist eigentlich immer für lau. das weitere beispiel was du hier jetzt aufführst wäre ebenso eine bestrafung wenn dadurch die aufnahme fehlschlägt.
aber wie gesagt muss nicht der client mit 6 sekunden ecm schuld an dieser ecm zeit haben
Herr aragorn,
natürlich denke ich auch und den 1. Post habe ich auch gelesen, und das Gelesene auch verstanden ...
Jedoch bevor ich was falsches schreibe, was du widerum nicht verstehst, mache ich es mal so.
Du kannst über CCcam 2.3.0
(Du hast oscam das schon klar)
zumindest einstellen, wieviele Sids die Karte innerhalb von x Sekunden öffnen kann.
Ist nicht ganz das was Du suchst...
nun gut. mal angenommen er hat ClientA und ClientB aber möchte nicht das beide auf ein mal ecm´s abfragen können. dann könnte man das oscam.log überwachen und sobald sowohl ClientA und ClientB ecm´s abfragen würde ein script ClientB deaktivieren. aber dann wäre das problem das man nicht erkennen kann wann ClientA auf hört zu gucken und mit ClientB weiter gucken möchte weil er zum beispiel ins bett geht.
das einzige was mir dazu einfällt wäre beiden clients den gleichen login zu geben und das über "uniq=3" zu regeln.
Der Client sollte nur beschränkt werden, wenn der Server auch wirklich überlastet wäre. Von mir aus kann er auch 6 Verbindungen haben, so lange die Karte das mitmacht und es keine freezer gibt.
Deshalb habe ich an die ECM- Time gedacht.
Und es sollte auch nicht der Client sein, der gerade zufällig die beispielsweise 6sek Grenze überschreitet, sondern ein fest eingestellter. Welcher das ist und warum, ist doch erst mal völlig egal.
das liese sich nur über ein extra script regeln. oscam hat dafür keine möglichkeit eingebaut.
das würde aber vorraussetzen das du den befehl "curl" zur verfügung hast damit sich das script beim oscam webif anmelden und den bestimmten benutzer disablen könnte. aber wann soll der benutzer wieder enabled werden? nach einer bestimmten zeit?
aber ob dann die ecm zeiten besser werden würde ich zunächst bezweifeln
wie gesagt wäre es denk ich einfacher dir eine weitere s02 im share zu besorgen um deine zu entlasten oder nicht zu viele clients auf deinen server zu lassen damit es gar nicht erst dazu kommt
Danke Aragorn,
mit scipten kenne ich mich nicht aus. Eine weitere Karte werde ich vorerst nicht hinzufügen, dann bekommt er halt vorerst keine weiter Line.
Gruß
wie gesagt. prüf mal ob du den befehl "curl" zur verfügung hast und wonach soll es sich denn richten wann er wieder enabled werden soll? nach einer bestimmten zeit zum beispiel einer stunde? das script hab ich gleich fertig glaub ich
edit: nun dann musst du selber testen ob du das gebrauchen kannst:
Code:
#!/bin/sh
LOG="/tmp/OScam.log"
MaxECM="6000" # millisek
DisableUser="user1"
DisableFor="3600" # seconds
OScamPort="16002"
OScamAuth="oscam:oscam"
CheckEVERY="30" # seconds
CheckLines="60"
##--DONT MESS WITH ANITHING BELOW THIS LINE--##
[ ! -z "$OScamAuth" ] URL="http://${OScamAuth}@127.0.0.1:$OScamPort" || URL="http://127.0.0.1:$OScamPort"
old_IFS=${IFS}
IFS="\n"
FOUND=0 ; FD=0
templog="/tmp/templog"
while true; do
if [ "$FOUND" = "1" -a "$FD" -gt "$(date +%s)" ]; then
echo -e "$(date +"%d.%m.%Y@%H:%M")\tEntsperre $DisableUser"
curl -s --digest "$URL/userconfig.html?user=${DisableUser}&action=enable" >/dev/null
fi
tail -n$CheckLines $LOG|grep ": found ("|cut -d" " -f8|tr -d "(" > $templog
FOUND=0
while read line; do
[ -z "$line" ] && continue
if [ "$line" -gt "$MaxECM" ]; then
echo -e "$(date +"%d.%m.%Y@%H:%M")\tECM zu hoch! Sperre $DisableUser"
FOUND=1 && FD=$(date +%s)
break
fi
done < $templog
[ "$FOUND" -gt "0" ] && curl -s --digest "$URL/userconfig.html?user=${DisableUser}&action=disable" >/dev/null
sleep $CheckEVERY
done
IFS=${old_IFS}
exit
irgend wo hin kopieren. ausführbar machen (chmod 755 <file>) und ausführen dann dreht es sich im kreis
ohne gewähr
WOOOOOOOOW,
erst mal vielen Dank für deine Mühe!!!:emoticon-0137-clapp
Leider muss ich dir gestehen, dass ich mich mit Befehlen und mit Scripten gar nicht auskenne.
Hab mich über Putty mit der Freetzbox verbunden und den Befehl Curl eingegeben. Richtig?
Ausgabe:
Code:
root@fritz:/var/mod/root# curl
-sh: curl: not found
Dein Scipt hab ich in Notepad++ eingefügt und als was soll ich es speichern? Als Text ,Unix Scipt file oder was anderes?
Danach per FTP mit Rechten 755 in beliebigen Ordner der Freetzbox, Richtig?
Der Rest wäre ja dann Feintuning mit dem wieder verbinden.
Muss jetzt aber leider weg und kann erst morgen weiter testen.