# Pyshadowserver
[![PyPI](https://img.shields.io/pypi/v/pyshadowserver)](https://pypi.org/project/pyshadowserver/) [![PyPI - Downloads](https://img.shields.io/pypi/dm/pyshadowserver)](https://pypistats.org/packages/pyshadowserver) [![PyPI - License](https://img.shields.io/pypi/l/pyshadowserver)](LICENSE) [![GitHub issues](https://img.shields.io/github/issues/te-k/pyshadowserver)](https://github.com/Te-k/pyshadowserver/issues)
Python library to interact with the [Shadow Server](https://www.shadowserver.org/what-we-do/network-reporting/) [Report API](https://github.com/The-Shadowserver-Foundation/api_utils/wiki).
So far it only implements the ASN, malware, Trusted Programs and report queries.
## API
See the [documentation](https://github.com/The-Shadowserver-Foundation/api_utils/wiki) and the source code for more information.
### Unauthenticated queries
```py
from pyshadowserver import ShadowServer, ShadowServerException
ss = ShadowServer()
ss.asn(origin="8.8.8.8")
ss.trusted_program("7fe2248de77813ce850053ed0ce8a474")
```
### Querying reports
```py
from pyshadowserver import ShadowServer, ShadowServerException
ss = ShadowServer(APIKEY, APISECRET)
# Find all reports and save them
reports = ss.reports_list()
for r in reports:
data = ss.reports_download_raw(r["id"])
with open(r["file"], "w+") as f:
f.write(data)
```
## License
This code is published under MIT license: do whatever you want with it, but don't blame me if it fails (and open a PR)
Raw data
{
"_id": null,
"home_page": "https://github.com/te-k/pyshadowserver",
"name": "pyshadowserver",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "security,mobile,forensics,malware",
"author": "Etienne Maynier",
"author_email": "tek@randhome.io",
"download_url": "https://files.pythonhosted.org/packages/8b/d3/ae3285df055008064d438df7e6e14fdb7aeed28c7e20f50cf1a6ce720bf7/pyshadowserver-0.1.tar.gz",
"platform": null,
"description": "# Pyshadowserver\n\n[![PyPI](https://img.shields.io/pypi/v/pyshadowserver)](https://pypi.org/project/pyshadowserver/) [![PyPI - Downloads](https://img.shields.io/pypi/dm/pyshadowserver)](https://pypistats.org/packages/pyshadowserver) [![PyPI - License](https://img.shields.io/pypi/l/pyshadowserver)](LICENSE) [![GitHub issues](https://img.shields.io/github/issues/te-k/pyshadowserver)](https://github.com/Te-k/pyshadowserver/issues)\n\nPython library to interact with the [Shadow Server](https://www.shadowserver.org/what-we-do/network-reporting/) [Report API](https://github.com/The-Shadowserver-Foundation/api_utils/wiki).\n\nSo far it only implements the ASN, malware, Trusted Programs and report queries.\n\n## API\n\nSee the [documentation](https://github.com/The-Shadowserver-Foundation/api_utils/wiki) and the source code for more information.\n\n### Unauthenticated queries\n\n```py\nfrom pyshadowserver import ShadowServer, ShadowServerException\n\nss = ShadowServer()\n\nss.asn(origin=\"8.8.8.8\")\nss.trusted_program(\"7fe2248de77813ce850053ed0ce8a474\")\n\n```\n\n### Querying reports\n\n```py\nfrom pyshadowserver import ShadowServer, ShadowServerException\n\nss = ShadowServer(APIKEY, APISECRET)\n\n#\u00a0Find all reports and save them\nreports = ss.reports_list()\nfor r in reports:\n data = ss.reports_download_raw(r[\"id\"])\n with open(r[\"file\"], \"w+\") as f:\n f.write(data)\n```\n\n## License\n\nThis code is published under MIT license: do whatever you want with it, but don't blame me if it fails (and open a PR)\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Python 3 library for Shadow Server reports",
"version": "0.1",
"project_urls": {
"Homepage": "https://github.com/te-k/pyshadowserver"
},
"split_keywords": [
"security",
"mobile",
"forensics",
"malware"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "3a568250fd39d51a2440dcc4259bbaa560fc1c8f9b27b786204b25f5718ab877",
"md5": "e9815db955aa59a819081fbe6804023d",
"sha256": "ddfc1794d47d382d467e1dd0489e8f0a8182d85fc238e87e945312f16099acd2"
},
"downloads": -1,
"filename": "pyshadowserver-0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e9815db955aa59a819081fbe6804023d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 6761,
"upload_time": "2023-09-13T12:48:49",
"upload_time_iso_8601": "2023-09-13T12:48:49.502541Z",
"url": "https://files.pythonhosted.org/packages/3a/56/8250fd39d51a2440dcc4259bbaa560fc1c8f9b27b786204b25f5718ab877/pyshadowserver-0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8bd3ae3285df055008064d438df7e6e14fdb7aeed28c7e20f50cf1a6ce720bf7",
"md5": "ff749f058cf05e3bad780b53ded65687",
"sha256": "61e4bc044930724f7c391fea8f8245be7e8b26a784799963d9a73ede8ae9b383"
},
"downloads": -1,
"filename": "pyshadowserver-0.1.tar.gz",
"has_sig": false,
"md5_digest": "ff749f058cf05e3bad780b53ded65687",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 6343,
"upload_time": "2023-09-13T12:48:51",
"upload_time_iso_8601": "2023-09-13T12:48:51.391299Z",
"url": "https://files.pythonhosted.org/packages/8b/d3/ae3285df055008064d438df7e6e14fdb7aeed28c7e20f50cf1a6ce720bf7/pyshadowserver-0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-09-13 12:48:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "te-k",
"github_project": "pyshadowserver",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [],
"lcname": "pyshadowserver"
}