| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- 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()
- }
|