From a598bbab4b61559c95df45cf26b08440790fe713 Mon Sep 17 00:00:00 2001 From: Mark Veidemanis Date: Thu, 28 Jul 2022 19:38:37 +0100 Subject: [PATCH] Make some addresses and hosts configurable with environment variables --- .gitignore | 1 + threshold | 49 +++++++++++++++++++++++++++++++++---------------- 2 files changed, 34 insertions(+), 16 deletions(-) diff --git a/.gitignore b/.gitignore index 34d919c..2a4c599 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,4 @@ conf/irc.json conf/dist.sh conf/blacklist.json env/ +.idea/ diff --git a/threshold b/threshold index 9d0222a..5c9e032 100755 --- a/threshold +++ b/threshold @@ -19,6 +19,7 @@ from core.server import ServerFactory from utils.cleanup import handler from utils.loaders.command_loader import loadCommands from utils.logging.log import log +from os import getenv Factory.noisy = False @@ -38,9 +39,25 @@ 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 # unicode quit messages for no reason +# Main listener +listener_address = getenv("THRESHOLD_LISTENER_HOST") or main.config["Listener"]["Address"] +listener_port = int(getenv("THRESHOLD_LISTENER_PORT")) or main.config["Listener"]["Port"] +listener_ssl = int(getenv("THRESHOLD_LISTENER_SSL")) or main.config["Listener"]["UseSSL"] + +# RelayAPI +relay_enabled = int(getenv("THRESHOLD_RELAY_ENABLED")) or main.config["Relay"]["Enabled"] +relay_address = getenv("THRESHOLD_RELAY_HOST") or main.config["RelayAPI"]["Address"] +relay_port = int(getenv("THRESHOLD_RELAY_PORT")) or main.config["RelayAPI"]["Port"] +relay_ssl = int(getenv("THRESHOLD_RELAY_SSL")) or main.config["RelayAPI"]["UseSSL"] + +# Web API +api_enabled = int(getenv("THRESHOLD_API_ENABLED")) or main.config["API"]["Enabled"] +api_address = getenv("THRESHOLD_API_HOST") or main.config["API"]["Address"] +api_port = int(getenv("THRESHOLD_API_PORT")) or main.config["API"]["Port"] + if __name__ == "__main__": listener = ServerFactory() - if main.config["Listener"]["UseSSL"] is True: + if listener_ssl is True: reactor.listenSSL( main.config["Listener"]["Port"], listener, @@ -48,50 +65,50 @@ if __name__ == "__main__": main.certPath + main.config["Key"], main.certPath + main.config["Certificate"], ), - interface=main.config["Listener"]["Address"], + interface=listener_address, ) log( "Threshold running with SSL on %s:%s" - % (main.config["Listener"]["Address"], main.config["Listener"]["Port"]) + % (listener_address, listener_port) ) else: reactor.listenTCP( - main.config["Listener"]["Port"], + listener_port, listener, - interface=main.config["Listener"]["Address"], + interface=listener_address, ) - log("Threshold running on %s:%s" % (main.config["Listener"]["Address"], main.config["Listener"]["Port"])) - if main.config["RelayAPI"]["Enabled"]: + log("Threshold running on %s:%s" % (listener_address, listener_port)) + if relay_enabled: relay = RelayFactory() - if main.config["RelayAPI"]["UseSSL"] is True: + if relay_ssl is True: reactor.listenSSL( - main.config["RelayAPI"]["Port"], + relay_port, relay, DefaultOpenSSLContextFactory( main.certPath + main.config["Key"], main.certPath + main.config["Certificate"], ), - interface=main.config["RelayAPI"]["Address"], + interface=relay_address, ) log( "Threshold relay running with SSL on %s:%s" - % (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"]) + % (relay_address, relay_port) ) else: reactor.listenTCP( - main.config["RelayAPI"]["Port"], + relay_port, relay, - interface=main.config["RelayAPI"]["Address"], + interface=relay_address, ) log( "Threshold relay running on %s:%s" - % (main.config["RelayAPI"]["Address"], main.config["RelayAPI"]["Port"]) + % (relay_address, relay_port) ) for net in main.network.keys(): main.network[net].start_bots() modules.counters.setupCounterLoop() - if main.config["API"]["Enabled"]: + if api_enabled: api = API() - api.app.run(main.config["API"]["Address"], main.config["API"]["Port"]) + api.app.run(api_address, api_port) else: reactor.run()