I first used FreeBSD on a real project for my final year project while at the University of Portsmouth. The project was simply called 'A Web-Based Interface for the Dummynet traffic shaper'. This was back in 2006. The purpose of that project was to use the Dummynet traffic shaper to manage the bandwidth on an internet gateway so none of it's clients would be able to abuse a shared internet connection. This could be achieved by means of simply using the command line, but as many who are exposed to FreeBSD know 'simple' is not always realistic. Yes, obviously you could do this just by using the shell, but if you can do it using a web-based or a graphical user interface, well that's probably an easy choice. So, what this project did was to built a web-based interface using PHP that would send commands to IPFW (Dummynet is a part of FreeBSD's IPFW) based on simple html forms. Also, to make sure the system is not abused, username/password authentication was put in place and Apache was encrypting the connections. That project was built in a Virtual Machine. The host operating system was Red Hat Linux 9.0 for my sessions at the University labs and Windows 2000 Professional for when I was working at home. Other tools and versions:

  • Operating System (guest): FreeBSD 6
  • Server Side Language: PHP 5
  • Database: SQLite
  • Web Server: Apache 1.3.33
  • PHP&HTML Editor: Bluefish 1.0.1
  • Sudo (used for granting root user rights to www user)
  • TRPR (TRace Plot Real-time)
  • Gnuplot (used for creating graphs)

For reasons of Intellectual Property restrictions I cannot post the source code of the project. In another post I will talk more about how this went, what the major challenges were and where I'm planning on going from here