Metered HTTP Proxy?
Jon asks: "My brother-in-law has three teenage daughters. The only thing that he has to hold over their head is being online. I am trying to find him an HTTP proxy server that has metering built in. I started with Squid which has the authentication stuff in it but we would like something where we could allocate minutes, like some of the WiFi stuff you encounter at a hot spot."
My requirements:
- need to be able to limit each daughter to e.g. 1Gb of traffic. Once they hit that, bzzt, no more Internet access till next month. After that, they can either experience the joys of 28kb/s downloading or grovel at someone's feet to let them browse under another login id
- each daughter needs to be able to check how much Internet "allowance" she has left
- need to be able to limit use to a specific period of the day. With holidays coming up, I don't want them to be sitting in their rooms all day chatting... Ideally, I'd be able to block out individual sites (e.g. MSN) while leaving other stuff untouched
- need to be able to block out the most noxious sites. For some reason, teenage girls can't seem to resist downloading crapware if it calls itself "PicOfGoodCharlotte.exe" or something similar...
Yep, I'm aware that I could set up something that does most/all of this, but frankly there's not enough hours in the day at present to do so.
My brother-in-law has three teenage daughters. The only thing that he has to hold over their head is being online.
I don't think so. There are a lot simpler carrots and sticks available, in order of decreasing importance to the average teenage girl:
1) Telephone privs - no cell phone for you
2) Grounding - no hanging out at the mall for you
3) Allowance - no buying the latest MTV-hyped fad product for you
4) Television privs - no watching MTV-hyped commercials-as-content for you
5) Driving privs - no freedom to move about for you
6) Food - no bulemia practice for you
When information is power, privacy is freedom.
I realize that parents don't want their kid on the internet all the time, and like to encourage other acitivities, but why resort to something like this? It seems to me that the better idea would be to actually talk to the kids when it seems like they've been spending too much time online. Arbitrary rules like this only make kids see parents as a rival, and rules like this as something to try to get around, intstead of a reasonable guideline from people with more life experience.
Famous Last Words: "hmm...wikipedia says it's edible"
Here's what my parents used for me, back in my BBS days:
"Get off the computer. Now."
If you were on the computer when you weren't supposed to, the phone cord from the computer to the wall would dissappear. Eventually they found the phone cord I bought at the hardware store, then the damn wall jack dissappeared.
He could try (drum-roll please) treating his daughters like human beings.
I'm glad we have such an expert on how to treat people like human beings.
So please enlighten us. How is limiting access to the internet to a reasonable amount of time (depending on the PARENT's standards/values/beliefs) not treating them like human beings?
If your child sat in front of the TV every waking moment they weren't forced to do something else, you would, I hope, limit their access. It's the same situation with computers in many cases. It's interactive, and possible to do many different things with the computer where the TV may be more limited, but if they're on the computer 8 hours a day and you don't consider it a problem then it will become a huge problem for them later in life.
Guaranteed.
As far as using the internet as a 'carrot', what about that do you really object to? Do you believe that children always make good choices with no parental influence? Do you believe choices children make don't affect their entire life? I certianly believe in letting them make their own decisions, but I'm going to curb them if they start going down a path I disagree strongly with, and I'll especially block them as much as possible if they start making decisions which will change their lives in a bad way.
Some decisions, made as children, have major lifelong consequences. It's better, in my opinion (and far easier!), to have lots of little nudges in the right direction constantly than to try to force several huge changes occasionally.
Personnally I prefer the carrot approach, rather than the stick, in helping my children make good choices.
Lastly, are you suggesting that animal mistreatment is acceptable? Why would you suggest that instead of parenting classes, if you honestly thought there was a problem?
-Adam
Enough other posters have said that the principle behind this is a bad idea, so instead of reiterating that, I'm going to comment on the technical method of metering HTTP usage.
First, if it's just time restrictions, you can probably use your router's features. My router's setup page lets me block access from an IP range to a port range between a time range; I've used this to block a spam daemon on my mom's computer from getting to port 25 [yes, this blocked normal e-mail], or to block myself from wasting time past 7PM.
Barring that, I'd suggest writing your own server, or getting someone to do so for you. An HTTP server and a client are not hard to write; I wrote them in about a week of classtime each (got bored in my programming class). Or you can simply put a Perl script together that uses standard modules. Once you have a client and a server, it's a simple matter to tie them together, totaling the number of bytes transferred into a variable/disk file.
On a completely unrelated and stupid-sounding idea: does Apache stop serving when it can't write to log files? If so, just make it log proxy requests to a floppy disk.