From da166c73947e0dc2850a63d231527c9c10e59951 Mon Sep 17 00:00:00 2001
From: OldCat <924417424@qq.com>
Date: Mon, 14 Dec 2020 21:37:22 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=97=A0=E6=93=8D=E4=BD=9C?=
=?UTF-8?q?=E8=87=AA=E5=8A=A8=E6=96=AD=E5=BC=80=E3=80=81=E4=BF=AE=E5=A4=8D?=
=?UTF-8?q?JS=E5=8A=A0=E8=BD=BD=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
README.md | 3 +++
common/core/ssh.go | 3 +++
common/jwt.go | 2 +-
controller/login.go | 2 +-
controller/term.go | 4 ++--
go.mod | 3 ++-
go.sum | 13 +++++++++++++
view/add.html | 11 +++++++++++
view/index.html | 11 +++++++++++
view/open_term.html | 11 +++++++++++
view/reset.html | 11 +++++++++++
view/s_list.html | 11 +++++++++++
12 files changed, 80 insertions(+), 5 deletions(-)
diff --git a/README.md b/README.md
index 0d5ea06..4a34917 100644
--- a/README.md
+++ b/README.md
@@ -11,6 +11,9 @@ ssh2ws部分代码修改自https://github.com/hequan2017/go-webssh
## 开发框架
Gin + gorm
+## 更新日志
+ 2020/12/14 修复无操作自动断开、修复网络延迟造成的js加载延迟问题
+
## 开发计划
✔ ssh功能
diff --git a/common/core/ssh.go b/common/core/ssh.go
index 7ddfeb7..47a6e86 100644
--- a/common/core/ssh.go
+++ b/common/core/ssh.go
@@ -11,6 +11,7 @@ import (
"os"
"strings"
"time"
+ //"github.com/pkg/sftp"
)
func NewSshClient(server Server) (*ssh.Client, error) {
@@ -27,6 +28,8 @@ func NewSshClient(server Server) (*ssh.Client, error) {
//}
addr := fmt.Sprintf("%s:%d", server.Ip, server.Port)
c, err := ssh.Dial("tcp", addr, config)
+ //s,_ := sftp.NewClient(c)
+ //s.Write()
if err != nil {
return nil, err
}
diff --git a/common/jwt.go b/common/jwt.go
index 05d23d2..d9969cf 100644
--- a/common/jwt.go
+++ b/common/jwt.go
@@ -13,7 +13,7 @@ type Claims struct {
}
func ReleaseToken(id uint) (token string, err error) {
- expire_time := time.Now().Add(7 * 24 * time.Hour)
+ expire_time := time.Now().Add(3 * 24 * time.Hour)
claims := &Claims{
Userid: id,
StandardClaims: jwt.StandardClaims{
diff --git a/controller/login.go b/controller/login.go
index c614dbb..f6b69e8 100644
--- a/controller/login.go
+++ b/controller/login.go
@@ -25,7 +25,7 @@ func Login(c *gin.Context) {
defer db.Close()
db.DB.Where(model.User{Phone: user.Phone}).FirstOrCreate(&userinfo)
new_token, err := common.ReleaseToken(userinfo.ID)
- if err == nil {
+ if err == nil && userinfo.ID > 0 {
resp.Code = errcode.C_nil_err
resp.Msg = "登陆成功"
resp.Data = userinfo
diff --git a/controller/term.go b/controller/term.go
index d71dbe5..f6193b9 100644
--- a/controller/term.go
+++ b/controller/term.go
@@ -117,12 +117,12 @@ func WsSsh(c *gin.Context) {
}
defer ssConn.Close()
- quitChan := make(chan bool, 2)
+ quitChan := make(chan bool, 3)
// most messages are ssh output, not webSocket input
go ssConn.ReceiveWsMsg(wsConn, quitChan)
go ssConn.SendComboOutput(wsConn, quitChan)
- //go ssConn.SessionWait(quitChan)
+ go ssConn.SessionWait(quitChan)
<-quitChan //任意协程退出则结束
fmt.Println("Exit")
diff --git a/go.mod b/go.mod
index 728a5ad..dce46ff 100644
--- a/go.mod
+++ b/go.mod
@@ -12,6 +12,7 @@ require (
github.com/gorilla/websocket v1.4.2
github.com/jinzhu/gorm v1.9.16
github.com/mitchellh/go-homedir v1.1.0
+ github.com/pkg/sftp v1.12.0
github.com/satori/go.uuid v1.2.0
- golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd
+ golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a
)
diff --git a/go.sum b/go.sum
index f293bbb..115a84f 100644
--- a/go.sum
+++ b/go.sum
@@ -54,6 +54,8 @@ github.com/json-iterator/go v1.1.9 h1:9yzud/Ht36ygwatGx56VwCZtlI/2AD15T1X2sjSuGn
github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4=
github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo=
github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU=
+github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
+github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
github.com/leodido/go-urn v1.2.0 h1:hpXL4XnriNwQ/ABnpepYM/1vCLWNDfUNts8dX3xTG6Y=
github.com/leodido/go-urn v1.2.0/go.mod h1:+8+nEpDfqqsY+g338gtMEUOtuK+4dEMhiQEgxpxOKII=
github.com/lib/pq v1.1.1 h1:sJZmqHoEaY7f+NPP8pgLB/WxulyR3fewgCM2qaSlBb4=
@@ -70,6 +72,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w
github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742 h1:Esafd1046DLDQ0W1YjYsBW+p8U2u7vzgW2SQVmlNazg=
github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/sftp v1.12.0 h1:/f3b24xrDhkhddlaobPe2JgBqfdt+gC/NYl0QY9IOuI=
+github.com/pkg/sftp v1.12.0/go.mod h1:fUqqXB5vEgVCZ131L+9say31RAri6aF6KDViawhxKK8=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/satori/go.uuid v1.2.0 h1:0uYX9dsZ2yD7q2RtLRtPSdGDWzjeM3TbMJP9utgA0ww=
@@ -82,6 +88,8 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/ugorji/go v1.1.7 h1:/68gy2h+1mWMrwZFeD1kQialdSzAb432dtpeJ42ovdo=
github.com/ugorji/go v1.1.7/go.mod h1:kZn38zHttfInRq0xu/PH0az30d+z6vm202qpg1oXVMw=
github.com/ugorji/go/codec v1.1.7 h1:2SvQaVZ1ouYrrKKwoSk2pzd4A9evlKJb9oTL+OaLUSs=
@@ -90,6 +98,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd h1:GGJVjV8waZKRHrgwvtH66z9ZGVurTD1MT0n1Bb+q4aM=
golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a h1:vclmkQCjlDX5OydZ9wv8rBCcS0QyQY66Mpf/7BZbInM=
+golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
@@ -101,6 +111,7 @@ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd h1:xhmwyvizuTgC2qz7ZlMluP20uW+C3Rm0FD/WLDX8884=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -111,3 +122,5 @@ gopkg.in/ini.v1 v1.42.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/view/add.html b/view/add.html
index e4e7160..9836862 100644
--- a/view/add.html
+++ b/view/add.html
@@ -76,5 +76,16 @@
+