pull/539/head
arraykeys 1 year ago
parent f7b3a76582
commit de223d666b

File diff suppressed because it is too large Load Diff

@ -308,6 +308,8 @@ http
比如: --log proxy.log日志就会输出到proxy.log方便排除问题。
默认会输出info和warn日志如果只关注warn日志可以使用`--warn`参数只输出warn日志。
### 5. 生成加密通讯需要的证书文件
http(s)代理、tcp代理、udp代理、socks5代理、内网穿透等功能和上级通讯的时候为了安全我们采用TLS加密通讯当然可以选择不加密通信通讯本教程所有和上级通讯都采用加密需要证书文件。
@ -657,6 +659,8 @@ iptables -t nat -A OUTPUT -p tcp -j PROXY
比如:
`proxy http -p ":33080" --dns-address "8.8.8.8:53" --dns-ttl 300`
`--dns-address` 支持设置多个dns地址负载均衡英文半角逗号分割。比如--dns-address "1.1.1.1:53,8.8.8.8:53"
### 1.12 自定义加密
proxy的http(s)代理在tcp之上可以通过tls标准加密以及kcp协议加密tcp数据除此之外还支持在tls和kcp之后进行自定义
@ -927,12 +931,24 @@ port:代理的端口
### 2.8 限速,限制连接数
参数`--max-conns`可以限制每个端口的最大连接数。
比如限制每个端口最多1000个连接数
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --max-conns 1000`
参数`--rate-limit`可以限制每个tcp连接的速率。
比如限制每个tcp连接速率为100k/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --rate-limit 100k`
- **限制连接数**
参数`--max-conns`可以限制每个端口的最大连接数。
比如限制每个端口最多1000个连接数
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --max-conns 1000`
- **限制tcp连接速率**
参数`--rate-limit`可以限制每个tcp连接的速率。
比如限制每个tcp连接速率为100k/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --rate-limit 100k`
- **限制客户端IP总速率**
参数`--ip-rate`可以IP维度限制每个客户端IP的总速率。
比如限制每个客户端IP总速率为1M/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --ip-rate 1M`
- **限制端口总速率**
参数`--port-rate`可以在`服务IP:端口`维度,限制每个服务端口总速率。
比如限制每个端口总速率为10M/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --port-rate 10M`
- **联合限速**
`--rate-limit`和(`--ip-rate`或`--port-rate`可以同时使用。既限制总速率也限制单个tcp速率。
### 2.9 压缩传输
@ -2049,6 +2065,7 @@ proxy的http(s)/socks5/sps代理功能支持通过API控制用户对代理对
- 动态上级可以根据用户或者客户端IP动态的从API获取其上级支持http(s)/socks5/ss上级。
- 认证每一个连接,无论是否要求客户端认证。
- 缓存认证结果时间可以设置减轻API压力。
- 用户维度、客户端IP维度、端口维度的总限速。
#### 具体使用
@ -2109,29 +2126,41 @@ if($ok){
header("ipqps:2");
header("upstream:http://127.0.0.1:3500?parent-type=tcp");
header("outgoing:1.1.1.1");
header("userTotalRate:1024000");
//header("ipTotalRate:10240");
//header("portTotalRate:10240");
header("HTTP/1.1 204 No Content");
}
```
#### HTTP HEADER 头部字段解释
`userconns`用户的最大连接数不限制为0或者不设置这个头部。
`ipconns`IP的最大连接数不限制为0或者不设置这个头部。
`userrate`用户的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
`iprate`IP的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
`userqps`用户每秒可以建立的最大连接数不限制为0或者不设置这个头部。
`ipqps`IP每秒可以建立的最大连接数不限制为0或者不设置这个头部。
`upstream`:使用的上级,没有为空,或者不设置这个头部。
`outgoing`: 使用的出口IP这个设置只有在upstream为空的的时候才有效这里设置的IP必须是proxy所在机器具有的IP。
- `userconns`用户的最大连接数不限制为0或者不设置这个头部。
- `ipconns`IP的最大连接数不限制为0或者不设置这个头部。
- `userrate`用户的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
- `iprate`IP的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
- `userqps`用户每秒可以建立的最大连接数不限制为0或者不设置这个头部。
- `ipqps`IP每秒可以建立的最大连接数不限制为0或者不设置这个头部。
- `upstream`:使用的上级,没有为空,或者不设置这个头部。
- `outgoing`: 使用的出口IP这个设置只有在upstream为空的的时候才有效这里设置的IP必须是proxy所在机器具有的IP。
- `userTotalRate`用户维度限制用户的总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
- `ipTotalRate`客户端IP维度限制客户端IP的总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
- `portTotalRate`带宽维度限制一个带宽总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
#### 限速详细说明
1. 单个tcp限速`userrate`、`iprate`)和总带宽速度(`userTotalRate`、`ipTotalRate`、`portTotalRate`)可以同时设置,
比如设置用户总带宽速度是1M/s`userTotalRate`设置1024000还可以同时设置单个tcp速度是100K/s`userrate`设置102400
2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate`,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate`
3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser`,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。
#### 提示
1.默认情况下,设置了`--auth-url`是强制要求客户端提供用户名和密码的;如果不需要强制要求客户端提供用户名密码,并认证,可以加上`--auth-nouser`,每次访问仍然会访问认证地址`--auth-url`
进行认证当客户端没有发生认证信息当时候php接口里面接收的$user认证用户名和$pass认证密码都为空。
2.连接数限制优先级:用户认证文件连接数限制-》文件ip.limit连接数限制-》API用户连接数限制-》API的IP连接数限制-》命令行全局连接数限制。
3.速率限制优先级:用户认证文件速率限制-》文件ip.limit速率限制-》API用户速率限制-》API的IP速率限制-》命令行全局速率限制。
3.上级获取优先级用户认证文件的upstream-》文件ip.limit的upstream-》API的upstream-》命令行指定的上级。
4.`--auth-cache`认证缓存,对认证结果缓存一定时间,提升性能,降低认证接口压力,--auth-cache 单位秒默认0, 设置0是关闭缓存。
1. 默认情况下,设置了`--auth-url`是强制要求客户端提供用户名和密码的;如果不需要强制要求客户端提供用户名密码,并认证,可以加上`--auth-nouser`,每次访问仍然会访问认证地址`--auth-url`
进行认证当客户端没有发生认证信息当时候php接口里面接收的$user认证用户名和$pass认证密码都为空。
2. 连接数限制优先级:用户认证文件连接数限制-》文件ip.limit连接数限制-》API用户连接数限制-》API的IP连接数限制-》命令行全局连接数限制。
3. 速率限制优先级:用户认证文件速率限制-》文件ip.limit速率限制-》API用户速率限制-》API的IP速率限制-》命令行全局速率限制。
4. 上级获取优先级用户认证文件的upstream-》文件ip.limit的upstream-》API的upstream-》命令行指定的上级。
5. `--auth-cache`认证缓存,对认证结果缓存一定时间,提升性能,降低认证接口压力,--auth-cache 单位秒默认0, 设置0是关闭缓存。
#### upstream详细说明
@ -2223,9 +2252,9 @@ conns格式`[{"id":"ab7bf1f10501d6f7","client":"127.0.0.1:62112","server":"12
`ip`当前连接到proxy的客户端ip地址多个使用英文逗号分割没有留空比如1.1.1.1,2.2.2.2
`conns`是一个数组元素是一个连接的id这个id是上面`控制接口请求说明`里面的conns里面的连接对象的id字段。
`conns`是一个数组元素是一个连接的id这个id是上面`控制接口请求说明`里面的conns里面的连接对象的id字段。
说明:
说明:
- 返回的用户和ip已经建立的连接会被proxy断开。
- 返回的conns匹配的连接会被proxy断开。
- 返回的数据如果同时包含user或者ip和conns那么user或者ip会被忽略只会断开conns匹配的连接。
@ -2413,7 +2442,7 @@ proxy rhttp -c rhttp.toml
为了方便说明,假设背景情况如下:
1、有一批vps它们每个都有一个主网卡配置了固定的IPx.x.x.x然后vps可以pppoe拨号拨号建立的网卡名称前缀都是`pppoe_`。
1、有一批vps它们每个都有一个主网卡配置了固定的IPx.x.x.x然后vps可以pppoe拨号拨号建立的网卡名称前缀都是`pppoe_`。
2、有一个VPS作为代理入口它的ip是2.2.2.2。
@ -2450,7 +2479,7 @@ Luminati提供了高质量稳定的住宅IP可以做很多事情但是价格
2. 7777端口具有认证功能。
操作步骤:
1. 1.1.1.1的VPS执行`proxy sps -p :7777 --disable-socks --disable-ss -a user1:pass1 -a user2:pass2 -P http://username:password@xxx.com:8888`
1. 1.1.1.1的VPS执行`proxy sps -p :7777 --disable-socks --disable-ss -a user1:pass1 -a user2:pass2 -P http://username:password@xxx.com:8888`
2. 命令中`-a`是设置`代理认证用户`,多个用户,可以重复`-a`参数,格式是:`用户名:密码`。
提醒此种做法有可能带来Luminati限制你的账号风险VPS的IP也有可能被可能Luminati屏蔽导致转换不能工作风险自负。
@ -2466,14 +2495,14 @@ Luminati提供了高质量稳定的住宅IP可以做很多事情但是价格
为了方便说明,假设背景情况如下:
1. 有一个http认证代理地址是2.2.2.2:8888认证账号abc密码是123。
2. 有一个自己的VPSIP是1.1.1.1。
2. 有一个自己的VPSIP是1.1.1.1。
实现的效果:
1. 访问1.1.1.1的7777端口无需认证会转给2.2.2.2:8888代理。
操作步骤:
1. 1.1.1.1的VPS执行`proxy sps -p :7777 -P http://abc:123@2.2.2.2:8888`
1. 1.1.1.1的VPS执行`proxy sps -p :7777 -P http://abc:123@2.2.2.2:8888`
## 18.典型用法-镜像网站
@ -2496,9 +2525,9 @@ target="https://github.com/"
upstream="github.com:443"
timeout=5000
```
1. 在1.1.1.1的VPS执行`proxy rhttp -c github.toml`
1. 在1.1.1.1的VPS执行`proxy rhttp -c github.toml`
2. 访问 `http://1.1.1.1:7777/snail007/` ,如果一切正常,就把命令加上后台运行参数即可。
3. 命令改成:`proxy rhttp -c github.toml --daemon --log /tmp/github.log`
3. 命令改成:`proxy rhttp -c github.toml --daemon --log /tmp/github.log`
4. 此功能需要`proxy`版本大于等于`v11.2`。
如果是想使用域名比如a.com那么

File diff suppressed because it is too large Load Diff

@ -87,6 +87,8 @@ http
比如: --log proxy.log日志就会输出到proxy.log方便排除问题。
默认会输出info和warn日志如果只关注warn日志可以使用`--warn`参数只输出warn日志。
### 5. 生成加密通讯需要的证书文件
http(s)代理、tcp代理、udp代理、socks5代理、内网穿透等功能和上级通讯的时候为了安全我们采用TLS加密通讯当然可以选择不加密通信通讯本教程所有和上级通讯都采用加密需要证书文件。
@ -436,6 +438,8 @@ iptables -t nat -A OUTPUT -p tcp -j PROXY
比如:
`proxy http -p ":33080" --dns-address "8.8.8.8:53" --dns-ttl 300`
`--dns-address` 支持设置多个dns地址负载均衡英文半角逗号分割。比如--dns-address "1.1.1.1:53,8.8.8.8:53"
### 1.12 自定义加密
proxy的http(s)代理在tcp之上可以通过tls标准加密以及kcp协议加密tcp数据除此之外还支持在tls和kcp之后进行自定义
@ -706,12 +710,24 @@ port:代理的端口
### 2.8 限速,限制连接数
参数`--max-conns`可以限制每个端口的最大连接数。
比如限制每个端口最多1000个连接数
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --max-conns 1000`
参数`--rate-limit`可以限制每个tcp连接的速率。
比如限制每个tcp连接速率为100k/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --rate-limit 100k`
- **限制连接数**
参数`--max-conns`可以限制每个端口的最大连接数。
比如限制每个端口最多1000个连接数
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --max-conns 1000`
- **限制tcp连接速率**
参数`--rate-limit`可以限制每个tcp连接的速率。
比如限制每个tcp连接速率为100k/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --rate-limit 100k`
- **限制客户端IP总速率**
参数`--ip-rate`可以IP维度限制每个客户端IP的总速率。
比如限制每个客户端IP总速率为1M/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --ip-rate 1M`
- **限制端口总速率**
参数`--port-rate`可以在`服务IP:端口`维度,限制每个服务端口总速率。
比如限制每个端口总速率为10M/s
`proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" --port-rate 10M`
- **联合限速**
`--rate-limit`和(`--ip-rate`或`--port-rate`可以同时使用。既限制总速率也限制单个tcp速率。
### 2.9 压缩传输
@ -1828,6 +1844,7 @@ proxy的http(s)/socks5/sps代理功能支持通过API控制用户对代理对
- 动态上级可以根据用户或者客户端IP动态的从API获取其上级支持http(s)/socks5/ss上级。
- 认证每一个连接,无论是否要求客户端认证。
- 缓存认证结果时间可以设置减轻API压力。
- 用户维度、客户端IP维度、端口维度的总限速。
#### 具体使用
@ -1888,29 +1905,41 @@ if($ok){
header("ipqps:2");
header("upstream:http://127.0.0.1:3500?parent-type=tcp");
header("outgoing:1.1.1.1");
header("userTotalRate:1024000");
//header("ipTotalRate:10240");
//header("portTotalRate:10240");
header("HTTP/1.1 204 No Content");
}
```
#### HTTP HEADER 头部字段解释
`userconns`用户的最大连接数不限制为0或者不设置这个头部。
`ipconns`IP的最大连接数不限制为0或者不设置这个头部。
`userrate`用户的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
`iprate`IP的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
`userqps`用户每秒可以建立的最大连接数不限制为0或者不设置这个头部。
`ipqps`IP每秒可以建立的最大连接数不限制为0或者不设置这个头部。
`upstream`:使用的上级,没有为空,或者不设置这个头部。
`outgoing`: 使用的出口IP这个设置只有在upstream为空的的时候才有效这里设置的IP必须是proxy所在机器具有的IP。
- `userconns`用户的最大连接数不限制为0或者不设置这个头部。
- `ipconns`IP的最大连接数不限制为0或者不设置这个头部。
- `userrate`用户的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
- `iprate`IP的单个TCP连接速率限制单位字节/秒不限制为0或者不设置这个头部。
- `userqps`用户每秒可以建立的最大连接数不限制为0或者不设置这个头部。
- `ipqps`IP每秒可以建立的最大连接数不限制为0或者不设置这个头部。
- `upstream`:使用的上级,没有为空,或者不设置这个头部。
- `outgoing`: 使用的出口IP这个设置只有在upstream为空的的时候才有效这里设置的IP必须是proxy所在机器具有的IP。
- `userTotalRate`用户维度限制用户的总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
- `ipTotalRate`客户端IP维度限制客户端IP的总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
- `portTotalRate`带宽维度限制一个带宽总带宽速度byte/s单位是字节byte没有留空或者不设置这个头部。
#### 限速详细说明
1. 单个tcp限速`userrate`、`iprate`)和总带宽速度(`userTotalRate`、`ipTotalRate`、`portTotalRate`)可以同时设置,
比如设置用户总带宽速度是1M/s`userTotalRate`设置1024000还可以同时设置单个tcp速度是100K/s`userrate`设置102400
2. 如果同时设置了`userTotalRate`、`ipTotalRate` 、`portTotalRate`,有效优先级是:`userTotalRate` -> `ipTotalRate` -> `portTotalRate`
3. 如果同时设置了`userTotalRate`、`portTotalRate`,而且设置了`--auth-nouser`,那么所有没有发用户名的客户端会被认为是`同一个空用户名用户`,共用同一个限制。
#### 提示
1.默认情况下,设置了`--auth-url`是强制要求客户端提供用户名和密码的;如果不需要强制要求客户端提供用户名密码,并认证,可以加上`--auth-nouser`,每次访问仍然会访问认证地址`--auth-url`
进行认证当客户端没有发生认证信息当时候php接口里面接收的$user认证用户名和$pass认证密码都为空。
2.连接数限制优先级:用户认证文件连接数限制-》文件ip.limit连接数限制-》API用户连接数限制-》API的IP连接数限制-》命令行全局连接数限制。
3.速率限制优先级:用户认证文件速率限制-》文件ip.limit速率限制-》API用户速率限制-》API的IP速率限制-》命令行全局速率限制。
3.上级获取优先级用户认证文件的upstream-》文件ip.limit的upstream-》API的upstream-》命令行指定的上级。
4.`--auth-cache`认证缓存,对认证结果缓存一定时间,提升性能,降低认证接口压力,--auth-cache 单位秒默认0, 设置0是关闭缓存。
1. 默认情况下,设置了`--auth-url`是强制要求客户端提供用户名和密码的;如果不需要强制要求客户端提供用户名密码,并认证,可以加上`--auth-nouser`,每次访问仍然会访问认证地址`--auth-url`
进行认证当客户端没有发生认证信息当时候php接口里面接收的$user认证用户名和$pass认证密码都为空。
2. 连接数限制优先级:用户认证文件连接数限制-》文件ip.limit连接数限制-》API用户连接数限制-》API的IP连接数限制-》命令行全局连接数限制。
3. 速率限制优先级:用户认证文件速率限制-》文件ip.limit速率限制-》API用户速率限制-》API的IP速率限制-》命令行全局速率限制。
4. 上级获取优先级用户认证文件的upstream-》文件ip.limit的upstream-》API的upstream-》命令行指定的上级。
5. `--auth-cache`认证缓存,对认证结果缓存一定时间,提升性能,降低认证接口压力,--auth-cache 单位秒默认0, 设置0是关闭缓存。
#### upstream详细说明
@ -2002,9 +2031,9 @@ conns格式`[{"id":"ab7bf1f10501d6f7","client":"127.0.0.1:62112","server":"12
`ip`当前连接到proxy的客户端ip地址多个使用英文逗号分割没有留空比如1.1.1.1,2.2.2.2
`conns`是一个数组元素是一个连接的id这个id是上面`控制接口请求说明`里面的conns里面的连接对象的id字段。
`conns`是一个数组元素是一个连接的id这个id是上面`控制接口请求说明`里面的conns里面的连接对象的id字段。
说明:
说明:
- 返回的用户和ip已经建立的连接会被proxy断开。
- 返回的conns匹配的连接会被proxy断开。
- 返回的数据如果同时包含user或者ip和conns那么user或者ip会被忽略只会断开conns匹配的连接。
@ -2192,7 +2221,7 @@ proxy rhttp -c rhttp.toml
为了方便说明,假设背景情况如下:
1、有一批vps它们每个都有一个主网卡配置了固定的IPx.x.x.x然后vps可以pppoe拨号拨号建立的网卡名称前缀都是`pppoe_`。
1、有一批vps它们每个都有一个主网卡配置了固定的IPx.x.x.x然后vps可以pppoe拨号拨号建立的网卡名称前缀都是`pppoe_`。
2、有一个VPS作为代理入口它的ip是2.2.2.2。
@ -2229,7 +2258,7 @@ Luminati提供了高质量稳定的住宅IP可以做很多事情但是价格
2. 7777端口具有认证功能。
操作步骤:
1. 1.1.1.1的VPS执行`proxy sps -p :7777 --disable-socks --disable-ss -a user1:pass1 -a user2:pass2 -P http://username:password@xxx.com:8888`
1. 1.1.1.1的VPS执行`proxy sps -p :7777 --disable-socks --disable-ss -a user1:pass1 -a user2:pass2 -P http://username:password@xxx.com:8888`
2. 命令中`-a`是设置`代理认证用户`,多个用户,可以重复`-a`参数,格式是:`用户名:密码`。
提醒此种做法有可能带来Luminati限制你的账号风险VPS的IP也有可能被可能Luminati屏蔽导致转换不能工作风险自负。
@ -2245,14 +2274,14 @@ Luminati提供了高质量稳定的住宅IP可以做很多事情但是价格
为了方便说明,假设背景情况如下:
1. 有一个http认证代理地址是2.2.2.2:8888认证账号abc密码是123。
2. 有一个自己的VPSIP是1.1.1.1。
2. 有一个自己的VPSIP是1.1.1.1。
实现的效果:
1. 访问1.1.1.1的7777端口无需认证会转给2.2.2.2:8888代理。
操作步骤:
1. 1.1.1.1的VPS执行`proxy sps -p :7777 -P http://abc:123@2.2.2.2:8888`
1. 1.1.1.1的VPS执行`proxy sps -p :7777 -P http://abc:123@2.2.2.2:8888`
## 18.典型用法-镜像网站
@ -2275,9 +2304,9 @@ target="https://github.com/"
upstream="github.com:443"
timeout=5000
```
1. 在1.1.1.1的VPS执行`proxy rhttp -c github.toml`
1. 在1.1.1.1的VPS执行`proxy rhttp -c github.toml`
2. 访问 `http://1.1.1.1:7777/snail007/` ,如果一切正常,就把命令加上后台运行参数即可。
3. 命令改成:`proxy rhttp -c github.toml --daemon --log /tmp/github.log`
3. 命令改成:`proxy rhttp -c github.toml --daemon --log /tmp/github.log`
4. 此功能需要`proxy`版本大于等于`v11.2`。
如果是想使用域名比如a.com那么

Loading…
Cancel
Save