44 lines
1.1 KiB
Python
44 lines
1.1 KiB
Python
import os
|
|
import shlex
|
|
import sys
|
|
from datetime import datetime
|
|
from subprocess import check_output, CalledProcessError, STDOUT
|
|
|
|
def log(message, endpoint):
|
|
time = datetime.utcnow()
|
|
print(f"{time} at {endpoint}: {message}")
|
|
|
|
def execute_cmd(cmd_line):
|
|
cmd_args = shlex.split(cmd_line)
|
|
|
|
try:
|
|
output = check_output(cmd_args, stderr=STDOUT).decode()
|
|
success = True
|
|
|
|
except CalledProcessError as e:
|
|
output = e.output.decode()
|
|
success = False
|
|
|
|
return output, success
|
|
|
|
|
|
def random_payload(file, size):
|
|
file.write(os.urandom(1024 * int(size)))
|
|
file.flush()
|
|
|
|
class ProgressBar:
|
|
@staticmethod
|
|
def start():
|
|
sys.stdout.write('\r\n\r\n')
|
|
|
|
@staticmethod
|
|
def print(current, goal):
|
|
finish_percent = current / goal
|
|
sys.stdout.write('\r')
|
|
sys.stdout.write(f" > Progress: [{'=' * int(30 * finish_percent)}{' ' * (29 - int(30 * finish_percent))}>]"
|
|
f" {current}/{goal}")
|
|
sys.stdout.flush()
|
|
|
|
@staticmethod
|
|
def end():
|
|
sys.stdout.write('\r\n\r\n')
|