Debian Internet Cafe Distribution
We want to create a custom Debian distribution for Internet cafes, with focus on developing countries. Our goal is
- Minimal skills required to run the system
- Integrated billing, time control and simple accounting
- Automatic workstation setup
- Cafe’s owner’s choice of workstation desktop functionalty (only Browser, Browser + IM, full desktop)
Level of Modification
To limit the work load, we should try to use all packages unmodified from Debian Etch, with only added packages that change configuration (maybe similar to what DebianEdu is doing). All own development (e.g. time control) should be usable even outside the distribution, and be uploaded to the regular Debian Archive as well. This would also allow the cafe to benefit from security updates.
Installation should be done by a modified DebianInstaller. Less questions asked through preseeding, some questions added (e.g. Name of the Cafe). This should set up the system completely, including a FAI server that allows the clients to install themselves over the network.
Billing & Accounting
We have decidied to create our own system. Some (brainstorm-quality) ideas:
- Simple SQL database that for each timecode stores the amount of time left and when the user logged in (if he is logged in).
- Front-End for the cashier, with printer for the time codes
- pam-module that asks (via gdm) for a timecode (instead of a username and password), then creates a fresh home directory (tempfs?) and logs the user in.
- daemon that checks the time left of the current user and, if he has not logged out, kills his session and any left-over processes
- GUI (e.g. panel applet) to display the remainig time
- Accounting front end (what is needed here)
- Local start page served from the server, giving information (what information?)
A rough list what to care for:
- No IP-Level routing (i.e. no masquerading)
- caching squid (for HTTP)
- SOCKS (e.g. for instant messaging, SSH)
What has been done so far:
Alioth project created
SVN repository created
PAM module in alpha state
Session Killer in alpha state
Cashier Frontend in alpha state
Credit Status display in alpha state
/Documentation. (This will end up in the package, so please do not include Wiki links etc.)