mirror of
https://github.com/e1732a364fed/v2ray_simple.git
synced 2025-10-06 17:27:05 +08:00
修订代码, 默认loglevel 改为 Log_info.
对一般用户而言,还是需要使用Info等级 来了解一下 一般的 日志情况,等到使用熟练之后,且确认运行没有错误后, 可以自行调为 warning 来提升性能 发现 bubble包 还自己引入了 命令行参数,这十分不可取,所以我们还是直接使用其代码。 将其它包中 的 命令行参数 统一 移动 到 cmd/verysimple 中;tls lazy 特性因为还在 调试阶段,所以 命令行参数 仍然放到 v2ray_simple 包中。
This commit is contained in:
@@ -4,25 +4,42 @@
|
||||
package utils
|
||||
|
||||
import (
|
||||
"github.com/tjarratt/babble"
|
||||
"go.uber.org/zap"
|
||||
"io/ioutil"
|
||||
"math/rand"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
var words []string
|
||||
var getWordListFailed bool
|
||||
|
||||
func GetRandomWord() (result string) {
|
||||
//babbler包 在 系统中 没有 /usr/share/dict/words 且不是windows 时,会panic
|
||||
defer func() {
|
||||
|
||||
if r := recover(); r != nil {
|
||||
if ce := CanLogErr("getRandomWord babble panic"); ce != nil {
|
||||
ce.Write(zap.Any("err:", r))
|
||||
}
|
||||
if len(words) == 0 && !getWordListFailed {
|
||||
words = readAvailableDictionary()
|
||||
}
|
||||
|
||||
result = GenerateRandomString()
|
||||
}
|
||||
}()
|
||||
babbler := babble.NewBabbler()
|
||||
babbler.Count = 1
|
||||
result = babbler.Babble()
|
||||
if theLen := len(words); theLen == 0 {
|
||||
getWordListFailed = true
|
||||
result = GenerateRandomString()
|
||||
} else {
|
||||
result = words[rand.Int()%theLen]
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func readAvailableDictionary() (words []string) {
|
||||
file, err := os.Open("/usr/share/dict/words")
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
bytes, err := ioutil.ReadAll(file)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
words = strings.Split(string(bytes), "\n")
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user