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

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 && <0.19), 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
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 7947 total (26 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.