{
"info": {
"author": "Jerod Gawne",
"author_email": "jerod@jerodg.dev",
"bugtrack_url": null,
"classifiers": [
"Development Status :: 5 - Production/Stable",
"Environment :: Console",
"Intended Audience :: Developers",
"Intended Audience :: End Users/Desktop",
"Intended Audience :: System Administrators",
"License :: Other/Proprietary License",
"Natural Language :: English",
"Operating System :: MacOS :: MacOS X",
"Operating System :: Microsoft :: Windows",
"Operating System :: POSIX",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
"Topic :: Internet",
"Topic :: Internet :: WWW/HTTP",
"Topic :: Utilities"
],
"description": "```\n ___ _ _ _ ___ ___ ___ _ _ _ \n| _ )_ _(_)__ __ _| |_ __ _ /_\\ | _ \\_ _| / __| (_)___ _ _| |_ \n| _ \\ '_| / _/ _` | _/ _` | / _ \\| _/| | | (__| | / -_) ' \\ _|\n|___/_| |_\\__\\__,_|\\__\\__,_| /_/ \\_\\_| |___| \\___|_|_\\___|_||_\\__|\n```\n\n\n\n
\n\n
\n\n\nBricata API Client\n\n*Note:* I am currently working on 14+ client api's, features will be implemented as needed. \nSubmit an issue if you have a feature-request.\n\n## Installation\n```bash\npip install bricata-api-client\n```\n\n## Basic Usage\nWorks with Bricata API v4.1.1\n\n*See examples folder for more*\n\n### Class Inheritence\n```python\nfrom bricata_api_client import BricataApiClient\n\nclass MyClass(BricataApiClient):\n def __init__(self):\n BricataApiClient.__init__(self, cfg='/path/to/config.toml')\n\n def __enter__(self):\n return self\n\n def __exit__(self, exc_type, exc_val, exc_tb):\n BricataApiClient.__aexit__(self, exc_type, exc_val, exc_tb)\n```\n\n### Context Manager\n```python\nfrom bricata_api_client import BricataApiClient\n\nasync with BricataApiClient(cfg='/path/to/config.toml') as bac:\n alerts = bac.get_alerts()\n```\n\n## Documentation\n[GitHub Pages](https://jerodg.github.io/bricata-api-client/)\n- Work in Process\n\n## API Implementation (9/170) ~5.3%\n- [ ] suricata_rules : policy\n - [ ] post /rules/file/suricata/-import/ Import from URL\n - [ ] post /rules/file/suricata/-upload/ Import suricata rules\n - [ ] get /rules/file/suricata/url-file/ List Suricata sync URL(s)\n - [ ] post /rules/file/suricata/url-file/ Import from file\n - [ ] get /rules/gc/ Preview Garbage Collection\n - [ ] delete /rules/gc/ Run Garbage Collection\n - [ ] get /rules/gc/count/ Fast preview Garbage Collection\n - [ ] delete /rules/group/suricata/{name}/ Delete group\n - [ ] get /rules/group/suricata/{name}/policies/ Get policies with group enabled\n - [ ] put /rules/policy/refresh/ Refresh policy cache\n - [ ] get /rules/policy/suricata/summary/ List policy stats\n - [ ] put /rules/policy/suricata/{policy}/{type} Update policy\n - [ ] get /rules/policy/suricata/{policy}/{type}/btinfo/ Get policy backtesting\n - [ ] get /rules/policy/suricata/{policy}/{type}/group/ List policy groups\n - [ ] get /rules/policy/suricata/{policy}/{type}/rule/ List policy rules\n - [ ] get /rules/policy/suricata/{policy}/{type}/rule/{id}/ Get policy rule\n - [ ] post /rules/rule/suricata/ Create custom rule\n - [ ] get /rules/rule/suricata/{id}/ Get Rule Details\n - [ ] put /rules/rule/suricata/{id}/ Update custom rule\n - [ ] delete /rules/rule/suricata/{id}/ Delete Rule\n - [ ] get /rules/rule/suricata/{id}/history/ Get rule version history\n - [ ] get /rules/rule/suricata/{id}/policies/ Get policies with rule changes\n - [ ] get /rules/rule/suricata/{id}/rules/ Get rule from all policies\n- [ ] bro_scripts : policy\n - [ ] delete /rules/file/bro/imports/ Clear imports directory\n - [ ] get /rules/file/bro/url-conf/ Get scripts URL\n - [ ] post /rules/file/bro/url-conf/ Update scripts URL\n - [ ] get /rules/policy/bro/btinfo/{group}/{type} Get Backtesting\n - [ ] post /rules/policy/bro/btinfo/{group}/{type} Update backtesting\n - [ ] get /rules/policy/bro/conf/{group}/{type} Get policy configuration\n - [ ] put /rules/policy/bro/conf/{group}/{type} Update policy configuration\n - [ ] get /rules/policy/bro/lib/{name}/{type} Download Bro scripts library\n - [ ] get /rules/policy/bro/list/{group}/{type} Get scripts list\n - [ ] put /rules/policy/bro/list/{group}/{type} Update scripts list\n - [ ] get /rules/policy/bro/script/{type}/{folder}/{name} Get script\n - [ ] put /rules/policy/bro/script/{type}/{folder}/{name} Update script\n - [ ] delete /rules/policy/bro/script/{type}/{folder}/{name} Delete script\n - [ ] post /rules/policy/bro/script/{type}/{name} Create script\n - [ ] post /rules/policy/bro/upload/{type} Upload Bro scripts file\n- [ ] alerts\n - [x] get /alert/{uuid} Get Alert\n - [ ] put /alert/{uuid}/_savenote Label Alert\n - [x] get /alerts/ List alerts\n - [ ] get /alerts/geo/history/ Alerts geomap history\n - [ ] get /alerts/geo/stream/ Geo Stream\n - [ ] post /alerts/malware Download Maleware file\n - [ ] get /alerts/meta/{uuid}/{timestamp} Get Alert Metadata\n - [ ] put /alerts/tags/{tag}/ Tag Alerts\n - [ ] delete /alerts/tags/{tag}/ Untag Alerts\n - [ ] get /alerts/timeline/ Alerts timeline\n - [x] put /alerts/{uuid}/tag/{tag}/ Tag Alert\n - [x] delete /alerts/{uuid}/tag/{tag}/ Untag Alert\n- [ ] audit\n - [ ] get /audittrails/ Get audit records\n- [ ] datanodes\n - [ ] post /datanodes/ Add node\n - [ ] get /datanodes/_cmc_data Get enabled\n - [ ] put /datanodes/_cmc_data Enable\n - [ ] delete /datanodes/{host} Delete node\n- [ ] metadata\n - [ ] get /es/all-fields/ Add fields\n - [ ] put /es/delete-index/{name} Delete index\n - [ ] get /es/indexed-fields/ Get indexed fields\n - [ ] post /metadata/_uuids/{uuids}/{tag}/ Tag Metadata records\n - [ ] delete /metadata/_uuids/{uuids}/{tag}/ Untag metadata records\n - [ ] get /metadata/activity/ List activity\n - [ ] get /metadata/agents/ Get user-agent counts\n - [ ] get /metadata/alerts/ Lookup alerts\n - [ ] post /metadata/connections/{tag}/ Tag by filter\n - [ ] delete /metadata/connections/{tag}/ Untag by filter\n - [ ] get /metadata/connections/{uid}/ Get Metadata details\n - [ ] get /metadata/group-timeline/ Group aggregation timeline\n - [ ] get /metadata/groups/ Group aggregation\n - [ ] get /metadata/sources/ List data sources\n - [ ] get /metadata/start/ Get earliest Metadata date\n - [ ] get /metadata/timeline/ Activity timeline\n - [ ] post /metadata/{index}/{doc}/{tag}/ Tag Metadata\n - [ ] delete /metadata/{index}/{doc}/{tag}/ Untag metadata\n- [ ] auth\n - [x] post /login/ Login\n - [x] post /logout/ Logout\n - [ ] put /users/{username}/password-token Create password reset token\n - [ ] put /users/{username}/reset-password Start password reset\n - [ ] put /users/{username}/set-password Finish password reset\n- [ ] named_storage\n - [ ] get /named_storage/{type}/ List named storage\n - [ ] put /named_storage/{type}/ Upsert named storage\n - [ ] delete /named_storage/{type}/{uuid}/ Delete named storage\n- [ ] roles\n - [ ] get /roles/ List roles\n - [ ] post /roles/ Create a role\n - [ ] get /roles/{rolename} Read a role\n - [ ] put /roles/{rolename} Update a role\n - [ ] delete /roles/{rolename} Delete a role\n- [ ] sensors\n - [ ] get /sensornames/ Lightweight Sensors list\n - [ ] get /sensors/ Sensors list with health and delivery stats\n - [ ] post /sensors/ Register a new Sensor\n - [ ] get /sensors/apps/{uuid} Get Sensor running apps\n - [ ] post /sensors/gators/togator Get GATOR from JSON\n - [ ] get /sensors/health/count Get critical Sensors count\n - [ ] get /sensors/{host}/capture/ Get packet capture\n - [ ] get /sensors/{host}/logdump/ Get Sensor logs\n - [ ] put /sensors/{uuid} Update a Sensor\n - [ ] delete /sensors/{uuid} Delete a Sensor\n - [ ] get /sensors/{uuid}/ Get a Sensor\n - [ ] get /sensors/{uuid}/feature/{name} Get Sensor Feature status\n - [ ] put /sensors/{uuid}/feature/{name} Enable/Disable Sensor Feature\n - [ ] delete /sensors/{uuid}/health/ Clear Sensor health issue\n - [ ] get /sensors/{uuid}/health/btstatus Get backtesting status\n - [ ] get /sensors/{uuid}/health/history Get Sensor health history\n - [ ] get /sensors/{uuid}/pcap_stats Get Sensor PCAP availability\n- [ ] policy\n - [ ] put /sensors/groups/assign/{type}/{name}/ Assign policy\n - [ ] put /sensors/groups/assignall/{type}/{name} Assign policy to all\n - [ ] get /sensors/groups/sensor/{type}/{host} Get Sensor policy\n - [ ] get /sensors/groups/types List policy types\n - [ ] get /sensors/groups/{type} List policies\n - [ ] get /sensors/groups/{type}/{name} Get policy\n - [ ] put /sensors/groups/{type}/{name} Update policy\n - [ ] delete /sensors/groups/{type}/{name} Delete policy\n - [ ] post /sensors/groups/{type}/{name}/ Create policy\n- [ ] shoeboxes\n - [ ] get /shoeboxes/ Get shoebox\n - [ ] put /shoeboxes/{name}/ Upsert shoebox\n - [ ] post /shoeboxes/{name}/-add/ Add to shoebox\n- [ ] system\n - [ ] get /system/ Get system settings\n - [ ] put /system/ Update system settings\n - [ ] post /system/-check-ldap-conn Check LDAP connection\n - [ ] post /system/-check-mail-host Check email host connection\n - [ ] post /system/-check-proxy-url Check proxy URL\n - [ ] get /system/-constants Read system constants\n - [ ] get /system/-ldap-logs Read ldap logs\n - [ ] get /system/-ui Read system UI settings\n - [ ] get /system/awsconfigstatus Get AWS enabled status\n - [ ] put /system/awsconfigverify Check AWS credentials\n - [ ] put /system/cert/attribs Parse pem certificate\n - [ ] get /system/health Get CMC system health\n - [ ] get /system/logdump Get CMC logs\n - [ ] get /system/mail-logs Read email logs\n- [ ] reports\n - [ ] post /system/-export Download report\n - [ ] get /system/reports List user reoprts\n - [ ] post /system/reports Create report template\n - [ ] get /system/reports/-constants Get reort constants\n - [ ] get /system/reports/alerts/ Download report from Alerts page\n - [ ] delete /system/reports/history/-all Delete all report history\n - [ ] get /system/reports/settings/ Get report max rows\n - [ ] put /system/reports/{uuid} Update report template\n - [ ] delete /system/reports/{uuid} Delete report template\n - [ ] delete /system/reports/{uuid}/history/{seq} Delete report history\n - [ ] post /system/reports/{uuid}/history/{seq}/{key}/-download Download report from history\n- [ ] assets\n - [ ] get /system/assets List Assets\n - [ ] post /system/assets Create Asset\n - [ ] get /system/assets/{ip} Get Asset\n - [ ] put /system/assets/{ip} Update Asset\n - [ ] delete /system/assets/{ip} Delete Asset\n - [ ] get /system/dns/{ip}/_lookup_addr Lookup address\n - [ ] get /system/dns/{uuid}/{ip}/_lookup_addr Lookup address from sensor\n - [ ] get /system/passive_dns/{ip}/_lookup_addr Passive lookup\n- [ ] upgrade\n - [ ] get /system/upgrades/files/{app} List upgrade files\n - [ ] post /system/upgrades/files/{app} Upload upgrade file\n - [ ] get /system/upgrades/files/{app}/{name} Validate upgrade file\n - [ ] put /system/upgrades/files/{app}/{name} Deploy upgrade file\n - [ ] delete /system/upgrades/files/{app}/{type}/{name} Delete upgrade file\n - [ ] get /system/upgrades/status Get upgrade status\n- [ ] tags\n - [x] get /tags/ List tags\n - [x] put /tags/{tag}/ Upsert tag\n - [x] delete /tags/{tag}/ Delete a tag\n- [ ] users\n - [ ] get /users/ List users\n - [ ] post /users/ Create a user\n - [ ] post /users/email-req Email Support\n - [ ] put /users/profile/{component}/ Update user GUI state\n - [ ] get /users/{username} Read a user\n - [ ] put /users/{username} Update user\n - [ ] delete /users/{username} Delete a user\n - [ ] get /users/{username}/-self Read own profile\n - [ ] put /users/{username}/grace/ Temporarily enable a user\n - [ ] delete /users/{username}/grace/ Delete a temporary user activation\n- [ ] validators\n - [ ] get /validatorz/custom_geoip_expr/{val} Validate IP expression\n - [ ] post /validatorz/gator_expr/ Validate GATOR\n\n## License\nCopyright \u00a9 2019 Jerod Gawne \n\nThis program is free software: you can redistribute it and/or modify\nit under the terms of the Server Side Public License (SSPL) as\npublished by MongoDB, Inc., either version 1 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\nSSPL for more details.\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nYou should have received a copy of the SSPL along with this program.\nIf not, see .\n\n\n",
"description_content_type": "text/markdown",
"docs_url": null,
"download_url": "",
"downloads": {
"last_day": -1,
"last_month": -1,
"last_week": -1
},
"home_page": "https://pypi.org/project/bricata-api-client/",
"keywords": "Bricata API Client rest",
"license": "Server Side Public License (SSPL)",
"maintainer": "",
"maintainer_email": "",
"name": "bricata-api-client",
"package_url": "https://pypi.org/project/bricata-api-client/",
"platform": "",
"project_url": "https://pypi.org/project/bricata-api-client/",
"project_urls": {
"Bugs": "https://github.com/jerodg/bricata-api-client/issues",
"Documentation": "https://jerodg.github.io/bricata-api-client",
"Funding": "https://www.paypal.me/jerodgawne",
"Homepage": "https://pypi.org/project/bricata-api-client/",
"Say Thanks!": "https://saythanks.io/to/jerodg",
"Source": "https://github.com/jerodg/bricata-api-client"
},
"release_url": "https://pypi.org/project/bricata-api-client/0.5.0/",
"requires_dist": [
"aiodns",
"aiohttp",
"base-api-client",
"cchardet",
"delorean",
"tenacity",
"ujson"
],
"requires_python": ">=3.7, <3.9",
"summary": "Bricata API Client Library",
"version": "0.5.0"
},
"last_serial": 5679374,
"releases": {
"0.5.0": [
{
"comment_text": "",
"digests": {
"md5": "b8df5dd0fd0bda4b96721b804a09d1d4",
"sha256": "fd74c6db6db96fcd502717a8ff4762625fbdce6e285598f3270926af2ee3a77c"
},
"downloads": -1,
"filename": "bricata_api_client-0.5.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "b8df5dd0fd0bda4b96721b804a09d1d4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7, <3.9",
"size": 34149,
"upload_time": "2019-08-14T21:30:37",
"url": "https://files.pythonhosted.org/packages/8d/1a/d6fec75620cd64d48c937ddcfb035c1a19e6f2589d286af9f8e9c6b36a56/bricata_api_client-0.5.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "78be6e8b6272e03bcec3c25232810892",
"sha256": "63e9fe0c268b167af5f5be27b8cc3046a59af862c030cb5dd033ccdaea0e8f84"
},
"downloads": -1,
"filename": "bricata-api-client-0.5.0.tar.gz",
"has_sig": true,
"md5_digest": "78be6e8b6272e03bcec3c25232810892",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <3.9",
"size": 17494,
"upload_time": "2019-08-14T21:30:40",
"url": "https://files.pythonhosted.org/packages/b2/05/08dcc2bef4aded83b9b5bf478ee5ca51adf22b1bbf537145f543b15219d4/bricata-api-client-0.5.0.tar.gz"
}
]
},
"urls": [
{
"comment_text": "",
"digests": {
"md5": "b8df5dd0fd0bda4b96721b804a09d1d4",
"sha256": "fd74c6db6db96fcd502717a8ff4762625fbdce6e285598f3270926af2ee3a77c"
},
"downloads": -1,
"filename": "bricata_api_client-0.5.0-py2.py3-none-any.whl",
"has_sig": true,
"md5_digest": "b8df5dd0fd0bda4b96721b804a09d1d4",
"packagetype": "bdist_wheel",
"python_version": "py2.py3",
"requires_python": ">=3.7, <3.9",
"size": 34149,
"upload_time": "2019-08-14T21:30:37",
"url": "https://files.pythonhosted.org/packages/8d/1a/d6fec75620cd64d48c937ddcfb035c1a19e6f2589d286af9f8e9c6b36a56/bricata_api_client-0.5.0-py2.py3-none-any.whl"
},
{
"comment_text": "",
"digests": {
"md5": "78be6e8b6272e03bcec3c25232810892",
"sha256": "63e9fe0c268b167af5f5be27b8cc3046a59af862c030cb5dd033ccdaea0e8f84"
},
"downloads": -1,
"filename": "bricata-api-client-0.5.0.tar.gz",
"has_sig": true,
"md5_digest": "78be6e8b6272e03bcec3c25232810892",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.7, <3.9",
"size": 17494,
"upload_time": "2019-08-14T21:30:40",
"url": "https://files.pythonhosted.org/packages/b2/05/08dcc2bef4aded83b9b5bf478ee5ca51adf22b1bbf537145f543b15219d4/bricata-api-client-0.5.0.tar.gz"
}
]
}