This commit is contained in:
arm64v8a
2022-12-02 15:23:11 +09:00
parent 6e75117bae
commit 9c0816c71a
10 changed files with 102 additions and 37 deletions

View File

@@ -12,6 +12,7 @@ import (
"neko/pkg/speedtest"
"nekobox_core/box_main"
"reflect"
"time"
"unsafe"
box "github.com/sagernet/sing-box"
@@ -38,6 +39,16 @@ func (s *server) Start(ctx context.Context, in *gen.LoadConfigReq) (out *gen.Err
log.Println("Start:", in.CoreConfig)
}
if neko_common.GetBuildTime() > 0 {
if time.Now().Unix() >= neko_common.GetExpireTime() {
err = errors.New("Your version is too old! Please update!! 版本太旧,请升级!")
return
} else if time.Now().Unix() >= (neko_common.GetExpireTime() - 30*24*60*60) {
log.Println("Your version is too old! Please update!! 版本太旧,请升级!")
log.Println("This version expires on " + time.Unix(neko_common.GetExpireTime(), 0).Format("2006-01-02"))
}
}
if instance != nil {
err = errors.New("instance already started")
return

View File

@@ -8,6 +8,7 @@ import (
"io"
"libcore"
"libcore/stun"
"log"
"neko/gen"
"neko/pkg/grpc_server"
"neko/pkg/neko_common"
@@ -38,6 +39,16 @@ func (s *server) Start(ctx context.Context, in *gen.LoadConfigReq) (out *gen.Err
logrus.Println("Start:", in.CoreConfig, in.TryDomains)
}
if neko_common.GetBuildTime() > 0 {
if time.Now().Unix() >= neko_common.GetExpireTime() {
err = errors.New("Your version is too old! Please update!! 版本太旧,请升级!")
return
} else if time.Now().Unix() >= (neko_common.GetExpireTime() - 30*24*60*60) {
log.Println("Your version is too old! Please update!! 版本太旧,请升级!")
log.Println("This version expires on " + time.Unix(neko_common.GetExpireTime(), 0).Format("2006-01-02"))
}
}
if instance != nil {
err = errors.New("instance already started")
return

View File

@@ -1,6 +1,10 @@
package neko_common
import "net/http"
import (
"net/http"
"strings"
"time"
)
var Version_v2ray string = "N/A"
var Version_neko string = "N/A"
@@ -16,3 +20,19 @@ const (
)
var GetProxyHttpClient func() *http.Client
func GetBuildTime() int64 {
if !strings.HasPrefix(Version_neko, "nekoray-") {
return 0
}
ver := strings.TrimLeft(Version_neko, "nekoray-")
buildDate := ver[strings.Index(ver, "-")+1:]
buildTime, _ := time.Parse("2006-01-02", buildDate)
return buildTime.Unix()
}
func GetExpireTime() int64 {
buildTime := time.Unix(GetBuildTime(), 0)
expireTime := buildTime.AddDate(0, 6, 0) // current force update: 6 months
return expireTime.Unix()
}