Pignus Agent for Internet Protection
Version 0.05
A Python GUI application for scanning URLs and domains for safety
Usage
- Install and upgrade virtualenv if not already done by executing
pip3 install virtualenv --user
- Clone the repository on your local drive and make it your current working directory.
- Create a virtual environment by executing
virtualenv venv
- Activate the virtual environment by executing
source venv/bin/activate
- Install all dependencies for the project by executing
pip3 install -r requirements.txt
- Run the project by executing
python3 pigipgui.py
- Sign up at VirusTotal website to get your own public API key.
- Create a new file called
virustotal.key
and store your key there. - Queue URL scanning, get URL report or get domain report of your target.
- When done tinkering, deactivate the virtual environment by executing
deactivate
- Give stars to the repository if it was helpful
To-do
COMPLETED!
Build GUI and prototype UX for loopholesCOMPLETED!
Add function on single URLs for URL scanningCOMPLETED!
Add function on single URLs for URL reportsCOMPLETED!
Add function on single URLs for domain reportsCOMPLETED!
Add timer function to note the duration for scanningCOMPLETED!
Implement table iteration for list-of-tuplesCOMPLETED!
Add clear button for all line edit boxesINCOMPLETE
Add fixes for unresolved API request errorsINCOMPLETE
Cleanup and optimise code baseINCOMPLETE
Make miscellaneous bug fixes
Changelog
v0.01
- Initial build
- Built a robust GUI and checked loopholes
- Added functionality to queue URL scan
- Added way of dealing with APIKEY externally
v0.02
- Resolved API request errors from queue URL scan
- Added timer function for queue URL scan
- Handled exception where URLs could not be found
- Handled exception where API key was not provided
- Handled exception where API was overused
v0.03
- Added warning messages
- Added functionality to get URL report
- Switched fontface to improve legibility
- Added clear button for all line edit boxes
- Added message for timing and scan success
v0.04
- Resolved API request errors for get URL report
- Added functionality to get domain report
- Implemented table iterations for list-of-tuples
- Fix for URLs which are blocked by the ISPs
- Fix for timeout errors
v0.05 (Current)
- Cleaned up code from debug messages
- Added a new set of fonts for rastering
- Restructured
requirements.txt
for distribution - Added generic fix for unindexed errors
- Fix for IndexError on table structuring
v0.06 (Oncoming)
To be decided
Screenshots
Queue URL scanning (Basic layout, v0.05 onwards)
Queue URL scanning (Results from t0xic0der.netlify.app
, v0.05 onwards)
Get URL report (Basic layout, v0.05 onwards)
Get URL report (Results from t0xic0der.netlify.app
, v0.05 onwards)
Get domain report (Basic layout, v0.05 onwards)
Get domain report (Results from t0xic0der.netlify.app
, v0.05 onwards)
Bugs
- Some domains cannot be scanned due to ISP blockage or denial from the API provider.
- Populating tables with data might take some time on single-core PCs.
- Random API errors might occur some time - Try another URL first.
Contribute
Fork, add, build and make a PR. You know the drill.