# [suche] Eine Art Online-Ticketsystem fuer Kinder

## wrzlbrnft

Hallo!

Ich suche nach einer Moeglichkeit, einem jungen Maedchen, das gerade

eine sehr ausgepraegte Chatsucht entwickelt und daher die Hausaufgaben

vernachlaessigt, auf den Boden der Tatsachen zurueckzuholen.

Ich denke da an eine Art Ticketsystem, so dass die Mutter bei gemachten Hausaufgaben

einen "Gutschein" fuer eine Stunde Internet rausgeben kann. Das Maedchen/Kind

gibt den Code ein und hat dann die vesprochene Onlinezeit auf dem Online-Konto

(so dass "gespart", bzw. die Onlinezeit unterbrochen werden kann)

Ich weiss, es hoert sich aehnlich an wie ein Internet-Caffee Arbeitsplatz,

aber eine KIOSK Loesung taugt hier nicht, da der Rechner ansonsten

(OpenOffice oder aehnliches) nicht eingeschraenkt werden soll. Lediglich

der Internetzugriff soll geblockt werden.

Die Frage ist nun : Gibt es sowas bereits ? Kennt ihr etwas vergleichbares ?

Ich hab natuerlich auch schon gesucht, aber entweder meiner Suchbegriffe nicht

geschickt genug gewaehlt, oder mich zu bloed angestellt.

Wuerde mich ueber jedes positive feedback freuen  :Smile: 

BTW: Es handelt sich selbstverstaendlich um eine unter gentoo linux laufende

Kiste, sonst wuerde ich nicht hier schreiben  :Smile:  Und wenn moeglich...

suche ich natuerlich nach einer freeware (am besten selbstverstaendlich

opensource).

Vielen Dank,

   wrzlbrnft

----------

## Fibbs

Mir fällt da spontan das Projekt http://www.nocat.net ein, welches eigentlich ein Authentifizierungssystem für WLAN- Hotspots ist. Schau Dich mal auf deren Seite um, vielleicht lässt sich da was draus basteln...

Gruß,

Fibbs

----------

## McClane

Ich hab für mein kleines Heimnetz eine Online Datenbank zur Abrechnung der ISDN Kosten mit einer Weboberfläche programmiert. 

Da man sich zu Abrechnungszwecken eh authentifizieren muss um online zu gehen, wäre es überhaupt kein Problem dort einen Counter einzubauen der die Verbindung trennt wenn die Zeit um ist.

----------

## schmutzfinger

naja sowas könnte man mit squid und iptables wohl relativ leicht selber bauen. Oder per cronjob alle 5 min den status vom isdn testen, wenn sie online ist, dann werden 5 min von /tmp/onlineminutes abgebucht. Die zahl in dieser datei könnte die mutter dann mit ein paar einfachen scripten einstellen. Dazu noch das einwahlscript in /etc/init.d/ etwas anpasssen und dann ist die sache gelaufen. Ich denke diese 3 scripte kann man locker schreiben, wenn man sich ein paar perl/bash grundlagen aneignet.

----------

## wrzlbrnft

 *schmutzfinger wrote:*   

> naja sowas könnte man mit squid und iptables wohl relativ leicht selber bauen. Oder per cronjob alle 5 min den status vom isdn testen, wenn sie online ist, dann werden 5 min von /tmp/onlineminutes abgebucht. Die zahl in dieser datei könnte die mutter dann mit ein paar einfachen scripten einstellen. Dazu noch das einwahlscript in /etc/init.d/ etwas anpasssen und dann ist die sache gelaufen. Ich denke diese 3 scripte kann man locker schreiben, wenn man sich ein paar perl/bash grundlagen aneignet.

 

Okay, das ist ein brauchbarer Ansatz... fuer eine Waehlverbindung.

Hier handelt es sich jedoch um einen LAN Client PC, der ueber einen Router (standalone D-Link)

ans Netz geht. Das heisst das Ueberpruefen des onlinestatus geht nicht

ganz so einfach.

