mirror of
https://github.com/jeessy2/ddns-go.git
synced 2025-10-20 07:23:47 +08:00
feat: remove auto browser opening feature (#1460)
* feat: remove auto browser opening feature * docs: update initialization configuration instructions in README files Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
@ -40,6 +40,8 @@
|
||||
- 安装服务
|
||||
- Mac/Linux: `sudo ./ddns-go -s install`
|
||||
- Win(以管理员打开cmd): `.\ddns-go.exe -s install`
|
||||
- 配置
|
||||
- 打开浏览器并访问`http://localhost:9876`进行初始化配置
|
||||
- [可选] 服务卸载
|
||||
- Mac/Linux: `sudo ./ddns-go -s uninstall`
|
||||
- Win(以管理员打开cmd): `.\ddns-go.exe -s uninstall`
|
||||
@ -75,7 +77,7 @@
|
||||
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
|
||||
```
|
||||
|
||||
- 在浏览器中打开`http://主机IP:9876`,并修改你的配置
|
||||
- 打开浏览器并访问`http://Docker主机IP:9876`进行初始化配置
|
||||
|
||||
- [可选] 使用 `ghcr.io` 镜像
|
||||
|
||||
|
@ -38,6 +38,8 @@ Automatically obtain your public IPv4 or IPv6 address and resolve it to the corr
|
||||
- Run in service mode
|
||||
- Mac/Linux: `sudo ./ddns-go -s install`
|
||||
- Win(Run as administrator): `.\ddns-go.exe -s install`
|
||||
- Config
|
||||
- Please open the browser and visit `http://localhost:9876` for initial configuration
|
||||
- [Optional] Uninstall service
|
||||
- Mac/Linux: `sudo ./ddns-go -s uninstall`
|
||||
- Win(Run as administrator): `.\ddns-go.exe -s uninstall`
|
||||
@ -72,7 +74,7 @@ Automatically obtain your public IPv4 or IPv6 address and resolve it to the corr
|
||||
docker run -d --name ddns-go --restart=always --net=host -v /opt/ddns-go:/root jeessy/ddns-go
|
||||
```
|
||||
|
||||
- Open `http://DOCKER_IP:9876` in the browser, modify your configuration
|
||||
- Please open the browser and visit `http://DOCKER_IP:9876` for initial configuration
|
||||
|
||||
- [Optional] Use `ghcr.io` mirror
|
||||
|
||||
|
26
main.go
26
main.go
@ -199,9 +199,6 @@ func runWebServer() error {
|
||||
return errors.New(util.LogStr("监听端口发生异常, 请检查端口是否被占用! %s", err))
|
||||
}
|
||||
|
||||
// 没有配置, 自动打开浏览器
|
||||
autoOpenExplorer()
|
||||
|
||||
return http.Serve(l, nil)
|
||||
}
|
||||
|
||||
@ -329,29 +326,6 @@ func restartService() {
|
||||
}
|
||||
}
|
||||
|
||||
// 打开浏览器
|
||||
func autoOpenExplorer() {
|
||||
_, err := config.GetConfigCached()
|
||||
// 未找到配置文件
|
||||
if err != nil {
|
||||
if util.IsRunInDocker() {
|
||||
// docker中运行, 提示
|
||||
util.Log("Docker中运行, 请在浏览器中打开 http://docker主机IP:9876 进行配置")
|
||||
} else {
|
||||
// 主机运行, 打开浏览器
|
||||
addr, err := net.ResolveTCPAddr("tcp", *listen)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
url := fmt.Sprintf("http://127.0.0.1:%d", addr.Port)
|
||||
if addr.IP.IsGlobalUnicast() {
|
||||
url = fmt.Sprintf("http://%s", addr.String())
|
||||
}
|
||||
go util.OpenExplorer(url)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const sysvScript = `#!/bin/sh /etc/rc.common
|
||||
DESCRIPTION="{{.Description}}"
|
||||
cmd="{{.Path}}{{range .Arguments}} {{.|cmd}}{{end}}"
|
||||
|
@ -89,7 +89,6 @@ func init() {
|
||||
|
||||
// main
|
||||
message.SetString(language.English, "监听端口发生异常, 请检查端口是否被占用! %s", "Port listening failed, please check if the port is occupied! %s")
|
||||
message.SetString(language.English, "Docker中运行, 请在浏览器中打开 http://docker主机IP:9876 进行配置", "Running in Docker, please open http://docker-host-ip:9876 in the browser for configuration")
|
||||
message.SetString(language.English, "ddns-go 服务卸载成功", "ddns-go service uninstalled successfully")
|
||||
message.SetString(language.English, "ddns-go 服务卸载失败, 异常信息: %s", "ddns-go service uninstallation failed, Exception: %s")
|
||||
message.SetString(language.English, "安装 ddns-go 服务成功! 请打开浏览器并进行配置", "Installed ddns-go service successfully! Please open the browser and configure it")
|
||||
|
@ -1,32 +0,0 @@
|
||||
package util
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"os/exec"
|
||||
"runtime"
|
||||
)
|
||||
|
||||
// OpenExplorer 打开本地浏览器
|
||||
func OpenExplorer(url string) {
|
||||
var cmd *exec.Cmd
|
||||
switch runtime.GOOS {
|
||||
case "windows":
|
||||
cmd = exec.Command("rundll32", "url.dll,FileProtocolHandler", url)
|
||||
case "darwin": // macOS
|
||||
cmd = exec.Command("open", url)
|
||||
default: // Linux
|
||||
// 如果在 Termux 中运行则停止,因为 exec.Command 可能会触发 SIGSYS: bad system call
|
||||
// https://github.com/docker/compose/issues/10511#issuecomment-1531453435
|
||||
if isTermux() {
|
||||
return
|
||||
}
|
||||
|
||||
cmd = exec.Command("xdg-open", url)
|
||||
}
|
||||
|
||||
if err := cmd.Start(); err != nil {
|
||||
fmt.Printf("Please open a browser and visit %s to finish the configuration\n", url)
|
||||
} else {
|
||||
fmt.Printf("Success to open the browser, please configure in the web page\n")
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user