feat:允许设定首次登录失败后是否进入守护

This commit is contained in:
Mmx
2021-07-31 18:29:50 +08:00
parent a6be2fa234
commit b148eea874
6 changed files with 37 additions and 40 deletions

View File

@@ -14,25 +14,26 @@ Config.json说明
```json5
{
"from": {
"domain": "www.msftconnecttest.com", //登录地址ip或域名
"username": "", //账号
"user_type": "cmcc", //运营商类型,详情看下方
"password": "" //密码
},
"meta": { //登录参数
"n": "200",
"type": "1",
"acid": "5",
"enc": "srun_bx1"
},
"settings": {
"quit_if_net_ok": false, //登陆前是否检查网络
"demo_mode": false, //测试模式,报错更详细,且生成运行日志与错误日志
"dns": "1.2.4.8", //检查网络用的DNS地址建议设为网关分发的内网DNS地址
"guardian": 0, //守护网络值为网络检查周期设为0关闭守护
"daemon": false //将守护挂入后台
}
"from": {
"domain": "www.msftconnecttest.com", //登录地址ip或域名
"username": "", //账号
"user_type": "cmcc", //运营商类型,详情看下方
"password": "" //密码
},
"meta": { //登录参数
"n": "200",
"type": "1",
"acid": "5",
"enc": "srun_bx1"
},
"settings": {
"quit_if_net_ok": false, //登陆前是否检查网络
"demo_mode": false, //测试模式,报错更详细,且生成运行日志与错误日志
"dns": "1.2.4.8", //检查网络用的DNS地址建议设为网关分发的内网DNS地址
"guardian": 0, //守护网络值为网络检查周期设为0关闭守护
"daemon": false, //将守护挂入后台
"force_guardian_even_failed": false //若为false首次认证失败后不会进入守护
}
}
```

View File

@@ -28,7 +28,6 @@ func Login(output bool) error {
}
G.Ip, err = util.GetIp(body)
if err != nil {
util.ErrHandler(err)
return err
}
}

13
main.go
View File

@@ -2,15 +2,24 @@ package main
import (
"autoLogin/controllers"
"autoLogin/global"
"autoLogin/util"
"os"
)
func main() {
defer util.Log.CatchRecover()
if err := controllers.Login(true); err != nil {
util.ErrHandler(err)
return
util.Log.Println("运行出错,状态异常")
if global.Config.Settings.ForceGuardianEvenFailed {
util.Log.Println(err)
} else if global.Config.Settings.DemoMode {
util.Log.Fatalln(err)
} else {
util.Log.Println(err)
os.Exit(3)
}
}
controllers.EnterGuardian()

View File

@@ -6,11 +6,12 @@ import (
)
type Settings struct {
QuitIfNetOk bool `json:"quit_if_net_ok"`
DemoMode bool `json:"demo_mode"`
Dns string `json:"dns"`
Guardian uint `json:"guardian"`
Daemon bool `json:"daemon"`
QuitIfNetOk bool `json:"quit_if_net_ok"`
DemoMode bool `json:"demo_mode"`
Dns string `json:"dns"`
Guardian uint `json:"guardian"`
Daemon bool `json:"daemon"`
ForceGuardianEvenFailed bool `json:"force_guardian_even_failed"`
}
type Config struct {

View File

@@ -56,7 +56,6 @@ func (a *file) WriteJson(path string, receiver interface{}) error {
func (*file) GetRootPath() (string, error) {
t, err := os.Executable()
if err != nil {
ErrHandler(err)
return "", err
}
return filepath.Dir(t) + "/", nil

View File

@@ -9,7 +9,6 @@ import (
"fmt"
"io"
"net"
"os"
"regexp"
"time"
)
@@ -51,17 +50,6 @@ func Sha1(content string) string {
return fmt.Sprintf("%x\n", bs)
}
func ErrHandler(err error) {
if !global.Status.Output {
return
}
Log.Println("运行出错,状态异常")
if global.Config.Settings.DemoMode {
Log.Fatalln(err)
}
os.Exit(1)
}
func NetDailEr() func(ctx context.Context, network, address string) (net.Conn, error) {
return func(ctx context.Context, network, address string) (net.Conn, error) {
d := net.Dialer{