feat: 支持自动嗅探 enc

This commit is contained in:
Mmx233
2024-01-01 17:47:19 +08:00
parent 00fa06c9e0
commit 524bac30f5
5 changed files with 113 additions and 40 deletions

View File

@@ -12,6 +12,7 @@ var (
Debug bool
AutoAcid bool
Acid string
AutoEnc bool
)
func init() {
@@ -21,6 +22,7 @@ func init() {
flag.BoolVar(&Debug, "debug", false, "enable debug mode")
flag.BoolVar(&AutoAcid, "auto-acid", false, "auto detect acid")
flag.StringVar(&Acid, "acid", "", "specify acid value")
flag.BoolVar(&AutoEnc, "auto-enc", false, "auto detect enc")
flag.Parse()
}

View File

@@ -29,7 +29,7 @@ func Login(eth *tools.Eth, debugOutput bool) error {
var acidOnReality bool
if config.Settings.Reality.Enable {
log.Debugln("开始 Reality 流程")
acid, _, err := srunClient.Reality(config.Settings.Reality.Addr, flags.AutoAcid)
acid, _, err := srunClient.Api.Reality(config.Settings.Reality.Addr, flags.AutoAcid)
if err != nil {
log.Errorln("Reality 请求异常:", err)
return err
@@ -46,7 +46,7 @@ func Login(eth *tools.Eth, debugOutput bool) error {
}
if !acidOnReality && flags.AutoAcid {
log.Debugln("开始嗅探 acid")
acid, err := srunClient.DetectAcid()
acid, err := srunClient.Api.DetectAcid()
if err != nil {
if errors.Is(err, srun.ErrAcidCannotFound) {
log.Warnln("找不到 acid使用配置 acid")
@@ -59,6 +59,21 @@ func Login(eth *tools.Eth, debugOutput bool) error {
}
}
if flags.AutoEnc {
log.Debugln("开始嗅探 enc")
enc, err := srunClient.Api.DetectEnc()
if err != nil {
if errors.Is(err, srun.ErrEnvCannotFound) {
log.Warnln("找不到 enc使用配置 enc")
} else {
log.Warnf("嗅探 enc 失败,使用配置 enc: %v", err)
}
} else {
log.Debugf("使用嗅探 enc: %s", enc)
srunClient.LoginInfo.Meta.Enc = enc
}
}
// 选择输出函数
var output func(args ...interface{})
if debugOutput {