|
@@ -21,7 +21,7 @@ easyProxy是一款轻量级、高性能、功能最为强大的**内网穿透**
|
|
|
5. 搭建一个内网穿透ss,在外网如同使用内网vpn一样访问内网资源或者设备----> [socks5代理模式](#socks5代理模式)
|
|
|
|
|
|
## 特点
|
|
|
-- [x] 支持gzip、snnapy压缩,减小传输过程流量消耗
|
|
|
+- [x] 支持gzip、snappy压缩,减小传输过程流量消耗
|
|
|
- [x] 支持多站点配置,兼容多个内网网站,可处理相互之间的跳转包含关系
|
|
|
- [x] 断线自动重连
|
|
|
- [x] 支持多路传输,提高并发
|
|
@@ -35,10 +35,10 @@ easyProxy是一款轻量级、高性能、功能最为强大的**内网穿透**
|
|
|
## 目录
|
|
|
|
|
|
1. [安装](#安装)
|
|
|
-2. [http反向代理请求](#http代理请求)
|
|
|
-3. [tcp隧道模式](#tcp隧道模式)
|
|
|
-4. [udp隧道模式](#udp隧道模式)
|
|
|
-5. [sock5代理模式](#sock5代理模式)
|
|
|
+2. [tcp隧道模式](#tcp隧道模式)
|
|
|
+3. [udp隧道模式](#udp隧道模式)
|
|
|
+4. [http反向代理请求](#http代理请求)
|
|
|
+5. [socks5代理模式](#sock5代理模式)
|
|
|
6. [http代理模式](#http代理模式)
|
|
|
7. [数据压缩支持](#数据压缩支持)
|
|
|
8. [操作系统支持](#操作系统支持)
|
|
@@ -58,6 +58,85 @@ easyProxy是一款轻量级、高性能、功能最为强大的**内网穿透**
|
|
|
- 编译(无第三方模块)
|
|
|
> go build
|
|
|
|
|
|
+## tcp隧道模式
|
|
|
+
|
|
|
+### 场景及原理
|
|
|
+较为适用于处理tcp连接,例如ssh,同时也适用于http等,访问服务端的8024端口相当于访问内网10.1.50.202机器的4000端口,构成如下所示的隧道。
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+例如:
|
|
|
+
|
|
|
+**背景:**
|
|
|
+
|
|
|
+- 内网机器10.1.50.203提供了web服务80端口
|
|
|
+
|
|
|
+- 有VPS一个,公网IP:123.206.77.88
|
|
|
+
|
|
|
+**需求:**
|
|
|
+
|
|
|
+在家里能够通过访问VPS的8024端口访问到内网机器A的80端口
|
|
|
+
|
|
|
+### 使用
|
|
|
+- 服务端
|
|
|
+
|
|
|
+```
|
|
|
+./easyProxy -mode=tunnelServer -vkey=DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024 -target=10.1.50.203:80
|
|
|
+```
|
|
|
+
|
|
|
+名称 | 含义
|
|
|
+---|---
|
|
|
+mode | 运行模式(client、server不写默认client)
|
|
|
+vkey | 验证密钥
|
|
|
+tcpport | 服务端与客户端通信端口
|
|
|
+httpport | 外部访问端口
|
|
|
+target | 目标地址,格式如上
|
|
|
+
|
|
|
+- 客户端
|
|
|
+
|
|
|
+
|
|
|
+```
|
|
|
+./easyProxy -server=ip:port -vkey=DKibZF5TXvic1g3kY
|
|
|
+```
|
|
|
+## udp隧道模式
|
|
|
+
|
|
|
+### 场景及原理
|
|
|
+
|
|
|
+**背景**
|
|
|
+- 内网机器A提供了DNS解析服务,10.1.50.210:53端口
|
|
|
+
|
|
|
+- 有VPS一个,公网IP:123.206.77.88
|
|
|
+
|
|
|
+**需求:**
|
|
|
+在家里能够通过设置本地dns为123.206.77.88,使用内网机器A进行域名解析服务.
|
|
|
+
|
|
|
+访问vps的53端口相当于访问10.1.50.210的53端口,构成如下所示的隧道。
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+### 使用
|
|
|
+- 服务端
|
|
|
+
|
|
|
+```
|
|
|
+./easyProxy -mode=udpServer -vkey=DKibZF5TXvic1g3kY -tcpport=8284 -httpport=53 -target=10.1.50.210:53
|
|
|
+```
|
|
|
+
|
|
|
+名称 | 含义
|
|
|
+---|---
|
|
|
+mode | 运行模式(client、server不写默认client)
|
|
|
+vkey | 验证密钥
|
|
|
+tcpport | 服务端与客户端通信端口
|
|
|
+httpport | 公网vps的访问端口
|
|
|
+target | 目标地址,格式如上
|
|
|
+
|
|
|
+- 客户端
|
|
|
+
|
|
|
+
|
|
|
+```
|
|
|
+./easyProxy -server=ip:port -vkey=DKibZF5TXvic1g3kY
|
|
|
+```
|
|
|
+
|
|
|
## http代理请求
|
|
|
|
|
|
### 场景及原理
|
|
@@ -78,7 +157,7 @@ easyProxy是一款轻量级、高性能、功能最为强大的**内网穿透**
|
|
|
- 服务端
|
|
|
|
|
|
```
|
|
|
-./easyProxy -mode httpServer -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
+./easyProxy -mode=httpServer -vkey=DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
```
|
|
|
|
|
|
名称 | 含义
|
|
@@ -96,7 +175,7 @@ httpport | 代理的http端口(与nginx配合使用)
|
|
|
|
|
|
|
|
|
```
|
|
|
-./easyProxy -config config.json
|
|
|
+./easyProxy -server=ip:port -config=config.json -vkey=DKibZF5TXvic1g3kY
|
|
|
```
|
|
|
|
|
|
|
|
@@ -107,12 +186,6 @@ config | 配置文件路径
|
|
|
|
|
|
```
|
|
|
{
|
|
|
- "Server": {
|
|
|
- "ip": "123.206.77.88",
|
|
|
- "tcp": 8284,
|
|
|
- "vkey": "DKibZF5TXvic1g3kY",
|
|
|
- "num": 10
|
|
|
- },
|
|
|
"SiteList": [
|
|
|
{
|
|
|
"host": "a.ourcauc.com",
|
|
@@ -135,10 +208,6 @@ config | 配置文件路径
|
|
|
```
|
|
|
名称 | 含义
|
|
|
---|---
|
|
|
-ip | 服务端ip地址
|
|
|
-tcp | 服务端与客户端通信端口
|
|
|
-vkey | 验证密钥
|
|
|
-num | 服务端与客户端通信连接数
|
|
|
SiteList | 本地解析的域名列表
|
|
|
host | 域名地址
|
|
|
url | 内网代理的地址
|
|
@@ -158,7 +227,7 @@ server {
|
|
|
location / {
|
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
|
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
|
|
- proxy_set_header Host $http_host:8024;
|
|
|
+ proxy_set_header Host $http_host;
|
|
|
proxy_set_header X-Nginx-Proxy true;
|
|
|
proxy_set_header Connection "";
|
|
|
proxy_pass http://nodejs;
|
|
@@ -184,153 +253,6 @@ server {
|
|
|
[二级域名](https://github.com/cnlh/easyProxy/wiki/%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B)
|
|
|
|
|
|
|
|
|
-## tcp隧道模式
|
|
|
-
|
|
|
-### 场景及原理
|
|
|
-较为适用于处理tcp连接,例如ssh,同时也适用于http等,访问服务端的8024端口相当于访问内网10.1.50.202机器的4000端口,构成如下所示的隧道。
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-例如:
|
|
|
-
|
|
|
-**背景:**
|
|
|
-
|
|
|
-- 内网机器10.1.50.203提供了web服务80端口
|
|
|
-
|
|
|
-- 有VPS一个,公网IP:123.206.77.88
|
|
|
-
|
|
|
-**需求:**
|
|
|
-
|
|
|
-在家里能够通过访问VPS的8024端口访问到内网机器A的80端口
|
|
|
-
|
|
|
-### 使用
|
|
|
-- 服务端
|
|
|
-
|
|
|
-```
|
|
|
-./easyProxy -mode tunnelServer -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024 -target=10.1.50.203:80
|
|
|
-```
|
|
|
-
|
|
|
-名称 | 含义
|
|
|
----|---
|
|
|
-mode | 运行模式(client、server不写默认client)
|
|
|
-vkey | 验证密钥
|
|
|
-tcpport | 服务端与客户端通信端口
|
|
|
-httpport | 代理的http端口(与nginx配合使用)
|
|
|
-target | 目标地址,格式如上
|
|
|
-
|
|
|
-- 客户端
|
|
|
-
|
|
|
-```
|
|
|
-建立配置文件 config.json
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
-```
|
|
|
-./easyProxy -config config.json
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-config | 配置文件路径
|
|
|
-### 配置文件config.json
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-```
|
|
|
-{
|
|
|
- "Server": {
|
|
|
- "ip": "123.206.77.88",
|
|
|
- "tcp": 8284,
|
|
|
- "vkey": "DKibZF5TXvic1g3kY",
|
|
|
- "num": 10
|
|
|
- }
|
|
|
-}
|
|
|
-```
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-ip | 服务端ip地址
|
|
|
-tcp | 服务端与客户端通信端口
|
|
|
-vkey | 验证密钥
|
|
|
-num | 服务端与客户端通信连接数
|
|
|
-
|
|
|
-## udp隧道模式
|
|
|
-
|
|
|
-### 场景及原理
|
|
|
-
|
|
|
-**背景**
|
|
|
-- 内网机器A提供了DNS解析服务,10.1.50.210:53端口
|
|
|
-
|
|
|
-- 有VPS一个,公网IP:123.206.77.88
|
|
|
-
|
|
|
-**需求:**
|
|
|
-在家里能够通过设置本地dns为123.206.77.88,使用内网机器A进行域名解析服务.
|
|
|
-
|
|
|
-访问vps的53端口相当于访问10.1.50.210的53端口,构成如下所示的隧道。
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-### 使用
|
|
|
-- 服务端
|
|
|
-
|
|
|
-```
|
|
|
-./easyProxy -mode udpServer -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=53 -target=10.1.50.210:53
|
|
|
-```
|
|
|
-
|
|
|
-名称 | 含义
|
|
|
----|---
|
|
|
-mode | 运行模式(client、server不写默认client)
|
|
|
-vkey | 验证密钥
|
|
|
-tcpport | 服务端与客户端通信端口
|
|
|
-httpport | 公网vpn的端口
|
|
|
-target | 目标地址,格式如上
|
|
|
-
|
|
|
-- 客户端
|
|
|
-
|
|
|
-```
|
|
|
-建立配置文件 config.json
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
-```
|
|
|
-./easyProxy -config config.json
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-config | 配置文件路径
|
|
|
-
|
|
|
-- 本机
|
|
|
-
|
|
|
-```
|
|
|
-设置本机dns解析服务器地址为123.206.77.88
|
|
|
-```
|
|
|
-
|
|
|
-
|
|
|
-### 配置文件config.json
|
|
|
-
|
|
|
-
|
|
|
-```
|
|
|
-{
|
|
|
- "Server": {
|
|
|
- "ip": "123.206.77.88",
|
|
|
- "tcp": 8284,
|
|
|
- "vkey": "DKibZF5TXvic1g3kY",
|
|
|
- "num": 10
|
|
|
- }
|
|
|
-}
|
|
|
-```
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-ip | 服务端ip地址
|
|
|
-tcp | 服务端与客户端通信端口
|
|
|
-vkey | 验证密钥
|
|
|
-num | 服务端与客户端通信连接数
|
|
|
-
|
|
|
-
|
|
|
## socks5代理模式
|
|
|
|
|
|
### 场景及原理
|
|
@@ -344,7 +266,7 @@ num | 服务端与客户端通信连接数
|
|
|
- 服务端
|
|
|
|
|
|
```
|
|
|
-./easyProxy -mode sock5Server -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
+./easyProxy -mode=sock5ServerServer -vkey=DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
```
|
|
|
|
|
|
名称 | 含义
|
|
@@ -352,7 +274,7 @@ num | 服务端与客户端通信连接数
|
|
|
mode | 运行模式(client、server不写默认client)
|
|
|
vkey | 验证密钥
|
|
|
tcpport | 服务端与客户端通信端口
|
|
|
-httpport | 代理的http端口(与nginx配合使用)
|
|
|
+httpport | 代理的http端口(socks5连接端口)
|
|
|
u | 验证的用户名
|
|
|
p | 验证的密码
|
|
|
|
|
@@ -365,17 +287,10 @@ p | 验证的密码
|
|
|
|
|
|
- 客户端
|
|
|
|
|
|
-```
|
|
|
-建立配置文件 config.json
|
|
|
-```
|
|
|
-
|
|
|
|
|
|
```
|
|
|
-./easyProxy -config config.json
|
|
|
+./easyProxy -server=ip:port -vkey=DKibZF5TXvic1g3kY
|
|
|
```
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-config | 配置文件路径
|
|
|
|
|
|
- 需要使用内网代理的机器
|
|
|
|
|
@@ -384,24 +299,6 @@ config | 配置文件路径
|
|
|
```
|
|
|
如果设置了用户名和密码,记得填上用户名和密码
|
|
|
|
|
|
-### 配置文件config.json
|
|
|
-
|
|
|
-```
|
|
|
-{
|
|
|
- "Server": {
|
|
|
- "ip": "123.206.77.88",
|
|
|
- "tcp": 8284,
|
|
|
- "vkey": "DKibZF5TXvic1g3kY",
|
|
|
- "num": 10
|
|
|
- }
|
|
|
-}
|
|
|
-```
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-ip | 服务端ip地址
|
|
|
-tcp | 服务端与客户端通信端口
|
|
|
-vkey | 验证密钥
|
|
|
-num | 服务端与客户端通信连接数
|
|
|
|
|
|
|
|
|
## http代理模式
|
|
@@ -415,7 +312,7 @@ num | 服务端与客户端通信连接数
|
|
|
- 服务端
|
|
|
|
|
|
```
|
|
|
-./easyProxy -mode httpProxyServer -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
+./easyProxy -mode=httpProxyServer -vkey=DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024
|
|
|
```
|
|
|
|
|
|
名称 | 含义
|
|
@@ -423,16 +320,14 @@ num | 服务端与客户端通信连接数
|
|
|
mode | 运行模式(client、server不写默认client)
|
|
|
vkey | 验证密钥
|
|
|
tcpport | 服务端与客户端通信端口
|
|
|
-httpport | 代理的http端口(与nginx配合使用)
|
|
|
+httpport | http代理连接端口
|
|
|
|
|
|
- 客户端
|
|
|
|
|
|
-```
|
|
|
-建立配置文件 config.json
|
|
|
-```
|
|
|
+
|
|
|
|
|
|
```
|
|
|
-./easyProxy -config config.json
|
|
|
+./easyProxy -server=ip:port -vkey=DKibZF5TXvic1g3kY
|
|
|
```
|
|
|
|
|
|
- 需要使用内网代理的机器
|
|
@@ -442,29 +337,6 @@ httpport | 代理的http端口(与nginx配合使用)
|
|
|
配置HTTP代理即可,ip为外网服务器ip,端口为httpport,即可在外网环境访问内网啦!
|
|
|
```
|
|
|
|
|
|
-
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-config | 配置文件路径
|
|
|
-### 配置文件config.json
|
|
|
-
|
|
|
-```
|
|
|
-{
|
|
|
- "Server": {
|
|
|
- "ip": "123.206.77.88",
|
|
|
- "tcp": 8284,
|
|
|
- "vkey": "DKibZF5TXvic1g3kY",
|
|
|
- "num": 10
|
|
|
- }
|
|
|
-}
|
|
|
-```
|
|
|
- 名称 | 含义
|
|
|
----|---
|
|
|
-ip | 服务端ip地址
|
|
|
-tcp | 服务端与客户端通信端口
|
|
|
-vkey | 验证密钥
|
|
|
-num | 服务端与客户端通信连接数
|
|
|
-
|
|
|
## 数据压缩支持
|
|
|
|
|
|
### 场景及原理
|
|
@@ -473,7 +345,7 @@ num | 服务端与客户端通信连接数
|
|
|
### 注意点
|
|
|
|
|
|
- 所有模式均支持数据压缩
|
|
|
-- 如使用数据压缩,客户端与服务端的压缩方式必须相同,否则将无法正常工作。
|
|
|
+
|
|
|
|
|
|
### 如何使用
|
|
|
|
|
@@ -483,14 +355,10 @@ num | 服务端与客户端通信连接数
|
|
|
```
|
|
|
./easyProxy -mode tunnelServer -vkey DKibZF5TXvic1g3kY -tcpport=8284 -httpport=8024 -target=10.1.50.203:80 -compress=gzip
|
|
|
```
|
|
|
-- 在client端同时加上参数 -compress=gzip,例如
|
|
|
-```
|
|
|
-./easyProxy -config=config.json -compress=gzip
|
|
|
-```
|
|
|
|
|
|
-**SNNAPY压缩**
|
|
|
+**SNAPPY压缩**
|
|
|
|
|
|
-将参数修改为snnapy即可
|
|
|
+将参数修改为snappy即可
|
|
|
|
|
|
## 操作系统支持
|
|
|
支持Windows、Linux、MacOSX等,无第三方依赖库。
|