DAT Format

From Phoenix Labs Wiki

Jump to: navigation, search

The eMule ipfilter.dat format is simple and easily editable with any text editor, but is not very compact for transport in bandwidth limited situations. For that it is recommend you use the P2B format.

Contents

The format

The eMule .dat format had no official specification, but applications always follow the basic format:

# This is a comment.  These ranges are blocked.
001.000.000.000 , 001.255.255.255 , 100 , Some organization
008.000.000.000 , 008.255.255.255 , 100 , Another organization

# This is another comment.  These ranges are allowed.
016.000.000.000 , 016.255.255.255 , 200 , Yet another organization
032.000.000.000 , 032.255.255.255 , 200 , And another

The third entry is a filter level. If it is >=128, the IP is allowed. If it is <=127, the IP is blocked.

aMule's ipfilter.dat reference says the IPs do not need padding 0s, and that the filter level is optional. It is currently unknown if the official eMule implementation allows this.

The encoding of a eMule .dat list is not formally defined, but many parsers assume they are ASCII or ISO-8859-1. PeerGuardian 2 assumes eMule .dat lists are encoded in ISO-8859-1 if they do not begin with a UTF-8 BOM.

PeerGuardian 2 supports aMule's spec, but it does not support filter levels. In PeerGuardian 2, the entire list will be treated as allowed or blocked, depending on the user's choice.

Developing with eMule .dat

A cross-platform C++ library for working with the eMule .dat format is freely available from Phoenix Labs. However, it does not support filter levels.

See also

External links

Personal tools