51 lines
600 B
Go
51 lines
600 B
Go
package main
|
|
|
|
/*
|
|
#cgo LDFLAGS: -llog
|
|
|
|
#include "bridge.h"
|
|
*/
|
|
import "C"
|
|
|
|
import (
|
|
"runtime"
|
|
|
|
"cfa/config"
|
|
"cfa/core"
|
|
"cfa/tunnel"
|
|
|
|
"github.com/Dreamacro/clash/log"
|
|
)
|
|
|
|
func main() {
|
|
panic("Stub!")
|
|
}
|
|
|
|
//export coreInit
|
|
func coreInit(home, versionName C.c_string, sdkVersion C.int) {
|
|
h := C.GoString(home)
|
|
v := C.GoString(versionName)
|
|
s := int(sdkVersion)
|
|
|
|
core.Init(h, v, s)
|
|
|
|
reset()
|
|
}
|
|
|
|
//export reset
|
|
func reset() {
|
|
config.LoadDefault()
|
|
tunnel.ResetStatistic()
|
|
|
|
runtime.GC()
|
|
}
|
|
|
|
//export forceGc
|
|
func forceGc() {
|
|
go func() {
|
|
log.Infoln("[APP] request force GC")
|
|
|
|
runtime.GC()
|
|
}()
|
|
}
|