Software Projects
This is the section I intend to grow in the coming months. At some point, the basic framework for sites like this one and my imager will appear here, and eventually, I'd like to write ebuilds for everything that gets posted here too. For now though, this is all you get.
firewalltailer
For your inner masochist, this script will tail your firewall log for you and parse out the relevent data into a human-readable, colour-coded real-time list. It plays nicely with my qFirewall, but should work with anything if you spend a little time configuring your script(s).
| Written in: | Perl |
| Requires: | iptables |
-
version 1.1 (3.4K)
- Added support for DNS lookups for local IPs
- version 1.0 (3.0K)
highlight
Nothing makes me more frustrated than to have to look at a big black screen with white text looking for a keyword. Sure, I can use grep but that will only give me the line and sometimes I want some context. Yes, I know that grep has a -C option but the fact is, sometimes I want to be able to look at the whole file and be able to eyeball what I'm looking for... That's why I wrote this. Pipe any output through it and pass it up to 5 arguments and this script will highlight those words for you.
Run with --help for more information.
| Written in: | Perl |
| Requires: | Message.pm Colours.pm |
| Instructions: | $ cat somefile | highlight sometext othertext somethingelse |
- version 1.0 (667B)
- version 1.1 (696B) - added regular expression support
Message.pm
As an extension to my "Pretty Things" ideology, I needed to have a way to code an easy-on-the-eyes message to the screen. This class lets you define a hash of messages and identify them as a header, notice, warning or error and the class takes care of the rest.
| Written in: | Perl |
| Requires: | Colours.pm |
| Instructions: | #!/usr/bin/perl use Colours; use Message; my %colours = Colours::getColours(); my %messages = ( 'someMessage' => ['n', "Behold! A message!"], 'someError' => ['h1', "This is my error text"], 'someHeader' => ['e', "An arbitrary header"] ); my $message = Message->new(1, \%colours, \%messages); $message->draw('someHeader'); $message->draw('someError'); $message->draw('someMessage'); |
- version 1.0 (1.1K)
- version 1.1 (1.1K) - minor changes to spacing
Colours.pm
I like pretty things. Therefore I am a fan of pretty shell scripts and this means colour. The idea of outputting plain, unreadable text to a screen makes me cringe... and then it makes me mad. That's why I wrote this little include for the express purpose of giving me colours for my Perl scripts.
| Written in: | Perl |
| Requires: | n/a |
| Instructions: | #!/usr/bin/perl use Colours; my %colours = Colours::getColours(); print "$colours{light_green}this text is light green!$colours{none}"; |
- version 1.0 (302B)
qFirewall
Tired of manually editing iptables rules to make your firewall Just Work™? Given a simple network of a gateway with n external ips, this script will let you firewall off your lan from the rest of the world while performing source and destination NAT for various services. The best part though, is that you don't have to play with iptables rules anymore, just edit the flat files.
Note that I don't maintain this script anymore due to the fact that while it's easy to configure, it's hard to configure for special purposes. It's also not very efficient as it doesn't use any custom chains. Feel free to download it for kicks or just out of curiosity, but if you want it Done Right™, I suggest you pick up a copy of Linux Firewalls and roll a script yourself.
| Written in: | Perl |
| Requires: | iptables |
-
version 1.3b (17K)
- Added support for bittorrent
- Added templates for incoming and outgoing files
- Added support for forwarding traffic on one port on the router to a different port on the internal server
- Fixed the SNAT lines to direct traffic through the appropriate external ip by creating a new mappings file
-
version 1.2b (16K)
- Added support for a DNS server
- Removed ./incoming/dns
- Added ./incoming/dnsclients
- Added ./incoming/dnstransfer-udp
- Added ./incoming/dnstransfer-tcp
- Added support for a POP3 server
- Added support for a POP3s server
- Added support for a SMTP server
- Added test-run support (-t)
- Moved rule repording at runtime to as the rule is executed
- Added the ability to specify port ranges in the flat files
- Fixed a bug in the incoming compilation that didn't check the right names in the right directory
- Fixed a bug that caused port numbers used on one line to be used again in the following line if it isn't explicitly defined
-
version 1.1b (17K)
- Added documentation
- Added a copy of the GPL
- Added support for SpamAssassin's use of Razor and DCC
- version 1.0b (6.7K)
