File: README.md

package info (click to toggle)
libloc 0.9.18-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 42,824 kB
  • sloc: ansic: 7,602; python: 2,893; makefile: 511; sh: 39; perl: 13
file content (47 lines) | stat: -rw-r--r-- 1,541 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
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.