Merge branch 'master' of https://github.com/snail007/goproxy.git
# Conflicts: # README.md
This commit is contained in:
25
README.md
25
README.md
@ -78,7 +78,7 @@ Proxy是golang实现的高性能http,https,websocket,tcp,udp,socks5代理服务
|
|||||||
- [2.5 加密三级TCP代理](#25加密三级tcp代理)
|
- [2.5 加密三级TCP代理](#25加密三级tcp代理)
|
||||||
- [2.6 查看帮助](#26查看帮助)
|
- [2.6 查看帮助](#26查看帮助)
|
||||||
- [3. UDP代理](#3udp代理)
|
- [3. UDP代理](#3udp代理)
|
||||||
- [3.1 普通一级UDP代理](#31普通一级udp代理)
|
- [3.1 普通一级UDP代理](#31普通一级udp代理)
|
||||||
- [3.2 普通二级UDP代理](#32普通二级udp代理)
|
- [3.2 普通二级UDP代理](#32普通二级udp代理)
|
||||||
- [3.3 普通三级UDP代理](#33普通三级udp代理)
|
- [3.3 普通三级UDP代理](#33普通三级udp代理)
|
||||||
- [3.4 加密二级UDP代理](#34加密二级udp代理)
|
- [3.4 加密二级UDP代理](#34加密二级udp代理)
|
||||||
@ -134,7 +134,7 @@ chmod +x install.sh
|
|||||||
|
|
||||||
## **首次使用必看**
|
## **首次使用必看**
|
||||||
|
|
||||||
### **环境**
|
#### **环境**
|
||||||
接下来的教程,默认系统是linux,程序是proxy;所有操作需要root权限;
|
接下来的教程,默认系统是linux,程序是proxy;所有操作需要root权限;
|
||||||
如果你的是windows,请使用windows版本的proxy.exe即可.
|
如果你的是windows,请使用windows版本的proxy.exe即可.
|
||||||
|
|
||||||
@ -184,7 +184,6 @@ proxy会fork子进程,然后监控子进程,如果子进程异常退出,5秒后
|
|||||||
|
|
||||||
### **1.HTTP代理**
|
### **1.HTTP代理**
|
||||||
#### **1.1.普通HTTP代理**
|
#### **1.1.普通HTTP代理**
|
||||||

|
|
||||||
`./proxy http -t tcp -p "0.0.0.0:38080"`
|
`./proxy http -t tcp -p "0.0.0.0:38080"`
|
||||||
|
|
||||||
#### **1.2.普通二级HTTP代理**
|
#### **1.2.普通二级HTTP代理**
|
||||||
@ -193,7 +192,7 @@ proxy会fork子进程,然后监控子进程,如果子进程异常退出,5秒后
|
|||||||
默认关闭了连接池,如果要加快访问速度,-L可以开启连接池,10就是连接池大小,0为关闭,
|
默认关闭了连接池,如果要加快访问速度,-L可以开启连接池,10就是连接池大小,0为关闭,
|
||||||
开启连接池在网络不好的情况下,稳定不是很好.
|
开启连接池在网络不好的情况下,稳定不是很好.
|
||||||
`./proxy http -t tcp -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -L 10`
|
`./proxy http -t tcp -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -L 10`
|
||||||
我们还可以指定网站域名的黑白名单文件,一行一个域名,匹配规则是最右匹配,比如:baidu.com,匹配的是*.*.baidu.com,黑名单的域名域名直接走上级代理,白名单的域名不走上级代理.
|
我们还可以指定网站域名的黑白名单文件,一行一个域名,怕匹配规则是最右批评匹配,比如:baidu.com,匹配的是*.*.baidu.com,黑名单的域名域名直接走上级代理,白名单的域名不走上级代理.
|
||||||
`./proxy http -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -b blocked.txt -d direct.txt`
|
`./proxy http -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -b blocked.txt -d direct.txt`
|
||||||
|
|
||||||
#### **1.3.HTTP二级代理(加密)**
|
#### **1.3.HTTP二级代理(加密)**
|
||||||
@ -272,13 +271,11 @@ KCP协议需要-B参数设置一个密码用于加密解密数据
|
|||||||
### **2.TCP代理**
|
### **2.TCP代理**
|
||||||
|
|
||||||
#### **2.1.普通一级TCP代理**
|
#### **2.1.普通一级TCP代理**
|
||||||

|
|
||||||
本地执行:
|
本地执行:
|
||||||
`./proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" -L 0`
|
`./proxy tcp -p ":33080" -T tcp -P "192.168.22.33:22" -L 0`
|
||||||
那么访问本地33080端口就是访问192.168.22.33的22端口.
|
那么访问本地33080端口就是访问192.168.22.33的22端口.
|
||||||
|
|
||||||
#### **2.2.普通二级TCP代理**
|
#### **2.2.普通二级TCP代理**
|
||||||

|
|
||||||
VPS(IP:22.22.22.33)执行:
|
VPS(IP:22.22.22.33)执行:
|
||||||
`./proxy tcp -p ":33080" -T tcp -P "127.0.0.1:8080" -L 0`
|
`./proxy tcp -p ":33080" -T tcp -P "127.0.0.1:8080" -L 0`
|
||||||
本地执行:
|
本地执行:
|
||||||
@ -296,16 +293,16 @@ VPS(IP:22.22.22.33)执行:
|
|||||||
|
|
||||||
#### **2.4.加密二级TCP代理**
|
#### **2.4.加密二级TCP代理**
|
||||||
VPS(IP:22.22.22.33)执行:
|
VPS(IP:22.22.22.33)执行:
|
||||||
`./proxy tcp -t tcp -p ":33080" -T tcp -P "127.0.0.1:8080" -L 0 -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":33080" -T tcp -P "127.0.0.1:8080" -L 0 -C proxy.crt -K proxy.key`
|
||||||
本地执行:
|
本地执行:
|
||||||
`./proxy tcp -p ":23080" -T tls -P "22.22.22.33:33080" -C proxy.crt -K proxy.key`
|
`./proxy tcp -p ":23080" -T tls -P "22.22.22.33:33080" -C proxy.crt -K proxy.key`
|
||||||
那么访问本地23080端口就是通过加密TCP隧道访问22.22.22.33的8080端口.
|
那么访问本地23080端口就是通过加密TCP隧道访问22.22.22.33的8080端口.
|
||||||
|
|
||||||
#### **2.5.加密三级TCP代理**
|
#### **2.5.加密三级TCP代理**
|
||||||
一级TCP代理VPS_01,IP:22.22.22.22
|
一级TCP代理VPS_01,IP:22.22.22.22
|
||||||
`./proxy tcp -t tcp -p ":38080" -T tcp -P "66.66.66.66:8080" -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":38080" -T tcp -P "66.66.66.66:8080" -C proxy.crt -K proxy.key`
|
||||||
二级TCP代理VPS_02,IP:33.33.33.33
|
二级TCP代理VPS_02,IP:33.33.33.33
|
||||||
`./proxy tcp -t tcp -p ":28080" -T tls -P "22.22.22.22:38080" -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":28080" -T tls -P "22.22.22.22:38080" -C proxy.crt -K proxy.key`
|
||||||
三级TCP代理(本地)
|
三级TCP代理(本地)
|
||||||
`./proxy tcp -p ":8080" -T tls -P "33.33.33.33:28080" -C proxy.crt -K proxy.key`
|
`./proxy tcp -p ":8080" -T tls -P "33.33.33.33:28080" -C proxy.crt -K proxy.key`
|
||||||
那么访问本地8080端口就是通过加密TCP隧道访问66.66.66.66的8080端口.
|
那么访问本地8080端口就是通过加密TCP隧道访问66.66.66.66的8080端口.
|
||||||
@ -338,16 +335,16 @@ VPS(IP:22.22.22.33)执行:
|
|||||||
|
|
||||||
#### **3.4.加密二级UDP代理**
|
#### **3.4.加密二级UDP代理**
|
||||||
VPS(IP:22.22.22.33)执行:
|
VPS(IP:22.22.22.33)执行:
|
||||||
`./proxy tcp -t tcp -p ":33080" -T udp -P "8.8.8.8:53" -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":33080" -T udp -P "8.8.8.8:53" -C proxy.crt -K proxy.key`
|
||||||
本地执行:
|
本地执行:
|
||||||
`./proxy udp -p ":5353" -T tls -P "22.22.22.33:33080" -C proxy.crt -K proxy.key`
|
`./proxy udp -p ":5353" -T tls -P "22.22.22.33:33080" -C proxy.crt -K proxy.key`
|
||||||
那么访问本地UDP:5353端口就是通过加密TCP隧道,通过VPS访问8.8.8.8的UDP:53端口.
|
那么访问本地UDP:5353端口就是通过加密TCP隧道,通过VPS访问8.8.8.8的UDP:53端口.
|
||||||
|
|
||||||
#### **3.5.加密三级UDP代理**
|
#### **3.5.加密三级UDP代理**
|
||||||
一级TCP代理VPS_01,IP:22.22.22.22
|
一级TCP代理VPS_01,IP:22.22.22.22
|
||||||
`./proxy tcp -t tcp -p ":38080" -T udp -P "8.8.8.8:53" -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":38080" -T udp -P "8.8.8.8:53" -C proxy.crt -K proxy.key`
|
||||||
二级TCP代理VPS_02,IP:33.33.33.33
|
二级TCP代理VPS_02,IP:33.33.33.33
|
||||||
`./proxy tcp -t tcp -p ":28080" -T tls -P "22.22.22.22:38080" -C proxy.crt -K proxy.key`
|
`./proxy tcp -t tls -p ":28080" -T tls -P "22.22.22.22:38080" -C proxy.crt -K proxy.key`
|
||||||
三级TCP代理(本地)
|
三级TCP代理(本地)
|
||||||
`./proxy udp -p ":5353" -T tls -P "33.33.33.33:28080" -C proxy.crt -K proxy.key`
|
`./proxy udp -p ":5353" -T tls -P "33.33.33.33:28080" -C proxy.crt -K proxy.key`
|
||||||
那么访问本地5353端口就是通过加密TCP隧道,通过VPS_01访问8.8.8.8的53端口.
|
那么访问本地5353端口就是通过加密TCP隧道,通过VPS_01访问8.8.8.8的53端口.
|
||||||
@ -503,10 +500,9 @@ server连接到bridge的时候,如果同时有多个client连接到同一个brid
|
|||||||
`./proxy socks -t tcp -p "0.0.0.0:38080"`
|
`./proxy socks -t tcp -p "0.0.0.0:38080"`
|
||||||
|
|
||||||
#### **5.2.普通二级SOCKS5代理**
|
#### **5.2.普通二级SOCKS5代理**
|
||||||

|
|
||||||
使用本地端口8090,假设上级SOCKS5代理是`22.22.22.22:8080`
|
使用本地端口8090,假设上级SOCKS5代理是`22.22.22.22:8080`
|
||||||
`./proxy socks -t tcp -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" `
|
`./proxy socks -t tcp -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" `
|
||||||
我们还可以指定网站域名的黑白名单文件,一行一个域名,匹配规则是最右匹配,比如:baidu.com,匹配的是*.*.baidu.com,黑名单的域名域名直接走上级代理,白名单的域名不走上级代理.
|
我们还可以指定网站域名的黑白名单文件,一行一个域名,怕匹配规则是最右批评匹配,比如:baidu.com,匹配的是*.*.baidu.com,黑名单的域名域名直接走上级代理,白名单的域名不走上级代理.
|
||||||
`./proxy socks -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -b blocked.txt -d direct.txt`
|
`./proxy socks -p "0.0.0.0:8090" -T tcp -P "22.22.22.22:8080" -b blocked.txt -d direct.txt`
|
||||||
|
|
||||||
#### **5.3.SOCKS二级代理(加密)**
|
#### **5.3.SOCKS二级代理(加密)**
|
||||||
@ -589,7 +585,6 @@ KCP协议需要-B参数设置一个密码用于加密解密数据
|
|||||||
- 欢迎加群反馈...
|
- 欢迎加群反馈...
|
||||||
|
|
||||||
### 如何使用源码?
|
### 如何使用源码?
|
||||||
建议go1.8,不保证>=1.9能用.
|
|
||||||
cd进入你的go src目录,然后git clone https://github.com/snail007/goproxy.git ./proxy 即可.
|
cd进入你的go src目录,然后git clone https://github.com/snail007/goproxy.git ./proxy 即可.
|
||||||
编译直接:go build
|
编译直接:go build
|
||||||
运行: go run *.go
|
运行: go run *.go
|
||||||
|
|||||||
Reference in New Issue
Block a user