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