Sunshine 忘记 Web UI 用户名和密码时如何用 --creds 参数重置?
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
Sunshine 的 Web UI 默认通过https://localhost:47990访问(可将localhost替换为主机的内网 IP),首次启动时会要求创建登录用的用户名和密码,官方文档在 getting started 中专门用 CAUTION 提醒要记牢这组凭据——一旦忘记,就只能通过命令行重新设置。
Sunshine 为此提供了--creds参数。它的官方帮助文本是:
--creds username password | set user credentials for the Web manager(见 src/logging.cpp 中的print_help。)执行后,entry_handler.cpp 中的creds处理函数会调用http::save_user_creds(),把新的用户名和密码写入凭据文件。本文只覆盖这一件事:在忘记了 Web UI 登录信息的情况下,用--creds重置凭据并确认能重新登录。
准备:确定安装方式并准备好新凭据
troubleshooting 文档 的 "Forgotten Credentials" 一节按安装类型给出了三条命令,对应不同的调用方式。先确认你的 Sunshine 是哪种安装类型,再选择对应的一条:
- General:通过包管理器或源码直接安装、以
sunshine命令启动; - AppImage:以
./sunshine.AppImage方式运行; - Flatpak:通过 Flatpak 运行(appId 为
dev.lizardbyte.app.Sunshine)。
同时准备好新的用户名和密码。注意文档中的提示:命令里的{new-username}和{new-password}是占位符,必须替换成你实际要使用的新凭据,不要保留花括号。
执行重置
按安装类型选择下面其中一条命令执行:
# General sunshine --creds {new-username} {new-password}# AppImage ./sunshine.AppImage --creds {new-username} {new-password}# Flatpak flatpak run --command=sunshine dev.lizardbyte.app.Sunshine --creds {new-username} {new-password}三条命令的作用完全相同,只是 Sunshine 可执行入口不同;--creds后面依次跟新的用户名和新的密码。
这条命令只写凭据文件,不会影响正在运行的流媒体配置。凭据文件由credentials_file配置项指定,默认值为sunshine_state.json(见 configuration.md 的credentials_file一节)。
验证重置是否成功
两个判断依据:
看命令输出。
save_user_creds()在成功写入后会记录一条日志(见 src/httpcommon.cpp):New credentials have been created看到这条信息说明新凭据已经落盘。
用新凭据登录 Web UI。打开
https://localhost:47990,浏览器会提示"不安全网站"警告,这是因为 Sunshine 使用自签名证书,忽略即可。输入刚才设置的新用户名和新密码,能正常进入 Web UI 即完成重置。
失败提示与限制
- 写入失败:如果凭据文件不可写,src/httpcommon.cpp 中的错误日志会给出提示——
error writing to the credentials file, perhaps try this again as an administrator?,即建议以管理员权限重试该命令。 - 旧凭据被直接覆盖:
--creds会用新值写入username、salt和密码哈希,原有凭据不可恢复;在设置新值前确认自己已经记下了新组合。 - 参数位置固定为
--creds <username> <password>,两者都不能省略。若把help作为用户名或密码传入,程序只会打印帮助而不执行重置。 - 重置完成后,避免再次进入这个场景的办法只有一个,也是官方文档反复强调的:把 Web UI 凭据记下来。Sunshine 本身没有"找回密码"的路径,
--creds就是唯一的重新设置入口。
【免费下载链接】SunshineSelf-hosted game stream host for Moonlight.项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考