[ SEA-GHOST MINI SHELL]
#!/usr/bin/env python2.7
###############################################
# Email statistics generator #
###############################################
# Generating stats from emailtrack_stats for the last hour
# ARGS:
# OUTPUT: {u'data':
# {u'records':
# [
# {
# u'DEFERCOUNT': 39952,
# u'TOTALSIZE': 47420311814,
# u'SUCCESSCOUNT': 283963,
# u'FAILCOUNT': 199858,
# u'SENDCOUNT': 448667,
# u'INPROGRESSCOUNT': 416,
# u'DEFERFAILCOUNT': 239810
# }
# ]
# },
# u'metadata':
# {
# u'reason': u'OK',
# u'version': 1,
# u'command': u'emailtrack_stats',
# u'result': 1,
# u'overflowed': 0,
# u'__chunked': 1
# }
# }
WHMAPI_COMMAND = "whmapi1"
API_ENDPOINT = "emailtrack_stats"
OUTPUT_FORMAT = "json"
import datetime
import json
import subprocess
def create_whmapi_cli_command(
command = WHMAPI_COMMAND,
api_endpoint = API_ENDPOINT,
output_format = OUTPUT_FORMAT,
*args,
**kwargs
):
generic_command = "{cmd} {endpoint} --output={output_format}".format(
cmd=command,
endpoint=api_endpoint,
output_format=output_format
)
# Populate args and kwargs
for arg in args:
generic_command += " {arg}".foramt(arg=str(arg))
for key, val in kwargs.items():
generic_command += " {k}={v}".format(k=key, v=val)
return generic_command
def execute_whmapi_call(command):
pipe = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
return pipe.stdout.read()
if __name__ == "__main__":
start_time = datetime.datetime.now() - datetime.timedelta(hours=1)
start_time = start_time.strftime('%s')
cli = create_whmapi_cli_command(starttime=start_time)
result = json.loads(execute_whmapi_call(cli))
stats = result['data']['records'][0]
output = ""
for key, val in stats.items():
output += "{k}={v} ".format(k=key, v=val)
print(output)
SEA-GHOST - SHELL CODING BY SEA-GHOST