This commit is contained in:
chenzhongjie 2024-04-10 19:08:35 +08:00
parent b84dd2d9c4
commit d1896f66c5
3 changed files with 16 additions and 3 deletions

View File

@ -164,7 +164,12 @@ func (pxy *HTTPProxy) GetRealConn(remoteAddr string) (workConn net.Conn, err err
var rwc io.ReadWriteCloser = tmpConn var rwc io.ReadWriteCloser = tmpConn
if pxy.cfg.Transport.UseEncryption { if pxy.cfg.Transport.UseEncryption {
rwc, err = libio.WithEncryption(rwc, []byte(pxy.serverCfg.Auth.Token)) key := []byte(pxy.serverCfg.Auth.Token)
if pxy.serverCfg.Auth.Method == v1.AuthMethodJWT {
key = []byte(pxy.loginMsg.PrivilegeKey)
}
rwc, err = libio.WithEncryption(rwc, key)
if err != nil { if err != nil {
xl.Errorf("create encryption stream error: %v", err) xl.Errorf("create encryption stream error: %v", err)
return return

View File

@ -240,7 +240,11 @@ func (pxy *BaseProxy) handleUserTCPConnection(userConn net.Conn) {
xl.Tracef("handler user tcp connection, use_encryption: %t, use_compression: %t", xl.Tracef("handler user tcp connection, use_encryption: %t, use_compression: %t",
cfg.Transport.UseEncryption, cfg.Transport.UseCompression) cfg.Transport.UseEncryption, cfg.Transport.UseCompression)
if cfg.Transport.UseEncryption { if cfg.Transport.UseEncryption {
local, err = libio.WithEncryption(local, []byte(serverCfg.Auth.Token)) key := []byte(serverCfg.Auth.Token)
if serverCfg.Auth.Method == v1.AuthMethodJWT {
key = []byte(pxy.loginMsg.PrivilegeKey)
}
local, err = libio.WithEncryption(local, key)
if err != nil { if err != nil {
xl.Errorf("create encryption stream error: %v", err) xl.Errorf("create encryption stream error: %v", err)
return return

View File

@ -205,7 +205,11 @@ func (pxy *UDPProxy) Run() (remoteAddr string, err error) {
var rwc io.ReadWriteCloser = workConn var rwc io.ReadWriteCloser = workConn
if pxy.cfg.Transport.UseEncryption { if pxy.cfg.Transport.UseEncryption {
rwc, err = libio.WithEncryption(rwc, []byte(pxy.serverCfg.Auth.Token)) key := []byte(pxy.serverCfg.Auth.Token)
if pxy.serverCfg.Auth.Method == v1.AuthMethodJWT {
key = []byte(pxy.loginMsg.PrivilegeKey)
}
rwc, err = libio.WithEncryption(rwc, key)
if err != nil { if err != nil {
xl.Errorf("create encryption stream error: %v", err) xl.Errorf("create encryption stream error: %v", err)
workConn.Close() workConn.Close()