From 50a815d89d36012ca739782d65df577ab3ac9bdd Mon Sep 17 00:00:00 2001 From: Damian Krawczyk Date: Mon, 6 Sep 2021 21:13:20 +0200 Subject: [PATCH] v. 0.7.0 --- .github/workflows/python-package.yml | 42 +++++ .github/workflows/python-publish.yml | 36 ++++ .gitignore | 3 +- CHANGELOG.md | 24 ++- README.md | 112 ++++++++++++ README.rst | 87 ---------- docs/index.rst | 19 +++ docs/nfa-installation.rst | 188 +++++++++++++++------ nessus_file_analyzer/__about__.py | 13 +- nfa.py => nessus_file_analyzer/__main__.py | 12 +- nessus_file_analyzer/_version.py | 1 + nessus_file_analyzer/app.py | 2 +- setup.py | 45 +++++ version.rc | 12 +- 14 files changed, 428 insertions(+), 168 deletions(-) create mode 100644 .github/workflows/python-package.yml create mode 100644 .github/workflows/python-publish.yml create mode 100644 README.md delete mode 100644 README.rst rename nfa.py => nessus_file_analyzer/__main__.py (94%) create mode 100644 nessus_file_analyzer/_version.py create mode 100644 setup.py diff --git a/.github/workflows/python-package.yml b/.github/workflows/python-package.yml new file mode 100644 index 0000000..9d41817 --- /dev/null +++ b/.github/workflows/python-package.yml @@ -0,0 +1,42 @@ +name: Python package + +on: [push] + +env: + python_package_name: nessus-file-analyzer + folder_package_name: nessus_file_analyzer + +jobs: + build: + + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-latest, macos-latest, windows-latest] + python-version: [3.6, 3.7, 3.8, 3.9] + + steps: + - uses: actions/checkout@v2 + - name: Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v2 + with: + python-version: ${{ matrix.python-version }} + - name: Install tools + run: | + python -m pip install --upgrade pip build setuptools wheel twine + - name: Install dependencies + run: | + pip install -r requirements.txt + - name: Build package + run: | + python setup.py sdist bdist_wheel + - name: Install locally + run: | + ls + ls dist + TOOL_CURRENT_VERSION=`sed -e 's/.*__version__ = "\(.*\)".*/\1/' ${{ env.folder_package_name }}/_version.py` + pip install dist/${{ env.folder_package_name }}-${TOOL_CURRENT_VERSION}-py3-none-any.whl + shell: bash + - name: pip show package + run: | + pip show ${{ env.python_package_name }} \ No newline at end of file diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml new file mode 100644 index 0000000..78ba265 --- /dev/null +++ b/.github/workflows/python-publish.yml @@ -0,0 +1,36 @@ +# This workflow will upload a Python Package using Twine when a release is created +# For more information see: https://help.github.com/en/actions/language-and-framework-guides/using-python-with-github-actions#publishing-to-package-registries + +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Upload Python Package + +on: + release: + types: [published] + +jobs: + deploy: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v2 + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: '3.x' + - name: Install dependencies + run: | + python -m pip install --upgrade pip + pip install build setuptools wheel twine + - name: Build package + run: python setup.py sdist bdist_wheel + - name: Publish package + uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29 + with: + user: __token__ + password: ${{ secrets.PYPI_API_TOKEN }} \ No newline at end of file diff --git a/.gitignore b/.gitignore index 0016aa3..a8ca16e 100644 --- a/.gitignore +++ b/.gitignore @@ -8,4 +8,5 @@ dist test_files _build .vscode -_build \ No newline at end of file +_build +*.egg-info \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 34a089c..43cd347 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,13 @@ This document records all notable changes to [nessus file analyzer by LimberDuck The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.7.0] - 2021-09-06 + +### Added + +- `nessus-file-analyzer` as Python package - from now on you can install it with `pip install nessus-file-analyzer` +- entry point `nessus-file-analyzer` added - from now on, after installation of **nessus file analyzer** you can run it with command `nessus-file-analyzer`, read more in documentation in [Installation instructions](https://nessus-file-analyzer.readthedocs.io/en/latest/nfa-installation.html). + ## [0.6.0] - 2021-08-23 ### Added @@ -84,14 +91,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Initial release -[0.1.0]: https://github.com/LimberDuck/nessus-file-analyzer/releases/tag/v0.1.0 -[0.1.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.1.0...v0.1.1 -[0.2.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.1.1...v0.2.0 -[0.3.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.2.0...v0.3.0 -[0.3.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.3.0...v0.3.1 -[0.4.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.3.1...v0.4.0 -[0.5.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.4.0...v0.5.0 -[0.5.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.5.0...v0.5.1 +[0.7.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.6.0...v0.7.0 [0.6.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.5.1...v0.6.0 +[0.5.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.5.0...v0.5.1 +[0.5.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.4.0...v0.5.0 +[0.4.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.3.1...v0.4.0 +[0.3.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.3.0...v0.3.1 +[0.3.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.2.0...v0.3.0 +[0.2.0]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.1.1...v0.2.0 +[0.1.1]: https://github.com/LimberDuck/nessus-file-analyzer/compare/v0.1.0...v0.1.1 +[0.1.0]: https://github.com/LimberDuck/nessus-file-analyzer/releases/tag/v0.1.0 [1]: https://github.com/LimberDuck/nessus-file-analyzer \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..29d62b7 --- /dev/null +++ b/README.md @@ -0,0 +1,112 @@ +# nessus file analyzer + +**nessus file analyzer** by LimberDuck (pronounced *ˈlɪm.bɚ dʌk*) is a GUI +tool which enables you to parse multiple nessus files containing the results +of scans performed by using Nessus by (C) Tenable, Inc. and exports parsed +data to a Microsoft Excel Workbook for effortless analysis. + +Operational memory usage will be kept low while parsing even the largest of +files. You can run it on your favourite operating system, whether it is Windows, +macOS or GNU Linux. As a parsing result, you will receive spreadsheets with a +summary view of the whole scan and/or all reported hosts. You will also be +able to generate spreadsheets with a detailed view of all reported +vulnerabilities and/or noncompliance. +It's free and open source tool, which has been created to automate our work, +decrease our workload and focus on data analysis. + +[![Latest Release version](https://img.shields.io/github/v/release/LimberDuck/nessus-file-analyzer?label=Latest%20release)](https://github.com/LimberDuck/nessus-file-analyzer/releases) +[![GitHub Release Date](https://img.shields.io/github/release-date/limberduck/nessus-file-analyzer?label=released&logo=GitHub)](https://github.com/LimberDuck/nessus-file-analyzer/releases) +[![PyPI - Downloads](https://img.shields.io/pypi/dm/nessus-file-analyzer?logo=PyPI)](https://pypistats.org/packages/nessus-file-analyzer) + +[![License](https://img.shields.io/github/license/LimberDuck/nessus-file-analyzer.svg)](https://github.com/LimberDuck/nessus-file-analyzer/blob/master/LICENSE) +[![Repo size](https://img.shields.io/github/repo-size/LimberDuck/nessus-file-analyzer.svg)](https://github.com/LimberDuck/nessus-file-analyzer) +[![Code size](https://img.shields.io/github/languages/code-size/LimberDuck/nessus-file-analyzer.svg)](https://github.com/LimberDuck/nessus-file-analyzer) +[![Supported platform](https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey.svg)](https://github.com/LimberDuck/nessus-file-analyzer) +[![Documentation Status](https://readthedocs.org/projects/nessus-file-analyzer/badge/?version=latest)](https://nessus-file-analyzer.readthedocs.io/en/latest/?badge=latest) + +![](https://user-images.githubusercontent.com/9287709/59981677-5fefcf80-9607-11e9-89aa-35e5649e1c7a.png) + +## Main features + +* select one or more nessus files at once or select directory to get all nessus files from it and from all its subdirectories +* select one or more of available report types like: + * scan, + * host, + * vulnerabilities, + * noncompliance +* change target directory for output file to desired one, leave it default (current working directory) or set to be the same as source files +* add suffix for output file with `_YYYYMMDD_HHMMSS` and/or custom text + +## Documentation + +Visit https://nessus-file-analyzer.readthedocs.io to find out more. + +## Installation + +> **Note:** +> It's advisable to use python virtual environment for below instructions. Read more about python virtual environment in [The Hitchhiker’s Guide to Python!](https://docs.python-guide.org/dev/virtualenvs/) +> +>Read about [virtualenvwrapper in The Hitchhiker’s Guide to Python!](https://docs.python-guide.org/dev/virtualenvs/#virtualenvwrapper): [virtualenvwrapper](https://virtualenvwrapper.readthedocs.io) provides a set of commands which makes working with virtual environments much more pleasant. + + +1. Install **nessus file analyzer** + + `pip install nessus-file-analyzer` + + > To upgrade to newer version run: + > + > `pip install -U nessus-file-analyzer` + +2. Run **nessus file analyzer** + + `nessus-file-analyzer` + + > Optionally for Linux and macOS: + > + > `nessus-file-analyzer&` + > + > Run with `&` at the end to start the process in the background. + +3. Make a shortcut for **nessus file analyzer** + + **Windows:** + + - Run in cmd `where nessus-file-analyzer.exe` + - Copy returned path. + - Go to e.g. to Desktop. + - Right click on Desktop and choose `New > Shortcut`. + - Paste returned path. + - Click `Next`, `Finish`. + + **Linux (Ubuntu) / macOS** + - Run in Terminal `which nessus-file-analyzer` + - Run in Terminal `ln -s path_returned_in_previous_command ~/Desktop/` + + **macOS** + + - Run in Terminal `which nessus-file-analyzer` + - Open `bin` folder where `nessus-file-analyzer` is located. + - Right click on `nessus-file-analyzer` and choose `Make alias`. + - Move your alias e.g. to Desktop. + +## Meta + +### Change log + +See [CHANGELOG]. + + +### Licence + +GNU GPLv3: [LICENSE]. + + +### Authors + +[Damian Krawczyk] created **[nessus file analyzer]** by [LimberDuck]. + +[nessus file analyzer]: https://limberduck.org/en/latest/nessus-file-analyzer +[Damian Krawczyk]: https://damiankrawczyk.com +[LimberDuck]: https://limberduck.org +[CHANGELOG]: https://github.com/LimberDuck/nessus-file-analyzer/blob/master/CHANGELOG.md +[LICENSE]: https://github.com/LimberDuck/nessus-file-analyzer/blob/master/LICENSE diff --git a/README.rst b/README.rst deleted file mode 100644 index bf97e24..0000000 --- a/README.rst +++ /dev/null @@ -1,87 +0,0 @@ -nessus file analyzer by LimberDuck -################################## - -*nessus file analyzer* by LimberDuck (pronounced *ˈlɪm.bɚ dʌk*) is a GUI -tool which enables you to parse multiple nessus files containing the results -of scans performed by using Nessus by (C) Tenable, Inc. and exports parsed -data to a Microsoft Excel Workbook for effortless analysis. - -Operational memory usage will be kept low while parsing even the largest of -files. You can run it on your favourite operating system, whether it is Windows, -macOS or GNU Linux. As a parsing result, you will receive spreadsheets with a -summary view of the whole scan and/or all reported hosts. You will also be -able to generate spreadsheets with a detailed view of all reported -vulnerabilities and/or noncompliance. -It's free and open source tool, which has been created to automate our work, -decrease our workload and focus on data analysis. - -|license| |repo_size| |code_size| |supported_platform| |docs_status| - -.. image:: https://user-images.githubusercontent.com/9287709/59981677-5fefcf80-9607-11e9-89aa-35e5649e1c7a.png - :width: 600 - -.. class:: no-web no-pdf - -.. contents:: - -.. section-numbering:: - -Main features -============= - -* select one or more nessus files at once or select directory to get all nessus files from it and from all its subdirectories -* select one or more of available report types like: scan, host, vulnerabilities, noncompliance -* change target directory for output file to desired one, leave it default (current working directory) or set to be the same as source files -* add suffix for output file with "_YYYYMMDD_HHMMSS" and/or custom text - - -Documentation -============= - -Visit https://nessus-file-analyzer.readthedocs.io to find out more. - - -Meta -==== - -Change log ----------- - -See `CHANGELOG`_. - - -Licence -------- - -GNU GPLv3: `LICENSE`_. - - -Authors -------- - -`Damian Krawczyk`_ created *nessus file analyzer* by LimberDuck. - -.. _Damian Krawczyk: https://limberduck.org -.. _CHANGELOG: https://github.com/LimberDuck/nessus-file-analyzer/blob/master/CHANGELOG.md -.. _LICENSE: https://github.com/LimberDuck/nessus-file-analyzer/blob/master/LICENSE - - -.. |license| image:: https://img.shields.io/github/license/LimberDuck/nessus-file-analyzer.svg - :target: https://github.com/LimberDuck/nessus-file-analyzer/blob/master/LICENSE - :alt: License - -.. |repo_size| image:: https://img.shields.io/github/repo-size/LimberDuck/nessus-file-analyzer.svg - :target: https://github.com/LimberDuck/nessus-file-analyzer - :alt: Repo size - -.. |code_size| image:: https://img.shields.io/github/languages/code-size/LimberDuck/nessus-file-analyzer.svg - :target: https://github.com/LimberDuck/nessus-file-analyzer - :alt: Code size - -.. |supported_platform| image:: https://img.shields.io/badge/platform-windows%20%7C%20macos%20%7C%20linux-lightgrey.svg - :target: https://github.com/LimberDuck/nessus-file-analyzer - :alt: Supported platform - -.. |docs_status| image:: https://readthedocs.org/projects/nessus-file-analyzer/badge/?version=latest - :target: https://nessus-file-analyzer.readthedocs.io/en/latest/?badge=latest - :alt: Documentation Status \ No newline at end of file diff --git a/docs/index.rst b/docs/index.rst index 28918db..d248589 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,6 +21,8 @@ vulnerabilities and/or noncompliance. It's free and open source tool, which has been created to automate our work, decrease our workload and focus on data analysis. +|latest_release| |latest_release_date| |pypi_downloads| + |license| |repo_size| |code_size| |supported_platform| |docs_status| .. image:: https://user-images.githubusercontent.com/9287709/59981677-5fefcf80-9607-11e9-89aa-35e5649e1c7a.png @@ -108,3 +110,20 @@ Authors .. |docs_status| image:: https://readthedocs.org/projects/nessus-file-analyzer/badge/?version=latest :target: https://nessus-file-analyzer.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status + :alt: Supported platform + +.. |docs_status| image:: https://readthedocs.org/projects/nessus-file-analyzer/badge/?version=latest + :target: https://nessus-file-analyzer.readthedocs.io/en/latest/?badge=latest + :alt: Documentation Status + +.. |latest_release| image:: https://img.shields.io/github/v/release/LimberDuck/nessus-file-analyzer?label=Latest%20release + :target: https://github.com/LimberDuck/nessus-file-analyzer/releases + :alt: Latest Release version + +.. |latest_release_date| image:: https://img.shields.io/github/release-date/limberduck/nessus-file-analyzer?label=released&logo=GitHub + :target: https://github.com/LimberDuck/nessus-file-analyzer/releases + :alt: GitHub Release Date + +.. |pypi_downloads| image:: https://img.shields.io/pypi/dm/nessus-file-analyzer?logo=PyPI + :target: https://pypistats.org/packages/nessus-file-analyzer + :alt: PyPI - Downloads \ No newline at end of file diff --git a/docs/nfa-installation.rst b/docs/nfa-installation.rst index f30bce1..f727a87 100644 --- a/docs/nfa-installation.rst +++ b/docs/nfa-installation.rst @@ -8,150 +8,226 @@ Installation instructions Read about `virtualenvwrapper in The Hitchhiker’s Guide to Python! `_: `virtualenvwrapper `_ provides a set of commands which makes working with virtual environments much more pleasant. -******* +************ +Installation +************ + +1. Install **nessus file analyzer** + + ``pip install nessus-file-analyzer`` + + .. note:: + + To upgrade to newer version run: + + ``pip install -U nessus-file-analyzer`` + +2. Run **nessus file analyzer** + + ``nessus-file-analyzer`` + + .. tip:: + + Optionally for Linux and macOS: + + ``nessus-file-analyzer&`` + + Run with ``&`` at the end to start the process in the background. + +3. Make a shortcut for **nessus file analyzer** + + **Windows:** + + - Run in cmd ``where nessus-file-analyzer.exe`` + - Copy returned path. + - Go to e.g. to Desktop. + - Right click on Desktop and choose ``New > Shortcut``. + - Paste returned path. + - Click ``Next``, ``Finish``. + + **Linux (Ubuntu) / macOS** + + - Run in Terminal ``which nessus-file-analyzer`` + - Run in Terminal ``ln -s path_returned_in_previous_command ~/Desktop/`` + + **macOS** + + - Run in Terminal ``which nessus-file-analyzer`` + - Open ``bin`` folder where ``nessus-file-analyzer`` is located. + - Right click on ``nessus-file-analyzer`` and choose ``Make alias``. + - Move your alias e.g. to Desktop. + + +Additional steps +**************** + +Linux (Ubuntu) +============== + +If you installed without python virtual environment, and you see below error: + +.. code-block:: shell + + ~$ nessus-file-analyzer + nessus-file-analyzer: command not found + + +Add below to ``~/.bashrc`` + +.. code-block:: shell + + # set PATH so it includes user's private ~/.local/bin if it exists + if [ -d "$HOME/.local/bin" ] ; then + PATH="$HOME/.local/bin:$PATH" + fi + +If you see below error: + +.. code-block:: shell + + ~$ nessus-file-analyzer + qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. + This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. + + Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb. + + Aborted (core dumped) + + +Run below to fix the error: + +.. code-block:: shell + + sudo apt-get install --reinstall libxcb-xinerama0 + + + + +********************* +Build executable file +********************* + Windows ******* -1. If you don't have, install Python 3.6.0 or higher, you can download it via https://www.python.org/downloads -2. If you don't have, install latest version of Git, you can download it via https://git-scm.com/downloads -3. Clone |nfa| repository using below command in Git Bash: +1. Clone **nessus file analyzer** repository using below command in Git Bash: .. code-block:: none git clone https://github.com/LimberDuck/nessus-file-analyzer.git -4. Install requirements using below command +2. Install requirements using below command .. code-block:: none pip install -r .\requirements.txt -5. Run |nfa| using below command +3. Run **nessus file analyzer** using below command .. code-block:: none - python nfa.py + python -m nessus_file_analyzer -6. Upgrade setuptools using below command +4. Upgrade setuptools using below command .. code-block:: none pip install --upgrade setuptools -7. Install PyInstaller +5. Install PyInstaller .. code-block:: none pip install PyInstaller -8. Build your own executable file using below command +6. Build your own executable file using below command .. code-block:: none - pyinstaller --onefile --windowed --version-file=.\version.rc --icon=.\icons\LimberDuck-nessus-file-analyzer.ico nfa.py + pyinstaller --onefile --windowed --version-file=.\version.rc --icon=.\icons\LimberDuck-nessus-file-analyzer.ico --name nessus-file-analyzer nessus_file_analyzer\__main__.py + +7. Go to ``dist`` catalog to find executable file ``nessus-file-analyzer.exe`` -9. Go to dist catalog to find executable file *nfa.exe* -************** Linux (Ubuntu) ************** -1. Python 3.6.7 should be already installed in Ubuntu 18.04.1 LTS, you can ensure with below command - - .. code-block:: bash - - python3 --version - -2. If you don't have, install git using below command - - .. code-block:: bash - - sudo apt install git - -3. Clone |nfa| repository using below command +1. Clone **nessus file analyzer** repository using below command .. code-block:: bash git clone https://github.com/LimberDuck/nessus-file-analyzer.git -4. If you don't have, install pip using below command - - .. code-block:: bash - - sudo apt install python3-pip - -5. Install requirements using below command +2. Install requirements using below command .. code-block:: bash - pip3 install -r ./requirements.txt + pip install -r ./requirements.txt -6. Run |nfa| using below command +3. Run **nessus file analyzer** using below command .. code-block:: bash - python3 nfa.py + python -m nessus_file_analyzer -7. Upgrade setuptools using below command +4. Upgrade setuptools using below command .. code-block:: bash - pip3 install --upgrade setuptools + pip install --upgrade setuptools -8. Install PyInstaller +5. Install PyInstaller .. code-block:: bash pip install PyInstaller -9. Build your own executable file using below command +6. Build your own executable file using below command .. code-block:: bash - ~/.local/bin/pyinstaller --onefile --windowed --icon=./icons/LimberDuck-nessus-file-analyzer.ico nfa.py + ~/.local/bin/pyinstaller --onefile --windowed --icon=./icons/LimberDuck-nessus-file-analyzer.ico --name nessus-file-analyzer nessus_file_analyzer\__main__.py -10. Go to dist catalog to find executable file *nfa* +7. Go to ``dist`` catalog to find executable file ``nessus-file-analyzer``. -***** -MacOS -***** -1. If you don't have, install Python 3.6.0 or higher, you can download it via https://www.python.org/downloads +macOS +***** -2. Clone |nfa| repository using below command +1. Clone **nessus file analyzer** repository using below command .. code-block:: bash git clone https://github.com/LimberDuck/nessus-file-analyzer.git -3. Install requirements using below command +2. Install requirements using below command .. code-block:: bash pip3.6 install -r ./requirements.txt -4. Run |nfa| using below command +3. Run **nessus file analyzer** using below command .. code-block:: bash - python3.6 nfa.py + python -m nessus_file_analyzer -5. Upgrade setuptools using below command +4. Upgrade setuptools using below command .. code-block:: bash - pip3.6 install --upgrade setuptools + pip install --upgrade setuptools -6. Install PyInstaller +5. Install PyInstaller .. code-block:: bash pip install PyInstaller -7. Build your own executable file using below command +6. Build your own executable file using below command .. code-block:: bash - pyinstaller --onefile --windowed --icon=./icons/LimberDuck-nessus-file-analyzer.ico nfa.py + pyinstaller --onefile --windowed --icon=./icons/LimberDuck-nessus-file-analyzer.ico --name nessus-file-analyzer nessus_file_analyzer\__main__.py -8. Go to dist catalog to find executable file *nfa* +7. Go to ``dist`` catalog to find executable file ``nessus-file-analyzer``. diff --git a/nessus_file_analyzer/__about__.py b/nessus_file_analyzer/__about__.py index 69336e3..29e4587 100644 --- a/nessus_file_analyzer/__about__.py +++ b/nessus_file_analyzer/__about__.py @@ -28,15 +28,14 @@ __title__ = "nessus file analyzer by LimberDuck" __package_name__ = "nessus-file-analyzer" __icon__ = "LimberDuck-nessus-file-analyzer.ico" -__summary__ = "nessus file analyzer by LimberDuck (pronounced *ˈlɪm.bɚ dʌk*) is a GUI" \ - "tool which enables you to parse multiple nessus files containing the results" \ - "of scans performed by using Nessus by (C) Tenable, Inc. and exports parsed" \ - "data to a Microsoft Excel Workbook for effortless analysis." +__summary__ = "nessus file analyzer by LimberDuck is a GUI tool which enables you to parse nessus scan files from " \ + "Nessus and Tenable.SC by (C) Tenable, Inc. and exports results to a Microsoft Excel Workbook for " \ + "effortless analysis." __uri__ = "https://limberduck.org/en/latest/nessus-file-analyzer" -__version__ = "0.6.0" -__release_date__ = "2021.08.23" +__version__ = "0.7.0" +__release_date__ = "2021.09.06" __author__ = u"Damian Krawczyk" __email__ = "damian.krawczyk@limberduck.org" __license_name__ = "GNU GPLv3" __license_link__ = "https://www.gnu.org/licenses/gpl-3.0.en.html" -__copyright__ = u"\N{COPYRIGHT SIGN} 2018-2021 by %s" % __author__ +__copyright__ = u"\N{COPYRIGHT SIGN} 2019-2021 by %s" % __author__ diff --git a/nfa.py b/nessus_file_analyzer/__main__.py similarity index 94% rename from nfa.py rename to nessus_file_analyzer/__main__.py index a129af7..81f4b9f 100644 --- a/nfa.py +++ b/nessus_file_analyzer/__main__.py @@ -21,6 +21,14 @@ along with this program. If not, see . """ -if __name__ == '__main__': - from nessus_file_analyzer import app +from nessus_file_analyzer import app + + +def main(): + app.main() + + +if __name__ == '__main__': + + main() diff --git a/nessus_file_analyzer/_version.py b/nessus_file_analyzer/_version.py new file mode 100644 index 0000000..faee7a1 --- /dev/null +++ b/nessus_file_analyzer/_version.py @@ -0,0 +1 @@ +__version__ = "0.7.0" \ No newline at end of file diff --git a/nessus_file_analyzer/app.py b/nessus_file_analyzer/app.py index c57ccee..ea7bdf6 100644 --- a/nessus_file_analyzer/app.py +++ b/nessus_file_analyzer/app.py @@ -2955,7 +2955,7 @@ def main(): app_window_title = name form.setWindowTitle(app_window_title) - print(app_name, app_version, app_version_release_date) + # print(app_name, app_version, app_version_release_date) # app_icon_file_name_png = 'LimberDuck-nessus-file-analyzer.png' # app_icon_file_name_png_to_ico = nfa.utilities.png_to_ico(app_icon_file_name_png) diff --git a/setup.py b/setup.py new file mode 100644 index 0000000..74ac3cf --- /dev/null +++ b/setup.py @@ -0,0 +1,45 @@ +import setuptools + +with open("README.md", "r") as fh: + long_description = fh.read() + +with open('requirements.txt') as f: + required = f.read().splitlines() + +about = {} +with open("nessus_file_analyzer/_version.py") as f: + exec(f.read(), about) + +setuptools.setup( + name="nessus_file_analyzer", + version=about["__version__"], + license="LGPLv3", + author="Damian Krawczyk", + author_email="damian.krawczyk@limberduck.org", + description="nessus file analyzer by LimberDuck is a GUI tool which enables you to parse nessus scan files from " + "Nessus and Tenable.SC by (C) Tenable, Inc. and exports results to a Microsoft Excel Workbook for " + "effortless analysis.", + long_description=long_description, + long_description_content_type="text/markdown", + url="https://github.com/LimberDuck/nessus-file-analyzer", + packages=setuptools.find_packages(), + install_requires=required, + entry_points={ + "gui_scripts": [ + "nessus-file-analyzer = nessus_file_analyzer.__main__:main" + ] + }, + classifiers=[ + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.6", + "License :: OSI Approved :: GNU General Public License v3 (GPLv3)", + "Operating System :: OS Independent", + "Development Status :: 4 - Beta", + "Environment :: X11 Applications :: Qt", + "Operating System :: POSIX :: Linux", + "Operating System :: Microsoft :: Windows", + "Operating System :: MacOS", + ], +) diff --git a/version.rc b/version.rc index d1686af..a78b16d 100644 --- a/version.rc +++ b/version.rc @@ -1,7 +1,7 @@ VSVersionInfo( ffi=FixedFileInfo( - filevers=(0, 6, 0, 0), - prodvers=(0, 6, 0, 0), + filevers=(0, 7, 0, 0), + prodvers=(0, 7, 0, 0), mask=0x3f, flags=0x0, OS=0x40004, @@ -16,12 +16,12 @@ VSVersionInfo( u'040904B0', [StringStruct(u'CompanyName', u'LimberDuck'), StringStruct(u'FileDescription', u'nessus file analyzer'), - StringStruct(u'FileVersion', u'0.6.0.0'), - StringStruct(u'InternalName', u'nfa'), + StringStruct(u'FileVersion', u'0.7.0.0'), + StringStruct(u'InternalName', u'nessus-file-analyzer'), StringStruct(u'LegalCopyright', u'\xa9 Damian Krawczyk.'), - StringStruct(u'OriginalFilename', u'nfa.exe'), + StringStruct(u'OriginalFilename', u'nessus-file-analyzer.exe'), StringStruct(u'ProductName', u'nessus file analyzer'), - StringStruct(u'ProductVersion', u'0.6.0.0')]) + StringStruct(u'ProductVersion', u'0.7.0.0')]) ]), VarFileInfo([VarStruct(u'Translation', [1033, 1200])]) ]