<style>
.center-txt {
text-align: center
}
</style>
<pre class="center-txt">
________ ____ __
__ ___/__ _______ _______ __ |/ /
_____ \__ | /| / / __ `/_ __ `/_ /
____/ /__ |/ |/ // /_/ /_ /_/ /_ |
/____/ ____/|__/ \__,_/ _\__, / /_/|_|
/____/
</pre>
<p class="center-txt">An API Path Extraction Suite for OpenAPI/Swagger definitions</p>
<div class="center-txt">
[Introduction](#Introduction) • [Installation](#Installation) • [Usage](#Usage) • [Notes](#Notes) • [License](#License)
</div>
---
## Introduction
SwagX (Swagger eXtractor) is an API paths/endpoints extraction program. The program takes an API definition file (currently only supports JSON files) as an input and writes data to a file with all extracted paths/endpoints.
The program is compatible with OpenAPI/Swagger 2.0 and 3.x definitions.
## Installation
SwagX (Swagger eXtractor) is written in Python 3, hence you need a python 3.4 interepreter to run the program. Once installed, execute the following command in your terminal or shell to get SwagX
```sh
pip install swagx
```
## Usage
After a successful installation, the tool is made available system-wide.
You can simply run the following command to see the banner of the program.
```sh
swagx
```
To extract paths/endpoints from an API definition, the following is the usage.
```
swagx <file_path>
```
Once an extraction is completed it's output is written to a file named `output.swagx' which is simply a text file appended with a custom extension.
### Example(s):
- If a definition file (.json) is in current directory, the following is the usage
```sh
swagx swagger.json
```
- If a definition file is somewhere else from current directory, the following is the usage
```sh
swagx ~\monkey\swagger.json
```
## Notes
- The program uses `jq` a JSON query processor to post-process the results. This tool if required may be downloaded to the current directory where the program is running or may use an exisiting installation.
- Support for YAML files and other functions as extensions are Work-In-Progress (WIP).
- Any enhancements or bugs can be created by opening an Issue and tagging it with 'swagx' as label.
## License
The program is licensed under the terms of the GPL Open Source license and is available for free.
Raw data
{
"_id": null,
"home_page": "https://github.com/254labs/swagx",
"name": "swagx",
"maintainer": "",
"docs_url": null,
"requires_python": "",
"maintainer_email": "",
"keywords": "api,swagger,openapi,extract,extraction,paths,pentest tool,pentesting,security,json,yaml",
"author": "254 Labs",
"author_email": "labs.254@outlook.com",
"download_url": "https://files.pythonhosted.org/packages/32/61/5f14e79982c1837b9d8c85c199d5d953bf119d1886bf7e7a69730e45a8dc/swagx-2023.1.1.tar.gz",
"platform": null,
"description": "<style>\r\n.center-txt {\r\n text-align: center\r\n}\r\n</style>\r\n\r\n<pre class=\"center-txt\">\r\n________ ____ __\r\n__ ___/__ _______ _______ __ |/ /\r\n_____ \\__ | /| / / __ `/_ __ `/_ / \r\n____/ /__ |/ |/ // /_/ /_ /_/ /_ | \r\n/____/ ____/|__/ \\__,_/ _\\__, / /_/|_| \r\n /____/ \r\n</pre>\r\n\r\n\r\n<p class=\"center-txt\">An API Path Extraction Suite for OpenAPI/Swagger definitions</p>\r\n\r\n<div class=\"center-txt\">\r\n\r\n[Introduction](#Introduction) \u2022 [Installation](#Installation) \u2022 [Usage](#Usage) \u2022 [Notes](#Notes) \u2022 [License](#License)\r\n\r\n</div>\r\n\r\n---\r\n\r\n## Introduction\r\n\r\nSwagX (Swagger eXtractor) is an API paths/endpoints extraction program. The program takes an API definition file (currently only supports JSON files) as an input and writes data to a file with all extracted paths/endpoints.\r\n\r\nThe program is compatible with OpenAPI/Swagger 2.0 and 3.x definitions.\r\n\r\n## Installation\r\n\r\nSwagX (Swagger eXtractor) is written in Python 3, hence you need a python 3.4 interepreter to run the program. Once installed, execute the following command in your terminal or shell to get SwagX\r\n\r\n```sh\r\npip install swagx\r\n```\r\n\r\n## Usage\r\n\r\nAfter a successful installation, the tool is made available system-wide.\r\nYou can simply run the following command to see the banner of the program.\r\n\r\n```sh\r\nswagx\r\n```\r\n\r\nTo extract paths/endpoints from an API definition, the following is the usage. \r\n```\r\nswagx <file_path>\r\n```\r\n\r\nOnce an extraction is completed it's output is written to a file named `output.swagx' which is simply a text file appended with a custom extension.\r\n\r\n### Example(s):\r\n\r\n- If a definition file (.json) is in current directory, the following is the usage\r\n```sh\r\nswagx swagger.json\r\n```\r\n\r\n- If a definition file is somewhere else from current directory, the following is the usage\r\n```sh\r\nswagx ~\\monkey\\swagger.json\r\n```\r\n\r\n## Notes\r\n\r\n- The program uses `jq` a JSON query processor to post-process the results. This tool if required may be downloaded to the current directory where the program is running or may use an exisiting installation.\r\n\r\n- Support for YAML files and other functions as extensions are Work-In-Progress (WIP). \r\n\r\n- Any enhancements or bugs can be created by opening an Issue and tagging it with 'swagx' as label.\r\n\r\n## License\r\n\r\nThe program is licensed under the terms of the GPL Open Source license and is available for free.\r\n\r\n",
"bugtrack_url": null,
"license": "GNU General Public License v3 (GPLv3)",
"summary": "API Path Extraction Suite for OpenAPI/Swagger definitions",
"version": "2023.1.1",
"project_urls": {
"Download": "https://github.com/254labs/swagx/archive/v2023.1.1.zip",
"Homepage": "https://github.com/254labs/swagx"
},
"split_keywords": [
"api",
"swagger",
"openapi",
"extract",
"extraction",
"paths",
"pentest tool",
"pentesting",
"security",
"json",
"yaml"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e4c1f21c225d99f2ff68f0e48712e66bc138dea539549b465ecadb31b9cead41",
"md5": "1f623f0286ee8b9fc692aef8433b86ba",
"sha256": "f4520d00190180ce83c355d4affafce2997c1fcf7281def56c740fa9e2f70839"
},
"downloads": -1,
"filename": "swagx-2023.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "1f623f0286ee8b9fc692aef8433b86ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": null,
"size": 16747,
"upload_time": "2023-10-12T11:15:12",
"upload_time_iso_8601": "2023-10-12T11:15:12.641095Z",
"url": "https://files.pythonhosted.org/packages/e4/c1/f21c225d99f2ff68f0e48712e66bc138dea539549b465ecadb31b9cead41/swagx-2023.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "32615f14e79982c1837b9d8c85c199d5d953bf119d1886bf7e7a69730e45a8dc",
"md5": "0a621d0c234a9ffc7e0b2d7ae5154fb9",
"sha256": "4335ada4c0172729d60637c29b7cdb88294d501f8abf435c159174a0c915b15c"
},
"downloads": -1,
"filename": "swagx-2023.1.1.tar.gz",
"has_sig": false,
"md5_digest": "0a621d0c234a9ffc7e0b2d7ae5154fb9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 16497,
"upload_time": "2023-10-12T11:15:13",
"upload_time_iso_8601": "2023-10-12T11:15:13.991164Z",
"url": "https://files.pythonhosted.org/packages/32/61/5f14e79982c1837b9d8c85c199d5d953bf119d1886bf7e7a69730e45a8dc/swagx-2023.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-10-12 11:15:13",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "254labs",
"github_project": "swagx",
"github_not_found": true,
"lcname": "swagx"
}