package handler import ( "crypto/sha1" "encoding/hex" "os" "github.com/bjdgyc/anylink/admin" "github.com/bjdgyc/anylink/base" "github.com/bjdgyc/anylink/cron" "github.com/bjdgyc/anylink/dbdata" "github.com/bjdgyc/anylink/sessdata" ) func Start() { dbdata.Start() sessdata.Start() cron.Start() switch base.Cfg.LinkMode { case base.LinkModeTUN: checkTun() case base.LinkModeTAP: checkTap() case base.LinkModeMacvtap: checkMacvtap() default: base.Fatal("LinkMode is err") } // 计算profile.xml的hash b, err := os.ReadFile(base.Cfg.Profile) if err != nil { panic(err) } ha := sha1.Sum(b) profileHash = hex.EncodeToString(ha[:]) go admin.StartAdmin() go startTls() go startDtls() go logAuditBatch() } func Stop() { _ = dbdata.Stop() destroyVtap() }