From: Michael Tremer Date: Mon, 4 Mar 2024 12:39:23 +0000 (+0000) Subject: Add README.md X-Git-Tag: 0.9.18~103 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=023caa7fb8d18fa96e343126ecfab391cf1040a0;p=location%2Flibloc.git Add README.md Signed-off-by: Michael Tremer --- diff --git a/Makefile.am b/Makefile.am index a7d1c4f..65b3a76 100644 --- a/Makefile.am +++ b/Makefile.am @@ -88,6 +88,7 @@ po/POTFILES.in: Makefile sed -e "s@$(abs_srcdir)/@@g" | LC_ALL=C sort > $@ EXTRA_DIST += \ + README.md \ examples/private-key.pem \ examples/public-key.pem \ examples/python/create-database.py \ diff --git a/README.md b/README.md new file mode 100644 index 0000000..36c8144 --- /dev/null +++ b/README.md @@ -0,0 +1,47 @@ +# **_`libloc`_** - IP Address Location + +[Home](https://www.ipfire.org/location) + +`libloc` is a library for fast and efficient IP address location. + +It offers: + +- **The Fastest Lookups**: O(1) lookup time for IP addresses using a binary tree structure. +- **Low Memory Footprint**: The database is packed in a very efficient format. +- **Security**: Integrated signature verification for data integrity. +- **Maintainability**: Automatic updates. +- **Standalone**: No external dependencies, easy to integrate. + +`libloc` is ideal for: + +- Firewalls +- Intrusion Prevention/Detection Systems (IPS/IDS) +- Web Applications +- Network Management Tools + +The publicly available daily updated database stores information about: + +- The entire IPv6 and IPv4 Internet +- Autonomous System Information including names +- Country Codes, Names and Continent Codes + +## Command Line + +`libloc` comes with a command line tool which makes it easy to test the library or +integrate it into your shell scripts. location(8) knows a couple of commands to retrieve +country or Autonomous System of an IP address and can generate lists of networks to be +imported into other software. + +`location (8)` is versatile and very easy to use. + +## Language Bindings + +`libloc` itself is written in C. There are bindings for the following languages available: + +- Python 3 +- Lua +- Perl + +`libloc` comes with native Python bindings which are used by its main command-line tool +location. They are the most advanced bindings as they support reading from the database +as well as writing to it.