fix GetAllInterfaceAddr cpu high
This commit is contained in:
@ -1,4 +1,8 @@
|
|||||||
proxy更新日志
|
proxy更新日志
|
||||||
|
v5.4
|
||||||
|
1.优化了获取本地IP信息导致CPU过高的问题.
|
||||||
|
2.所有服务都增加了--nolog参数,可以关闭日志输出,节省CPU.
|
||||||
|
|
||||||
v5.3
|
v5.3
|
||||||
1.优化了socks_client握手端口判断,避免了sstap测试UDP失败的问题.
|
1.优化了socks_client握手端口判断,避免了sstap测试UDP失败的问题.
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import (
|
|||||||
"bufio"
|
"bufio"
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
logger "log"
|
logger "log"
|
||||||
"os"
|
"os"
|
||||||
"os/exec"
|
"os/exec"
|
||||||
@ -62,6 +63,7 @@ func initConfig() (err error) {
|
|||||||
daemon := app.Flag("daemon", "run proxy in background").Default("false").Bool()
|
daemon := app.Flag("daemon", "run proxy in background").Default("false").Bool()
|
||||||
forever := app.Flag("forever", "run proxy in forever,fail and retry").Default("false").Bool()
|
forever := app.Flag("forever", "run proxy in forever,fail and retry").Default("false").Bool()
|
||||||
logfile := app.Flag("log", "log file path").Default("").String()
|
logfile := app.Flag("log", "log file path").Default("").String()
|
||||||
|
nolog := app.Flag("nolog", "turn off logging").Default("false").Bool()
|
||||||
kcpArgs.Key = app.Flag("kcp-key", "pre-shared secret between client and server").Default("secrect").String()
|
kcpArgs.Key = app.Flag("kcp-key", "pre-shared secret between client and server").Default("secrect").String()
|
||||||
kcpArgs.Crypt = app.Flag("kcp-method", "encrypt/decrypt method, can be: aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, sm4, none").Default("aes").Enum("aes", "aes-128", "aes-192", "salsa20", "blowfish", "twofish", "cast5", "3des", "tea", "xtea", "xor", "sm4", "none")
|
kcpArgs.Crypt = app.Flag("kcp-method", "encrypt/decrypt method, can be: aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, sm4, none").Default("aes").Enum("aes", "aes-128", "aes-192", "salsa20", "blowfish", "twofish", "cast5", "3des", "tea", "xtea", "xor", "sm4", "none")
|
||||||
kcpArgs.Mode = app.Flag("kcp-mode", "profiles: fast3, fast2, fast, normal, manual").Default("fast").Enum("fast3", "fast2", "fast", "normal", "manual")
|
kcpArgs.Mode = app.Flag("kcp-mode", "profiles: fast3, fast2, fast, normal, manual").Default("fast").Enum("fast3", "fast2", "fast", "normal", "manual")
|
||||||
@ -352,7 +354,9 @@ func initConfig() (err error) {
|
|||||||
}
|
}
|
||||||
log.SetFlags(flags)
|
log.SetFlags(flags)
|
||||||
|
|
||||||
if *logfile != "" {
|
if *nolog {
|
||||||
|
log.SetOutput(ioutil.Discard)
|
||||||
|
} else if *logfile != "" {
|
||||||
f, e := os.OpenFile(*logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
|
f, e := os.OpenFile(*logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
log.Fatal(e)
|
log.Fatal(e)
|
||||||
|
|||||||
@ -3,6 +3,7 @@ package proxy
|
|||||||
import (
|
import (
|
||||||
"crypto/sha1"
|
"crypto/sha1"
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"io/ioutil"
|
||||||
logger "log"
|
logger "log"
|
||||||
"os"
|
"os"
|
||||||
"path"
|
"path"
|
||||||
@ -77,6 +78,7 @@ func StartWithLog(serviceID, serviceArgsStr string, loggerCallback LogCallback)
|
|||||||
app.Author("snail").Version(SDK_VERSION)
|
app.Author("snail").Version(SDK_VERSION)
|
||||||
debug := app.Flag("debug", "debug log output").Default("false").Bool()
|
debug := app.Flag("debug", "debug log output").Default("false").Bool()
|
||||||
logfile := app.Flag("log", "log file path").Default("").String()
|
logfile := app.Flag("log", "log file path").Default("").String()
|
||||||
|
nolog := app.Flag("nolog", "turn off logging").Default("false").Bool()
|
||||||
kcpArgs.Key = app.Flag("kcp-key", "pre-shared secret between client and server").Default("secrect").String()
|
kcpArgs.Key = app.Flag("kcp-key", "pre-shared secret between client and server").Default("secrect").String()
|
||||||
kcpArgs.Crypt = app.Flag("kcp-method", "encrypt/decrypt method, can be: aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, sm4, none").Default("aes").Enum("aes", "aes-128", "aes-192", "salsa20", "blowfish", "twofish", "cast5", "3des", "tea", "xtea", "xor", "sm4", "none")
|
kcpArgs.Crypt = app.Flag("kcp-method", "encrypt/decrypt method, can be: aes, aes-128, aes-192, salsa20, blowfish, twofish, cast5, 3des, tea, xtea, xor, sm4, none").Default("aes").Enum("aes", "aes-128", "aes-192", "salsa20", "blowfish", "twofish", "cast5", "3des", "tea", "xtea", "xor", "sm4", "none")
|
||||||
kcpArgs.Mode = app.Flag("kcp-mode", "profiles: fast3, fast2, fast, normal, manual").Default("fast3").Enum("fast3", "fast2", "fast", "normal", "manual")
|
kcpArgs.Mode = app.Flag("kcp-mode", "profiles: fast3, fast2, fast, normal, manual").Default("fast3").Enum("fast3", "fast2", "fast", "normal", "manual")
|
||||||
@ -357,7 +359,9 @@ func StartWithLog(serviceID, serviceArgsStr string, loggerCallback LogCallback)
|
|||||||
log.SetFlags(flags)
|
log.SetFlags(flags)
|
||||||
|
|
||||||
if loggerCallback == nil {
|
if loggerCallback == nil {
|
||||||
if *logfile != "" {
|
if *nolog {
|
||||||
|
log.SetOutput(ioutil.Discard)
|
||||||
|
} else if *logfile != "" {
|
||||||
f, e := os.OpenFile(*logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
|
f, e := os.OpenFile(*logfile, os.O_CREATE|os.O_WRONLY|os.O_APPEND, 0600)
|
||||||
if e != nil {
|
if e != nil {
|
||||||
log.Fatal(e)
|
log.Fatal(e)
|
||||||
|
|||||||
Reference in New Issue
Block a user