library to add, lookup and remove entries from DroneBL
Project description
pydronebl
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
Release history Release notifications | RSS feed
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)
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 831ea85747356fe9fa6a68857b8785b5190fd16afd8b69267975d3dae8a077c7 |
|
MD5 | 387fec251de942f97f938d37c886bacd |
|
BLAKE2b-256 | 103e7161d2b1ff91a6342a018afce86adad601d2e174d81a8411788648269ebd |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c82ab59ac5eb42eda3e866b0b9547f6a64eda58ef658fa31fdbab8558b37356 |
|
MD5 | 88bcb956bbcf65f8e3d34c90729a638e |
|
BLAKE2b-256 | 2f1c246376d7f2a18206cd6925f81602e2543f2de82406aa65e62f69800a0538 |