fix log
This commit is contained in:
parent
d3fe7c74eb
commit
4d159f7cfa
58
conn.go
58
conn.go
@ -29,8 +29,8 @@ func listenAndServe(arg Args) error {
|
|||||||
switch arg.Transport {
|
switch arg.Transport {
|
||||||
case "ws": // websocket connection
|
case "ws": // websocket connection
|
||||||
err = NewWs(arg).ListenAndServe()
|
err = NewWs(arg).ListenAndServe()
|
||||||
if err != nil && glog.V(LFATAL) {
|
if err != nil {
|
||||||
glog.Errorln(err)
|
glog.Infoln(err)
|
||||||
}
|
}
|
||||||
return err
|
return err
|
||||||
case "tls": // tls connection
|
case "tls": // tls connection
|
||||||
@ -43,9 +43,7 @@ func listenAndServe(arg Args) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LFATAL) {
|
glog.Infoln(err)
|
||||||
glog.Errorln(err)
|
|
||||||
}
|
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -54,9 +52,7 @@ func listenAndServe(arg Args) error {
|
|||||||
for {
|
for {
|
||||||
conn, err := ln.Accept()
|
conn, err := ln.Accept()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln(err)
|
||||||
glog.Warningln(err)
|
|
||||||
}
|
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
go handleConn(conn, arg)
|
go handleConn(conn, arg)
|
||||||
@ -67,10 +63,9 @@ func listenAndServe(arg Args) error {
|
|||||||
|
|
||||||
func handleConn(conn net.Conn, arg Args) {
|
func handleConn(conn net.Conn, arg Args) {
|
||||||
atomic.AddInt32(&connCounter, 1)
|
atomic.AddInt32(&connCounter, 1)
|
||||||
if glog.V(LINFO) {
|
glog.V(LINFO).Infof("%s connected, connections: %d",
|
||||||
glog.Infof("%s connected, connections: %d",
|
|
||||||
conn.RemoteAddr(), atomic.LoadInt32(&connCounter))
|
conn.RemoteAddr(), atomic.LoadInt32(&connCounter))
|
||||||
}
|
|
||||||
if glog.V(LINFO) {
|
if glog.V(LINFO) {
|
||||||
defer func() {
|
defer func() {
|
||||||
glog.Infof("%s disconnected, connections: %d",
|
glog.Infof("%s disconnected, connections: %d",
|
||||||
@ -97,9 +92,7 @@ func handleConn(conn net.Conn, arg Args) {
|
|||||||
case "http":
|
case "http":
|
||||||
req, err := http.ReadRequest(bufio.NewReader(conn))
|
req, err := http.ReadRequest(bufio.NewReader(conn))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("http:", err)
|
||||||
glog.Warningln("http:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
handleHttpRequest(req, conn, arg)
|
handleHttpRequest(req, conn, arg)
|
||||||
@ -108,9 +101,7 @@ func handleConn(conn net.Conn, arg Args) {
|
|||||||
conn = gosocks5.ServerConn(conn, selector)
|
conn = gosocks5.ServerConn(conn, selector)
|
||||||
req, err := gosocks5.ReadRequest(conn)
|
req, err := gosocks5.ReadRequest(conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("socks5:", err)
|
||||||
glog.Warningln("socks5:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
handleSocks5Request(req, conn)
|
handleSocks5Request(req, conn)
|
||||||
@ -123,9 +114,7 @@ func handleConn(conn net.Conn, arg Args) {
|
|||||||
|
|
||||||
n, err := io.ReadAtLeast(conn, b, 2)
|
n, err := io.ReadAtLeast(conn, b, 2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("client:", err)
|
||||||
glog.Warningln("client:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -134,34 +123,26 @@ func handleConn(conn net.Conn, arg Args) {
|
|||||||
length := 2 + mn
|
length := 2 + mn
|
||||||
if n < length {
|
if n < length {
|
||||||
if _, err := io.ReadFull(conn, b[n:length]); err != nil {
|
if _, err := io.ReadFull(conn, b[n:length]); err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("socks5:", err)
|
||||||
glog.Warningln("socks5:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
methods := b[2 : 2+mn]
|
methods := b[2 : 2+mn]
|
||||||
method := selector.Select(methods...)
|
method := selector.Select(methods...)
|
||||||
if _, err := conn.Write([]byte{gosocks5.Ver5, method}); err != nil {
|
if _, err := conn.Write([]byte{gosocks5.Ver5, method}); err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("socks5 select:", err)
|
||||||
glog.Warningln("socks5 select:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
c, err := selector.OnSelected(method, conn)
|
c, err := selector.OnSelected(method, conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("socks5 onselected:", err)
|
||||||
glog.Warningln("socks5 onselected:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
conn = c
|
conn = c
|
||||||
|
|
||||||
req, err := gosocks5.ReadRequest(conn)
|
req, err := gosocks5.ReadRequest(conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("socks5 request:", err)
|
||||||
glog.Warningln("socks5 request:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
handleSocks5Request(req, conn)
|
handleSocks5Request(req, conn)
|
||||||
@ -170,9 +151,7 @@ func handleConn(conn net.Conn, arg Args) {
|
|||||||
|
|
||||||
req, err := http.ReadRequest(bufio.NewReader(newReqReader(b[:n], conn)))
|
req, err := http.ReadRequest(bufio.NewReader(newReqReader(b[:n], conn)))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
if glog.V(LWARNING) {
|
glog.V(LWARNING).Infoln("http:", err)
|
||||||
glog.Warningln("http:", err)
|
|
||||||
}
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
handleHttpRequest(req, conn, arg)
|
handleHttpRequest(req, conn, arg)
|
||||||
@ -315,16 +294,13 @@ func establish(conn net.Conn, addr string, arg Args) error {
|
|||||||
if err := req.Write(conn); err != nil {
|
if err := req.Write(conn); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if glog.V(LDEBUG) {
|
glog.V(LDEBUG).Infoln(req)
|
||||||
glog.Infoln(req)
|
|
||||||
}
|
|
||||||
rep, err := gosocks5.ReadReply(conn)
|
rep, err := gosocks5.ReadReply(conn)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
if glog.V(LDEBUG) {
|
glog.V(LDEBUG).Infoln(rep)
|
||||||
glog.Infoln(rep)
|
|
||||||
}
|
|
||||||
if rep.Rep != gosocks5.Succeeded {
|
if rep.Rep != gosocks5.Succeeded {
|
||||||
return errors.New("Service unavailable")
|
return errors.New("Service unavailable")
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user