This program was written mainly with schools and similar organizations in mind - Organizations where you have many computer centers, and a single outgoing line, usually with less bandwith than what you need. As a network manager, you may want to restrict a center that doesn't need an Internet connection. You may also want to have the changes easily scheduled by a web-based application, easily modifiable from any connected computer.. As a teacher, you may want to block the whole group (or a specific problematic student) from surfing the Internet while you teach them something, while still allowing your computer to access the pages you are teaching with.
You want WPM.
Although still in development, WPM is a easy-to-use interface for all those needs. It allows you to define different users, with different access levels. You can easily define network segments, allow or deny their Internet activity with a single mouse click, allow or deny single computers' exit to the Internet, and easily remove all the restrictions.
In future WPM versions, you will also be able to schedule automatic changes, and, of course, configuration will also be 100% web-based (currently, you have some options that have to be hand-edited in text files). Also, support for other platforms should not be too hard to implement.
WPM is written 100% in Perl, for ease of development and ease of modification. Right now, it works with Linux (kernel 2.2.x - requires IPChains installed) and the Squid proxying software, which has proven one of the most popular proxies available. It *may* work with a firewalling (or IP-aliasing) machine instead of a proxy server, but it has not been tested.
For security reasons (mainly, the need to run IPChains as root), the program has been split in two parts: The web interface, implemented by .cgi files, and a TCP server (listening to port 11450 by default), which runs as root, recieves requests from the cgi, and performs the actual lookups and modifications in the IPChains table. Of course, if you can come up with a better idea or implementation, you will be very welcome to send it to me (see the contact page).
The software is protected by the GNU General Public License.