Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
prerelease: false
- uses: actions/setup-go@v2
with:
go-version: '1.21.x' # The Go version to download (if necessary) and use.
go-version: '1.23.x' # The Go version to download (if necessary) and use.
- name: Make Build
id: make_build
env:
Expand Down
6 changes: 3 additions & 3 deletions cmd/common/beat_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import (

"github.com/gorilla/websocket"

"github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
"github.com/jumpserver-dev/sdk-go/common"
"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver-dev/sdk-go/service"
"github.com/jumpserver/wisp/pkg/logger"
)

Expand Down
2 changes: 1 addition & 1 deletion cmd/common/forward_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (

"golang.org/x/crypto/ssh"

"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver/wisp/pkg/forward"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/logger"
"github.com/jumpserver/wisp/pkg/sshclient"

Expand Down
4 changes: 2 additions & 2 deletions cmd/common/jms_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import (
"os"
"time"

"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver-dev/sdk-go/service"
"github.com/jumpserver/wisp/pkg/config"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
"github.com/jumpserver/wisp/pkg/logger"
)

Expand Down
4 changes: 2 additions & 2 deletions cmd/common/remain_replay.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package common
import (
"strings"

modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
modelCommon "github.com/jumpserver-dev/sdk-go/common"
"github.com/jumpserver-dev/sdk-go/model"
)

/*
Expand Down
4 changes: 2 additions & 2 deletions cmd/common/storage_backend.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package common
import (
"strings"

"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver-dev/sdk-go/service"
"github.com/jumpserver/wisp/pkg/storage"
)

Expand Down
31 changes: 21 additions & 10 deletions cmd/common/uploader_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ import (
"sync/atomic"
"time"

modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
modelCommon "github.com/jumpserver-dev/sdk-go/common"
"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver-dev/sdk-go/service"
"github.com/jumpserver/wisp/pkg/logger"
)

Expand Down Expand Up @@ -178,11 +178,17 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
return nil
}

fileInfo, err := os.Stat(absGzFile)
if err != nil {
logger.Errorf("Uploader service replay file %s stat failed: %s", absGzFile, err)
return err
}

err = replayBackend.Upload(absGzFile, target)
if err != nil && replayBackendName != "server" {
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadFailure, err.Error())
logger.Errorf("Uploader service replay backend %s error %s", replayBackendName, err)
logger.Error("Switch default server to upload replay %s.", absGzFile)
logger.Errorf("Switch default server to upload replay %s.", absGzFile)
replayBackendName = "server"
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadStart, "")
err = u.apiClient.Upload(sid, absGzFile)
Expand All @@ -194,7 +200,7 @@ func (u *UploaderService) UploadReplay(sid, replayPath string) error {
}
u.recordingSessionLifecycleReplay(sid, model.ReplayUploadSuccess, "")
logger.Infof("Uploader service replay file %s upload to %s", absGzFile, replayBackendName)
if _, err = u.apiClient.FinishReply(sid); err != nil {
if _, err = u.apiClient.FinishReplyWithSize(sid, fileInfo.Size()); err != nil {
logger.Errorf("Finish %s replay api failed: %s", sid, err)
return err
}
Expand Down Expand Up @@ -228,17 +234,22 @@ func (u *UploaderService) UploadRemainReplays(replayDir string) {
u.recordingSessionLifecycleReplay(remainReplay.Id, model.ReplayUploadSuccess, "")
logger.Infof("Uploader service upload replay %s success", replayPath)
// 上传完成 删除原录像文件
if err := os.Remove(replayPath); err != nil {
logger.Errorf("Uploader service clean remain replay %s failed: %s",
replayPath, err)

fileInfo, err := os.Stat(replayPath)
if err != nil {
logger.Errorf("Uploader service replay file %s stat failed: %s", replayPath, err)
continue
}
if _, err := u.apiClient.FinishReply(remainReplay.Id); err != nil {
if _, err := u.apiClient.FinishReplyWithSize(remainReplay.Id, fileInfo.Size()); err != nil {
logger.Errorf("Uploader service notify session %s replay finished failed: %s",
remainReplay.Id, err)
}
if err := os.Remove(replayPath); err != nil {
logger.Errorf("Uploader service clean remain replay %s failed: %s",
replayPath, err)
}
}
logger.Infof("Uploader service upload remain replay files done")
return
}

func (u *UploaderService) recordingSessionLifecycleReplay(sid string, event model.LifecycleEvent, msgErr string) {
Expand Down
8 changes: 4 additions & 4 deletions cmd/impl/convert_model.go
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package impl

import (
"github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver-dev/sdk-go/common"
"github.com/jumpserver-dev/sdk-go/model"
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
)

var modelLoginFrom = map[pb.Session_LoginFrom]model.LabelFiled{
var modelLoginFrom = map[pb.Session_LoginFrom]model.LabelField{
pb.Session_WT: model.LoginFromWT,
pb.Session_ST: model.LoginFromST,
pb.Session_RT: model.LoginFromRT,
pb.Session_DT: model.LoginFromDT,
}

func ConvertModelLoginFrom(lf pb.Session_LoginFrom) model.LabelFiled {
func ConvertModelLoginFrom(lf pb.Session_LoginFrom) model.LabelField {
return modelLoginFrom[lf]
}

Expand Down
12 changes: 6 additions & 6 deletions cmd/impl/convert_pb.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
"strconv"

"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver-dev/sdk-go/model"
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
)

Expand Down Expand Up @@ -57,7 +57,7 @@ func ConvertToProtobufAsset(asset model.Asset) *pb.Asset {
ClientCert: secretInfo.ClientCert,
ClientKey: secretInfo.ClientKey,
AllowInvalidCert: specific.AllowInvalidCert,
AutoFill: specific.AutoFill,
AutoFill: specific.Autofill,
UsernameSelector: specific.UsernameSelector,
PasswordSelector: specific.PasswordSelector,
SubmitSelector: specific.SubmitSelector,
Expand Down Expand Up @@ -131,7 +131,7 @@ func ConvertToProtobufFilterRule(rule model.CommandACL) *pb.CommandACL {
}
}

func ConvertToProtobufCommandGroup(groups []model.CommandGroup) []*pb.CommandGroup {
func ConvertToProtobufCommandGroup(groups []model.CommandFilterItem) []*pb.CommandGroup {
pbRules := make([]*pb.CommandGroup, 0, len(groups))
for i := range groups {
group := groups[i]
Expand All @@ -140,7 +140,7 @@ func ConvertToProtobufCommandGroup(groups []model.CommandGroup) []*pb.CommandGro
Name: group.Name,
Type: group.Type,
IgnoreCase: group.IgnoreCase,
Pattern: group.Pattern,
Pattern: group.RePattern,
Content: group.Content})
}
return pbRules
Expand Down Expand Up @@ -193,11 +193,11 @@ func ConvertToProtobufSession(sess model.Session) *pb.Session {
}
}

func ConvertToPbLoginFrom(s model.LabelFiled) pb.Session_LoginFrom {
func ConvertToPbLoginFrom(s model.LabelField) pb.Session_LoginFrom {
return pbLoginFrom[s]
}

var pbLoginFrom = map[model.LabelFiled]pb.Session_LoginFrom{
var pbLoginFrom = map[model.LabelField]pb.Session_LoginFrom{
model.LoginFromWT: pb.Session_WT,
model.LoginFromST: pb.Session_ST,
model.LoginFromRT: pb.Session_RT,
Expand Down
16 changes: 8 additions & 8 deletions cmd/impl/jms.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ import (
"net"
"strconv"

modelCommon "github.com/jumpserver-dev/sdk-go/common"
"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver-dev/sdk-go/service"
"github.com/jumpserver/wisp/cmd/common"
"github.com/jumpserver/wisp/pkg/forward"
modelCommon "github.com/jumpserver/wisp/pkg/jms-sdk-go/common"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"
"github.com/jumpserver/wisp/pkg/logger"
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
)
Expand Down Expand Up @@ -39,7 +39,7 @@ type JMServer struct {
func (j *JMServer) GetTokenAuthInfo(ctx context.Context, req *pb.TokenRequest) (*pb.TokenResponse, error) {
var status pb.Status
var gateways []model.Gateway
tokenAuthInfo, err := j.apiClient.GetConnectTokenInfo(req.Token)
tokenAuthInfo, err := j.apiClient.GetConnectTokenInfo(req.Token, true)
if err != nil {
status.Err = err.Error()
logger.Errorf("Get Connect token auth failed: %s", err)
Expand Down Expand Up @@ -381,10 +381,10 @@ func (j *JMServer) GetPublicSetting(ctx context.Context, empty *pb.Empty) (*pb.P
pbSetting := pb.PublicSetting{
XpackEnabled: data.XpackEnabled,
ValidLicense: data.ValidLicense,
GptBaseUrl: setting.GPTBaseURL,
GptApiKey: setting.GPTApiKey,
GptProxy: setting.GPTProxy,
GptModel: setting.GPTModel,
GptBaseUrl: setting.GptBaseUrl,
GptApiKey: setting.GptApiKey,
GptProxy: setting.GptProxy,
GptModel: setting.GptModel,
LicenseContent: setting.LicenseContent,
}
return &pb.PublicSettingResponse{Status: &status, Data: &pbSetting}, nil
Expand Down
3 changes: 2 additions & 1 deletion cmd/impl/jms_face_callback.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,8 @@ package impl

import (
"context"
"github.com/jumpserver/wisp/pkg/jms-sdk-go/service"

"github.com/jumpserver-dev/sdk-go/service"
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
)

Expand Down
2 changes: 1 addition & 1 deletion cmd/impl/jms_record_session.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package impl
import (
"context"

"github.com/jumpserver/wisp/pkg/jms-sdk-go/model"
"github.com/jumpserver-dev/sdk-go/model"
"github.com/jumpserver/wisp/pkg/logger"
pb "github.com/jumpserver/wisp/protobuf-go/protobuf"
)
Expand Down
30 changes: 16 additions & 14 deletions go.mod
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
module github.com/jumpserver/wisp

go 1.21
go 1.23

require (
github.com/Azure/azure-storage-blob-go v0.14.0
github.com/LeeEirc/httpsig v1.2.1
github.com/aliyun/aliyun-oss-go-sdk v2.2.8+incompatible
github.com/aws/aws-sdk-go v1.42.44
github.com/aws/aws-sdk-go v1.44.306
github.com/elastic/go-elasticsearch/v6 v6.8.5
github.com/elastic/go-elasticsearch/v8 v8.14.0
github.com/gofrs/uuid v4.2.0+incompatible
github.com/gorilla/websocket v1.5.0
github.com/gorilla/websocket v1.5.3
github.com/huaweicloud/huaweicloud-sdk-go-obs v3.21.12+incompatible
github.com/shirou/gopsutil/v3 v3.22.10
github.com/jumpserver-dev/sdk-go v0.0.0-20250707105910-98c9d10712c9
github.com/sirupsen/logrus v1.8.1
github.com/spf13/cobra v1.6.1
github.com/spf13/viper v1.14.0
golang.org/x/crypto v0.24.0
golang.org/x/crypto v0.27.0
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
gopkg.in/natefinch/lumberjack.v2 v2.2.1
)

require (
github.com/Azure/azure-pipeline-go v0.2.3 // indirect
github.com/LeeEirc/httpsig v1.2.1 // indirect
github.com/dlclark/regexp2 v1.11.4 // indirect
github.com/elastic/elastic-transport-go/v8 v8.6.0 // indirect
github.com/fsnotify/fsnotify v1.6.0 // indirect
github.com/go-logr/logr v1.4.1 // indirect
Expand All @@ -40,21 +40,23 @@ require (
github.com/pelletier/go-toml v1.9.5 // indirect
github.com/pelletier/go-toml/v2 v2.0.6 // indirect
github.com/power-devops/perfstat v0.0.0-20210106213030-5aafc221ea8c // indirect
github.com/shirou/gopsutil/v3 v3.24.5 // indirect
github.com/shoenig/go-m1cpu v0.1.6 // indirect
github.com/spf13/afero v1.9.3 // indirect
github.com/spf13/cast v1.5.0 // indirect
github.com/spf13/jwalterweatherman v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
github.com/subosito/gotenv v1.4.1 // indirect
github.com/tklauser/go-sysconf v0.3.10 // indirect
github.com/tklauser/numcpus v0.4.0 // indirect
github.com/yusufpapurcu/wmi v1.2.2 // indirect
github.com/tklauser/go-sysconf v0.3.12 // indirect
github.com/tklauser/numcpus v0.6.1 // indirect
github.com/yusufpapurcu/wmi v1.2.4 // indirect
go.opentelemetry.io/otel v1.24.0 // indirect
go.opentelemetry.io/otel/metric v1.24.0 // indirect
go.opentelemetry.io/otel/trace v1.24.0 // indirect
golang.org/x/net v0.25.0 // indirect
golang.org/x/sys v0.21.0 // indirect
golang.org/x/text v0.16.0 // indirect
golang.org/x/time v0.0.0-20220609170525-579cf78fd858 // indirect
golang.org/x/net v0.29.0 // indirect
golang.org/x/sys v0.25.0 // indirect
golang.org/x/text v0.18.0 // indirect
golang.org/x/time v0.6.0 // indirect
google.golang.org/genproto v0.0.0-20221024183307-1bc688fe9f3e // indirect
gopkg.in/ini.v1 v1.67.0 // indirect
gopkg.in/yaml.v2 v2.4.0 // indirect
Expand Down
Loading