aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJu1-js <40339350+Ju1-js@users.noreply.github.com>2023-01-28 06:43:10 +0000
committerJu1-js <40339350+Ju1-js@users.noreply.github.com>2023-01-28 06:43:10 +0000
commitdc25a31d1a3816a7fb0cd5ef186559b3c085db43 (patch)
treeac3af27c921fa11545fe78d4c71c0b089a57583f
parentce72af87d3b05c946bc82033786fc340f1c20512 (diff)
downloadstable-diffusion-webui-gfx803-dc25a31d1a3816a7fb0cd5ef186559b3c085db43.tar.gz
stable-diffusion-webui-gfx803-dc25a31d1a3816a7fb0cd5ef186559b3c085db43.tar.bz2
stable-diffusion-webui-gfx803-dc25a31d1a3816a7fb0cd5ef186559b3c085db43.zip
Gradio Auth Read from External File
Usage: `--gradio-auth-path {PATH}` It adds the credentials to the already existing `--gradio-auth` credentials. It can also handle line breaks. The file should look like: `{u1}:{p1},{u2}:{p2}` or ``` {u1}:{p1}, {u2}:{p2} ``` Will gradio handle duplicate credentials if it happens?
-rw-r--r--modules/shared.py1
-rw-r--r--webui.py2
2 files changed, 2 insertions, 1 deletions
diff --git a/modules/shared.py b/modules/shared.py
index 474fcc42..36e9762f 100644
--- a/modules/shared.py
+++ b/modules/shared.py
@@ -81,6 +81,7 @@ parser.add_argument("--freeze-settings", action='store_true', help="disable edit
parser.add_argument("--ui-settings-file", type=str, help="filename to use for ui settings", default=os.path.join(data_path, 'config.json'))
parser.add_argument("--gradio-debug", action='store_true', help="launch gradio with --debug option")
parser.add_argument("--gradio-auth", type=str, help='set gradio authentication like "username:password"; or comma-delimit multiple like "u1:p1,u2:p2,u3:p3"', default=None)
+parser.add_argument("--gradio-auth-path", type=str, help='set gradio authentication file path ex. "/path/to/auth/file" same auth format as --gradio-auth', default=None)
parser.add_argument("--gradio-img2img-tool", type=str, help='does not do anything')
parser.add_argument("--gradio-inpaint-tool", type=str, help="does not do anything")
parser.add_argument("--opt-channelslast", action='store_true', help="change memory type for stable diffusion to channels last")
diff --git a/webui.py b/webui.py
index 41f32f5c..0e2b28b9 100644
--- a/webui.py
+++ b/webui.py
@@ -205,7 +205,7 @@ def webui():
ssl_keyfile=cmd_opts.tls_keyfile,
ssl_certfile=cmd_opts.tls_certfile,
debug=cmd_opts.gradio_debug,
- auth=[tuple(cred.split(':')) for cred in cmd_opts.gradio_auth.strip('"').split(',')] if cmd_opts.gradio_auth else None,
+ auth=[tuple(cred.split(':')) for cred in (cmd_opts.gradio_auth.strip('"').replace('\n','').split(',') + (open(cmd_opts.gradio_auth_path, 'r').read().strip().replace('\n','').split(',') if cmd_opts.gradio_auth_path and os.path.exists(cmd_opts.gradio_auth_path) else None))] if cmd_opts.gradio_auth or (cmd_opts.gradio_auth_path and os.path.exists(cmd_opts.gradio_auth_path)) else None,
inbrowser=cmd_opts.autolaunch,
prevent_thread_lock=True
)