update
parent
676aa5bdcb
commit
2b2faec437
|
@ -17,6 +17,8 @@ func (p Protocol) String() string {
|
|||
return "TCP"
|
||||
case 1:
|
||||
return "UDP"
|
||||
case 2:
|
||||
return "TCP-TLS"
|
||||
}
|
||||
|
||||
return "unknown"
|
||||
|
@ -25,6 +27,7 @@ func (p Protocol) String() string {
|
|||
const (
|
||||
ProtocolTCP Protocol = 0
|
||||
ProtocolUDP Protocol = 1
|
||||
ProtocolTCPTLS Protocol = 2
|
||||
)
|
||||
|
||||
type IForward interface {
|
||||
|
|
|
@ -2,6 +2,7 @@ package forward
|
|||
|
||||
import (
|
||||
"context"
|
||||
"crypto/tls"
|
||||
"fmt"
|
||||
"git.makemake.in/kzkzzzz/mycommon/mylog"
|
||||
"io"
|
||||
|
@ -88,12 +89,26 @@ func (t *TCP) handleConn(mainCtx context.Context, localConn net.Conn, targetAddr
|
|||
|
||||
targetAddr := targetAddrList[rand.Intn(len(targetAddrList))]
|
||||
|
||||
// 连接到目标地址
|
||||
targetConn, err := net.Dial("tcp", targetAddr)
|
||||
var (
|
||||
targetConn net.Conn
|
||||
err error
|
||||
)
|
||||
|
||||
switch t.forwardInfo.Protocol {
|
||||
case ProtocolTCPTLS:
|
||||
|
||||
targetConn, err = tls.Dial("tcp", targetAddr, &tls.Config{
|
||||
InsecureSkipVerify: true,
|
||||
})
|
||||
|
||||
default:
|
||||
targetConn, err = net.Dial("tcp", targetAddr)
|
||||
if err != nil {
|
||||
mylog.Error("Error connecting to target:", err)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
defer targetConn.Close()
|
||||
|
||||
ctx, cancelCtx := context.WithCancel(context.Background())
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -4,7 +4,7 @@
|
|||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>端口转发</title>
|
||||
<script type="module" crossorigin src="./assets/index-JzuN2dGn.js"></script>
|
||||
<script type="module" crossorigin src="./assets/index-PO_Ka5xU.js"></script>
|
||||
<link rel="stylesheet" crossorigin href="./assets/index-BA8XwqWY.css">
|
||||
</head>
|
||||
<body>
|
||||
|
|
|
@ -111,7 +111,7 @@ func Create(ctx *gin.Context) {
|
|||
TargetAddr string `json:"target_addr" binding:"min=1"`
|
||||
LocalPort int `json:"local_port" binding:"required"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
ForwardType int `json:"protocol" binding:"oneof=0 1"`
|
||||
ForwardType int `json:"protocol"`
|
||||
Status int `json:"status" binding:"oneof=0 1"`
|
||||
}
|
||||
|
||||
|
@ -180,7 +180,7 @@ func Update(ctx *gin.Context) {
|
|||
TargetAddr string `json:"target_addr" binding:"min=1"`
|
||||
LocalPort int `json:"local_port" binding:"required"`
|
||||
Name string `json:"name" binding:"required"`
|
||||
Protocol int `json:"protocol" binding:"oneof=0 1"`
|
||||
Protocol int `json:"protocol"`
|
||||
Status int `json:"status" binding:"oneof=0 1"`
|
||||
}
|
||||
|
||||
|
|
|
@ -18,6 +18,10 @@
|
|||
<el-tag disable-transitions type="success">UDP</el-tag>
|
||||
</div>
|
||||
|
||||
<div v-else-if="scope.row.protocol === 2">
|
||||
<el-tag disable-transitions type="success">TCP-TLS</el-tag>
|
||||
</div>
|
||||
|
||||
<div v-else>
|
||||
<el-tag disable-transitions type="primary">TCP</el-tag>
|
||||
</div>
|
||||
|
@ -75,6 +79,7 @@
|
|||
<el-radio-group v-model="data.form.protocol">
|
||||
<el-radio :value="0">TCP</el-radio>
|
||||
<el-radio :value="1">UDP</el-radio>
|
||||
<el-radio :value="2">TCP-TLS</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
|
7
local.sh
7
local.sh
|
@ -5,7 +5,12 @@ set -e
|
|||
case $1 in
|
||||
"backend")
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -v -o temp/proxyport.linux main.go
|
||||
scp -P 5566 temp/proxyport.linux kzkzzzz@193.32.149.42:temp/proxyport/proxyport.linux
|
||||
# scp -P 5566 temp/proxyport.linux kzkzzzz@193.32.149.42:temp/proxyport/proxyport.linux
|
||||
wsl -d Debian -e bash -c "rsync -rvz -P -e 'ssh -p 22' temp/proxyport.linux zifeng.li@rta-kiwi.test:temp/proxyport/"
|
||||
;;
|
||||
"pi5")
|
||||
CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -v -o temp/proxyport.arm64 main.go
|
||||
scp temp/proxyport.arm64 pi@100.93.0.65:temp/proxyport/proxyport.arm64
|
||||
;;
|
||||
"frontend")
|
||||
cd frontend
|
||||
|
|
Loading…
Reference in New Issue