IPv6DB: A RESTful microService for IPv6-related data

[ bsd3, database, library, network, program ] [ Propose Tags ] [ Report a vulnerability ]

IPv6DB is a RESTful microservice using Redis as backend to store lists of IPv6 addresses and attach to each of them any valuable data in a schema-free valid JSON value. Each resource can be permanent or TTLed.


[Skip to Readme]

Modules

[Index] [Quick Jump]

Downloads

Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0, 0.1.1, 0.2.0, 0.2.1, 0.2.2, 0.2.3, 0.2.4, 0.2.5, 0.2.6, 0.3.0, 0.3.1, 0.3.2, 0.3.3, 0.3.3.1, 0.3.3.2, 0.3.3.3, 0.3.3.4
Dependencies aeson (>=0.7 && <2.3), attoparsec (>=0.13.1.0 && <0.15), base (>=4.12 && <5), bytestring (>=0.10 && <0.13), fast-logger (>=2.4.8 && <3.3), hedis (>=0.15 && <0.16), http-types (>=0.9.1 && <0.13), IPv6Addr (>=2.0.5 && <2.1), IPv6DB, mtl (>=2.2.1 && <2.4), optparse-applicative (>=0.12.1.0 && <1), text (>=1.2.4.0 && <2.2), unordered-containers (>=0.2.7 && <0.3), vector (>=0.11.0.0 && <0.14), wai (>=3.2.1 && <3.3), wai-logger (>=2.2.7 && <2.6), warp (>=3.3.16 && <3.5) [details]
Tested with ghc ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.5 || ==9.8.2 || ==9.10.1
License BSD-3-Clause
Copyright (c) 2017-2024 - Michel Boucey
Author Michel Boucey
Maintainer michel.boucey@gmail.com
Revised Revision 1 made by MichelBoucey at 2025-06-07T06:55:30Z
Category network, database
Home page http://ipv6db.functor.cloud
Source repo head: git clone https://github.com/MichelBoucey/IPv6DB.git
Uploaded by MichelBoucey at 2024-10-13T13:59:42Z
Distributions LTSHaskell:0.3.3.4, Stackage:0.3.3.4
Executables ipv6db
Downloads 8111 total (18 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2024-10-20 [all 1 reports]

Readme for IPv6DB-0.3.3.4

[back to package description]

IPv6DB

IPv6DB is a RESTful microservice using Redis as backend to store lists of IPv6 addresses and attach to each of them any valuable data in a schema-free valid JSON value. Each resource can be permanent or TTLed.

[user@box ~]$ ipv6db --help
IPv6DB v0.3.3.1 APIv1, (c) Michel Boucey 2017-2024

Usage: ipv6db [-h|--host ARG] [-p|--port ARG] [-l|--log-file ARG]
              [-o|--redis-host ARG] [-r|--redis-port ARG]
              [-d|--redis-database ARG] [-a|--redis-auth ARG]
  RESTful Web Service for IPv6 related data

Available options:
  -h,--host ARG            Alternative host (default: "::")
  -p,--port ARG            Alternative listening port (default: 4446)
  -l,--log-file ARG        Log file (default: "/var/log/ipv6db.log")
  -o,--redis-host ARG      Redis host (default: "localhost")
  -r,--redis-port ARG      Redis listening port (default: 6379)
  -d,--redis-database ARG  Redis database (default: 0)
  -a,--redis-auth ARG      Redis authentication password
  -h,--help                Show this help text

A resource example:

    {
      "list": "black",
      "address": "abcd::1234",
      "ttl": 34582,
      "source":
        {
          "services": [25,587,143]
        }
    }

The field "source" is mandatory and carry any valid JSON value.

The field "ttl" is optional in API requests for a permanent resource.

See the full IPv6DB APIv1.

The package includes binary and library.