mirror of
				https://github.com/TeaOSLab/EdgeNode.git
				synced 2025-11-04 07:40:56 +08:00 
			
		
		
		
	执行一般命令时不运行init()中内容
This commit is contained in:
		
							
								
								
									
										11
									
								
								internal/apps/main.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								internal/apps/main.go
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,11 @@
 | 
			
		||||
// Copyright 2023 Liuxiangchao iwind.liu@gmail.com. All rights reserved. Official site: https://goedge.cn .
 | 
			
		||||
 | 
			
		||||
package apps
 | 
			
		||||
 | 
			
		||||
import teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
 | 
			
		||||
func RunMain(f func()) {
 | 
			
		||||
	if teaconst.IsMain {
 | 
			
		||||
		f()
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
@@ -3,6 +3,7 @@ package caches
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/shared"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
	"github.com/iwind/TeaGo/lists"
 | 
			
		||||
@@ -14,6 +15,10 @@ import (
 | 
			
		||||
var SharedManager = NewManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventQuit, func() {
 | 
			
		||||
		remotelogs.Println("CACHE", "quiting cache manager")
 | 
			
		||||
		SharedManager.UpdatePolicies([]*serverconfigs.HTTPCachePolicy{})
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ import (
 | 
			
		||||
var sharedBrotliReaderPool *ReaderPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ import (
 | 
			
		||||
var sharedDeflateReaderPool *ReaderPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ import (
 | 
			
		||||
var sharedGzipReaderPool *ReaderPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -11,7 +11,7 @@ import (
 | 
			
		||||
var sharedZSTDReaderPool *ReaderPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import (
 | 
			
		||||
var sharedBrotliWriterPool *WriterPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import (
 | 
			
		||||
var sharedDeflateWriterPool *WriterPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import (
 | 
			
		||||
var sharedGzipWriterPool *WriterPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -12,7 +12,7 @@ import (
 | 
			
		||||
var sharedZSTDWriterPool *WriterPool
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ var (
 | 
			
		||||
 | 
			
		||||
	NodeId       int64 = 0
 | 
			
		||||
	NodeIdString       = ""
 | 
			
		||||
	IsDaemon           = len(os.Args) > 1 && os.Args[1] == "daemon"
 | 
			
		||||
	IsMain             = len(os.Args) == 1
 | 
			
		||||
 | 
			
		||||
	GlobalProductName = nodeconfigs.DefaultProductName
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs/ddosconfigs"
 | 
			
		||||
	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"
 | 
			
		||||
@@ -27,6 +28,10 @@ import (
 | 
			
		||||
var SharedDDoSProtectionManager = NewDDoSProtectionManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventReload, func() {
 | 
			
		||||
		if nftablesInstance == nil {
 | 
			
		||||
			return
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@
 | 
			
		||||
package firewalls
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
	"runtime"
 | 
			
		||||
@@ -14,6 +15,10 @@ var firewallLocker = &sync.Mutex{}
 | 
			
		||||
 | 
			
		||||
// 初始化
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		var firewall = Firewall()
 | 
			
		||||
		if firewall.Name() != "mock" {
 | 
			
		||||
 
 | 
			
		||||
@@ -24,7 +24,7 @@ import (
 | 
			
		||||
 | 
			
		||||
// check nft status, if being enabled we load it automatically
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ package nftables
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -17,6 +18,10 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventReload, func() {
 | 
			
		||||
		// linux only
 | 
			
		||||
		if runtime.GOOS != "linux" {
 | 
			
		||||
 
 | 
			
		||||
@@ -15,7 +15,7 @@ var instanceId = uint64(0)
 | 
			
		||||
 | 
			
		||||
// New 新创建goroutine
 | 
			
		||||
func New(f func()) {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -47,7 +47,7 @@ func New(f func()) {
 | 
			
		||||
 | 
			
		||||
// NewWithArgs 创建带有参数的goroutine
 | 
			
		||||
func NewWithArgs(f func(args ...interface{}), args ...interface{}) {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -20,7 +20,7 @@ var SharedIPListManager = NewIPListManager()
 | 
			
		||||
var IPListUpdateNotify = make(chan bool, 1)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if teaconst.IsDaemon {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package metrics
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
	"strconv"
 | 
			
		||||
@@ -13,6 +14,10 @@ import (
 | 
			
		||||
var SharedManager = NewManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventQuit, func() {
 | 
			
		||||
		SharedManager.Quit()
 | 
			
		||||
	})
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ package monitor
 | 
			
		||||
import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -16,6 +17,10 @@ import (
 | 
			
		||||
var SharedValueQueue = NewValueQueue()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedValueQueue.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,10 @@ import (
 | 
			
		||||
 | 
			
		||||
// 发送监控流量
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventStart, func() {
 | 
			
		||||
		var ticker = time.NewTicker(1 * time.Minute)
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
 
 | 
			
		||||
@@ -9,6 +9,7 @@ import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/caches"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/compressions"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -23,6 +24,10 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventStart, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedHTTPCacheTaskManager.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/caches"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/compressions"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/utils/readers"
 | 
			
		||||
@@ -39,6 +40,10 @@ var webpMaxBufferSize int64 = 1_000_000_000
 | 
			
		||||
var webpTotalBufferSize int64 = 0
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var systemMemory = utils.SystemMemoryGB() / 8
 | 
			
		||||
	if systemMemory > 0 {
 | 
			
		||||
		webpMaxBufferSize = int64(systemMemory) * 1024 * 1024 * 1024
 | 
			
		||||
 
 | 
			
		||||
@@ -236,8 +236,6 @@ func (this *Node) Start() {
 | 
			
		||||
 | 
			
		||||
// Daemon 实现守护进程
 | 
			
		||||
func (this *Node) Daemon() {
 | 
			
		||||
	teaconst.IsDaemon = true
 | 
			
		||||
 | 
			
		||||
	var isDebug = lists.ContainsString(os.Args, "debug")
 | 
			
		||||
	for {
 | 
			
		||||
		conn, err := this.sock.Dial()
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package nodes
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/serverconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -16,6 +17,10 @@ import (
 | 
			
		||||
var SharedOriginStateManager = NewOriginStateManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedOriginStateManager.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -19,6 +19,10 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var manager = NewSystemServiceManager()
 | 
			
		||||
	events.On(events.EventReload, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package nodes
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -15,6 +16,10 @@ import (
 | 
			
		||||
var sharedOCSPTask = NewOCSPUpdateTask()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		sharedOCSPTask.version = sharedNodeConfig.OCSPVersion
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package nodes
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/configs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/rpc"
 | 
			
		||||
@@ -16,6 +17,10 @@ import (
 | 
			
		||||
var sharedSyncAPINodesTask = NewSyncAPINodesTask()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventStart, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			sharedSyncAPINodesTask.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ package nodes
 | 
			
		||||
import (
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -17,6 +18,10 @@ import (
 | 
			
		||||
var sharedTOAManager = NewTOAManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventReload, func() {
 | 
			
		||||
		err := sharedTOAManager.Run(sharedNodeConfig.TOA)
 | 
			
		||||
		if err != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -20,6 +20,10 @@ import (
 | 
			
		||||
var logChan = make(chan *pb.NodeLog, 64) // 队列数量不需要太长,因为日志通常仅仅为调试用
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// 定期上传日志
 | 
			
		||||
	var ticker = time.NewTicker(60 * time.Second)
 | 
			
		||||
	if Tea.IsTesting() {
 | 
			
		||||
 
 | 
			
		||||
@@ -5,6 +5,7 @@ package stats
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -21,6 +22,10 @@ var SharedBandwidthStatManager = NewBandwidthStatManager()
 | 
			
		||||
const bandwidthTimestampDelim = 2 // N秒平均,更为精确
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedBandwidthStatManager.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package agents
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -16,6 +17,10 @@ import (
 | 
			
		||||
var SharedManager = NewManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedManager.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package agents
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -13,6 +14,10 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedQueue.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -6,6 +6,7 @@ import (
 | 
			
		||||
	"encoding/binary"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -21,6 +22,10 @@ var hasSynced = false
 | 
			
		||||
var sharedClockManager = NewClockManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(sharedClockManager.Start)
 | 
			
		||||
	})
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,10 @@ import (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var ticker = time.NewTicker(5 * time.Second)
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
 
 | 
			
		||||
@@ -10,6 +10,7 @@ import (
 | 
			
		||||
	"encoding/json"
 | 
			
		||||
	"errors"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/nodeconfigs"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/iwind/TeaGo/logs"
 | 
			
		||||
	"github.com/iwind/TeaGo/maps"
 | 
			
		||||
@@ -22,6 +23,10 @@ var (
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventReload, func() {
 | 
			
		||||
		nodeConfig, _ := nodeconfigs.SharedNodeConfig()
 | 
			
		||||
		if nodeConfig != nil {
 | 
			
		||||
 
 | 
			
		||||
@@ -15,6 +15,10 @@ import (
 | 
			
		||||
var SharedFreeHoursManager = NewFreeHoursManager()
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			SharedFreeHoursManager.Start()
 | 
			
		||||
 
 | 
			
		||||
@@ -3,12 +3,17 @@
 | 
			
		||||
package utils
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/shirou/gopsutil/v3/mem"
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
var systemTotalMemory = -1
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	_ = SystemMemoryGB()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,7 @@
 | 
			
		||||
package utils
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/iwind/TeaGo/types"
 | 
			
		||||
	"time"
 | 
			
		||||
@@ -11,6 +12,10 @@ var unixTimeMilli = time.Now().UnixMilli()
 | 
			
		||||
var unixTimeMilliString = types.String(unixTimeMilli)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var ticker = time.NewTicker(200 * time.Millisecond)
 | 
			
		||||
	goman.New(func() {
 | 
			
		||||
		for range ticker.C {
 | 
			
		||||
 
 | 
			
		||||
@@ -4,6 +4,7 @@ package waf
 | 
			
		||||
 | 
			
		||||
import (
 | 
			
		||||
	"github.com/TeaOSLab/EdgeCommon/pkg/rpc/pb"
 | 
			
		||||
	teaconst "github.com/TeaOSLab/EdgeNode/internal/const"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/events"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/goman"
 | 
			
		||||
	"github.com/TeaOSLab/EdgeNode/internal/remotelogs"
 | 
			
		||||
@@ -25,6 +26,10 @@ type notifyTask struct {
 | 
			
		||||
var notifyChan = make(chan *notifyTask, 128)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			rpcClient, err := rpc.SharedRPC()
 | 
			
		||||
 
 | 
			
		||||
@@ -33,6 +33,10 @@ type recordIPTask struct {
 | 
			
		||||
var recordIPTaskChan = make(chan *recordIPTask, 1024)
 | 
			
		||||
 | 
			
		||||
func init() {
 | 
			
		||||
	if !teaconst.IsMain {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	events.On(events.EventLoaded, func() {
 | 
			
		||||
		goman.New(func() {
 | 
			
		||||
			rpcClient, err := rpc.SharedRPC()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user