mirror of
https://github.com/csznet/goForward.git
synced 2025-12-24 13:37:51 +08:00
改变状态前先判断存在
This commit is contained in:
@@ -96,7 +96,7 @@ func GetForward(id int) conf.ConnectionStats {
|
||||
}
|
||||
|
||||
// 判断指定端口转发是否可添加
|
||||
func freeForward(localPort, protocol string) bool {
|
||||
func FreeForward(localPort, protocol string) bool {
|
||||
var get conf.ConnectionStats
|
||||
res := db.Model(&conf.ConnectionStats{}).Where("local_port = ?", localPort).Find(&get)
|
||||
if res.Error == nil {
|
||||
@@ -125,7 +125,7 @@ func AddForward(newForward conf.ConnectionStats) int {
|
||||
if newForward.Protocol != "udp" {
|
||||
newForward.Protocol = "tcp"
|
||||
}
|
||||
if !freeForward(newForward.LocalPort, newForward.Protocol) {
|
||||
if !FreeForward(newForward.LocalPort, newForward.Protocol) {
|
||||
return 0
|
||||
}
|
||||
//开启事务
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
|
||||
"csz.net/goForward/conf"
|
||||
@@ -11,8 +10,7 @@ import (
|
||||
|
||||
// 增加转发并开启
|
||||
func AddForward(newF conf.ConnectionStats) bool {
|
||||
fmt.Print(newF)
|
||||
if newF.LocalPort == conf.WebPort {
|
||||
if newF.LocalPort == conf.WebPort && newF.Protocol == "tcp" {
|
||||
return false
|
||||
}
|
||||
id := sql.AddForward(newF)
|
||||
@@ -45,6 +43,9 @@ func DelForward(f conf.ConnectionStats) bool {
|
||||
|
||||
// 改变转发状态
|
||||
func ExStatus(f conf.ConnectionStats) bool {
|
||||
if sql.FreeForward(f.LocalPort, f.Protocol) {
|
||||
return false
|
||||
}
|
||||
if sql.UpdateForwardStatus(f.Id, f.Status) {
|
||||
// 启用转发
|
||||
if f.Status == 0 {
|
||||
|
||||
Reference in New Issue
Block a user