Selaa lähdekoodia

修改一些传递方法

刘河 6 vuotta sitten
vanhempi
commit
69ad2d3761
2 muutettua tiedostoa jossa 14 lisäystä ja 20 poistoa
  1. 4 4
      README.md
  2. 10 16
      utils/util.go

+ 4 - 4
README.md

@@ -28,7 +28,7 @@ easyProxy是一款轻量级、高性能、功能最为强大的**内网穿透**
 - [x] 支持tcp隧道,提升访问效率
 - [x] 支持udp隧道
 - [x] 支持http代理
-- [x] 支持内网穿透sock5代理,配合proxifer可达到vpn的效果,在外网访问内网资源或者设备,同时可以设置用户名和密码验证
+- [x] 支持内网穿透sock5代理,配合proxifier可达到vpn的效果,在外网访问内网资源或者设备,同时可以设置用户名和密码验证
 - [x] 强大的web管理界面,可方便的设置的和管理隧道
 - [x] 支持站点密码保护
 - [x] 支持加密传输
@@ -228,7 +228,7 @@ target | 目标地址,格式如上
 
 **原理**
 
-主要用于socks5代理,也就是和ss类似,不过是代理内网。使用此模式时,可在非内网环境下配置本机的socks5代理(服务器ip、sock5代理端口),即可实现socks5代理,达到访问内网的网站的效果,配合proxifer等全局代理软件,即可如同使用内网vpn一样,访问内网网站,通过ssh连接内网机器等等……。
+主要用于socks5代理,也就是和ss类似,不过是代理内网。使用此模式时,可在非内网环境下配置本机的socks5代理(服务器ip、sock5代理端口),即可实现socks5代理,达到访问内网的网站的效果,配合proxifier等全局代理软件,即可如同使用内网vpn一样,访问内网网站,通过ssh连接内网机器等等……。
 ![image](https://github.com/cnlh/easyProxy/blob/master/image/sock5.png?raw=true)
 
 ### 使用
@@ -247,7 +247,7 @@ httpport | 代理的http端口(socks5连接端口)
 u | 验证的用户名
 p | 验证的密码
 
-**说明**:用户名和密码验证模式,仅部分socks5客户端支持,例如proxifer。命令行执行加上,web管理模式中可单独配置
+**说明**:用户名和密码验证模式,仅部分socks5客户端支持,例如proxifier。命令行执行加上,web管理模式中可单独配置
 
 
 ```
@@ -264,7 +264,7 @@ p | 验证的密码
 - 需要使用内网代理的机器
 
 ```
-配置socks5代理即可,ip为外网服务器ip,端口为httpport,即可在外网环境使用内网啦!也可使用proxifer等全局代理软件。
+配置socks5代理即可,ip为外网服务器ip,端口为httpport,即可在外网环境使用内网啦!也可使用proxifier等全局代理软件。
 ```
 如果设置了用户名和密码,记得填上用户名和密码(仅部分客户端支持密码验证)
 

+ 10 - 16
utils/util.go

@@ -41,30 +41,24 @@ func Relay(in, out net.Conn, compressType int, crypt, mux bool) {
 	switch compressType {
 	case COMPRESS_SNAPY_ENCODE:
 		copyBuffer(NewSnappyConn(in, crypt), out)
-		if mux {
-			out.Close()
-			NewSnappyConn(in, crypt).Write([]byte(IO_EOF))
-		}
+		out.Close()
+		NewSnappyConn(in, crypt).Write([]byte(IO_EOF))
 	case COMPRESS_SNAPY_DECODE:
 		copyBuffer(in, NewSnappyConn(out, crypt))
-		if mux {
-			in.Close()
+		in.Close()
+		if !mux {
+			out.Close()
 		}
 	case COMPRESS_NONE_ENCODE:
 		copyBuffer(NewCryptConn(in, crypt), out)
-		if mux {
-			out.Close()
-			NewCryptConn(in, crypt).Write([]byte(IO_EOF))
-		}
+		out.Close()
+		NewCryptConn(in, crypt).Write([]byte(IO_EOF))
 	case COMPRESS_NONE_DECODE:
 		copyBuffer(in, NewCryptConn(out, crypt))
-		if mux {
-			in.Close()
-		}
-	}
-	if !mux {
 		in.Close()
-		out.Close()
+		if !mux {
+			out.Close()
+		}
 	}
 }