From 5a59652684d30dad20bf210429781d2e9ceadb79 Mon Sep 17 00:00:00 2001 From: Akimio521 Date: Fri, 5 Jul 2024 09:31:41 +0800 Subject: [PATCH 1/3] =?UTF-8?q?feat:=E5=B0=86=E4=BD=BF=E7=94=A8=20DOH=20?= =?UTF-8?q?=E5=9F=9F=E5=90=8D=E8=A7=A3=E6=9E=90=E7=9A=84=E5=9F=9F=E5=90=8D?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E8=87=B3=20app.core.config.settings?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 2 ++ app/helper/doh.py | 12 +----------- config/app.env | 2 ++ 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index bbb745b4..08661176 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -232,6 +232,8 @@ class Settings(BaseSettings): META_CACHE_EXPIRE: int = 0 # 是否启用DOH解析域名 DOH_ENABLE: bool = True + # 使用 DOH 解析的域名列表 + DOH_DOMAINS:str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' # 搜索多个名称 SEARCH_MULTIPLE_NAME: bool = False # 订阅数据共享 diff --git a/app/helper/doh.py b/app/helper/doh.py index 88dc4ff1..2d6ed2cc 100644 --- a/app/helper/doh.py +++ b/app/helper/doh.py @@ -15,16 +15,6 @@ from typing import Dict, Optional from app.core.config import settings from app.log import logger -# 定义一个全局集合来存储注册的主机 -_registered_hosts = { - 'api.themoviedb.org', - 'api.tmdb.org', - 'webservice.fanart.tv', - 'api.github.com', - 'github.com', - 'raw.githubusercontent.com', - 'api.telegram.org' -} # 定义一个全局线程池执行器 _executor = concurrent.futures.ThreadPoolExecutor() @@ -46,7 +36,7 @@ def _patched_getaddrinfo(host, *args, **kwargs): """ socket.getaddrinfo的补丁版本。 """ - if host not in _registered_hosts: + if host not in settings.DOH_DOMAINS.split(","): return _orig_getaddrinfo(host, *args, **kwargs) # 检查主机是否已解析 diff --git a/config/app.env b/config/app.env index 956d17b8..169560ab 100644 --- a/config/app.env +++ b/config/app.env @@ -13,6 +13,8 @@ SUPERUSER=admin BIG_MEMORY_MODE=false # 是否启用DOH域名解析,启用后对于api.themovie.org等域名通过DOH解析,避免域名DNS被污染 DOH_ENABLE=true +# 使用 DOH 解析的域名列表 +DOH_DOMAINS:str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' # 元数据识别缓存过期时间,数字型,单位小时,0为系统默认(大内存模式为7天,滞则为3天),调大该值可减少themoviedb的访问次数 META_CACHE_EXPIRE=0 # 自动检查和更新站点资源包(索引、认证等) From c11cf17f62a668bec62714208b3907b418337d1a Mon Sep 17 00:00:00 2001 From: Akimio521 Date: Fri, 5 Jul 2024 10:34:57 +0800 Subject: [PATCH 2/3] style:app.core.config.settings --- app/core/config.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/core/config.py b/app/core/config.py index 08661176..d7a9a865 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -233,7 +233,7 @@ class Settings(BaseSettings): # 是否启用DOH解析域名 DOH_ENABLE: bool = True # 使用 DOH 解析的域名列表 - DOH_DOMAINS:str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' + DOH_DOMAINS: str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' # 搜索多个名称 SEARCH_MULTIPLE_NAME: bool = False # 订阅数据共享 From 35782045089f2dae350e6cbc164ce8b1a5eb2ee2 Mon Sep 17 00:00:00 2001 From: Akimio521 Date: Fri, 5 Jul 2024 10:52:39 +0800 Subject: [PATCH 3/3] style --- app/core/config.py | 2 +- config/app.env | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index d7a9a865..8e0a38e7 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -233,7 +233,7 @@ class Settings(BaseSettings): # 是否启用DOH解析域名 DOH_ENABLE: bool = True # 使用 DOH 解析的域名列表 - DOH_DOMAINS: str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' + DOH_DOMAINS: str = "api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org" # 搜索多个名称 SEARCH_MULTIPLE_NAME: bool = False # 订阅数据共享 diff --git a/config/app.env b/config/app.env index 169560ab..47665d3b 100644 --- a/config/app.env +++ b/config/app.env @@ -13,8 +13,8 @@ SUPERUSER=admin BIG_MEMORY_MODE=false # 是否启用DOH域名解析,启用后对于api.themovie.org等域名通过DOH解析,避免域名DNS被污染 DOH_ENABLE=true -# 使用 DOH 解析的域名列表 -DOH_DOMAINS:str = 'api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org' +# 使用 DOH 解析的域名列表,多个域名使用`,`分隔 +DOH_DOMAINS=api.themoviedb.org,api.tmdb.org,webservice.fanart.tv,api.github.com,github.com,raw.githubusercontent.com,api.telegram.org # 元数据识别缓存过期时间,数字型,单位小时,0为系统默认(大内存模式为7天,滞则为3天),调大该值可减少themoviedb的访问次数 META_CACHE_EXPIRE=0 # 自动检查和更新站点资源包(索引、认证等)