swagx


Nameswagx JSON
Version 2023.1.1 PyPI version JSON
download
home_pagehttps://github.com/254labs/swagx
SummaryAPI Path Extraction Suite for OpenAPI/Swagger definitions
upload_time2023-10-12 11:15:13
maintainer
docs_urlNone
author254 Labs
requires_python
licenseGNU General Public License v3 (GPLv3)
keywords api swagger openapi extract extraction paths pentest tool pentesting security json yaml
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            <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"
}
        
Elapsed time: 1.17594s