Remove maintenance support.
(Doesn't work in most cases)
This commit is contained in:
@@ -32,8 +32,8 @@ cf_config = {
|
|||||||
"allowedBroadcastServer": [
|
"allowedBroadcastServer": [
|
||||||
],
|
],
|
||||||
"ddnsBroadcastCode": "code-here",
|
"ddnsBroadcastCode": "code-here",
|
||||||
"maintenancePageDNS": "",
|
# "maintenancePageDNS": "",
|
||||||
"maintenancePageURL": ""
|
# "maintenancePageURL": ""
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -57,7 +57,7 @@ class CloudflareHelper(Helper):
|
|||||||
self.ip = None
|
self.ip = None
|
||||||
|
|
||||||
# maintenance mode
|
# maintenance mode
|
||||||
self.is_maintenance = False
|
# self.is_maintenance = False
|
||||||
|
|
||||||
self.config = cf_config
|
self.config = cf_config
|
||||||
self.allowed_broadcast_channels = {}
|
self.allowed_broadcast_channels = {}
|
||||||
@@ -94,36 +94,36 @@ class CloudflareHelper(Helper):
|
|||||||
)
|
)
|
||||||
await message.channel.send(result)
|
await message.channel.send(result)
|
||||||
|
|
||||||
@self.dc.handle_command("/cf:maintenance", help="Toggle maintenance mode")
|
# @self.dc.handle_command("/cf:maintenance", help="Toggle maintenance mode")
|
||||||
async def enable_maintenance(client, message):
|
# async def enable_maintenance(client, message):
|
||||||
guild = getattr(message, "guild", None)
|
# guild = getattr(message, "guild", None)
|
||||||
if guild is None:
|
# if guild is None:
|
||||||
await message.channel.send("This command can only be used in server channels.")
|
# await message.channel.send("This command can only be used in server channels.")
|
||||||
return
|
# return
|
||||||
|
#
|
||||||
if self.is_allowed_broadcast_server(guild.name):
|
# if self.is_allowed_broadcast_server(guild.name):
|
||||||
if not self.is_maintenance:
|
# if not self.is_maintenance:
|
||||||
self.is_maintenance = True
|
# self.is_maintenance = True
|
||||||
self.update_ddns()
|
# self.update_ddns()
|
||||||
await message.channel.send(f"Maintenance mode is enabled. Updating DDNS...")
|
# await message.channel.send(f"Maintenance mode is enabled. Updating DDNS...")
|
||||||
else:
|
# else:
|
||||||
self.is_maintenance = False
|
# self.is_maintenance = False
|
||||||
self.update_ddns()
|
# self.update_ddns()
|
||||||
await message.channel.send(f"Maintenance mode is disabled. Updating DDNS...")
|
# await message.channel.send(f"Maintenance mode is disabled. Updating DDNS...")
|
||||||
else:
|
# else:
|
||||||
await message.channel.send(f"Unsupported server: {guild.name}")
|
# await message.channel.send(f"Unsupported server: {guild.name}")
|
||||||
|
#
|
||||||
@self.dc.handle_command("/cf:status-maintenance", help="Check status of maintenance mode")
|
# @self.dc.handle_command("/cf:status-maintenance", help="Check status of maintenance mode")
|
||||||
async def check_maintenance(client, message):
|
# async def check_maintenance(client, message):
|
||||||
guild = getattr(message, "guild", None)
|
# guild = getattr(message, "guild", None)
|
||||||
if guild is None:
|
# if guild is None:
|
||||||
await message.channel.send("This command can only be used in server channels.")
|
# await message.channel.send("This command can only be used in server channels.")
|
||||||
return
|
# return
|
||||||
|
#
|
||||||
if self.is_allowed_broadcast_server(guild.name):
|
# if self.is_allowed_broadcast_server(guild.name):
|
||||||
await message.channel.send("Maintenance mode is on" if self.is_maintenance else "Maintenance mode is off")
|
# await message.channel.send("Maintenance mode is on" if self.is_maintenance else "Maintenance mode is off")
|
||||||
else:
|
# else:
|
||||||
await message.channel.send(f"Unsupported server: {guild.name}")
|
# await message.channel.send(f"Unsupported server: {guild.name}")
|
||||||
|
|
||||||
class DCStream:
|
class DCStream:
|
||||||
def __init__(self, helper):
|
def __init__(self, helper):
|
||||||
@@ -233,20 +233,20 @@ class CloudflareHelper(Helper):
|
|||||||
self.logger.error("An error occurred while getting DNS records: {}".format(e))
|
self.logger.error("An error occurred while getting DNS records: {}".format(e))
|
||||||
return
|
return
|
||||||
|
|
||||||
maintenance_dns = self.get_maintenance_page_dns()
|
# maintenance_dns = self.get_maintenance_page_dns()
|
||||||
start_maintenance = False
|
# start_maintenance = False
|
||||||
|
#
|
||||||
if self.is_maintenance and maintenance_dns:
|
# if self.is_maintenance and maintenance_dns:
|
||||||
self.logger.info("Maintenance mode is on. Redirecting support dns records to maintenance page...")
|
# self.logger.info("Maintenance mode is on. Redirecting support dns records to maintenance page...")
|
||||||
start_maintenance = True
|
# start_maintenance = True
|
||||||
elif self.is_maintenance:
|
# elif self.is_maintenance:
|
||||||
self.logger.warning("Maintenance mode is on but maintenancePageDNS is not set yet. Ignoring...")
|
# self.logger.warning("Maintenance mode is on but maintenancePageDNS is not set yet. Ignoring...")
|
||||||
|
|
||||||
for item in domains:
|
for item in domains:
|
||||||
domain = item.get("name", None)
|
domain = item.get("name", None)
|
||||||
proxied = item.get("proxied", False)
|
proxied = item.get("proxied", False)
|
||||||
domain_type = item.get("type", "A")
|
domain_type = item.get("type", "A")
|
||||||
allow_maintenance = item.get("allowMaintenance", False)
|
# allow_maintenance = item.get("allowMaintenance", False)
|
||||||
|
|
||||||
if domain is None:
|
if domain is None:
|
||||||
continue
|
continue
|
||||||
@@ -255,23 +255,23 @@ class CloudflareHelper(Helper):
|
|||||||
|
|
||||||
for record in dns_records:
|
for record in dns_records:
|
||||||
name = record.get("name", None)
|
name = record.get("name", None)
|
||||||
# record_type = record.get("type", None)
|
record_type = record.get("type", None)
|
||||||
|
|
||||||
# if name == domain and record_type == domain_type:
|
if name == domain and record_type == domain_type:
|
||||||
# record_id = record.get("id", None)
|
|
||||||
|
|
||||||
if name == domain:
|
|
||||||
record_id = record.get("id", None)
|
record_id = record.get("id", None)
|
||||||
|
|
||||||
|
# if name == domain:
|
||||||
|
# record_id = record.get("id", None)
|
||||||
|
|
||||||
if record_id is None:
|
if record_id is None:
|
||||||
self.logger.warning(
|
self.logger.warning(
|
||||||
f"The domain {domain} ({domain_type}) does not in CF zone {self.config.get('zone', None)}")
|
f"The domain {domain} ({domain_type}) does not in CF zone {self.config.get('zone', None)}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
request_data = {
|
request_data = {
|
||||||
"type": domain_type if not start_maintenance or not allow_maintenance else "CNAME",
|
"type": domain_type,
|
||||||
"name": domain,
|
"name": domain,
|
||||||
"content": self.ip if not start_maintenance or not allow_maintenance else maintenance_dns,
|
"content": self.ip,
|
||||||
"ttl": 120,
|
"ttl": 120,
|
||||||
"proxied": proxied
|
"proxied": proxied
|
||||||
}
|
}
|
||||||
@@ -295,21 +295,21 @@ class CloudflareHelper(Helper):
|
|||||||
self.logger.error(f"Unable to update dns record for domain name {domain}: {e}")
|
self.logger.error(f"Unable to update dns record for domain name {domain}: {e}")
|
||||||
continue
|
continue
|
||||||
|
|
||||||
def get_maintenance_page_dns(self):
|
# def get_maintenance_page_dns(self):
|
||||||
value = self.config.get("maintenancePageDNS") or self.config.get("maintenancePageURL")
|
# value = self.config.get("maintenancePageDNS") or self.config.get("maintenancePageURL")
|
||||||
|
#
|
||||||
if value is None:
|
# if value is None:
|
||||||
return None
|
# return None
|
||||||
|
#
|
||||||
value = str(value).strip()
|
# value = str(value).strip()
|
||||||
if value == "":
|
# if value == "":
|
||||||
return None
|
# return None
|
||||||
|
#
|
||||||
parsed = urlparse(value)
|
# parsed = urlparse(value)
|
||||||
if parsed.hostname:
|
# if parsed.hostname:
|
||||||
return parsed.hostname
|
# return parsed.hostname
|
||||||
|
#
|
||||||
return value.rstrip("/")
|
# return value.rstrip("/")
|
||||||
|
|
||||||
def parse_allowed_broadcast_channels(self):
|
def parse_allowed_broadcast_channels(self):
|
||||||
raw = self.config.get("allowedBroadcastServer", [])
|
raw = self.config.get("allowedBroadcastServer", [])
|
||||||
|
|||||||
Reference in New Issue
Block a user