# IntelXPy
[![PyPI version](https://badge.fury.io/py/intelxpy.svg)](https://badge.fury.io/py/intelxpy)
[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/intelxpy.svg)](https://pypi.python.org/pypi/intelxpy/)
[![Pull request automation](https://github.com/khulnasoft/intelxpy/actions/workflows/pull_request_automation.yml/badge.svg)](https://github.com/khulnasoft/intelxpy/actions/workflows/pull_request_automation.yml)
[![codecov](https://codecov.io/gh/khulnasoft/intelxpy/branch/master/graph/badge.svg?token=JF62UMZ0U6)](https://codecov.io/gh/khulnasoft/intelxpy)
[![CodeFactor](https://www.codefactor.io/repository/github/khulnasoft/intelxpy/badge)](https://www.codefactor.io/repository/github/khulnasoft/intelxpy)
Robust Python **SDK** and **Command Line Client** for interacting with [IntelX](https://github.com/khulnasoft/IntelX)'s API.
## Features
- Easy one-time configuration with self documented help and hints along the way.
- Request new analysis for observables and files.
- Select which analyzers you want to run for every analysis you perform.
- Choose whether you want to HTTP poll for the analysis to finish or not.
- List all jobs or view one job in a prettified tabular form.
- List all tags or view one tag in a prettified tabular form.
- Tabular view of the `analyzer_config.json` and `connector_config.json` from IntelX with RegEx matching capabilities.
## Demo
[![intelxpy asciicast](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ.svg)](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ?t=5)
## Installation
```bash
$ pip3 install intelxpy
```
For development/testing, `pip3 install intelxpy[dev]`
## Quickstart
### As Command Line Client
On successful installation, The `intelxpy` entryscript should be directly invokable. For example,
```bash
$ intelxpy
Usage: intelxpy [OPTIONS] COMMAND [ARGS]...
Options:
-d, --debug Set log level to DEBUG
--version Show the version and exit.
-h, --help Show this message and exit.
Commands:
analyse Send new analysis request
analyzer-healthcheck Send healthcheck request for an analyzer...
config Set or view config variables
connector-healthcheck Send healthcheck request for a connector
get-analyzer-config Get current state of `analyzer_config.json` from...
get-connector-config Get current state of `connector_config.json` from...
jobs Manage Jobs
tags Manage tags
```
### As a library / SDK
```python
from intelxpy import IntelX
obj = IntelX("<your_api_key>", "<your_intelx_instance_url>", "optional<path_to_pem_file>", "optional<proxies>")
```
For more comprehensive documentation, please see https://intelxpy.readthedocs.io/.
## Changelog
View [CHANGELOG.md](https://github.com/khulnasoft/intelxpy/blob/master/.github/CHANGELOG.md).
## FAQ
#### Generate API key
You need a valid API key to interact with the IntelX server.
Keys should be created from the admin interface of [IntelX](https://github.com/khulnasoft/intelx): you have to go in the _Durin_ section (click on `Auth tokens`) and generate a key there.
#### Incompatibility after version 3.0
We did a complete rewrite of the IntelXPy client and CLI both for the version `3.0.0`. We very much recommend you to update to the latest version to enjoy all new features.
#### (old auth method) JWT Token Authentication
> this auth was available in IntelX versions <1.8.0 and intelxpy versions <2.0.0
From the admin interface of IntelX, you have to go in the _Outstanding tokens_ section and generate a token there.
You can use it by pasting it into the file [api_token.txt](api_token.txt).
Raw data
{
"_id": null,
"home_page": "https://github.com/khulnasoft/intelxpy",
"name": "intelxpy",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": null,
"keywords": "intelx sdk python command line osint threat intel malware",
"author": "Matteo Lodi",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/9b/82/507017f26cfc46f4626106e97abfa96ca76d03337ffe4e564be2ad45379e/intelxpy-5.0.0.tar.gz",
"platform": null,
"description": "# IntelXPy\n\n[![PyPI version](https://badge.fury.io/py/intelxpy.svg)](https://badge.fury.io/py/intelxpy)\n[![PyPI Supported Python Versions](https://img.shields.io/pypi/pyversions/intelxpy.svg)](https://pypi.python.org/pypi/intelxpy/)\n\n[![Pull request automation](https://github.com/khulnasoft/intelxpy/actions/workflows/pull_request_automation.yml/badge.svg)](https://github.com/khulnasoft/intelxpy/actions/workflows/pull_request_automation.yml)\n[![codecov](https://codecov.io/gh/khulnasoft/intelxpy/branch/master/graph/badge.svg?token=JF62UMZ0U6)](https://codecov.io/gh/khulnasoft/intelxpy)\n[![CodeFactor](https://www.codefactor.io/repository/github/khulnasoft/intelxpy/badge)](https://www.codefactor.io/repository/github/khulnasoft/intelxpy)\n\nRobust Python **SDK** and **Command Line Client** for interacting with [IntelX](https://github.com/khulnasoft/IntelX)'s API.\n\n## Features\n\n- Easy one-time configuration with self documented help and hints along the way.\n- Request new analysis for observables and files.\n - Select which analyzers you want to run for every analysis you perform.\n - Choose whether you want to HTTP poll for the analysis to finish or not.\n- List all jobs or view one job in a prettified tabular form.\n- List all tags or view one tag in a prettified tabular form.\n- Tabular view of the `analyzer_config.json` and `connector_config.json` from IntelX with RegEx matching capabilities.\n\n## Demo\n\n[![intelxpy asciicast](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ.svg)](https://asciinema.org/a/z7L93lsIzOQ0Scve7hMl30mJJ?t=5)\n\n## Installation\n\n```bash\n$ pip3 install intelxpy\n```\n\nFor development/testing, `pip3 install intelxpy[dev]`\n\n## Quickstart\n\n### As Command Line Client\n\nOn successful installation, The `intelxpy` entryscript should be directly invokable. For example,\n\n```bash\n$ intelxpy\nUsage: intelxpy [OPTIONS] COMMAND [ARGS]...\n\nOptions:\n -d, --debug Set log level to DEBUG\n --version Show the version and exit.\n -h, --help Show this message and exit.\n\nCommands:\n analyse Send new analysis request\n analyzer-healthcheck Send healthcheck request for an analyzer...\n config Set or view config variables\n connector-healthcheck Send healthcheck request for a connector\n get-analyzer-config Get current state of `analyzer_config.json` from...\n get-connector-config Get current state of `connector_config.json` from...\n jobs Manage Jobs\n tags Manage tags\n```\n\n### As a library / SDK\n\n```python\nfrom intelxpy import IntelX\nobj = IntelX(\"<your_api_key>\", \"<your_intelx_instance_url>\", \"optional<path_to_pem_file>\", \"optional<proxies>\")\n```\n\nFor more comprehensive documentation, please see https://intelxpy.readthedocs.io/.\n\n## Changelog\n\nView [CHANGELOG.md](https://github.com/khulnasoft/intelxpy/blob/master/.github/CHANGELOG.md).\n\n## FAQ\n\n#### Generate API key\n\nYou need a valid API key to interact with the IntelX server.\nKeys should be created from the admin interface of [IntelX](https://github.com/khulnasoft/intelx): you have to go in the _Durin_ section (click on `Auth tokens`) and generate a key there.\n\n#### Incompatibility after version 3.0\n\nWe did a complete rewrite of the IntelXPy client and CLI both for the version `3.0.0`. We very much recommend you to update to the latest version to enjoy all new features.\n\n#### (old auth method) JWT Token Authentication\n\n> this auth was available in IntelX versions <1.8.0 and intelxpy versions <2.0.0\n\nFrom the admin interface of IntelX, you have to go in the _Outstanding tokens_ section and generate a token there.\n\nYou can use it by pasting it into the file [api_token.txt](api_token.txt).\n",
"bugtrack_url": null,
"license": null,
"summary": "Robust Python SDK and CLI for IntelX's API",
"version": "5.0.0",
"project_urls": {
"Documentation": "https://github.com/khulnasoft/intelxpy",
"Funding": "https://liberapay.com/KhulnaSoft/",
"Homepage": "https://github.com/khulnasoft/intelxpy",
"Source": "https://github.com/khulnasoft/intelxpy",
"Tracker": "https://github.com/khulnasoft/intelxpy/issues"
},
"split_keywords": [
"intelx",
"sdk",
"python",
"command",
"line",
"osint",
"threat",
"intel",
"malware"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "6600442488874c3a2a8dcfdfa6cfb77667618db93120a46871c0e818edd694c2",
"md5": "e2f22db9adca075f78001b8816475e3e",
"sha256": "214894f148738bacc409e69e508a2685b09830b0adf31e05bad2635bad82fb53"
},
"downloads": -1,
"filename": "intelxpy-5.0.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "e2f22db9adca075f78001b8816475e3e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 47623,
"upload_time": "2024-06-30T23:13:01",
"upload_time_iso_8601": "2024-06-30T23:13:01.551942Z",
"url": "https://files.pythonhosted.org/packages/66/00/442488874c3a2a8dcfdfa6cfb77667618db93120a46871c0e818edd694c2/intelxpy-5.0.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9b82507017f26cfc46f4626106e97abfa96ca76d03337ffe4e564be2ad45379e",
"md5": "89e1d42ec1c68f78598c498317f7e77a",
"sha256": "0f7d4cc75d98e512a972af49a5fa02ad992e10512772cb503e0e3b82612c958d"
},
"downloads": -1,
"filename": "intelxpy-5.0.0.tar.gz",
"has_sig": false,
"md5_digest": "89e1d42ec1c68f78598c498317f7e77a",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 44830,
"upload_time": "2024-06-30T23:13:03",
"upload_time_iso_8601": "2024-06-30T23:13:03.574942Z",
"url": "https://files.pythonhosted.org/packages/9b/82/507017f26cfc46f4626106e97abfa96ca76d03337ffe4e564be2ad45379e/intelxpy-5.0.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-30 23:13:03",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "khulnasoft",
"github_project": "intelxpy",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"requirements": [
{
"name": "requests",
"specs": [
[
">=",
"2.28"
]
]
},
{
"name": "geocoder",
"specs": [
[
">=",
"1.38"
]
]
},
{
"name": "click",
"specs": [
[
">=",
"7.0"
]
]
},
{
"name": "rich",
"specs": [
[
">=",
"12.5.1"
]
]
},
{
"name": "click-creds",
"specs": [
[
">=",
"0.0.3"
]
]
},
{
"name": "typing_extensions",
"specs": [
[
">=",
"4.3.0"
]
]
}
],
"tox": true,
"lcname": "intelxpy"
}