diff options
Diffstat (limited to 'modules')
-rw-r--r-- | modules/shared.py | 1 | ||||
-rw-r--r-- | modules/ui_extensions.py | 17 |
2 files changed, 16 insertions, 2 deletions
diff --git a/modules/shared.py b/modules/shared.py index 48478a68..b7518de6 100644 --- a/modules/shared.py +++ b/modules/shared.py @@ -391,6 +391,7 @@ options_templates.update(options_section(('system', "System"), { "print_hypernet_extra": OptionInfo(False, "Print extra hypernetwork information to console."),
"list_hidden_files": OptionInfo(True, "Load models/files in hidden directories").info("directory is hidden if its name starts with \".\""),
"disable_mmap_load_safetensors": OptionInfo(False, "Disable memmapping for loading .safetensors files.").info("fixes very slow loading speed in some cases"),
+ "github_proxy": OptionInfo("None", "Github proxy", ui_components.DropdownEditable, lambda: {"choices": ["None", "ghproxy.com", "hub.yzuu.cf", "hub.njuu.cf", "hub.nuaa.cf"]}).info("for custom inputs will just replace github.com with the input"),
}))
options_templates.update(options_section(('training', "Training"), {
diff --git a/modules/ui_extensions.py b/modules/ui_extensions.py index dff522ef..a208012d 100644 --- a/modules/ui_extensions.py +++ b/modules/ui_extensions.py @@ -325,6 +325,17 @@ def normalize_git_url(url): return url
+def github_proxy(url):
+ proxy = shared.opts.github_proxy
+
+ if proxy == 'None':
+ return url
+ if proxy == 'ghproxy.com':
+ return "https://ghproxy.com/" + url
+
+ return url.replace('github.com', proxy)
+
+
def install_extension_from_url(dirname, url, branch_name=None):
check_access()
@@ -335,6 +346,8 @@ def install_extension_from_url(dirname, url, branch_name=None): assert url, 'No URL specified'
+ url = github_proxy(url)
+
if dirname is None or dirname == "":
*parts, last_part = url.split('/')
last_part = normalize_git_url(last_part)
@@ -354,12 +367,12 @@ def install_extension_from_url(dirname, url, branch_name=None): shutil.rmtree(tmpdir, True)
if not branch_name:
# if no branch is specified, use the default branch
- with git.Repo.clone_from(url, tmpdir, filter=['blob:none']) as repo:
+ with git.Repo.clone_from(url, tmpdir, filter=['blob:none'], verbose=False) as repo:
repo.remote().fetch()
for submodule in repo.submodules:
submodule.update()
else:
- with git.Repo.clone_from(url, tmpdir, filter=['blob:none'], branch=branch_name) as repo:
+ with git.Repo.clone_from(url, tmpdir, filter=['blob:none'], branch=branch_name, verbose=False) as repo:
repo.remote().fetch()
for submodule in repo.submodules:
submodule.update()
|