sdk5.3
This commit is contained in:
@ -1,5 +1,13 @@
|
|||||||
SDK更新日志
|
SDK更新日志
|
||||||
|
|
||||||
|
v5.3
|
||||||
|
1.增加了支持日志输出回调的方法:
|
||||||
|
StartWithLog(serviceID, serviceArgsStr string, loggerCallback LogCallback)
|
||||||
|
2.优化了socks_client握手端口判断,避免了sstap测试UDP失败的问题..
|
||||||
|
3.修复了HTTP(S)\SPS反向代理无法正常工作的问题.
|
||||||
|
4.优化了智能判断,减少不必要的DNS解析.
|
||||||
|
5.重构了SOCKS和SPS的UDP功能,基于UDP的游戏加速嗖嗖的.
|
||||||
|
|
||||||
v4.9
|
v4.9
|
||||||
1.修复了HTTP Basic代理返回不合适的头部,导致浏览器不会弹框,个别代理插件无法认证的问题.
|
1.修复了HTTP Basic代理返回不合适的头部,导致浏览器不会弹框,个别代理插件无法认证的问题.
|
||||||
2.内网穿透切换smux到yamux.
|
2.内网穿透切换smux到yamux.
|
||||||
|
|||||||
@ -23,12 +23,31 @@ import (
|
|||||||
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
kingpin "gopkg.in/alecthomas/kingpin.v2"
|
||||||
)
|
)
|
||||||
|
|
||||||
const SDK_VERSION = "5.2"
|
const SDK_VERSION = "5.3"
|
||||||
|
|
||||||
var (
|
var (
|
||||||
app *kingpin.Application
|
app *kingpin.Application
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type LogCallback interface {
|
||||||
|
Write(line string)
|
||||||
|
}
|
||||||
|
type logCallback interface {
|
||||||
|
Write(line string)
|
||||||
|
}
|
||||||
|
type logWriter struct {
|
||||||
|
callback LogCallback
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *logWriter) Write(p []byte) (n int, err error) {
|
||||||
|
s.callback.Write(string(p))
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
func Start(serviceID, serviceArgsStr string) (errStr string) {
|
||||||
|
return StartWithLog(serviceID, serviceArgsStr, nil)
|
||||||
|
}
|
||||||
|
|
||||||
//Start
|
//Start
|
||||||
//serviceID : is service identify id,different service's id should be difference
|
//serviceID : is service identify id,different service's id should be difference
|
||||||
//serviceArgsStr: is the whole command line args string
|
//serviceArgsStr: is the whole command line args string
|
||||||
@ -38,7 +57,7 @@ var (
|
|||||||
//and so on.
|
//and so on.
|
||||||
//if an error occured , errStr will be the error reason
|
//if an error occured , errStr will be the error reason
|
||||||
//if start success, errStr is empty.
|
//if start success, errStr is empty.
|
||||||
func Start(serviceID, serviceArgsStr string) (errStr string) {
|
func StartWithLog(serviceID, serviceArgsStr string, loggerCallback LogCallback) (errStr string) {
|
||||||
//define args
|
//define args
|
||||||
tcpArgs := tcpx.TCPArgs{}
|
tcpArgs := tcpx.TCPArgs{}
|
||||||
httpArgs := httpx.HTTPArgs{}
|
httpArgs := httpx.HTTPArgs{}
|
||||||
@ -337,6 +356,7 @@ func Start(serviceID, serviceArgsStr string) (errStr string) {
|
|||||||
}
|
}
|
||||||
log.SetFlags(flags)
|
log.SetFlags(flags)
|
||||||
|
|
||||||
|
if loggerCallback == nil {
|
||||||
if *logfile != "" {
|
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 {
|
||||||
@ -344,6 +364,12 @@ func Start(serviceID, serviceArgsStr string) (errStr string) {
|
|||||||
}
|
}
|
||||||
log.SetOutput(f)
|
log.SetOutput(f)
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
|
||||||
|
log.SetOutput(&logWriter{
|
||||||
|
callback: loggerCallback,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
//regist services and run service
|
//regist services and run service
|
||||||
switch serviceName {
|
switch serviceName {
|
||||||
|
|||||||
Reference in New Issue
Block a user