diff --git a/gsuid_core/core.py b/gsuid_core/core.py index 95ca267..f44ad3f 100644 --- a/gsuid_core/core.py +++ b/gsuid_core/core.py @@ -140,7 +140,6 @@ def main(): plugin = plugins_list[name] link = plugin['link'] plugin_name = link.split('/')[-1] - # git_path = f'{proxy_url}{link}.git' sample = { 'label': plugin_name, 'key': name, diff --git a/gsuid_core/utils/plugins_config/config_default.py b/gsuid_core/utils/plugins_config/config_default.py index 34bd28b..388089f 100644 --- a/gsuid_core/utils/plugins_config/config_default.py +++ b/gsuid_core/utils/plugins_config/config_default.py @@ -61,4 +61,5 @@ CONIFG_DEFAULT: Dict[str, GSC] = { 'AutoUpdateDep': GsBoolConfig('自动更新依赖', '更新插件时将会自动更新依赖', False), 'EnablePicSrv': GsBoolConfig('将图片转链接发送(需公网)', '发送图片转链接', False), 'PicSrv': GsStrConfig('将图片转链接发送(需公网)', '发送图片转链接', ''), + 'ProxyURL': GsStrConfig('安装插件时使用git代理地址', 'git代理地址', ''), } diff --git a/gsuid_core/utils/plugins_update/_plugins.py b/gsuid_core/utils/plugins_update/_plugins.py index 57227a1..bf448d9 100644 --- a/gsuid_core/utils/plugins_update/_plugins.py +++ b/gsuid_core/utils/plugins_update/_plugins.py @@ -11,11 +11,12 @@ from git.exc import GitCommandError, NoSuchPathError, InvalidGitRepositoryError from gsuid_core.logger import logger from gsuid_core.utils.plugins_config.gs_config import core_plugins_config -from .api import CORE_PATH, PLUGINS_PATH, proxy_url, plugins_lib +from .api import CORE_PATH, PLUGINS_PATH, plugins_lib plugins_list: Dict[str, Dict[str, str]] = {} is_update_dep = core_plugins_config.get_config('AutoUpdateDep').data +proxy_url: str = core_plugins_config.get_config('ProxyURL').data # 传入一个path对象 @@ -115,7 +116,11 @@ async def get_plugins_url(name: str) -> Optional[Dict[str, str]]: def install_plugins(plugins: Dict[str, str]) -> str: plugin_name = plugins['link'].split('/')[-1] - git_path = f'{proxy_url}{plugins["link"]}.git' + if proxy_url and not proxy_url.endswith('/'): + _proxy_url = proxy_url + '/' + else: + _proxy_url = proxy_url + git_path = f'{_proxy_url}{plugins["link"]}.git' logger.info(f'稍等...开始安装插件, 地址: {git_path}') path = PLUGINS_PATH / plugin_name if path.exists(): diff --git a/gsuid_core/utils/plugins_update/api.py b/gsuid_core/utils/plugins_update/api.py index 7e7af08..b3d7ed2 100644 --- a/gsuid_core/utils/plugins_update/api.py +++ b/gsuid_core/utils/plugins_update/api.py @@ -1,11 +1,6 @@ from pathlib import Path -# raw_url = 'https://raw.githubusercontent.com' -# repo_title = 'Genshin-bots/GenshinUID-docs/master/docs' -# plugins_lib = f'{raw_url}/{repo_title}/PluginsList.md' plugins_lib = 'https://docs.sayu-bot.com/plugin_list.json' -proxy_url = 'https://ghproxy.com/' - PLUGINS_PATH = Path(__file__).parents[2] / 'plugins' CORE_PATH = Path(__file__).parents[3]