From 793a7460c6615cd392dee9f4154e5540d24d833f Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 14 Nov 2023 14:10:48 +0800 Subject: [PATCH 1/4] =?UTF-8?q?fix=20=E5=8A=A8=E6=BC=AB=E7=94=B5=E5=BD=B1?= =?UTF-8?q?=20=E5=89=A7=E5=9C=BA=E7=89=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/meta/metavideo.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/core/meta/metavideo.py b/app/core/meta/metavideo.py index f95bc25a..f9dc40fe 100644 --- a/app/core/meta/metavideo.py +++ b/app/core/meta/metavideo.py @@ -32,7 +32,7 @@ class MetaVideo(MetaBase): _effect_re = r"^REMUX$|^UHD$|^SDR$|^HDR\d*$|^DOLBY$|^DOVI$|^DV$|^3D$|^REPACK$" _resources_type_re = r"%s|%s" % (_source_re, _effect_re) _name_no_begin_re = r"^\[.+?]" - _name_no_chinese_re = r".*版|.*字幕" + _name_no_chinese_re = r".*字幕" _name_se_words = ['共', '第', '季', '集', '话', '話', '期'] _name_nostring_re = r"^PTS|^JADE|^AOD|^CHC|^[A-Z]{1,4}TV[\-0-9UVHDK]*" \ r"|HBO$|\s+HBO|\d{1,2}th|\d{1,2}bit|NETFLIX|AMAZON|IMAX|^3D|\s+3D|^BBC\s+|\s+BBC|BBC$|DISNEY\+?|XXX|\s+DC$" \ From f514a5a416feef99173481bac40876c6a6e6db27 Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 14 Nov 2023 14:17:14 +0800 Subject: [PATCH 2/4] fix 793a7460 --- app/core/meta/metavideo.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/app/core/meta/metavideo.py b/app/core/meta/metavideo.py index f9dc40fe..8fc50f90 100644 --- a/app/core/meta/metavideo.py +++ b/app/core/meta/metavideo.py @@ -32,8 +32,9 @@ class MetaVideo(MetaBase): _effect_re = r"^REMUX$|^UHD$|^SDR$|^HDR\d*$|^DOLBY$|^DOVI$|^DV$|^3D$|^REPACK$" _resources_type_re = r"%s|%s" % (_source_re, _effect_re) _name_no_begin_re = r"^\[.+?]" - _name_no_chinese_re = r".*字幕" + _name_no_chinese_re = r".*版|.*字幕" _name_se_words = ['共', '第', '季', '集', '话', '話', '期'] + _name_movie_words = ['剧场版', '劇場版', '电影版', '電影版'] _name_nostring_re = r"^PTS|^JADE|^AOD|^CHC|^[A-Z]{1,4}TV[\-0-9UVHDK]*" \ r"|HBO$|\s+HBO|\d{1,2}th|\d{1,2}bit|NETFLIX|AMAZON|IMAX|^3D|\s+3D|^BBC\s+|\s+BBC|BBC$|DISNEY\+?|XXX|\s+DC$" \ r"|[第\s共]+[0-9一二三四五六七八九十\-\s]+季" \ @@ -182,8 +183,9 @@ class MetaVideo(MetaBase): if not self.cn_name: self.cn_name = token elif not self._stop_cnname_flag: - if not re.search("%s" % self._name_no_chinese_re, token, flags=re.IGNORECASE) \ - and not re.search("%s" % self._name_se_words, token, flags=re.IGNORECASE): + if re.search("%s" % self._name_movie_words, token, flags=re.IGNORECASE) \ + or (not re.search("%s" % self._name_no_chinese_re, token, flags=re.IGNORECASE) + and not re.search("%s" % self._name_se_words, token, flags=re.IGNORECASE)): self.cn_name = "%s %s" % (self.cn_name, token) self._stop_cnname_flag = True else: From 0aad809c82c0506ecf153d320a70370e9b64a19e Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 14 Nov 2023 16:12:02 +0800 Subject: [PATCH 3/4] =?UTF-8?q?feat=20=E5=A2=9E=E5=8A=A0GITHUB=5FTOKEN?= =?UTF-8?q?=EF=BC=8C=E6=8F=90=E9=AB=98API=E9=99=90=E6=B5=81=E9=98=88?= =?UTF-8?q?=E5=80=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 1 + app/api/endpoints/system.py | 8 +++++++- app/chain/system.py | 7 ++++++- app/core/config.py | 2 ++ app/helper/plugin.py | 7 ++++++- update | 9 +++++++-- 6 files changed, 29 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 03c580fe..e7fb64f1 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ MoviePilot需要配套下载器和媒体服务器配合使用。 --- - **OCR_HOST:** OCR识别服务器地址,格式:`http(s)://ip:port`,用于识别站点验证码实现自动登录获取Cookie等,不配置默认使用内建服务器`https://movie-pilot.org`,可使用 [这个镜像](https://hub.docker.com/r/jxxghp/moviepilot-ocr) 自行搭建。 - **PLUGIN_MARKET:** 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/,默认为官方插件仓库:`https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/`。 +- **GITHUB_TOKEN:** Github token,提高请求api限流阈值 ghp_****(仅支持环境变量配置) --- - **❗MESSAGER:** 消息通知渠道,支持 `telegram`/`wechat`/`slack`/`synologychat`,开启多个渠道时使用`,`分隔。同时还需要配置对应渠道的环境变量,非对应渠道的变量可删除,推荐使用`telegram` diff --git a/app/api/endpoints/system.py b/app/api/endpoints/system.py index 792978fa..36c48049 100644 --- a/app/api/endpoints/system.py +++ b/app/api/endpoints/system.py @@ -163,7 +163,13 @@ def latest_version(_: schemas.TokenPayload = Depends(verify_token)): """ 查询Github所有Release版本 """ - version_res = RequestUtils().get_res(f"https://api.github.com/repos/jxxghp/MoviePilot/releases") + headers = {} + if settings.GITHUB_TOKEN: + headers = { + "Authorization": f"Bearer {settings.GITHUB_TOKEN}" + } + version_res = RequestUtils(proxies=settings.PROXY, headers=headers).get_res( + f"https://api.github.com/repos/jxxghp/MoviePilot/releases") if version_res: ver_json = version_res.json() if ver_json: diff --git a/app/chain/system.py b/app/chain/system.py index 15162bea..512c7b88 100644 --- a/app/chain/system.py +++ b/app/chain/system.py @@ -87,7 +87,12 @@ class SystemChain(ChainBase, metaclass=Singleton): """ 获取最新版本 """ - version_res = RequestUtils(proxies=settings.PROXY).get_res( + headers = {} + if settings.GITHUB_TOKEN: + headers = { + "Authorization": f"Bearer {settings.GITHUB_TOKEN}" + } + version_res = RequestUtils(proxies=settings.PROXY, headers=headers).get_res( "https://api.github.com/repos/jxxghp/MoviePilot/releases/latest") if version_res: ver_json = version_res.json() diff --git a/app/core/config.py b/app/core/config.py index 71202706..d3d6dbff 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -212,6 +212,8 @@ class Settings(BaseSettings): BIG_MEMORY_MODE: bool = False # 插件市场仓库地址,多个地址使用,分隔,地址以/结尾 PLUGIN_MARKET: str = "https://raw.githubusercontent.com/jxxghp/MoviePilot-Plugins/main/" + # Github token,提高请求api限流阈值 ghp_**** + GITHUB_TOKEN: str = None @property def INNER_CONFIG_PATH(self): diff --git a/app/helper/plugin.py b/app/helper/plugin.py index 4852123d..595f399c 100644 --- a/app/helper/plugin.py +++ b/app/helper/plugin.py @@ -49,7 +49,12 @@ class PluginHelper(metaclass=Singleton): 获取插件的文件列表 """ file_api = f"https://api.github.com/repos/{user}/{repo}/contents/plugins/{_p.lower()}" - r = RequestUtils(proxies=settings.PROXY).get_res(file_api) + headers = {} + if settings.GITHUB_TOKEN: + headers = { + "Authorization": f"Bearer {settings.GITHUB_TOKEN}" + } + r = RequestUtils(proxies=settings.PROXY, headers=headers).get_res(file_api) if not r or r.status_code != 200: return None, f"连接仓库失败:{r.status_code} - {r.reason}" ret = r.json() diff --git a/update b/update index d8580c89..882ee3fd 100644 --- a/update +++ b/update @@ -30,7 +30,7 @@ install_backend_and_download_resources() { download_and_unzip "https://github.com/jxxghp/MoviePilot-Resources/archive/refs/heads/main.zip" "Resources" if [ $? -eq 0 ]; then echo "资源包下载成功" - frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" | jq -r .tag_name) + frontend_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot-Frontend/releases/latest" ${CURL_HEADERS} | jq -r .tag_name) if [[ "${frontend_version}" == *v* ]]; then download_and_unzip "https://github.com/jxxghp/MoviePilot-Frontend/releases/download/${frontend_version}/dist.zip" "dist" if [ $? -eq 0 ]; then @@ -83,6 +83,11 @@ if [[ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" CURL_OPTIONS="-sL" echo "不使用代理更新程序" fi + if [ -n "${GITHUB_TOKEN}" ]; then + CURL_HEADERS="--header 'Authorization: Bearer ${GITHUB_TOKEN}'" + else + CURL_HEADERS="" + fi if [ "${MOVIEPILOT_AUTO_UPDATE}" = "dev" ]; then echo "Dev 更新模式" install_backend_and_download_resources "heads/main.zip" @@ -92,7 +97,7 @@ if [[ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" if [[ "${old_version}" == *APP_VERSION* ]]; then current_version=v$(echo ${old_version} | sed -ne "s/APP_VERSION\s=\s'v\(.*\)'/\1/gp") echo "当前版本号:${current_version}" - new_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot/releases/latest" | jq -r .tag_name) + new_version=$(curl ${CURL_OPTIONS} "https://api.github.com/repos/jxxghp/MoviePilot/releases/latest" ${CURL_HEADERS} | jq -r .tag_name) if [[ "${new_version}" == *v* ]]; then release_version=${new_version} echo "最新版本号:${release_version}" From 4c69bb6c48a0c39d0597a3f661ec5c1e57194308 Mon Sep 17 00:00:00 2001 From: thsrite Date: Tue, 14 Nov 2023 16:22:04 +0800 Subject: [PATCH 4/4] fix --- update | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/update b/update index 882ee3fd..35b34d24 100644 --- a/update +++ b/update @@ -5,7 +5,7 @@ download_and_unzip() { url="$1" target_dir="$2" echo "正在下载 ${url}..." - curl ${CURL_OPTIONS} "$url" | busybox unzip -d /tmp - + curl ${CURL_OPTIONS} "$url" ${CURL_HEADERS} | busybox unzip -d /tmp - if [ $? -eq 0 ]; then if [ -e /tmp/MoviePilot-* ]; then mv /tmp/MoviePilot-* /tmp/${target_dir}