26 lines
928 B
Python
26 lines
928 B
Python
from __future__ import annotations
|
|
|
|
import os
|
|
from dataclasses import dataclass
|
|
|
|
from dotenv import load_dotenv
|
|
|
|
|
|
load_dotenv()
|
|
|
|
|
|
@dataclass(frozen=True)
|
|
class Settings:
|
|
domain: str = os.getenv("HNSDOH_DOMAIN", "hnsdoh.com")
|
|
doh_path: str = os.getenv("HNSDOH_DOH_PATH", "/dns-query")
|
|
check_interval_seconds: int = int(os.getenv("HNSDOH_CHECK_INTERVAL_SECONDS", "300"))
|
|
ui_refresh_seconds: int = int(os.getenv("HNSDOH_UI_REFRESH_SECONDS", "30"))
|
|
history_size: int = int(os.getenv("HNSDOH_HISTORY_SIZE", "12"))
|
|
stale_after_seconds: int = int(os.getenv("HNSDOH_STALE_AFTER_SECONDS", "900"))
|
|
|
|
dns_timeout_seconds: float = float(os.getenv("HNSDOH_DNS_TIMEOUT_SECONDS", "5"))
|
|
doh_timeout_seconds: float = float(os.getenv("HNSDOH_DOH_TIMEOUT_SECONDS", "10"))
|
|
dot_timeout_seconds: float = float(os.getenv("HNSDOH_DOT_TIMEOUT_SECONDS", "10"))
|
|
|
|
webhook_url: str = os.getenv("TMP_DISCORD_HOOK", "")
|