# pentest-report-generator
Generate HTML and PDF penetration testing reports from markdown files.
## Usage
```
Usage: genpenrep [OPTIONS]
Options:
-s, --sources DIRECTORY Directory with .md source files
-o, --output DIRECTORY Directory to write output files
-c, --compress Create .zip archive with the HTML source files
--only-pdf Do not output HTML files
--only-html Do not output PDF file
--help Show this message and exit.
```
You can see an example penetration test and the output in the `example` directory.
## Setup
```bash
# Why is pipx better than pip? https://pypa.github.io/pipx/#how-is-it-different-from-pip
pipx install pentest-report-generator
pip install pentest-report-generator
```
The software is also available as a [Docker container](https://hub.docker.com/r/staticnoise/pentest-report-generator/tags).
```bash
docker run -it --rm -v "$PWD/sources:/data" -v "$PWD/output:/output" 'staticnoise/pentest-report-generator' -s /data -o /output
```
## Development
```bash
pipx install --editable ./
```
### Docker
```
podman login docker.io
poetry build
# update Dockerfile and bump-up the version number if necessary
podman build -t docker.io/staticnoise/pentest-report-generator .
# test the created docker container
podman run -it --rm -v "$PWD/sources:/data:z" -v "$PWD/output:/output:z" 'docker.io/staticnoise/pentest-report-generator' -s /data -o /output
# publish the Docker image
podman push docker.io/staticnoise/pentest-report-generator
```
### Poetry
```bash
poetry config repositories.pypi https://upload.pypi.org/legacy/
# you will be prompted for password
poetry config http-basic.pypi staticnoise
poetry build
poetry publish --dry-run
poetry publish
```
## License
```
Copyright (c) 2022-2023 Adam Chovanec
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:
The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.
```
Raw data
{
"_id": null,
"home_page": "https://gitlab.com/staticnoise/pentest-report-generator",
"name": "pentest-report-generator",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.10,<4.0",
"maintainer_email": "",
"keywords": "HTML,Markdown,PDF,Penetration test",
"author": "Adam Chovanec",
"author_email": "business@adamchovanec.cz",
"download_url": "https://files.pythonhosted.org/packages/d1/ae/16bdfc023918c71893db7ad6b2360e47c494b52b6fd1effeb5fc371ca99e/pentest_report_generator-0.1.6.tar.gz",
"platform": null,
"description": "# pentest-report-generator\n\nGenerate HTML and PDF penetration testing reports from markdown files.\n\n## Usage\n\n```\nUsage: genpenrep [OPTIONS]\n\nOptions:\n -s, --sources DIRECTORY Directory with .md source files\n -o, --output DIRECTORY Directory to write output files\n -c, --compress Create .zip archive with the HTML source files\n --only-pdf Do not output HTML files\n --only-html Do not output PDF file\n --help Show this message and exit.\n```\n\nYou can see an example penetration test and the output in the `example` directory.\n\n## Setup\n\n```bash\n# Why is pipx better than pip? https://pypa.github.io/pipx/#how-is-it-different-from-pip\npipx install pentest-report-generator\n\npip install pentest-report-generator\n```\n\nThe software is also available as a [Docker container](https://hub.docker.com/r/staticnoise/pentest-report-generator/tags).\n\n```bash\ndocker run -it --rm -v \"$PWD/sources:/data\" -v \"$PWD/output:/output\" 'staticnoise/pentest-report-generator' -s /data -o /output\n```\n\n## Development\n\n```bash\npipx install --editable ./\n```\n\n### Docker\n\n```\npodman login docker.io\npoetry build\n\n# update Dockerfile and bump-up the version number if necessary\npodman build -t docker.io/staticnoise/pentest-report-generator .\n\n# test the created docker container\npodman run -it --rm -v \"$PWD/sources:/data:z\" -v \"$PWD/output:/output:z\" 'docker.io/staticnoise/pentest-report-generator' -s /data -o /output\n\n# publish the Docker image\npodman push docker.io/staticnoise/pentest-report-generator\n```\n\n### Poetry\n\n```bash\npoetry config repositories.pypi https://upload.pypi.org/legacy/\n\n# you will be prompted for password\npoetry config http-basic.pypi staticnoise\n\npoetry build\n\npoetry publish --dry-run\npoetry publish\n```\n\n## License\n\n```\nCopyright (c) 2022-2023 Adam Chovanec\n\nPermission is hereby granted, free of charge, to any person\nobtaining a copy of this software and associated documentation\nfiles (the \"Software\"), to deal in the Software without\nrestriction, including without limitation the rights to use,\ncopy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the\nSoftware is furnished to do so, subject to the following\nconditions:\n\nThe above copyright notice and this permission notice shall be\nincluded in all copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES\nOF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\nNONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT\nHOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,\nWHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING\nFROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR\nOTHER DEALINGS IN THE SOFTWARE.\n```\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "Generate penetration testing report from markdown files",
"version": "0.1.6",
"split_keywords": [
"html",
"markdown",
"pdf",
"penetration test"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "df3478a4aa27ec54eb6a6b5cd7069b5f093b3c6ffb330d618256df61c45d0f15",
"md5": "b61a2dfee7f87069e0f018a7f74fa619",
"sha256": "6bd621ccebf3e3cc0f0b066f328d899ead3fef160759f1c7e1fcf039f0f83936"
},
"downloads": -1,
"filename": "pentest_report_generator-0.1.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b61a2dfee7f87069e0f018a7f74fa619",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10,<4.0",
"size": 4091271,
"upload_time": "2023-04-21T12:21:56",
"upload_time_iso_8601": "2023-04-21T12:21:56.656609Z",
"url": "https://files.pythonhosted.org/packages/df/34/78a4aa27ec54eb6a6b5cd7069b5f093b3c6ffb330d618256df61c45d0f15/pentest_report_generator-0.1.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "d1ae16bdfc023918c71893db7ad6b2360e47c494b52b6fd1effeb5fc371ca99e",
"md5": "e0e9473a8472881e02057edcb4b6f602",
"sha256": "b6bf21cc4d7fac2b429f68486d614209d4361c0e330680a0cf369e737414f70b"
},
"downloads": -1,
"filename": "pentest_report_generator-0.1.6.tar.gz",
"has_sig": false,
"md5_digest": "e0e9473a8472881e02057edcb4b6f602",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10,<4.0",
"size": 4081951,
"upload_time": "2023-04-21T12:22:09",
"upload_time_iso_8601": "2023-04-21T12:22:09.182750Z",
"url": "https://files.pythonhosted.org/packages/d1/ae/16bdfc023918c71893db7ad6b2360e47c494b52b6fd1effeb5fc371ca99e/pentest_report_generator-0.1.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-04-21 12:22:09",
"github": false,
"gitlab": true,
"bitbucket": false,
"gitlab_user": "staticnoise",
"gitlab_project": "pentest-report-generator",
"lcname": "pentest-report-generator"
}