mirror of
				https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
				synced 2025-11-04 03:55:05 +00:00 
			
		
		
		
	Merge pull request #4320 from papuSpartan/tls
Add support for SSL/TLS (provide Gradio TLS options)
This commit is contained in:
		
						commit
						c71691933c
					
				@ -86,6 +86,9 @@ parser.add_argument("--nowebui", action='store_true', help="use api=True to laun
 | 
			
		||||
parser.add_argument("--ui-debug-mode", action='store_true', help="Don't load model to quickly launch UI")
 | 
			
		||||
parser.add_argument("--device-id", type=str, help="Select the default CUDA device to use (export CUDA_VISIBLE_DEVICES=0,1,etc might be needed before)", default=None)
 | 
			
		||||
parser.add_argument("--administrator", action='store_true', help="Administrator rights", default=False)
 | 
			
		||||
parser.add_argument("--tls-keyfile", type=str, help="Partially enables TLS, requires --tls-certfile to fully function", default=None)
 | 
			
		||||
parser.add_argument("--tls-certfile", type=str, help="Partially enables TLS, requires --tls-keyfile to fully function", default=None)
 | 
			
		||||
parser.add_argument("--server-name", type=str, help="Sets hostname of server", default=None)
 | 
			
		||||
 | 
			
		||||
cmd_opts = parser.parse_args()
 | 
			
		||||
restricted_opts = {
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										20
									
								
								webui.py
									
									
									
									
									
								
							
							
						
						
									
										20
									
								
								webui.py
									
									
									
									
									
								
							@ -34,7 +34,7 @@ from modules.shared import cmd_opts
 | 
			
		||||
import modules.hypernetworks.hypernetwork
 | 
			
		||||
 | 
			
		||||
queue_lock = threading.Lock()
 | 
			
		||||
 | 
			
		||||
server_name = "0.0.0.0" if cmd_opts.listen else cmd_opts.server_name
 | 
			
		||||
 | 
			
		||||
def wrap_queued_call(func):
 | 
			
		||||
    def f(*args, **kwargs):
 | 
			
		||||
@ -85,6 +85,20 @@ def initialize():
 | 
			
		||||
    shared.opts.onchange("sd_hypernetwork", wrap_queued_call(lambda: modules.hypernetworks.hypernetwork.load_hypernetwork(shared.opts.sd_hypernetwork)))
 | 
			
		||||
    shared.opts.onchange("sd_hypernetwork_strength", modules.hypernetworks.hypernetwork.apply_strength)
 | 
			
		||||
 | 
			
		||||
    if cmd_opts.tls_keyfile is not None and cmd_opts.tls_keyfile is not None:
 | 
			
		||||
 | 
			
		||||
        try:
 | 
			
		||||
            if not os.path.exists(cmd_opts.tls_keyfile):
 | 
			
		||||
                print("Invalid path to TLS keyfile given")
 | 
			
		||||
            if not os.path.exists(cmd_opts.tls_certfile):
 | 
			
		||||
                print(f"Invalid path to TLS certfile: '{cmd_opts.tls_certfile}'")
 | 
			
		||||
        except TypeError:
 | 
			
		||||
            cmd_opts.tls_keyfile = cmd_opts.tls_certfile = None
 | 
			
		||||
            print("TLS setup invalid, running webui without TLS")
 | 
			
		||||
        else:
 | 
			
		||||
            print("Running with TLS")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
    # make the program just exit at ctrl+c without waiting for anything
 | 
			
		||||
    def sigint_handler(sig, frame):
 | 
			
		||||
        print(f'Interrupted with signal {sig} in {frame}')
 | 
			
		||||
@ -131,8 +145,10 @@ def webui():
 | 
			
		||||
 | 
			
		||||
        app, local_url, share_url = demo.launch(
 | 
			
		||||
            share=cmd_opts.share,
 | 
			
		||||
            server_name="0.0.0.0" if cmd_opts.listen else None,
 | 
			
		||||
            server_name=server_name,
 | 
			
		||||
            server_port=cmd_opts.port,
 | 
			
		||||
            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,
 | 
			
		||||
            inbrowser=cmd_opts.autolaunch,
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user