Files
hnsdoh-status/hnsdoh_status/config.py

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", "")