Adam Caudill

Security Leader, Researcher, Developer, Writer, & Photographer

The SWEBS Project & The SWEBS Control Center

This post was imported from an old blog archive, and predates the creation of AdamCaudill.com.

I’m currently serving as the project manager & user interface designer for the project, here is the project’s goal & mission statement:

“The SWEBS Web Server is designed to be an easy to use web server that offers the functionality of enterprise web servers but with a very easy to use and configure interface. It is created as a learning tool to be used by anyone new to web development.”

Well, that was then, this is now, and the project is expanding, we’re adding POP3 & SMTP servers now, and we plan on including a SOCKS5 proxy as well as a FTP server in future versions, this project is truly expanding rapidly. All the servers are written in C++ and have no user interface, they are all in the form of standard Win32 DLL’s, they are controlled by an application called the Control Center, they all store their settings in XML data files, and the Control Center has the full ability to edit each aspect of their configuration.

As of the time of writing, the Control Center currently weighs in with 34 files (including 23 classes), 11,941 lines, and 207 controls. Not a small program by any means, but still small enough to be flexible as the project evolves (although a structural redesign is planned after the next release).

Here is a screenshot of the Control Center (as of version 0.9.7):swebsuixp

Source Forge Project Page

Adam Caudill


Related Posts

  • APISettings

    This post was imported from an old blog archive, and predates the creation of AdamCaudill.com. Visual Basic provides a less than elegant method of saving data in the Windows registry, the GetSetting & SaveSetting functions. These functions store setting in HKEY_CURRENT_USER\Software\VB and VBA Program Settings\<AppName>\<Section> not very pretty is it? The APISettings module is a drop-in replacement using pure Win32 API for its processing power and increased stability. The reason for developing this and for making it drop-in compatible is to all those new to the Win32 API to add its functionality with minimal difficulty.

  • Happy (Belated) Birthday VB!

    To celebrate 15 years of Visual Basic, a quick glance to the past: Microsoft Announces Visual Basic at Windows World ‘91 General-Purpose, High-Productivity Programming System for Microsoft Windows ATLANTA — May 20, 1991 — Microsoft today announced MicrosoftR Visual BasicTM programming system at the Windows World ‘91 industry trade show. Visual Basic is a graphical application development system for Microsoft WindowsTM graphical environment version 3.0 that combines visual design tools with a powerful, general-purpose programming language and Windows .

  • Conexant (formerly Rockwell) Softmodem HSF Modem

    This post was imported from an old blog archive, and predates the creation of AdamCaudill.com. I was actually rather lucky to have this brand of WinModem, as the good people over at Linuxant.com offer a very high quality driver that makes installation a breeze! But, they have recently changed their marketing methods and charge $15 for the driver, so these really lives no viable, free alternative (a rarity to say the least for linux).

  • When AI Becomes I

    One of the many joys of being human, is that we constantly face questions about our existence, from the seemingly simple (why is the sky blue), to the labyrinthine (what is the meaning of life, does pineapple go on pizza). Thanks to growing up watching Star Trek, one of these that has fascinated me is the question of artificial life. Thanks to a character named Data, a character that’s both relatable and entirely different, many have found themselves wondering if that’s what the future holds.

  • Millions of Jobs

    It has been 20 years since I first used machine learning to solve a complex business problem. The underlying problem was simple: the company was selling a new service and wanted to know who was most likely to buy it. We had millions of records, and each record had hundreds of fields. A vast amount of data, but no idea how to extract insight from it. Countless hours from various data analysts had been invested into finding a pattern, but none was forthcoming.