日期:2023-08-15  浏览次数:62 次

本地化的SD-WEBUI(Stable-Diffution-WenUI)默认仅监听127.0.0.1的7860端口,有些大佬的整合包启动器似乎也加了网络相关的设置,具体没有体验。不过我现在通过修改程序源代码的一些功能可以实现监听所有地址,去除了之恶能使用本地环回地址访问的限制。

    首先再程序根目录找到名为‘webui.py’的文件,在代码61行的位置,有以下一段代码,原始代码如下:

 if cmd_opts.server_name:
     server_name = cmd_opts.server_name
 else:
     server_name = "0.0.0.0" if cmd_opts.listen else None

还有在222行附近的一段代码,如下:

api.launch(server_name="0.0.0.0" if cmd_opts.listen else "127.0.0.1", port=cmd_opts.port if cmd_opts.port else 7861)

修改这两段代码,第一段如下:

if cmd_opts.server_name:
   server_name = cmd_opts.server_name
else:
   server_name = "0.0.0.0"

第二段如下:

api.launch(server_name=server_name if server_name else "0.0.0.0", port=cmd_opts.port if cmd_opts.port else 7861)

    修改前建议备份原文件,两端代码分别在原位置替换或注释原有的代码,另起一行粘贴,注意位置可以顺延,但是代码缩进层级必须严格按照源代码规范,否则无法正常运行。