monolith/threshold

93 lines
3.1 KiB
Plaintext
Raw Normal View History

#!/usr/bin/env python
import sys
2022-07-21 12:39:59 +00:00
from codecs import getwriter # fix printing odd shit to the terminal
from signal import SIGINT, signal
2022-07-21 12:39:41 +00:00
# from twisted.python import log
# from sys import stdout
# log.startLogging(stdout)
2022-07-21 12:39:59 +00:00
from sys import stderr, stdout # Import again because we want to override
from twisted.internet import reactor
from twisted.internet.ssl import DefaultOpenSSLContextFactory
2022-07-21 12:39:41 +00:00
stdout = getwriter("utf8")(stdout) # this is a generic fix but we all know
stderr = getwriter("utf8")(stderr) # it's just for the retards on Rizon using
2022-07-21 12:39:41 +00:00
# unicode quit messages for no reason
import main
2022-07-21 12:39:41 +00:00
main.initMain()
from utils.cleanup import handler
2022-07-21 12:39:41 +00:00
signal(SIGINT, handler) # Handle Ctrl-C and run the cleanup routine
if "--debug" in sys.argv: # yes really
main.config["Debug"] = True
if "--trace" in sys.argv:
main.config["Trace"] = True
import modules.counters
2022-07-21 12:39:59 +00:00
from core.relay import Relay, RelayFactory
from core.server import Server, ServerFactory
from utils.loaders.command_loader import loadCommands
from utils.logging.log import *
2022-07-21 12:39:41 +00:00
loadCommands()
2021-06-06 10:16:04 +00:00
import core.logstash
2022-07-21 12:39:41 +00:00
2021-06-06 10:16:04 +00:00
core.logstash.init_logstash()
if __name__ == "__main__":
listener = ServerFactory()
if main.config["Listener"]["UseSSL"] == True:
2022-07-21 12:39:41 +00:00
reactor.listenSSL(
main.config["Listener"]["Port"],
listener,
DefaultOpenSSLContextFactory(
main.certPath + main.config["Key"],
main.certPath + main.config["Certificate"],
),
interface=main.config["Listener"]["Address"],
)
2022-07-21 12:39:59 +00:00
log(
"Threshold running with SSL on %s:%s"
% (main.config["Listener"]["Address"], main.config["Listener"]["Port"])
)
else:
2022-07-21 12:39:41 +00:00
reactor.listenTCP(
main.config["Listener"]["Port"],
listener,
interface=main.config["Listener"]["Address"],
)
2022-07-21 12:39:59 +00:00
log(
"Threshold running on %s:%s"
% (main.config["Listener"]["Address"], main.config["Listener"]["Port"])
)
if main.config["RelayAPI"]["Enabled"]:
relay = RelayFactory()
if main.config["RelayAPI"]["UseSSL"] == True:
2022-07-21 12:39:41 +00:00
reactor.listenSSL(
main.config["RelayAPI"]["Port"],
relay,
DefaultOpenSSLContextFactory(
main.certPath + main.config["Key"],
main.certPath + main.config["Certificate"],
),
interface=main.config["RelayAPI"]["Address"],
)
log(
"Threshold relay running with SSL on %s:%s"
% (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"])
)
else:
2022-07-21 12:39:41 +00:00
reactor.listenTCP(
main.config["RelayAPI"]["Port"],
relay,
interface=main.config["RelayAPI"]["Address"],
)
2022-07-21 12:39:59 +00:00
log(
"Threshold relay running on %s:%s"
% (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"])
)
for net in main.network.keys():
main.network[net].start_bots()
modules.counters.setupCounterLoop()
reactor.run()