patch for issue #2 install xvfb if it isn't there, also added it to the README requirements.

This commit is contained in:
ekultek 2017-09-25 11:08:32 -05:00
parent 204a7e1741
commit 6875605c98
4 changed files with 40 additions and 1 deletions

View file

@ -29,6 +29,7 @@ There are a few requirements for this:
- `python-nmap` package is required to run nmap on the URL's IP addresses
- `whichcraft` package is required to check if nmap and sqlmap are on your system if you want to use them
- `pyvirtualdisplay` package is required to hide the browser display while finding the search URL
- `xvfb` is required by pyvirtualdisplay, it will be installed if not installed on your first run
### Installing

View file

@ -1,12 +1,35 @@
import os
import platform
import tarfile
import subprocess
import whichcraft
import lib.settings
def check_os(current=platform.platform()):
"""
check the users operating system..
"""
if "linux" in str(current).lower():
return True
return False
def check_xvfb(exc="Xvfb"):
"""
test for xvfb on the users system
"""
if whichcraft.which(exc) is None:
lib.settings.logger.info(lib.settings.set_color(
"installing Xvfb, required by pyvirutaldisplay..."
))
subprocess.call(["sudo", "apt-get", "install", "xvfb"])
else:
return True
def check_if_run(file_check="{}/bin/executed.txt"):
"""
check if the application has been run before by reading the executed.txt file
@ -80,11 +103,26 @@ def main(rewrite="{}/bin/executed.txt", verbose=False):
"""
main method
"""
if verbose:
lib.settings.logger.debug(lib.settings.set_color(
"verifying operating system...", level=10
))
if not check_os():
raise NotImplementedError(lib.settings.set_color(
"as of now, Zeus requires Linux to run successfully "
"your current operating system '{}' is not implemented "
"yet...".format(platform.platform()), level=50
))
if check_if_run():
lib.settings.logger.info(lib.settings.set_color(
"seems this is your first time running the appication, "
"doing setup please wait..."
))
if verbose:
lib.settings.logger.debug(lib.settings.set_color(
"checking if xvfb is on your system...", level=10
))
check_xvfb()
untar_gecko(verbose=verbose)
if ensure_placed(verbose=verbose):
with open(rewrite.format(os.getcwd()), "w") as rw:

View file

View file

@ -22,7 +22,7 @@ except NameError:
# clone link
CLONE = "https://github.com/ekultek/zeus-scanner.git"
# current version <major.minor.commit.patch ID>
VERSION = "1.0.15.9cd3"
VERSION = "1.0.15.676c"
# colors to output depending on the version
VERSION_TYPE_COLORS = {"dev": 33, "stable": 92, "other": 30}
# version string formatting