feat: remove block_bridge_dnsc
no longer used
This commit is contained in:
parent
5c0170bdef
commit
9674cb4293
4 changed files with 14 additions and 59 deletions
|
@ -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
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue