solitary8 / v-finder

This is a vulnerability scanner mainly coded in python using nmap with an interactive GUI,this scanner is for Linux and macOS
GNU General Public License v3.0
2 stars 1 forks source link

Structure and Usability Refactor #8

Open DJStompZone opened 5 months ago

DJStompZone commented 5 months ago

Summary of Changes

Changes Include:

  1. Class-Based Refactoring:
    • Converted the procedural code into a class-based structure to encapsulate application logic, improve state management, and eliminate global variables.
    • Each component of the UI and its corresponding functionalities are now methods within the VFinderApp class, enhancing readability and making the codebase easier to manage and debug.
  2. Customtkinter Integration:
    • Integrated customtkinter for all UI elements, which provides a more modern and adaptable interface. This includes buttons, labels, combo boxes, and dialog windows.
    • Set up a dark theme and a green color scheme consistent across the application, improving the aesthetic and user experience.
  3. Enhanced IP and Scan Type Handling:
    • Added a method ask_for_ip to handle IP input through a customtkinter dialog, ensuring that the IP address is stored as an instance variable.
    • Refined the scan type selection with a combo box that updates the application state based on the user's selection.
  4. Advanced Mode Preparations:
    • Laid groundwork for future features such as "Advanced Mode," which will allow users to customize nmap options directly within the UI.
  5. Improved Distribution and nmap Check:
    • Included methods get_distro and check_nmap to verify the system's configuration before executing scan commands, enhancing the robustness of the application.

Motivation for Changes

These changes were motivated by the need to make Vulnerability Finder more maintainable and developer-friendly. Transitioning to a class-based structure helps encapsulate functionality and manage state more effectively, while the use of customtkinter modernizes the interface. Additionally, these changes lay a foundation for adding more complex features in the future, such as customizable nmap scanning options and different operational modes.

Testing

Request for Review

(Testing and validation pending) I would appreciate reviews on the current changes, particularly with respect to the application's structure and the integration of customtkinter. Feedback on potential issues or suggestions for further improvements would also be greatly valued.