mirror of
https://github.com/nezhahq/nezha.git
synced 2025-01-22 12:48:14 -05:00
🐛 修复 Windows WebTerminal
This commit is contained in:
parent
2d30b2cf47
commit
7990689949
@ -4,7 +4,7 @@
|
||||
<br>
|
||||
<small><i>LOGO designed by <a href="https://xio.ng" target="_blank">熊大</a> .</i></small>
|
||||
<br><br>
|
||||
<img src="https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=Dash%20v0.9.22&logo=github&style=for-the-badge"> <img src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.6.7-brightgreen?style=for-the-badge&logo=linux">
|
||||
<img src="https://img.shields.io/github/workflow/status/naiba/nezha/Dashboard%20image?label=Dash%20v0.9.23&logo=github&style=for-the-badge"> <img src="https://img.shields.io/github/v/release/naiba/nezha?color=brightgreen&label=Agent&style=for-the-badge&logo=github"> <img src="https://img.shields.io/github/workflow/status/naiba/nezha/Agent%20release?label=Agent%20CI&logo=github&style=for-the-badge"> <img src="https://img.shields.io/badge/Installer-v0.6.7-brightgreen?style=for-the-badge&logo=linux">
|
||||
<br>
|
||||
<br>
|
||||
<p>:trollface: <b>哪吒监控</b> 一站式轻监控轻运维系统。支持系统状态、HTTP(SSL 证书变更、即将到期、到期)、TCP、Ping 监控报警,命令批量执行和计划任务。</p>
|
||||
|
@ -4,12 +4,15 @@
|
||||
package pty
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"os"
|
||||
"os/exec"
|
||||
|
||||
opty "github.com/creack/pty"
|
||||
)
|
||||
|
||||
var defaultShells = []string{"zsh", "fish", "bash", "sh"}
|
||||
|
||||
type Pty struct {
|
||||
tty *os.File
|
||||
cmd *exec.Cmd
|
||||
@ -19,9 +22,15 @@ func DownloadDependency() {
|
||||
}
|
||||
|
||||
func Start() (*Pty, error) {
|
||||
shellPath := os.Getenv("SHELL")
|
||||
var shellPath string
|
||||
for i := 0; i < len(defaultShells); i++ {
|
||||
shellPath, _ = exec.LookPath(defaultShells[i])
|
||||
if shellPath != "" {
|
||||
break
|
||||
}
|
||||
}
|
||||
if shellPath == "" {
|
||||
shellPath = "sh"
|
||||
return nil, errors.New("没有可用终端")
|
||||
}
|
||||
cmd := exec.Command(shellPath)
|
||||
cmd.Env = append(os.Environ(), "TERM=xterm")
|
||||
|
@ -73,12 +73,12 @@ func Start() (*Pty, error) {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
tty, err := winpty.Open(path, shellPath)
|
||||
tty, err := winpty.OpenDefault(path, shellPath)
|
||||
return &Pty{tty: tty}, err
|
||||
}
|
||||
|
||||
func (pty *Pty) Write(p []byte) (n int, err error) {
|
||||
return pty.tty.StdIn.Read(p)
|
||||
return pty.tty.StdIn.Write(p)
|
||||
}
|
||||
|
||||
func (pty *Pty) Read(p []byte) (n int, err error) {
|
||||
|
@ -163,6 +163,7 @@ function post(path, params, method = 'post') {
|
||||
const form = document.createElement('form');
|
||||
form.method = method;
|
||||
form.action = path;
|
||||
form.target = "_blank";
|
||||
|
||||
for (const key in params) {
|
||||
if (params.hasOwnProperty(key)) {
|
||||
@ -176,6 +177,7 @@ function post(path, params, method = 'post') {
|
||||
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
document.removeChild(form);
|
||||
}
|
||||
|
||||
function addOrEditServer(server, conf) {
|
||||
|
2
resource/template/common/footer.html
vendored
2
resource/template/common/footer.html
vendored
@ -9,7 +9,7 @@
|
||||
<script src="https://cdn.jsdelivr.net/npm/semantic-ui@2.4.1/dist/semantic.min.js"></script>
|
||||
<script src="/static/semantic-ui-alerts.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.min.js"></script>
|
||||
<script src="/static/main.js?v20210817"></script>
|
||||
<script src="/static/main.js?v20210818"></script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
@ -40,6 +40,10 @@
|
||||
term.loadAddon(fitAddon);
|
||||
term.open(document.getElementById('terminal-container'));
|
||||
|
||||
socket.onopen = () => {
|
||||
onResize()
|
||||
}
|
||||
|
||||
function onResize() {
|
||||
fitAddon.fit()
|
||||
const w = fitAddon.proposeDimensions();
|
||||
|
@ -1,5 +1,6 @@
|
||||
debug: false
|
||||
httpport: 80
|
||||
httpport: nz_grpc_port
|
||||
grpcport:
|
||||
oauth2:
|
||||
type: "nz_oauth2_type" #Oauth2 登录接入类型,gitee/github
|
||||
admin: "nz_admin_logins" #管理员列表,半角逗号隔开
|
||||
|
@ -8,4 +8,4 @@ services:
|
||||
- ./data:/dashboard/data
|
||||
ports:
|
||||
- nz_site_port:80
|
||||
- nz_grpc_port:5555
|
||||
- nz_grpc_port:nz_grpc_port
|
||||
|
@ -305,6 +305,7 @@ modify_dashboard_config() {
|
||||
|
||||
sed -i "s/nz_oauth2_type/${nz_oauth2_type}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
sed -i "s/nz_admin_logins/${nz_admin_logins}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
sed -i "s/nz_grpc_port/${nz_grpc_port}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
sed -i "s/nz_github_oauth_client_id/${nz_github_oauth_client_id}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
sed -i "s/nz_github_oauth_client_secret/${nz_github_oauth_client_secret}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
sed -i "s/nz_site_title/${nz_site_title}/" ${NZ_DASHBOARD_PATH}/data/config.yaml
|
||||
|
@ -13,7 +13,7 @@ import (
|
||||
pb "github.com/naiba/nezha/proto"
|
||||
)
|
||||
|
||||
var Version = "v0.9.22" // !!记得修改 README 中的 badge 版本!!
|
||||
var Version = "v0.9.23" // !!记得修改 README 中的 badge 版本!!
|
||||
|
||||
var (
|
||||
Conf *model.Config
|
||||
|
Loading…
Reference in New Issue
Block a user