Signed-off-by: arraykeys@gmail.com <arraykeys@gmail.com>

This commit is contained in:
arraykeys@gmail.com
2018-05-16 15:59:53 +08:00
parent d7641c4483
commit 8d74baf48c
5 changed files with 20 additions and 7 deletions

View File

@ -6,7 +6,8 @@ v4.8
--disable-socks:禁用socks代理 --disable-socks:禁用socks代理
默认都是false(开启). 默认都是false(开启).
3.重构了部分代码的日志部分,保证了日志按着预期输出. 3.重构了部分代码的日志部分,保证了日志按着预期输出.
4.修复了sps\http代理初始化服务的时机不正确,导致nil异常的bug.
5.优化了sps日志输出.
v4.7 v4.7
1.增加了基于gomobile的sdk,对android/ios/windows/linux/mac提供SDK支持. 1.增加了基于gomobile的sdk,对android/ios/windows/linux/mac提供SDK支持.

View File

@ -238,6 +238,13 @@ func Start(serviceID, serviceArgsStr string) (errStr string) {
spsArgs.ParentKey = sps.Flag("parent-key", "the password for auto encrypt/decrypt parent connection data").Short('Z').Default("").String() spsArgs.ParentKey = sps.Flag("parent-key", "the password for auto encrypt/decrypt parent connection data").Short('Z').Default("").String()
spsArgs.LocalCompress = sps.Flag("local-compress", "auto compress/decompress data on local connection").Short('m').Default("false").Bool() spsArgs.LocalCompress = sps.Flag("local-compress", "auto compress/decompress data on local connection").Short('m').Default("false").Bool()
spsArgs.ParentCompress = sps.Flag("parent-compress", "auto compress/decompress data on parent connection").Short('M').Default("false").Bool() spsArgs.ParentCompress = sps.Flag("parent-compress", "auto compress/decompress data on parent connection").Short('M').Default("false").Bool()
spsArgs.SSMethod = sps.Flag("ss-method", "").Hidden().Short('h').Default("aes-256-cfb").String()
spsArgs.SSKey = sps.Flag("ss-key", "").Hidden().Short('j').Default("sspassword").String()
spsArgs.ParentSSMethod = sps.Flag("parent-ss-method", "").Hidden().Short('H').Default("aes-256-cfb").String()
spsArgs.ParentSSKey = sps.Flag("parent-ss-key", "").Hidden().Short('J').Default("sspassword").String()
spsArgs.DisableHTTP = sps.Flag("disable-http", "disable http(s) proxy").Default("false").Bool()
spsArgs.DisableSocks5 = sps.Flag("disable-socks", "disable socks proxy").Default("false").Bool()
spsArgs.DisableSS = sps.Flag("disable-ss", "").Hidden().Default("false").Bool()
//parse args //parse args
_args := strings.Fields(strings.Trim(serviceArgsStr, " ")) _args := strings.Fields(strings.Trim(serviceArgsStr, " "))

View File

@ -167,13 +167,16 @@ func (s *HTTP) Start(args interface{}, log *logger.Logger) (err error) {
if err = s.CheckArgs(); err != nil { if err = s.CheckArgs(); err != nil {
return return
} }
if err = s.InitService(); err != nil {
return
}
if *s.cfg.Parent != "" { if *s.cfg.Parent != "" {
s.log.Printf("use %s parent %s", *s.cfg.ParentType, *s.cfg.Parent) s.log.Printf("use %s parent %s", *s.cfg.ParentType, *s.cfg.Parent)
s.InitOutConnPool() s.InitOutConnPool()
} }
if err = s.InitService(); err != nil {
return
}
for _, addr := range strings.Split(*s.cfg.Local, ",") { for _, addr := range strings.Split(*s.cfg.Local, ",") {
if addr != "" { if addr != "" {
host, port, _ := net.SplitHostPort(addr) host, port, _ := net.SplitHostPort(addr)

View File

@ -69,10 +69,13 @@ func (s *SPS) CheckArgs() (err error) {
return return
} }
func (s *SPS) InitService() (err error) { func (s *SPS) InitService() (err error) {
s.InitOutConnPool()
if *s.cfg.DNSAddress != "" { if *s.cfg.DNSAddress != "" {
(*s).domainResolver = utils.NewDomainResolver(*s.cfg.DNSAddress, *s.cfg.DNSTTL, s.log) (*s).domainResolver = utils.NewDomainResolver(*s.cfg.DNSAddress, *s.cfg.DNSTTL, s.log)
} }
s.InitOutConnPool()
err = s.InitBasicAuth() err = s.InitBasicAuth()
if *s.cfg.SSMethod != "" && *s.cfg.SSKey != "" { if *s.cfg.SSMethod != "" && *s.cfg.SSKey != "" {
s.localCipher, err = ss.NewCipher(*s.cfg.SSMethod, *s.cfg.SSKey) s.localCipher, err = ss.NewCipher(*s.cfg.SSMethod, *s.cfg.SSKey)

View File

@ -669,7 +669,6 @@ type DomainResolverItem struct {
} }
func NewDomainResolver(dnsAddrress string, ttl int, log *logger.Logger) DomainResolver { func NewDomainResolver(dnsAddrress string, ttl int, log *logger.Logger) DomainResolver {
return DomainResolver{ return DomainResolver{
ttl: ttl, ttl: ttl,
dnsAddrress: dnsAddrress, dnsAddrress: dnsAddrress,
@ -751,7 +750,7 @@ func (a *DomainResolver) Resolve(address string) (ip string, err error) {
func (a *DomainResolver) PrintData() { func (a *DomainResolver) PrintData() {
for k, item := range a.data.Items() { for k, item := range a.data.Items() {
d := item.(*DomainResolverItem) d := item.(*DomainResolverItem)
fmt.Printf("%s:ip[%s],domain[%s],expired at[%d]\n", k, (*d).ip, (*d).domain, (*d).expiredAt) a.log.Printf("%s:ip[%s],domain[%s],expired at[%d]\n", k, (*d).ip, (*d).domain, (*d).expiredAt)
} }
} }
func NewCompStream(conn net.Conn) *CompStream { func NewCompStream(conn net.Conn) *CompStream {