Download Dormy

From OSA

Jump to: navigation, search

Dormy is a network login web app created to manage dorm student use of the internet. 20 or more students all trying to share the same ISP account can easily suck up the bandwidth in no time, dormy helps manage that load. Built on the Aqualung web framework, Dormy manipulates iptables to allow or block network access from individual internal computers depending on whether the user is logged in to Dormy (ala internet cafe - think NoCat.net).

It's something of a reverse firewall to keep the students out of the network until they've identified themselves. Before they log in, port 80 (the http port) is redirected internally so any website the student tries to visit results in the dormy login page. Once logged in, the iptables are updated for that student's computer and the student is free to continue on through the real firewall and out to the internet. The process is completely transparent and doesn't require any setup on the part of the client computers.

Dormy doesn't do any network handling itself it merely configures the Linux kernel network filter rules. Because of this it is strictly a Linux only tool. But also because of this, it can easily run in CPU challenged environments like embedded systems.


Download: coming soon...


How To Install

  1. Download the Dormy application and run the Dormy_Install.pl script.
    • Run the script in a terminal (from the command line).
    • It will create/populate cgi, html and data directories, generate a config file and create/setup any database requirements.
    • The script must be run as the root user:
    perl -T pathToScript/Dormy_Install.pl
    • On systems that require sudo type:
    sudo perl -T pathToScript/Dormy_Install.pl
  2. Verify the web app config file.
    • Snoop around the cgi directory and find the web app config directory, something like '/var/www/cgi-bin/dormy/main/etc'.
    • Verify/change the directory paths in the config.txt file if required.
    • You'll also find a config.default.txt file in the same location that contains all the configuration options in more detail (don't edit config.default.txt!).
  3. Initialise the web app.
    • Find the main.pl script (something like /var/www/cgi-bin/dormy/main.pl).
    • Initialize the application by running the main.pl script with the '--init' option.
      • type the command:
      /var/www/cgi-bin/dormy/main.pl --init
      • On systems that require sudo type:
      sudo perl -T /var/www/cgi-bin/dormy/main.pl --init
    • If the config.txt file is correct and no errors occured, the default MySQL tables and a default 'superuser' user will be created for the web app.
    someday the install script will take care of this for you
  4. Verify the Apache web server setup
    • A a sample Apache config file 'apache.conf' is generated in the web app config directory by the init step.
    • If you've got the same Apache set up I do (CentOS), this file can be copied to the /etc/httpd/conf.d. You may have to customize it.
  5. Run the web app from a browser.
    CHANGE THE SUPERUSER PASSWORD!!
  6. Sit back and relax. You're done!
Personal tools