mirror of https://github.com/qwqdanchun/nps.git
Update README.md
This commit is contained in:
parent
abc30a9ad1
commit
61aab7340c
326
README.md
326
README.md
|
@ -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端口,构成如下所示的隧道。
|
||||
|
||||
![image](https://github.com/cnlh/easyProxy/blob/master/image/tcp.png?raw=true)
|
||||
|
||||
例如:
|
||||
|
||||
**背景:**
|
||||
|
||||
- 内网机器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端口,构成如下所示的隧道。
|
||||
|
||||
![image](https://github.com/cnlh/easyProxy/blob/master/image/udp.png?raw=true)
|
||||
|
||||
|
||||
### 使用
|
||||
- 服务端
|
||||
|
||||
```
|
||||
./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端口,构成如下所示的隧道。
|
||||
|
||||
![image](https://github.com/cnlh/easyProxy/blob/master/image/tcp.png?raw=true)
|
||||
|
||||
例如:
|
||||
|
||||
**背景:**
|
||||
|
||||
- 内网机器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端口,构成如下所示的隧道。
|
||||
|
||||
![image](https://github.com/cnlh/easyProxy/blob/master/image/udp.png?raw=true)
|
||||
|
||||
|
||||
### 使用
|
||||
- 服务端
|
||||
|
||||
```
|
||||
./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等,无第三方依赖库。
|
||||
|
|
Loading…
Reference in New Issue