Skip to main content

library to add, lookup and remove entries from DroneBL

Project description

pydronebl

Build Status

Installation

$ pip3 install dronebl

Usage

The RPC key, IP and ID below are fake.

Looking up an IP

>>> from dronebl import DroneBL
>>> d = DroneBL("04efa460cf244b6e88d9d2b8c31eb953")
>>> # by IP
>>> d.lookup("198.51.100.123")
[Lookup(198.51.100.123, id=3174874, type=19, datetime=2020-08-21T10:18:44, comment='abused VPN (connect verified)')]
>>> # by ID
>>> d.lookup(3174874)
[Lookup(198.51.100.123, id=3174874, type=19, datetime=2020-08-21T10:18:44, comment='abused VPN (connect verified)')]
>>> # non-existent
>>> d.lookup(3174875)
[]

Adding an IP

>>> d.add("198.51.100.123", 19, "abused VPN (connect verified)")
(3174874, 'Added 198.51.100.123')
>>> d.add("198.51.100.123", 19, "abused VPN (connect verified)")
(None, 'You already reported 198.51.100.123 as type 19')

Adding with a port

>>> d.add("198.51.100.123", 19, "abused VPN (connect verified)", 1337)
(3174874, 'Added 198.51.100.123')

Updating a comment

>>> d.update(3174874, "abused VPN")
(True, 'Updated 3174874')
>>> d.update(3174875, "abused VPN")
(False, 'The id 3174875 does not exist')

Removing an IP

>>> d.remove(3174874)
(True, 'Removed 3174874')
>>> d.remove(3174874)
(False, '3174874 already delisted')

Batches

>>> b = d.batch()
>>> b.remove(3174872)
>>> b.update(3174873, "abused VPN")
>>> b.add("198.51.100.123", 19, "abused VPN (connect verified)")
>>> b.add("198.51.100.124", 13, "ssh bruteforce")
>>> r = d.commit(b)
>>> for res in r:
...     print(res)
...
('remove', True, 'Removed 3174872')
('update', True, 'Updated 3174873')
('add', 3174874, 'Added 198.51.100.123')
('add', 3174875, 'Added 198.51.100.124')
>>> b = d.type_batch(19)
>>> b.add("198.51.100.125", "abused VPN (connect verified)")
>>> d.commit(b)
[('add', 3174876, 'Added 198.51.100.125')]

Asyncified!

identical methods are offered on the async version of DroneBL, AsyncDroneBL

>>> from dronebl import AsyncDroneBL
>>> d = AsyncDroneBL("04efa460cf244b6e88d9d2b8c31eb953")
>>> await d.lookup("198.51.100.123")
Lookup(198.51.100.123, id=3174874, type=19, datetime=2020-08-21T10:18:44, comment='abused VPN (connect verified)')

Contact

Come say hi at ##jess on freenode

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dronebl-0.4.8.tar.gz (6.3 kB view details)

Uploaded Source

Built Distribution

dronebl-0.4.8-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

Details for the file dronebl-0.4.8.tar.gz.

File metadata

  • Download URL: dronebl-0.4.8.tar.gz
  • Upload date:
  • Size: 6.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2

File hashes

Hashes for dronebl-0.4.8.tar.gz
Algorithm Hash digest
SHA256 831ea85747356fe9fa6a68857b8785b5190fd16afd8b69267975d3dae8a077c7
MD5 387fec251de942f97f938d37c886bacd
BLAKE2b-256 103e7161d2b1ff91a6342a018afce86adad601d2e174d81a8411788648269ebd

See more details on using hashes here.

File details

Details for the file dronebl-0.4.8-py3-none-any.whl.

File metadata

  • Download URL: dronebl-0.4.8-py3-none-any.whl
  • Upload date:
  • Size: 8.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.22.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.2

File hashes

Hashes for dronebl-0.4.8-py3-none-any.whl
Algorithm Hash digest
SHA256 3c82ab59ac5eb42eda3e866b0b9547f6a64eda58ef658fa31fdbab8558b37356
MD5 88bcb956bbcf65f8e3d34c90729a638e
BLAKE2b-256 2f1c246376d7f2a18206cd6925f81602e2543f2de82406aa65e62f69800a0538

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page