diff --git a/app/cli/automate.py b/app/cli/automate.py index e0337dc..9a74c3f 100644 --- a/app/cli/automate.py +++ b/app/cli/automate.py @@ -13,7 +13,6 @@ from app.models.activity import Activity from app.models.automation import Automation, AutomationState, AutomationLogs from app.terraform import BaseAutomation from app.terraform.block.block_blocky import BlockBlockyAutomation -from app.terraform.block.bridge_dnsc import BlockBridgeDnscAutomation from app.terraform.block.bridge_github import BlockBridgeGitHubAutomation from app.terraform.block.bridge_gitlab import BlockBridgeGitlabAutomation from app.terraform.block.bridge_roskomsvoboda import BlockBridgeRoskomsvobodaAutomation @@ -47,7 +46,6 @@ jobs = { x.short_name: x # type: ignore[attr-defined] for x in [ # Check for blocked resources first - BlockBridgeDnscAutomation, BlockBridgeGitHubAutomation, BlockBridgeGitlabAutomation, BlockBridgeRoskomsvobodaAutomation, diff --git a/app/terraform/block/bridge_dnsc.py b/app/terraform/block/bridge_dnsc.py deleted file mode 100644 index 8dcc5ed..0000000 --- a/app/terraform/block/bridge_dnsc.py +++ /dev/null @@ -1,36 +0,0 @@ -from io import BytesIO -from typing import BinaryIO - -import openpyxl -import requests - -from app.terraform.block.bridge import BlockBridgeAutomation - -DOWNLOAD_URL = "https://dnsc.ro/vezi/document/situatie-site-uri-cu-activitate-in-contextul-crizei-ucraina-rusia-plus" \ - "-adrese-ip-specifice-utilizate-in-atacuri-malware-detalii" - - -class BlockBridgeDnscAutomation(BlockBridgeAutomation): - short_name = "block_bridge_dnsc" - description = "Import the Romanian National Directorate for Cybersecurity blocklist" - frequency = 60 * 24 - - _content: BinaryIO - - def fetch(self) -> None: - response = requests.get(DOWNLOAD_URL, - headers={"User-Agent": "Mozilla/5.0 (Windows NT x.y; Win64; x64; rv:10.0) " - "Gecko/20100101 Firefox/10.0"}, - timeout=60) - self._content = BytesIO(response.content) - - def parse(self) -> None: - wb = openpyxl.open(self._content) - sheet = wb[wb.sheetnames[0]] - idx = 2 - while True: - addr = sheet['B' + str(idx)].value - if not addr: - break - self.ips.append(addr) - idx += 1 diff --git a/app/terraform/proxy/__init__.py b/app/terraform/proxy/__init__.py index 864a305..b9d0d15 100644 --- a/app/terraform/proxy/__init__.py +++ b/app/terraform/proxy/__init__.py @@ -27,12 +27,12 @@ def update_smart_proxy_instance(group_id: int, ).first() if instance is None: instance = SmartProxy() - instance.added = datetime.datetime.utcnow() + instance.added = datetime.datetime.now(datetime.UTC) instance.group_id = group_id instance.provider = provider instance.region = region db.session.add(instance) - instance.updated = datetime.datetime.utcnow() + instance.updated = datetime.datetime.now(datetime.UTC) instance.instance_id = instance_id diff --git a/app/terraform/proxy/meta.py b/app/terraform/proxy/meta.py index 20c0f30..b796a94 100644 --- a/app/terraform/proxy/meta.py +++ b/app/terraform/proxy/meta.py @@ -3,7 +3,6 @@ import logging import random import string from collections import OrderedDict -from datetime import timezone from typing import Any, Dict, List, Optional, Tuple, Type from typing import OrderedDict as OrderedDictT @@ -138,27 +137,21 @@ def auto_deprecate_proxies() -> None: The maximum age cutoff is randomly set to a time between 24 and 48 hours. """ origin_destroyed_proxies = (db.session.query(Proxy) - .join(Origin, Proxy.origin_id == Origin.id) - .filter( - Proxy.destroyed.is_(None), - Proxy.deprecated.is_(None), - Origin.destroyed.is_not(None), - ) - .all() - ) + .join(Origin, Proxy.origin_id == Origin.id) + .filter(Proxy.destroyed.is_(None), + Proxy.deprecated.is_(None), + Origin.destroyed.is_not(None)) + .all()) for proxy in origin_destroyed_proxies: proxy.deprecate(reason="origin_destroyed") max_age_proxies = (db.session.query(Proxy) - .join(Origin, Proxy.origin_id == Origin.id) - .filter( - Proxy.destroyed.is_(None), - Proxy.deprecated.is_(None), - Proxy.pool_id != -1, # do not rotate hotspare proxies - Origin.assets, - Origin.auto_rotation, - ) - .all() - ) + .join(Origin, Proxy.origin_id == Origin.id) + .filter(Proxy.destroyed.is_(None), + Proxy.deprecated.is_(None), + Proxy.pool_id != -1, # do not rotate hotspare proxies + Origin.assets, + Origin.auto_rotation) + .all()) for proxy in max_age_proxies: max_age_cutoff = datetime.datetime.now(datetime.UTC) - datetime.timedelta( days=1, seconds=86400 * random.random()) # nosec: B311