diff --git a/bgservice/bgservice.py b/bgservice/bgservice.py index 437cdda..8943172 100644 --- a/bgservice/bgservice.py +++ b/bgservice/bgservice.py @@ -92,16 +92,17 @@ def watch_dir(watched_dir="/tmp", logdir="/tmp/skooloslogs"): logfile = open( logdir + "/skoolos_" + time.strftime("%m%d%Y-%H%M%S", time.localtime()), 'w') - sys.stdout = logfile START_TIME = time.time() - print("Start time: " + - time.strftime("%A, %B %d, %Y %H:%M:%S", time.localtime()) + "\n\n") wm = pyinotify.WatchManager() mask = pyinotify.IN_CREATE | pyinotify.IN_CLOSE_WRITE | pyinotify.IN_DELETE | \ pyinotify.IN_MOVED_TO | pyinotify.IN_MOVED_FROM | pyinotify.IN_OPEN NOTIFIER = pyinotify.ThreadedNotifier(wm, EventHandler()) NOTIFIER.start() + sys.stdout = open("/dev/null", 'w') wm.add_watch(watched_dir, mask, rec=True) + sys.stdout = logfile + print("Start time: " + + time.strftime("%A, %B %d, %Y %H:%M:%S", time.localtime()) + "\n") def stop_watching(): @@ -111,6 +112,7 @@ def stop_watching(): time.strftime("%A, %B %d, %Y %H:%M:%S", time.localtime())) print("\nTotal work time: " + time.strftime("%H:%M:%S", time.gmtime(now - START_TIME))) + print("\n" + checker.shell_check()) suspicious_files = checker.file_check(DIR) if suspicious_files != []: print( diff --git a/bgservice/checker.py b/bgservice/checker.py index 78afdae..773e31a 100644 --- a/bgservice/checker.py +++ b/bgservice/checker.py @@ -75,19 +75,22 @@ def shell_check(): zsh_history = [ line.strip() for line in open(os.path.expanduser("~/.histfile"), 'r') ] - report = "Suspicios commands found:\n" + suspicious_commands = [] for i in bash_history + zsh_history: if "git" in i: - report += i + "\n" - if report != "Suspicios commands found:\n": - return report + suspicious_commands.append(i) + if suspicious_commands != []: + return str( + len(suspicious_commands) + ) + " suspicious commands found:\n" + "\n".join(suspicious_commands) return "Nothing suspicious found in bash or zsh history." def verify_file(file_): for ext in file_whitelist: - if file_[len(file_) - len(ext):] == ext: - return True + if len(file_) > len(ext): + if file_[len(file_) - len(ext):] == ext: + return True return False diff --git a/bgservice/test.py b/bgservice/test.py new file mode 100644 index 0000000..9c7cad0 --- /dev/null +++ b/bgservice/test.py @@ -0,0 +1,4 @@ +import bgservice as bg +bg.watch_dir() +input() +bg.stop_watching()