Skip to content

Commit 4ddd2cc

Browse files
committed
perf: change to sdk-go and add session size
1 parent ff3bdce commit 4ddd2cc

76 files changed

Lines changed: 129 additions & 3300 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ jobs:
3939
prerelease: false
4040
- uses: actions/setup-go@v2
4141
with:
42-
go-version: '1.21.x' # The Go version to download (if necessary) and use.
42+
go-version: '1.23.x' # The Go version to download (if necessary) and use.
4343
- name: Make Build
4444
id: make_build
4545
env:

cmd/common/beat_service.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ import (
88

99
"github.com/gorilla/websocket"
1010

11-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
12-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
13-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
11+
"github.com/jumpserver-dev/sdk-go/common"
12+
"github.com/jumpserver-dev/sdk-go/model"
13+
"github.com/jumpserver-dev/sdk-go/service"
1414
"github.com/jumpserver/wisp/pkg/logger"
1515
)
1616

cmd/common/forward_service.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ import (
77

88
"golang.org/x/crypto/ssh"
99

10+
"github.com/jumpserver-dev/sdk-go/model"
1011
"github.com/jumpserver/wisp/pkg/forward"
11-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
1212
"github.com/jumpserver/wisp/pkg/logger"
1313
"github.com/jumpserver/wisp/pkg/sshclient"
1414

cmd/common/jms_service.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,9 @@ import (
55
"os"
66
"time"
77

8+
"github.com/jumpserver-dev/sdk-go/model"
9+
"github.com/jumpserver-dev/sdk-go/service"
810
"github.com/jumpserver/wisp/pkg/config"
9-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
10-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
1111
"github.com/jumpserver/wisp/pkg/logger"
1212
)
1313

cmd/common/remain_replay.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package common
33
import (
44
"strings"
55

6-
modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
7-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
6+
modelCommon "github.com/jumpserver-dev/sdk-go/common"
7+
"github.com/jumpserver-dev/sdk-go/model"
88
)
99

1010
/*

cmd/common/storage_backend.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package common
33
import (
44
"strings"
55

6-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
7-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
6+
"github.com/jumpserver-dev/sdk-go/model"
7+
"github.com/jumpserver-dev/sdk-go/service"
88
"github.com/jumpserver/wisp/pkg/storage"
99
)
1010

cmd/common/uploader_service.go

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@ import (
99
"sync/atomic"
1010
"time"
1111

12-
modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
13-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
14-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
12+
modelCommon "github.com/jumpserver-dev/sdk-go/common"
13+
"github.com/jumpserver-dev/sdk-go/model"
14+
"github.com/jumpserver-dev/sdk-go/service"
1515
"github.com/jumpserver/wisp/pkg/logger"
1616
)
1717

@@ -178,11 +178,17 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
178178
return nil
179179
}
180180

181+
fileInfo, err := os.Stat(absGzFile)
182+
if err != nil {
183+
logger.Errorf("Uploader service replay file %s stat failed: %s", absGzFile, err)
184+
return err
185+
}
186+
181187
err = replayBackend.Upload(absGzFile, target)
182188
if err != nil && replayBackendName != "server" {
183189
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadFailure, err.Error())
184190
logger.Errorf("Uploader service replay backend %s error %s", replayBackendName, err)
185-
logger.Error("Switch default server to upload replay %s.", absGzFile)
191+
logger.Errorf("Switch default server to upload replay %s.", absGzFile)
186192
replayBackendName = "server"
187193
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadStart, "")
188194
err = u.apiClient.Upload(sid, absGzFile)
@@ -194,7 +200,7 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
194200
}
195201
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadSuccess, "")
196202
logger.Infof("Uploader service replay file %s upload to %s", absGzFile, replayBackendName)
197-
if _, err = u.apiClient.FinishReply(sid); err != nil {
203+
if _, err = u.apiClient.FinishReplyWithSize(sid, fileInfo.Size()); err != nil {
198204
logger.Errorf("Finish %s replay api failed: %s", sid, err)
199205
return err
200206
}
@@ -228,17 +234,22 @@ func (u *UploaderService) UploadRemainReplays(replayDir string) {
228234
u.recordingSessionLifecycleReplay(remainReplay.Id, model.ReplayUploadSuccess, "")
229235
logger.Infof("Uploader service upload replay %s success", replayPath)
230236
// 上传完成 删除原录像文件
231-
if err := os.Remove(replayPath); err != nil {
232-
logger.Errorf("Uploader service clean remain replay %s failed: %s",
233-
replayPath, err)
237+
238+
fileInfo, err := os.Stat(replayPath)
239+
if err != nil {
240+
logger.Errorf("Uploader service replay file %s stat failed: %s", replayPath, err)
241+
continue
234242
}
235-
if _, err := u.apiClient.FinishReply(remainReplay.Id); err != nil {
243+
if _, err := u.apiClient.FinishReplyWithSize(remainReplay.Id, fileInfo.Size()); err != nil {
236244
logger.Errorf("Uploader service notify session %s replay finished failed: %s",
237245
remainReplay.Id, err)
238246
}
247+
if err := os.Remove(replayPath); err != nil {
248+
logger.Errorf("Uploader service clean remain replay %s failed: %s",
249+
replayPath, err)
250+
}
239251
}
240252
logger.Infof("Uploader service upload remain replay files done")
241-
return
242253
}
243254

244255
func (u *UploaderService) recordingSessionLifecycleReplay(sid string, event model.LifecycleEvent, msgErr string) {

cmd/impl/convert_model.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
package impl
22

33
import (
4-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
5-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
4+
"github.com/jumpserver-dev/sdk-go/common"
5+
"github.com/jumpserver-dev/sdk-go/model"
66
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
77
)
88

9-
var modelLoginFrom = map[pb.Session_LoginFrom]model.LabelFiled{
9+
var modelLoginFrom = map[pb.Session_LoginFrom]model.LabelField{
1010
pb.Session_WT: model.LoginFromWT,
1111
pb.Session_ST: model.LoginFromST,
1212
pb.Session_RT: model.LoginFromRT,
1313
pb.Session_DT: model.LoginFromDT,
1414
}
1515

16-
func ConvertModelLoginFrom(lf pb.Session_LoginFrom) model.LabelFiled {
16+
func ConvertModelLoginFrom(lf pb.Session_LoginFrom) model.LabelField {
1717
return modelLoginFrom[lf]
1818
}
1919

cmd/impl/convert_pb.go

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import (
44
"fmt"
55
"strconv"
66

7-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
7+
"github.com/jumpserver-dev/sdk-go/model"
88
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
99
)
1010

@@ -57,7 +57,7 @@ func ConvertToProtobufAsset(asset model.Asset) *pb.Asset {
5757
ClientCert: secretInfo.ClientCert,
5858
ClientKey: secretInfo.ClientKey,
5959
AllowInvalidCert: specific.AllowInvalidCert,
60-
AutoFill: specific.AutoFill,
60+
AutoFill: specific.Autofill,
6161
UsernameSelector: specific.UsernameSelector,
6262
PasswordSelector: specific.PasswordSelector,
6363
SubmitSelector: specific.SubmitSelector,
@@ -131,7 +131,7 @@ func ConvertToProtobufFilterRule(rule model.CommandACL) *pb.CommandACL {
131131
}
132132
}
133133

134-
func ConvertToProtobufCommandGroup(groups []model.CommandGroup) []*pb.CommandGroup {
134+
func ConvertToProtobufCommandGroup(groups []model.CommandFilterItem) []*pb.CommandGroup {
135135
pbRules := make([]*pb.CommandGroup, 0, len(groups))
136136
for i := range groups {
137137
group := groups[i]
@@ -140,7 +140,7 @@ func ConvertToProtobufCommandGroup(groups []model.CommandGroup) []*pb.CommandGro
140140
Name: group.Name,
141141
Type: group.Type,
142142
IgnoreCase: group.IgnoreCase,
143-
Pattern: group.Pattern,
143+
Pattern: group.RePattern,
144144
Content: group.Content})
145145
}
146146
return pbRules
@@ -193,11 +193,11 @@ func ConvertToProtobufSession(sess model.Session) *pb.Session {
193193
}
194194
}
195195

196-
func ConvertToPbLoginFrom(s model.LabelFiled) pb.Session_LoginFrom {
196+
func ConvertToPbLoginFrom(s model.LabelField) pb.Session_LoginFrom {
197197
return pbLoginFrom[s]
198198
}
199199

200-
var pbLoginFrom = map[model.LabelFiled]pb.Session_LoginFrom{
200+
var pbLoginFrom = map[model.LabelField]pb.Session_LoginFrom{
201201
model.LoginFromWT: pb.Session_WT,
202202
model.LoginFromST: pb.Session_ST,
203203
model.LoginFromRT: pb.Session_RT,

cmd/impl/jms.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ import (
77
"net"
88
"strconv"
99

10+
modelCommon "github.com/jumpserver-dev/sdk-go/common"
11+
"github.com/jumpserver-dev/sdk-go/model"
12+
"github.com/jumpserver-dev/sdk-go/service"
1013
"github.com/jumpserver/wisp/cmd/common"
1114
"github.com/jumpserver/wisp/pkg/forward"
12-
modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
13-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
14-
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
1515
"github.com/jumpserver/wisp/pkg/logger"
1616
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
1717
)
@@ -39,7 +39,7 @@ type JMServer struct {
3939
func (j *JMServer) GetTokenAuthInfo(ctx context.Context, req *pb.TokenRequest) (*pb.TokenResponse, error) {
4040
var status pb.Status
4141
var gateways []model.Gateway
42-
tokenAuthInfo, err := j.apiClient.GetConnectTokenInfo(req.Token)
42+
tokenAuthInfo, err := j.apiClient.GetConnectTokenInfo(req.Token, true)
4343
if err != nil {
4444
status.Err = err.Error()
4545
logger.Errorf("Get Connect token auth failed: %s", err)
@@ -381,10 +381,10 @@ func (j *JMServer) GetPublicSetting(ctx context.Context, empty *pb.Empty) (*pb.P
381381
pbSetting := pb.PublicSetting{
382382
XpackEnabled: data.XpackEnabled,
383383
ValidLicense: data.ValidLicense,
384-
GptBaseUrl: setting.GPTBaseURL,
385-
GptApiKey: setting.GPTApiKey,
386-
GptProxy: setting.GPTProxy,
387-
GptModel: setting.GPTModel,
384+
GptBaseUrl: setting.GptBaseUrl,
385+
GptApiKey: setting.GptApiKey,
386+
GptProxy: setting.GptProxy,
387+
GptModel: setting.GptModel,
388388
LicenseContent: setting.LicenseContent,
389389
}
390390
return &pb.PublicSettingResponse{Status: &status, Data: &pbSetting}, nil

0 commit comments

Comments
 (0)