human readable format
Human-Redux
Human-Redux is known as a theme for Karmic and a modern refresh to the Human look utilizing the best aspects of various engines more>>
Human-Redux is known as a theme for Karmic and a modern refresh to the Human look utilizing the best aspects of various engines.
Major Features:
- Create an original asthetically pleasing desktop theme.
- The theme is dark, but just dark enough to contrast with the bg-color adding subtle hints of orange/peach (salmon), which stays true to the Ubuntu look using some of the past favorite colors with a new twist.
- Clean something you have not seen before.
How to install?
- Right click on your desktop and select Change Desktop Background
- Click on the first tab: Theme
- Drag and drop the themes archive in the Appearance Preferences window.
- If everything is OK, you will receive a confirmation message and you can activate the theme just by clicking on it.
Requirements:
- Nodoka GTK
- Engine
Kubuntu Human Theme 0.9
Kubuntu Human Theme was created because I started to like the Ubuntu Human theme and when I switched to KDE, I was missing it. more>>
Installation of .kth file thru KDE Control Center--Theme Manager--Install; then, if you want exactly the same look, get and install the above items (search on KDE-look). The Kmenu can be changed by replacing each kmenu.png in /usr/share/icons/nuovext/[SIZE]/apps/ Then refresh your icon set.
Userfriendly Iptables Frontend 1.0.4
Userfriendly Iptables Frontend provides a tool for generating optimized packet filter rules. more>>
The Userfriendly Iptables Frontend is used to generate optimized iptables packet filter rules, using a simple description file specified by the user.
Generated rules are provided in iptables- save style.
UIF can be used to read or write rulesets to or from LDAP servers in your network, which provides a global storing mechanism.
Its aim is to be an easy to configure, human readable packet filter.
Humanzip 0.5
Humanzip is a compression program that operates on text files. more>>
This application compresses files by looking for common strings of words and replacing them with single symbols. The idea is to reduce the screen and print size of documents. humanzip does not explictly try to reduce the size of the file as measured in bytes, although this usually happens incidentally.
Installation:
There is no configure script. I assume that you have a modern GNU/Linux (or similar) system that has the usual libraries and so forth. Nothing unusual is required, just a C++ complier (g++, probably). If you want to change the install location, edit the very simple Makefile.
To compile, say "make".
To install, say "make install".
To uninstall, say "make uninstall".
Hydranode Project 0.3.0
Hydranode Core is a modular, plugin-driven peer-to-peer client framework. more>>
Hydranode Project can be used directly via the built-in shell functionality, or via external user interfaces.
To achieve the large number of features described in the previous section, HydraNode core needs to be extendible without causing feature bloat and increase in system requirements resulting from that. The only way to accomplish that is make the application completely modular - only a minimum set of features are provided by the core application; the rest of the features are implemented by optional loadable modules. Each file-sharing network should be in a separate module, as should be other additional features like e-mail notifications. With this design, the features are de-coupled from each other, thus greatly simplifying the debugging process, and allowing end user to select only the features he or she needs instead of what a programmer thought was best for him or her.
Second most important pre-requisite for a modern peer-to-peer application is platform-independence. The biggest differences in platforms are the graphical user interfaces, while the underlying structure of operating systems is rather similar. To achieve maximum portability, the core application should be decoupled from graphical user interfaces, which then could be written platform-dependently for each target platform; native user interfaces always perform better than interfaces designed for running on large number of platforms. To achieve this, the core application should not have any interactive graphical user interface of its own at all - it should only provide a protocol through which native graphical user interfaces and other application could communicate with it and control it. The protocol itself should be in human-readable format, but also be easily parse-able for client software; the reason for this would be to allow the possibility of interacting with the protocol directly through simple software like telnet, which would greatly simplify debugging process, but could also be useful even for end users as a crude remote control mechanism.
Related to the above comes the question of programming language to use for writing the core application. At this, C++ would be the most sensible choice, because it is widely used across all platforms and provides fastest code (which is required to achieve low system requirements); it allows (and even enforces) object-oriented design, and is easier to understand than C code. Additionally, since HydraNode strongly relies on module-writers, C++ coders are far easier to find than, say, Java coders.
As mentioned in previous section, quickest way to rapid development process is to give the users free access to the source code of the application; it increases possible developer/debugger-base significantly. Out of the myriad of open source licenses out there, GNU General Public License is most respected among users and developers, so HydraNode source code should follow the trend and be licensed under GNU GPL. Having the source code licensed under GNU GPL also allows us to use the almost infinite amount of existing code freely available through the internet, which could prove as a very useful option.
With the fore-seeable future of large number of co-developer base, it is necessary to clearly define the coding standards for the core application. Coding style is very personal; having large number of developers modifying the code will quickly lead to a mix of different styles and personalities, which in turn makes the code less readable, and thus less maintainable. There are several widely accepted coding standards floating around, and for this project we have chosen to use Linux Kernel coding standard; while originally written for C, the concepts still mostly hold for C++. Source code, however, is worth nothing without correct documentation which would give the future co-developers hints on what the original developers had in mind while writing/designing the application. Again, there several widely accepted documentation standards, out of which perhaps the most common is Doxygen-style. The reason behind this is that Doxygen is capable of extracting documentation from source files and generating web pages out of it, which can give a very quick and extensive overview of the entire application at a glance - something future developers will greatly appreciate.
The privacy of the user should be a serious concern for any modern peer-to-peer application developer; there are several institutions which tend to have a habit of spying upon the users and invading their privacy. The simplest solution would be to block the IP addresses of those groups; even better solution would be to simply stay off their radar. The first part can be implemented within the core application since it controls the low-level networking functionality; second part can be implemented by networking plugins depending on the specific networks.
Since the core application will eventually have a large number of very different networking plugins, we have the problem of bandwidth management. The end user shouldnt be bothered with each specific plugins bandwidth limiting settings, so the bandwidth limits should be managed by the main application, which in turn could either allow or deny requests for bandwidth to modules. This setting should be fully configurable, allowing end user to either have the bandwidth shared equally among the plugins, or in favor of one or several specific plugins.
Various file-sharing networks use very different files identifying methods - most often this is a checksum of the file, sometimes accompanied by file size; additionally, there is files meta-data, which can help the end-user identify the file. Since this feature is common to all file-sharing networks, while only differing in the actual checksum used, it should also be handled by the core application. Several points must be considered here - the core application should be able to generate a large number of checksums and store them. It should also be capable of extracting meta-data of files, as well as do cross-references with checksums - given a checksum from one network, it should be able to find the same file on second network (provided the file is known). However, no single client can know the checksums of all files of all networks, which means that the cross-referencing functionality will be of little use locally - this needs a central database which could store the checksums of all files from all networks, and provide cross-referencing functionality. Heres where Myradin comes in - it does exactly that. While support for Myradin shouldnt be completely integrated since it isnt really a part of the application, it could be an optional plugin that retrieves and submits checksums to the central database.
The last feature is far more important than is obvious on first impression; this is the feature that will eventually allow real multi-network simultaneous downloads of same file. The problem is - since each network uses different checksums for files, it is impossible to identify the same file on two separate networks - you dont know the file is the same until you have downloaded the entire file and generated a checksum out of it. However, with a central database which stores checksums of different files from multiple networks, it would be possible to retrieve the checksums of a file on all other networks provided you have the checksum of a file from one network, thus allowing downloading the same file from two or more networks simultaneously. Upon completition, files actual checksum could again be tested against all known checksums to provide even higher corruption protection than single-network downloads. The central database would also contain files meta-data, which would allow end-users to more clearly identify fake files, thus improving the overall quality of files on all file-sharing networks.
Enhancements:
Graphical User Interface (NEW) (madcat)
- Supports search, download and shared files lists
- Lists loaded modules
- Shows networking statistics
- Lists eDonkey2000 server list
Core/GUI communication (NEW) (madcat)
- Supports networking, files, modules and custom data syncronization with user interface(s).
Hydranode Base (madcat)
- No longer writes ANSI color codes to logfile
- Portability to platforms without stdint.h header
- Portability to unix variants without execinfo.h header
- Full support windows XP Service Pack 2 (half-open connections limiting)
- Using hand-crafted event multiplexing system in sockets to bypass the slow Boost.Signals
- Fixed issues with >2GB files on Windows
- Fixed issues with UDP packets handling when multiple packets arrive with short interval (previously this caused the socket to become dead)
- Support for more than 64 concurrent open connections on Windows
- Handles some race conditions in networking, where events come from backend when frontend has been destroyed more gracefully
- Now remembering total downloaded/uploaded/uptime across sessions (global)
Hydranode Core (madcat)
- No longer allocates disk space when shutting down
- Cleans up filename of invalid characters when starting downloads
- Fixed uploading issues while moving completed download to incoming
- Uploaded amount (for shared files) is now properly stored across sessions
- Avoids duplicate scanning of already-scanned directories
- Fixed crash when download is canceled while chunk hash job is in progress
- Added dynamic module-based upload-speed scaling based on modules overall upload/download data ratio, thus upload-capable modules that have downloaded 70% of data get 70% of upload slots. Note that these are not hard limits, so actual results may vary depending on various conditions.
- Faster and non-blocking disk space allocation for downloads
- Fixes crashes when search result handlers get destroyed
- Properly updates file modification date after movework finishes
- --disable-colors and --transform-colors command-line options
- --module-dir command-line option
- Now correctly handles temp/shared dirs with .. in path names
- No longer shares desktop.ini, thumbs.db and similar files
- No longer loses custom metadata after file rehash
Bittorrent Module (madcat)
- Fixed links command for single-file torrents after restart
- Reduced outgoing client connection timeout from 30s to 5s
- Fixed an issue with URI delimineters not being encoded in tracker GET request (ticket #225).
- Handles tracker responses sent with
newline instead of
- Properly seeds downloaded torrents after completition
- Cleans up cache folder on download completition or canceling
- Properly urlencodes HEAD / GET request arguments (ticket #235)
- Listening ports are now restarted instantly after runtime configuration changes
- Fixed some crashes during torrent completition
- Multi-tracker support
- Fixed uploaded/downloaded ratio calculation
eDonkey2000 Module (madcat)
- Reduced outgoing client connection timeout from 30s to 5s
- Fixed parsing QueueRanking packets from MLDonkey clients
- Fixed a bug where client would be dropped after download session end, when the remote client contacted us and sent AcceptUploadReq, and we didnt send ReqFile.
- Now properly destroys remote LowID clients if we are also LowID.
- More default (hardcoded) servers
- Support for global searching
- Miscellaneous protocol performance improvements and fine-tuning
- Properly switches sources to other files on download completition now
- GlobGetSources v2 packet is sent with different opcode. This raises UDP source queries effectiveness by ~5 times (from 4% to 20+%)
- Better A4AF handling
- Listening ports are now restarted instantly after runtime configuration changes
- Setting ed2k/FindServers can be set to 0 now to disable receiving servers from clients and servers
Email notifications (madcat)
- Fixes unhandled exceptions from connect() call (ticket #217)
HLink application (madcat)
- Its now possible to pass full paths (to .torrent files etc)
Scalable OGo 0.9.0
Scalable OGo project (SOGo in short) is a groupware server built around the SOPE application server. more>>
The server stores all internal data in the iCalendar format and therefore has no data model inconsistencies with native clients - it easily connects using GroupDAV connectors.
Scalable OpenGroupware.org is being developed since August 2004.
Important: SOGo is still in pre-alpha quality and is largely undocumented. We do not provide RPM or Debian packaging yet nor expect to be able to build the source without issues.

Advanced Human Light 1.0
Advanced Human Light is a GTK theme that uses the Murrine, Aurora, and, Clearlooks engines. more>>
Advanced Human Light 1.0 is yet another beautiful theme for Gnome users. It is actually a GTK theme that uses the Murrine, Aurora, and, Clearlooks engines.
This supports rgba* in the main window while leaving buttons, tabs, and text areas opaque so as to enhance readability and usability without sacrificing eye candy.
GNOME is an international effort to build a complete desktop environment-the graphical user interface which sits on top of a computer operating system-entirely from free software. This goal includes creating software development frameworks, selecting application software for the desktop, and working on the programs which manage application launching, file handling, and window and task management.
GNOME is part of the GNU Project and can be used with various Unix-like operating systems, most notably Linux, and as part of Java Desktop System in Solaris.
The name originally stood for GNU Network Object Model Environment, though this acronym is deprecated. The GNOME project puts heavy emphasis on simplicity, usability, and making things "just work".
Requirements:
- GTK 2.x
- GNOME 2.x
readcdda 1.003
readcdda is a Perl module that reads digital audio from a CD. more>>
SYNOPSIS
readcdda [OPTION]...
This is a program to read (or "rip") CD digital audio from a CD and output the PCM data. Typically this is an initial stage in encoding data to MP3 format.
The output data is raw 16 bit 44.1kHz stereo data. This format is directly readable by software like sox and various MP3 encoders, e.g.:
readcdda -Dsg3 -v -F |sox -r44100 -c2 -tsw - -twav %02d.wav
Will read a CD and create WAV files in the current directory with names 00.wav..99.wav. Alternatively, you can read and encode directly to MP3 with something like:
readcdda -Dsg3 -v -F |mp3enc -v -sti -of %02d.mp3 -br 160000 -qual 6
-D, --dev, --device=DEVICE
SCSI device name or number to use.
-L, --list
Prints a list of all CD devices and their name/number, then exits.
-T, --toc
Prints a list of tracks on the CD, then exits.
-f, --first=TRACK
Selects the first track to read. Defaults to the first track on the CD.
-l, --last=TRACK
Selects the last track to read. Defaults to the same as -f if that was selected (i.e. read just one track) or the last track on the CD if it was not (i.e. read the whole CD.)
-d, --dir, --directory=DIR
Output is saved in this directory, with names of "00".."99".
-s, --stdout
Output is sent to standard output.
-F, --format=FORMAT
Output is sent to a name generated by a printf()-style format, e.g. "%02d".
-v, --verbose
Gives progress reports.
-V, --version
Givess script and module versions and exits.
-h, --help
Prints this text and exits.
IFF Format Library 0.1
IFF Format Library provides header structures and utility functions for reading and writing data files in the Interchange Files. more>>
The Interchange File Format is a simple structured binary file format consisting of sized and typed chunks of data, selectively readable without having to know the format of each chunk.
This functionality is similar to what XML provides for text documents, and the IFF format can indeed be viewed as a sort of a binary XML. IFFs extensibility is an excellent way of not breaking old applications when the file format changes, making it an excellent choice for your next applications data files.
The IFF is also the simplest and the smallest such data format, ensuring that your files consist of real data rather than overhead and that your code spends more time on real work than on parsing the data file. This library defines the IFF header structures and provides simple algorithms for directly writing many of your objects as chunks and containers.
Installation:
This library can be downloaded from SourceForge, as can its sole prerequisite:
libiff - The library source package.
uSTL - An STL implementation, required.
First, unpack and install uSTL, as described in its documentation. Unpack libiff and run ./configure; make install, which will install the library to /usr/local/lib and headers to /usr/local/include. ./configure --help lists available configuration options, in the usual autoconf fashion. The one thing to be aware of is that by default the library will not be completely conforming to EA85 specification. Why that is so, and why you should take the default options anyway, is discussed in detail in the next section. If you really want to use the original EA85 format, you can to pass --with-bigendian --with-2grain to configure.
Usage:
If you are using C++, chances are you already have an object-oriented design of some kind. You have a collection of objects, related to each other in some way, and you want to write them all to a file in some way. It is, of course, possible to just write them all to the file, one after the other, but that approach makes things difficult if you ever decide to change the structure of those objects, write more or fewer of them, or explain to other people how to read your format. Hence, it is desirable to create some kind of structure in the file, to be able to determine where each objects begins and ends, and what kind of object is where. When using an IFF format, youll make simple objects into chunks, and objects containing other objects into FORMs, LISTs, or CATs.
The first task is to make each of your objects readable and writable through uSTL streams. To do that youll need to define three methods, read, write, and stream_size, and create flow operator overrides with a STD_STREAMABLE macro. Here is a typical example:
#include < iff.h > // iff header includes ustl.h, but doesnt use the namespace.
using namespace ustl; // it is recommended to leave iff:: namespace on.
/// Stores players vital statistics.
class CPlayerStats {
public:
void read (istream& is);
void write (ostream& os) const;
size_t stream_size (void) const;
private:
uint16_t m_HP;
uint16_t m_MaxHP;
uint16_t m_Mana;
uint16_t m_MaxMana;
};
// Since the object is simple, and contains no other objects,
// well make it a simple chunk.
enum { // Define a chunk format for writing this object.
fmt_PlayerStats = IFF_FMT(S,T,A,T)
}; // In a hex editor youll see STAT at the beginning of the object
// making it easy to find when you want to hack something in it.
/// Reads the object from stream p is
void CPlayerStats::read (istream& is)
{
is >> m_HP >> m_MaxHP >> m_Mana >> m_MaxMana;
}
/// Writes the object to stream p os.
void CPlayerStats::write (ostream& os) const
{
os<<less
MARC::Doc::Tutorial 2.00
MARC::Doc::Tutorial is a documentation-only module for new users of MARC::Record. more>>
SYNOPSIS
perldoc MARC::Doc::Tutorial
What is MARC?
The MAchine Readable Cataloging format was designed by the Library of Congress in the late 1960s in order to allow libraries to convert their card catalogs into a digital format. The advantages of having computerized card catalogs were soon realized, and now MARC is being used by all sorts of libraries around the world to provide computerized access to their collections. MARC data in transmission format is optimized for processing by computers, so its not very readable for the normal human. For more about the MARC format, visit the Library of Congress at http://www.loc.gov/marc/
What is this Tutorial?
The document you are reading is a beginners guide to using Perl to processing MARC data, written in the cookbook style. Inside, you will find recipes on how to read, write, update and convert MARC data using the MARC::Record CPAN package. As with any cookbook, you should feel free to dip in at any section and use the recipe you find interesting.
If you are new to Perl, you may want to read from the beginning.
The document you are reading is distributed with the MARC::Record package, however in case you are reading it somewhere else, you can find the latest version at CPAN: http://www.cpan.org/modules/by-module/MARC/. Youll notice that some sections arent filled in yet, which is a result of this document being a work in progress. If you have ideas for new sections please make a suggestion to perl4lib: http://www.rice.edu/perl4lib/.
Hydrate 2.0
Hydrate is a tool that provides fast, efficient, and error-free transformation of data. more>>
Each of these representations has its strengths and weaknesses as shown in the diagram below; but which should you use as a basis for your application design?
Hydrate relaxes some of the pressure on this decision by providing tools for moving data from one representation to another, guided by a master UML class representation of that data.
- You want to lay a domain object model view over an existing database or set of databases. Hydrate gives you the tools to design that model in UML and map your existing data to that model. Once in the object space, you can perform complex manipulations on the objects, calculate results and save information back to a relational cache for searching or reloading, as well as converting the results to XML for sending to downstream systems or transforming to a readable format for display.
- Your project involves taking various data files fed from external systems that you want to pull into an object model on your server before writing the results down to a fully relational database. You can now respond to requests from external systems by rehydrating the data from its relational form and sending it out as XML documents or transforming those documents to a readable format for display.
- You are building a data warehouse in which you have the broad specifications for the model, but want to provide for flexibility and adaptability for future unpredicted requests. Based on a core data model, Hydrate gives you the tools to create you database schema, and write information to it, but more significantly to subsequently lay a completely different object model perhaps aggregating some of the data over the top of that schema to process it in unforeseen ways.
- You need to integrate data from many different data sources in a highly performant manner. SQL permits you to read a huge data set a row at a time and perform running calculations and filtering on that data. But the performance pressures can lead to code that is highly coupled with the database and what do you do if you need to integrate data from elsewhere in order to complete your calculations? Hydrate permits you to operate in the object space and integrate information from other sources on-the-fly.
Main features:
- To integrate legacy and other data schemas over which you have little control. Map data from many different data sources into a single self-consistent in-memory model. Different parts of the same object, as well as different sub-populations of the same object type can be drawn from different data sources, different schemas and even different database architectures.
- Load, populate and connect up multiple object types from a single query. There is no limit to the number of object types that can be loaded from a single query, or to the complexity of the relationships that can be resolved between them. Objects read from a query are automatically merged into objects already in memory.
- Full control over the SQL that runs against the database (if you need it). Any SQL queries simultaneously from multiple JDBC drivers, even using database specific optimizations, as long as they returns a result set.
- Access and manipulate the same data through the rich and powerful XML toolset. Use the same meta data that describes your objects to easily read from, write to and validate any consistent XML schema. Use XML for display, data transmission or XSLT transformation. Load XML data back into objects.
- Highly optimized performance for reading and writing SQL and XML. Since native types are used and SQL chatter is non-existent, database performance is comparable with doing the mapping by hand. XML reading and writing uses SAX exclusively.
Are You Human? 0.1
Are You Human? is a script that uses a graphical test to insure that a human is being dealt with rather than a script. more>>
This is useful to avoid automated Web signups or automated attempts to crack passwords.
There are many equivalent libraries for other languages but this is the first one for Python. The Python Imaging Library (PIL) is required.
Flat File Extractor 0.2.2
Flat File Extractor can be used for reading different flat file structures and printing them in different formats. more>>
Main areas of use are:
- Extracting particular fields or records from a flat file
- Converting data from one format to an other, e.g. from CSV to fixed length
- Verifying a flat file structure
- Testing tool for flat file development
- Displaying flat file content in human readable form
Main features:
- Command-line tool
- Reads standard input and writes to standard output as default
- One input file can contain several types of records (lines)
- Fields in a flat file can be fixed length or separated
- Input file structure and output definitions are independent, meaning one output format can be used with several input files
- Input file structure and output format are freely configurable, they are not predefined
- Output can be formatted e.g. as: fixed length, separated, tokenized, XML, SQL,...
- ffe tries to guess the input format, user needs not to give it as a parameter
Enhancements:
- Configuration keyword const has been added
Roadnav 0.18
Roadnav is an in-car navigation system capable of running on a variety of operating systems. more>>
Roadnav can obtain a cars present location from a GPS unit, plot street maps of the area, and provide verbal turn by turn directions to any location in the USA.
Roadnav uses the free TIGER/Line files from the US Census Bureau to build the maps, along with the GNIS state and topical gazetteer data from the USGS to identify locations.
Main features:
- Generates street level maps for the US
- Interfaces with GPS units to display your position in real time
- Verbal turn by turn directions to any place in the US. Automatically recomputes directions if you miss a turn.
- On screen keyboard
- 3D (drivers perspective) view mode
- Daytime and nighttime color schemes
- Automatic day/night mode switching
- Plots nearby landmarks and points of interest
- Can operate offline (without an Internet connection)
- Antialiased output
- Supports multiple operating systems including Windows, Linux, and Mac OS X
- Uses freely available data from the US Census Bureau and the USGS
- Appearance can be customized with skins
- Can output status information to LCD devices through LCDproc
Enhancements:
Enhancements:
- Adds option to Preferences to enable gpsd buffering (reduces jitter).
- Adds experimental GPX import support.
- Disk usage reduced by ~30%.
- Adds GPS serial initialization string option to Preferences.
- Adds preference to override default map directory.
- Adds option for username/password proxy authentication.
- Adds "Use System Proxy Settings" preference, which reads proxy settings from the HTTP_PROXY environmental variable.
Bug Fixes:
- Fixes Delete button in Waypoints dialog when no waypoints exist.
- Workaround for buggy serial implementations.
- Fixes Windows 2000 compatibility.
- Fixes i18n issue in OSM code.
- Improved address look up.
- Eliminates IPP error messages when printer is not configured.
- Improved compatibility with DeLorme Tripmate and Earthmate GPS units.
- Win32 floating point model changed from fast to precise. Should resolve problems calculating routes.
- Fixes focusing issue in keyboard dialog.
Developer Visible Changes:
- MapControlData_Tiles index files eliminated.
- Direct access to Point::m_fLong and Point::m_fLat eliminated. Use the Point::Set* and Point::Get* functions instead.
Misc:
- Compiled maps now organized in a more human readable format.
- Eliminates TIGER/Line 2006 First Edition from search path.
- Proxy settings now on their own preferences page.
- When maps have to be upgraded, adds option to not upgrade map files and immediately terminate Roadnav instead.
- Small map labels now have a solid background instead of a cross hatch.
Lutel Firewall 0.99
LutelWall (formerly known as Lutel Firewall) is high-level linux firewall configuration tool. more>>
Main features:
- flexible control over traffic using rule set
- user-defined protocols support
- support for any kind multiple external and internal interaces (and aliases)
- automated MASQUERADE / SNAT support
- easy to set up DNAT (transparent proxy, redirections to LAN/DMZ etc.)
- rate limit extensions
- packet marking for 3rd party shapers
- TOS (Type of Service) traffic optimizer
- both passive and active FTP support
- DHCP support
- can work as "workstation" firewa
- stateful TCP connection tracking with restrictive TCP chain
- blocking all stealth mode scans (FIN, Xmas Tree, Null, Windows scan or ACK scan modes (nmap -sF -sX -sN -sW -sA)
- blocking IP protocol scans (nmap -sO)
- blocking UDP scans (nmap -sU)
- blocking identification via TCP/IP fingerprinting (nmap -O)
- anti-spoof protection, including protection for aliases
- anti-smurf protection
- TCP SYN Flood protection
- UDP / ICMP Flood protection
- IANA reserved addresses checking
- SYSCTL parameters set for increased strength
- logging stealth scans (FIN, Xmas Tree, Null), ACK scan modes (nmap -sF -sX -sN), IP protocol scans (nmap -sO), UDP scans (nmap -sU), nmap fingerprinting attempts.
- autodetect of connection type (static/dynamic, external/internal)
- auto update of firewall tool
- auto update IANA reserved list
- display firewall statistics in iptables native, csv or html format
- easy deployment on all distributions
Enhancements:
- fixed iptables version checking