Discussion:
Linux Internet Cafe Software?
Nicholas Kelly
2004-04-26 17:33:27 UTC
Permalink
Dear All,

It looks like I might be writing the software that handles everything login/logout related for an internet cafe. This will include guest logins and member logins. Unfortunately my Linux programming experience is very limited and I would greatly appreciate any suggestions that anyone could give me on how to get started on this project. I have extensive Java experience as well as some graphics programming experience with C/C++. I'm also familiar with PHP/MySQL.

What would be the best language to do this in? I'm not terribly concerned with portability, just as long as it works on all the main Linux distros, M$ is not important.

One of my main concerns is how to handle logins. Should every login simulate a normal guest logging into a Linux account or should the software be running on a guest account all the time?

Many thanks indeed for any assistance that anyone can give me,

Best Regards,

Nick

PS: I'm very open to learning new languages.
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Bryan O'Donoghue
2004-04-26 18:01:59 UTC
Permalink
Post by Nicholas Kelly
Dear All,
It looks like I might be writing the software that handles everything login/logout related for an internet cafe. This will include guest logins and member logins. Unfortunately my Linux programming experience is very limited and I would greatly appreciate any suggestions that anyone could give me on how to get started on this project. I have extensive Java experience as well as some graphics programming experience with C/C++. I'm also familiar with PHP/MySQL.
What would be the best language to do this in? I'm not terribly concerned with portability, just as long as it works on all the main Linux distros, M$ is not important.
One of my main concerns is how to handle logins. Should every login simulate a normal guest logging into a Linux account or should the software be running on a guest account all the time?
Many thanks indeed for any assistance that anyone can give me,
Best Regards,
Nick
PS: I'm very open to learning new languages.
Have a client app which does a select ()

The controlling station send a signal to a server box somewhere, who has some
sort of db and data redundancy facilities.

Server box sends a signal to client app who starts logging either a) time b)
bandwidth or c) both.

The logging signal is the beginning of the session, when the customer goes over
to the couter to pay, the controlling station send another signal to stop
logging and provide information to client/control station as to stats.

Then you have some sort of automagic UI to calculate how much bandwidth/time
the customer is liable to pay for.

The Server calculates/logs/signals admins everything.

Do this in C/C++/PHP/Java/Perl, just about any language that supports sockets ?

I dunno, you could probably knock together a really simple PHP app to do this
or knock it together in C in nearly the same amount of time.

Server--------------DB
| |
| |
Controller (n)_random_clients


Indeed on the client machines you could make some sort of process watch dog,
just in case some smartass managed to kill the logging process.... perhaps..
you could even have it administer a mild electric shock to the keyboard/seat,
in such circumstances??
--
Bryan O'Donoghue
Embedded Software Engineer

Europlex Technologies Ltd
Clonshaugh Business & Technology Park
Dublin 17
Ireland

T:+353 (0) 1 2500500
F:+353 (0) 1 2500590
E:***@euoplex.ie
W:www.europlex.ie
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Bryan O'Donoghue
2004-04-26 18:10:36 UTC
Permalink
-----------------Server------DB (LAMP)
| |
| |
Controller (n)_random_clients


Diagram should probably look a bit more like that.


Yeah, if the Server is a php box, then the Controller interface can be made in
a web page.

Then if the communication happens from Apache/PHP - > client via sockets and
some simple byte oriented or even human readable string orientated protocol,
and the client app/process watchdog on the (n)_random_client boxen are written
in C/C++ or PHP, depending on what's appropiate, you should have a fairly quick
... to turnaround time... to borrow some newspeak from a random marketoid type.

Of course, it might be worth your while to encrypt the protocol transaction,
with something simple like crypt();.... somebody somewhere would try to spoof
the protocol transaction I'm sure... saving himself ... 1.65 of interweb charges.
--
Bryan O'Donoghue
Embedded Software Engineer

Europlex Technologies Ltd
Clonshaugh Business & Technology Park
Dublin 17
Ireland

