diff --git a/internal/compressions/reader_pool_brotli.go b/internal/compressions/reader_pool_brotli.go index 10caa24..3e1b458 100644 --- a/internal/compressions/reader_pool_brotli.go +++ b/internal/compressions/reader_pool_brotli.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -10,6 +11,10 @@ import ( var sharedBrotliReaderPool *ReaderPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/reader_pool_deflate.go b/internal/compressions/reader_pool_deflate.go index f4eecc9..b154fa7 100644 --- a/internal/compressions/reader_pool_deflate.go +++ b/internal/compressions/reader_pool_deflate.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -10,6 +11,10 @@ import ( var sharedDeflateReaderPool *ReaderPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/reader_pool_gzip.go b/internal/compressions/reader_pool_gzip.go index ae696fa..f5f638d 100644 --- a/internal/compressions/reader_pool_gzip.go +++ b/internal/compressions/reader_pool_gzip.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -10,6 +11,10 @@ import ( var sharedGzipReaderPool *ReaderPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/reader_pool_zstd.go b/internal/compressions/reader_pool_zstd.go index baae79b..aa6aef5 100644 --- a/internal/compressions/reader_pool_zstd.go +++ b/internal/compressions/reader_pool_zstd.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -10,6 +11,10 @@ import ( var sharedZSTDReaderPool *ReaderPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/writer_pool_brotli.go b/internal/compressions/writer_pool_brotli.go index b7af9fb..c966f18 100644 --- a/internal/compressions/writer_pool_brotli.go +++ b/internal/compressions/writer_pool_brotli.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "github.com/andybalholm/brotli" "io" @@ -11,6 +12,10 @@ import ( var sharedBrotliWriterPool *WriterPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/writer_pool_deflate.go b/internal/compressions/writer_pool_deflate.go index de7e9c2..377b5b4 100644 --- a/internal/compressions/writer_pool_deflate.go +++ b/internal/compressions/writer_pool_deflate.go @@ -4,6 +4,7 @@ package compressions import ( "compress/flate" + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -11,6 +12,10 @@ import ( var sharedDeflateWriterPool *WriterPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/writer_pool_gzip.go b/internal/compressions/writer_pool_gzip.go index 52f6a4b..fc192c8 100644 --- a/internal/compressions/writer_pool_gzip.go +++ b/internal/compressions/writer_pool_gzip.go @@ -4,6 +4,7 @@ package compressions import ( "compress/gzip" + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "io" ) @@ -11,6 +12,10 @@ import ( var sharedGzipWriterPool *WriterPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/compressions/writer_pool_zstd.go b/internal/compressions/writer_pool_zstd.go index 4212da8..1c5a0c3 100644 --- a/internal/compressions/writer_pool_zstd.go +++ b/internal/compressions/writer_pool_zstd.go @@ -3,6 +3,7 @@ package compressions import ( + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/utils" "github.com/klauspost/compress/zstd" "io" @@ -11,6 +12,10 @@ import ( var sharedZSTDWriterPool *WriterPool func init() { + if teaconst.IsDaemon { + return + } + var maxSize = utils.SystemMemoryGB() * 256 if maxSize == 0 { maxSize = 256 diff --git a/internal/const/vars.go b/internal/const/vars.go index fdfc8e7..274ebb9 100644 --- a/internal/const/vars.go +++ b/internal/const/vars.go @@ -12,6 +12,7 @@ var ( NodeId int64 = 0 NodeIdString = "" + IsDaemon = false GlobalProductName = nodeconfigs.DefaultProductName diff --git a/internal/firewalls/firewall_nftables.go b/internal/firewalls/firewall_nftables.go index 20c2ce7..4e1901d 100644 --- a/internal/firewalls/firewall_nftables.go +++ b/internal/firewalls/firewall_nftables.go @@ -7,6 +7,7 @@ package firewalls import ( "bytes" "errors" + teaconst "github.com/TeaOSLab/EdgeNode/internal/const" "github.com/TeaOSLab/EdgeNode/internal/events" "github.com/TeaOSLab/EdgeNode/internal/firewalls/nftables" "github.com/TeaOSLab/EdgeNode/internal/remotelogs" @@ -21,6 +22,10 @@ import ( // check nft status, if being enabled we load it automatically func init() { + if teaconst.IsDaemon { + return + } + if runtime.GOOS == "linux" { var ticker = time.NewTicker(3 * time.Minute) go func() { diff --git a/internal/nodes/node.go b/internal/nodes/node.go index a348049..3f501fe 100644 --- a/internal/nodes/node.go +++ b/internal/nodes/node.go @@ -207,8 +207,9 @@ func (this *Node) Start() { // Daemon 实现守护进程 func (this *Node) Daemon() { - isDebug := lists.ContainsString(os.Args, "debug") - isDebug = true + teaconst.IsDaemon = true + + var isDebug = lists.ContainsString(os.Args, "debug") for { conn, err := this.sock.Dial() if err != nil { @@ -227,7 +228,7 @@ func (this *Node) Daemon() { _ = os.Setenv("EdgeDaemon", "on") _ = os.Setenv("EdgeBackground", "on") - cmd := exec.Command(exe) + var cmd = exec.Command(exe) err = cmd.Start() if err != nil { return err diff --git a/internal/utils/time.go b/internal/utils/time.go index ae11c7a..94ef385 100644 --- a/internal/utils/time.go +++ b/internal/utils/time.go @@ -9,7 +9,7 @@ var unixTime = time.Now().Unix() var unixTimeMilli = time.Now().UnixMilli() func init() { - ticker := time.NewTicker(200 * time.Millisecond) + var ticker = time.NewTicker(200 * time.Millisecond) goman.New(func() { for range ticker.C { unixTime = time.Now().Unix()