Software
Here's the small collection of software I distribute. I welcome feedback, especially suggestions for improvements. Patches are most welcome.
- aggregate-cidr-addresses
- Take a list of CIDR address blocks and combine them, for example, 192.168.0.0/24 and 192.168.1.0/24 gives 192.168.0.0/23. I usually use "list-iana-reserved-ranges | aggregate-cidr-addresses" to get a list of blocks to not report with firewall log processing.
- bgp-as
- This program uses http://looking-glass.optus.net.au/ to display the BGP table for a given network. Please respect Optus' clearly stated wishes and just use this manually from the command line - don't force Optus to withdraw their valuable service to the Internet community
- clean-up-html-code
- create-snapshot-montages
- ddns-scavenger
- dynamic-dns-update
- This shell script uses utilities shipped with ISC BIND to update a zone using Dynamic DNS Update requests (RFC2136).
- example-web-admin
- This is a example admin script designed with security in mind.
- example-webpage-counter
- A sample web counter implemention, designed for safety of the number stored. It isn't really useful; however, it will work and provides a good base for your script.
- fibonacci-benchmark
- force-link-up
- generate-random-password
- Random passwords of a specified length.
- get-current-dhcpd-leases
- Filters dhcpd.leases to produce a list of addresses. Easily extensible if you need more than the address.
- internode-quota-check
- This is an Internode
usage meter . Here's what the command-line output looks like:
$ internode-quota-check mark: 21.583 GB (27.0%) and 5.1 days (16.5%) left of 80 GB, 24 Mb/s plan. suter: 35.036 GB (63.7%) and 5.1 days (16.5%) left of 55 GB, 24 Mb/s plan.
To install, save 'internode-quota-check' to a location in your path and make it executable. If you have any questions, please get in touch with me.
This tool would not exist without Perl and the CPAN modules written by many authors around the world.
Errors like "Can't locate ModuleName.pm in @INC ..." mean that you need to install extra modules. On Debian and Debian-derived systems (for example, Ubuntu), this command should install all the necessary modules:$ sudo aptitude install libreadonly-perl libtime-local-perl libwww-mechanize-perl
For other systems, there should be a similar procedure to take advantage of the local packaging tool, for example, yum or yast. - iptables-log-filter
- Takes iptables logs and outputs a sanitized form, for example,
2003-10-06 23:46:04 tcp 192.0.2.1:1024 -> 192.0.2.2:135
- key-party-signing
- Assisted signing of all keys in a keyring stored in the current directory. I use this and other tools for Key Signing Parties.
- key-party-table-latex
- Filter for the output of "gpg --fingerprint" that produces good looking and easy to use LaTeX output. I use this and other tools for Key Signing Parties.
- list-iana-reserved-ranges
- Downloads http://www.iana.org/assignments/ipv4-address-space and outputs in CIDR notation. Very useful when combined with aggregate-cidr-addresses.
- list-train-times
- mailq-summary
- Filter producing summary of sendmail's mailq output
- mbox-archive
- mbox-filter
- Prepare a textual representation of the emails in a given folder.
- mbox-prune
- Straightforward script to remove old emails from an email folder.
- mbox-to-maildir
- modified-iso-build
- modified-iso-install
- modified-iso-install-raid
- optus-websms
- A perl script to send SMS messages using the http://www.info2you.com.au/ website. You need to get an account and pay your bills.
- overview.cgi
- Add-on for cricket to produce a summary like the one for this hosting site.
- pacific-quota-check
- Using WWW::Mechanize, pull usage data out of Pacific Internet's Highlander system from a cgi interface like this:
- ping-state-trace
- Ping a host and report on changes in the state, for example, slow or lost packets.
- remote-ssh-gpg-backup
- reprocess-mbox-via-procmail
- send-emails-in-directory
- slow-filter
- Simple filter based on code from page 231 of _Programming Perl_, under the summary of 'syswrite'. It will delay its output according to the paramaters provided.
- speech-biff
- Biff variant with speech output.
- split-exec
- Filter-manager to fork a new child for each chunk of input. The assumption is that the child will take a "long time" before it produces any output but that once it starts producing output, it will complete "quickly".
- squid-access-from-mysql
- squid-access-into-mysql
- ssh-https-tunnel
- Use with ssh's ProxyCommand to tunnel ssh through http proxies using the CONNECT method.
- syslog-grep-and-count
- syslog-to-iso8601-utc
- Filter syslog output to get sanatized timestamps, for example,
2003-10-06 20:33:53 zwitterion syslogd 1.0.0: restarting.
- xbiff-checkcommand-maildir