T:+353 (0) 1 2500500
F:+353 (0) 1 2500590
E:***@euoplex.ie
W:www.europlex.ie
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Jimmy O'Regan
2004-04-26 18:13:09 UTC
Permalink
Post by Nicholas Kelly
Dear All,
It looks like I might be writing the software that handles everything login/logout related for an internet cafe. This will include guest logins and member logins. Unfortunately my Linux programming experience is very limited and I would greatly appreciate any suggestions that anyone could give me on how to get started on this project. I have extensive Java experience as well as some graphics programming experience with C/C++. I'm also familiar with PHP/MySQL.
What would be the best language to do this in? I'm not terribly concerned with portability, just as long as it works on all the main Linux distros, M$ is not important.
One of my main concerns is how to handle logins. Should every login simulate a normal guest logging into a Linux account or should the software be running on a guest account all the time?
Zeiberbude (http://zeiberbude.sourceforge.net/) already does this stuff.
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Paul Jakma
2004-04-26 19:25:49 UTC
Permalink
Post by Nicholas Kelly
Dear All,
One of my main concerns is how to handle logins. Should every login
simulate a normal guest logging into a Linux account or should the
software be running on a guest account all the time?
There are PAM and NSS modules to allow Linux to authorise against and
get account information from a variety of existing databases, eg
LDAP, MySQL, Postgres, etc.

So, "all" you have to do really is write the management frontend to
the database. (if no suitable ones exist - search freshmeat.net for
'internet cafe' and/or 'ldap'). PHP is probably handiest.

For the guest login, you probably want the guest account to be
cleaned up before/after login - eg via shell profile and/or xsession
scripts. (both immutable from POV of the guest user at least).
Post by Nicholas Kelly
Best Regards,
Nick
PS: I'm very open to learning new languages.
regards,
--
Paul Jakma ***@clubi.ie ***@jakma.org Key ID: 64A2FF6A
warning: do not ever send email to ***@dishone.st
Fortune:
Insomnia isn't anything to lose sleep over.
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Barry O'Donovan
2004-04-26 21:34:21 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Nicholas Kelly
It looks like I might be writing the software that handles everything
login/logout related for an internet cafe. This will include guest logins
and member logins. Unfortunately my Linux programming experience is very
limited and I would greatly appreciate any suggestions that anyone could
give me on how to get started on this project. I have extensive Java
experience as well as some graphics programming experience with C/C++. I'm
also familiar with PHP/MySQL.
Does anyone else not think this is overkill?

You're setting up a Linux based internet cafe. The easiest thing to do here
would probably be to have one powerfull application server and cheaper
low-powered clients.

It is a simple matter to write a basic Bash script that generates user
accounts with random usernames and passwords at the touch of a button. These
can be given to guests - as in they come to the counter and get handed the
generated username/password. Make a default .logout script for these guest
accounts so that once they are logged off the account gets deleted.

Members get to choose their own usernames and their accounts do not get
deleted after logout.

All of this functionality is standard with every Linux distribution -
including other nicities you might need like disk space quotas.

As for the clients themselves. How do you keep people using only the internet
browser (and any other applications you want to GRANT them permissions to
use, such as OpenOffice.org)?

KDE is your man! Or, more specifically, KDE Kiosk. Right now it's a bit of a
pain to set-up and use, and there's not a lot of documentation. However KDE
3.3 promises GUIs for setting up Kiosk permissions, etc. In the meantime it
is there to be used via manually edited configuration files. It really is the
ideal Internet Cafe solution.

Reagrds,
Barry


- --
Regards,
Barry O'Donovan

http://www.ihl.ucd.ie/

Information Hiding Laboratory,
Department of Computer Science,
University College Dublin,
Belfield, Dublin 4, Ireland

(GPG Key: http://www.ihl.ucd.ie/~barry/key/public_key.asc )
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAjYBeST9l0snkCP8RAj5AAJ9AJ8N/wN/c2BH9EAY3/ygfN8V26ACgw+u+
fmttaOcYD3g3esFVso8ZAs4=
=FlLE
-----END PGP SIGNATURE-----
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Barry Flanagan
2004-04-27 10:00:11 UTC
Permalink
Post by Barry O'Donovan
Does anyone else not think this is overkill?
You're setting up a Linux based internet cafe. The easiest thing to do here
would probably be to have one powerfull application server and cheaper
low-powered clients.
I'd agree with that. I would not look a whole lot further than Linux
Terminal Server Project (http://www.ltsp.org/). Set up a central server
and have all the rest thin clients.

There are a couple of Internet Cafe add-ons in the contrib section.
This, NSS-mysql and KDE Kiosk would give you pretty much everything you
could need.
--
-Barry Flanagan
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Paul O'Malley
2004-04-27 09:44:46 UTC
Permalink
Post by Barry Flanagan
Post by Barry O'Donovan
Does anyone else not think this is overkill?
You're setting up a Linux based internet cafe. The easiest thing to do here
would probably be to have one powerfull application server and cheaper
low-powered clients.
I'd agree with that. I would not look a whole lot further than Linux
Terminal Server Project (http://www.ltsp.org/). Set up a central server
and have all the rest thin clients.
There are a couple of Internet Cafe add-ons in the contrib section.
This, NSS-mysql and KDE Kiosk would give you pretty much everything you
could need.
--
-Barry Flanagan
Hi,
Further to Barry's suggestion I would suggest that you check out the low
power Mini ITX boxes with can be very suitable, you can have them with
or without disk :-)

Regards,

Paul O'Malley
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Nicholas Kelly
2004-04-27 11:11:27 UTC
Permalink
Sorry, I should have mentioned that WineX will be running on these machines
so there will be games available to the customers. As far as I know that
would rule out the thin client option.

Nick

----- Original Message -----
From: "Barry Flanagan" <barryf-***@flanagan.ie>
To: <***@linux.ie>
Sent: Tuesday, April 27, 2004 11:00 AM
Subject: Re: [ILUG] Linux Internet Cafe Software?
Post by Barry Flanagan
Post by Barry O'Donovan
Does anyone else not think this is overkill?
You're setting up a Linux based internet cafe. The easiest thing to do here
would probably be to have one powerfull application server and cheaper
low-powered clients.
I'd agree with that. I would not look a whole lot further than Linux
Terminal Server Project (http://www.ltsp.org/). Set up a central server
and have all the rest thin clients.
There are a couple of Internet Cafe add-ons in the contrib section.
This, NSS-mysql and KDE Kiosk would give you pretty much everything you
could need.
--
-Barry Flanagan
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Ruairi Hickey
2004-04-27 11:50:51 UTC
Permalink
Here at DKiT we purchased 4 windows based terminals last year and found
they kept crashing, requiring us to unlock the kiosk to reset the box...
Over a weekend I replaced the hard disk in one and installed gentoo / kde
3.2.1 and firefox. Kde kiosk locked down the desktop, but still allows
select programs to be run from the desktop, A bash script runs firefox
and reloads it if it is exited and (can't find the link now) I hardened
firefox by editing the browser.xul file. It's been up for over 2 months
now with no problems at all.
As soon as I have time I'll clone the drive to the other 3 machines....

Ruairi
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Barry O'Donovan
2004-05-01 09:13:01 UTC
Permalink
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Post by Barry O'Donovan
KDE is your man! Or, more specifically, KDE Kiosk. Right now it's a bit of
a pain to set-up and use, and there's not a lot of documentation. However
KDE 3.3 promises GUIs for setting up Kiosk permissions, etc. In the
meantime it is there to be used via manually edited configuration files. It
really is the ideal Internet Cafe solution.
I've just come across the GUI that will probably be part of KDE 3.3. It can be
downloaded from KDE Extragear:

http://extragear.kde.org/apps/kiosktool.php

Reagrds,
B.

- --
Regards,
Barry O'Donovan

http://www.ihl.ucd.ie/

Information Hiding Laboratory,
Department of Computer Science,
University College Dublin,
Belfield, Dublin 4, Ireland

(GPG Key: http://www.ihl.ucd.ie/~barry/key/public_key.asc )
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQFAk2onST9l0snkCP8RArDgAJ4yYYFit2D4lOhMEuFG2QHgq/UieACgwDv3
iujITaCEuYqdyWQcjbefyPY=
=mRl4
-----END PGP SIGNATURE-----
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
nils
2004-04-27 13:02:25 UTC
Permalink
hi,
I was talking to a guy from italy who happens to work in spain for a
Internet cafe he was over here for a weekend and i happen to bump into
him. anyway long story short. The internet cafe runs kde on debian. they
dont use LTSP each box is standalone but he said that they indend to
migrate to a more central user administrator. Can't seem to find where i
wrote the name of the cafe.if i come across the name i will post it to
the list.
nils
--
Irish Linux Users' Group
http://www.linux.ie/mailman/listinfo/ilug/
Loading...