Selbiges gilt also auch fuer die Accounting Loesung der ISDN Verbindungen.

Und bei nocat...  da bin ich mir jetzt nicht ganz sicher.

Wenn ich die Authentifizierung via nocat vornehme, das Kind sich also via

login/pwd authentifiziert, dann schaut das System in diesem Moment nach,

ob der Benutzer in der RadiusDB steht und erlaubt/verweigert den Zugriff.

Hier kann jedoch nicht ohne weiteres ein Ticketsystem mit Zeitbegrenzung

einfuehren. Ich koennte zwar wirklich unter viel Gefrickel eine online-zeit

begrenzung einfuehren, aber das kommt ja fast an ein neuschreiben heran  :Smile: 

Die Wunschvorstellung war zwar wirklich ein TICKET-System (aehnlich wie

den komische magic-codes in den Ueberraschungseiern  :Smile: , aber eine

Konstellation aus shellscripten mit iptables (oder einfach nur default-route del/add)

+ einer simplen Datei mit Guthabendaten.... gefiele mir eigentlich auch,

dann muss ich nur ein komfortables frontend fuer die Mutter bauen.

Aber wie erkenne ich zuverlaessig, wie lange man schon online ist, bzw.

ab wann keine Verbindung mehr nach Aussen besteht...

Das problem hierbei waere, dass das Guthaben sehr sehr schnell einfach verpufft,

weil zum Bleistift ICQ, oder sonstige Clients staendig versuchen wuerde sich zu

verbinden. Das Kind braucht also die Moeglichkeit,

manuell zu sagen "ich will online".... und dann ab hier die Minuten zaehlen

und vom Konto subtrahieren...

das waere machbar.

Dennoch: eine fertige Loesung fuer Familien/Internetcaffees gibt es wohl keine ?

Vielen Dank auf jeden Fall fuer eure Vorschlaege !

----------

## psyqil

Ein einfaches 

```
/etc/init.d/net.eth0 start && sleep 3600 && /etc/init.d/net.eth0 stop
```

vielleicht, damit sie schon mal Hausaufgaben macht, während Du noch nach einer perfekten Lösung suchst?  :Razz: 

----------

## McClane

Doch, geht schon. Machs doch so wie du sagtest.

Dem Script ist es egal ob du eine ISDN Karte ein- und auswählen läßt, oder ob du per IP-Tables die Verbindung zum Router kappst. 

Erstell dir eine Datenbank mit den Stunden die gesammelt wurden. 

Ein kleines Webinterface. 

Und ein Script welches minütlich oder so, die Zeit in der DB runterzählt. Und wenn das bei 0 ist sperrt IP-Tables die Verbindung zum Router. 

Jemand mit einem Adminzugang kann dann das Konto wieder aufladen.

Deine Tochter kann sich dann anmelden um Zugang zu bekommen, und wieder abmelden damit ihre Stunden nicht so verbraten werden. Beim Abmelden wird dann auch wieder die IP Verbindung gesperrt. 

So würde ich das machen.

----------

## Ezekeel

ich glaube nicht, dass man die Uptime einer Internetverbindung die von einem einzelnen Benutzer gestartet wurde überprüfen kann insofern das ganze über einen Router läuft.

Aber letztlich ist das ja auch nicht das Problem. Ich bin zwar kein Profi was das anbelangt, aber ich denke wenn man sich ein wenig in die Materie reindenkt dann kann man an Hand von iptables eine ganz einfache Regel basteln die für eine gewisse Zeit den internetzugang freischaltet. Dabei ist es ja vollkommen unrelevant wie lange die Internetverbindung an sich besteht man kann ja einfach sowas wie 

-> Iptables sperrt die Verbindung für Kind

-> Mutter gibt Bestand ein von mir aus über Webfrontend

-> Kind führt Script aus um Iptables freizuschalten

--> Vom Bestand wird so lange abgebucht bis nix mehr da ist oder man das Script beendet

-> nach beenden des Scripts wird Iptables wieder gesperrt

Mein Vorschlag - an Hand eines einfachen Scriptes dürfte das eigentlich kein Problem sein. In Bash kenne ich mich leider nicht aus aber mit C++ ließ sich sowas in 20 min realisieren! Das frontend ist wieder eine andere Geschichte dürfte aber auch kein Problem darstellen!!

Edit: Mpf meine Antwort kam etwas später, aber der Inhalt ist das selbe nur etwas detaillierter aufgegliedert!! Ich lass es mal stehen als Verständnishilfe, insofern benötigt!  :Smile: 

----------

## pablo_supertux

Am besten wäre meiner Meinung nach das Chatt-programm zu deinstallieren und ihr keine root Rechte, damit sie nicht wieder installieren kann, oder die Ports des chatt-Programms mit iptables sperren (wie schon erwähnt)

----------

## Ezekeel

welchen Sinn hätte das denn? Mal davon abgesehen, dass 90% der Chat Programme über den Webbrowser laufen und es für die restlichen 10% ein Webinterface gibt wäre damit die ganze Idee die hinter so etwas steckt kaputt! 

Man will das Kind ja nicht vom PC wegholen was sicher auch ein fehler wäre sondern es für getane Arbeit belohnen! Wenn man dem Kind den PC und damit die ganzen Internetfreunde wegnimmt dann würde das wahrscheinlich eher dazu führen, dass es gar keine Hausaufgaben mehr macht, oder dummheiten anstellt!! Kann mich noch gut an meine Chatzeiten erinnern, ich wäre nach Stuttgart (120km von mir entfernt) in die Börse (die haben da 'nen freien interentzugang) gefahren nur um wieder im ICQ zu sein!!! So erzieht man auf jeden Fall keine Kinder!!!

----------

## misterjack

 *pablo_supertux wrote:*   

> Am besten wäre meiner Meinung nach das Chatt-programm zu deinstallieren und ihr keine root Rechte, damit sie nicht wieder installieren kann, oder die Ports des chatt-Programms mit iptables sperren (wie schon erwähnt)

 

ports sperren ist bei ICQ sinnlos, weil man z.b. über port 443 sich mit dem ICQ-Server verbinden kann  :Wink: 

einstellbar in jedem guten client

----------

## slick

verschoben von Deutsches Forum (German) nach Diskussionsforum

----------

## muckelzwerg

Folgende Idee :

Skript bauen, dass die Einwahl startet und nach Zeit x  die Verbindung wieder killt.

Cronjob etc.

Webserver installieren, und Rechte auf das Skript geben.

Eine ganz simple php-Seite zusammentackern, wo die codes eingegeben werden und dann das 

Skript ausgeführt wird.

Die Codes generierst Du über ne perverse Hashfunktion, oder Du machst es über Listen,

und baust eine Adminfunktion "Tickets erzeugen und ausdrucken" ein.

mfG

  --  --  muckelzwerg

----------

## STiGMaTa_ch

Oder wie wäre es mit folgender Lösung?

- File erstellen, welches als Inhalt die verbleibenden Minuten enthält. Das File darf natürlich durch Benutzer "tochter" nicht einseh-, resp. editierbar sein.

- Sobald "tochter" sich anmeldet wir mittels sudo die default route entfernt. Damit kann sie zwar noch im internen Netz rumhuschen (z.B. um Musik von OGG-Server zu holen) aber nicht mehr ins Netz der Netze.

- Via Icon wird ein Script gestartet, welches zum einen die Route wieder setzt (sofern Guthaben vorhanden). Weiterhin wird ein Cron Job aktiviert, der z.B. im Minuten Takt jeweils 1min von der Guthabendatei abzieht und fuer den Fall, dass nun 0 erreicht wurde die route wieder entfernt. Und den Cronjob killt.

- Bei den Eltern accounts wird einfach geschaut, dass beim anmelden jeweils route gesetzt und beim abmelden wieder deaktiviert wird.

Dann gilt es nur aufzupassen, dass die Eltern auch "sichere" Passwörter verwenden  :Wink: 

Just my 2 Cents

STiGMaTa

----------

