1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
|
import threading
import argparse
from domestic.utility.get_io_channels import *
from domestic.modules.socket_handler import *
from domestic.utility.status_message import *
from domestic.utility.text_to_ascii import *
from domestic.session.session_queue import *
from domestic.utility.write_error import *
from domestic.global_state import *
from domestic.shell.server import *
def program_setup():
parser = argparse.ArgumentParser(description=state['description'])
parser.add_argument('-ip', '--ipv4', default='localhost', help='IP of host.')
parser.add_argument('-p', '--port', type=int, default=1200, help='Port of host.')
args = parser.parse_args()
try:
get_io_channels()
threading.Thread(target=listening, args=(args.ipv4, str(args.port), False), daemon=True).start()
for index, module in enumerate([*state['sockets']['modules']]):
bind_socket(args.ipv4, str(args.port + (index + 1)), module, False)
except Exception as err:
write_error(err)
status_message('Socket binding error, please verify IP / port argument', 'danger', {'end': True})
raise Exception('Argument parsing error')
threading.Thread(target=session_queue, daemon=True).start()
status_message(text_to_ascii(state['name']), 'pure', {'end': True})
print()
status_message(state['description'], 'pure', {'end': True})
print()
status_message(state['author'], 'pure', {'end': True})
print()
status_message(None, 'program')
|