mirror of https://github.com/ginuerzh/gost
1 changed files with 15 additions and 7 deletions
@ -6,7 +6,7 @@ gost - GO Simple Tunnel |
|||||
#### 特性 |
#### 特性 |
||||
* 可同时监听多端口 |
* 可同时监听多端口 |
||||
* 可设置转发代理,支持多级转发(转发链) |
* 可设置转发代理,支持多级转发(转发链) |
||||
* 兼容标准http/socks5代理协议 |
* 兼容标准http(s)/socks5代理协议 |
||||
* socks5代理支持tls协商加密 |
* socks5代理支持tls协商加密 |
||||
* Tunnel UDP over TCP |
* Tunnel UDP over TCP |
||||
* 兼容shadowsocks协议 |
* 兼容shadowsocks协议 |
||||
@ -27,15 +27,15 @@ scheme分为两部分: protocol+transport |
|||||
|
|
||||
protocol: 代理协议类型(http, socks5, shadowsocks), transport: 数据传输方式(tcp, websocket, tls), 二者可以任意组合,或单独使用。 |
protocol: 代理协议类型(http, socks5, shadowsocks), transport: 数据传输方式(tcp, websocket, tls), 二者可以任意组合,或单独使用。 |
||||
|
|
||||
> http - 作为标准http代理: http://:8080 |
> http - 作为http代理: http://:8080 |
||||
|
|
||||
> http+tls - 作为http代理,使用tls传输数据: http+tls://:8080 |
> http+tls - 作为https代理(可能需要提供受信任的证书): http+tls://:8080 |
||||
|
|
||||
> socks - 作为标准socks5代理: socks://:8080 |
> socks - 作为标准socks5代理(支持tls协商加密): socks://:8080 |
||||
|
|
||||
> socks+ws - 作为socks5代理,使用websocket传输数据: socks+ws://:8080 |
> socks+ws - 作为socks5代理,使用websocket传输数据: socks+ws://:8080 |
||||
|
|
||||
> tls - 作为http/socks5代理,使用tls传输数据: tls://:8080 |
> tls - 作为https/socks5代理,使用tls传输数据: tls://:8080 |
||||
|
|
||||
> ss - 作为shadowsocks服务,ss://aes-256-cfb:123456@:8080 |
> ss - 作为shadowsocks服务,ss://aes-256-cfb:123456@:8080 |
||||
|
|
||||
@ -85,9 +85,9 @@ gost -L=:8080 -F=http://admin:[email protected]:8081 |
|||||
|
|
||||
<img src="https://ginuerzh.github.io/images/gost_03.png" /> |
<img src="https://ginuerzh.github.io/images/gost_03.png" /> |
||||
```bash |
```bash |
||||
gost -L=:8080 -F=http://192.168.1.1:8081 -F=socks://192.168.1.2:8082 -F=a.b.c.d:NNNN |
gost -L=:8080 -F=http+tls://192.168.1.1:443 -F=socks+ws://192.168.1.2:8082 -F=a.b.c.d:NNNN |
||||
``` |
``` |
||||
gost按照-F设置顺序通过转发链将请求最终转发给a.b.c.d:NNNN处理,每一个转发代理可以是任意http/socks5类型代理。 |
gost按照-F设置顺序通过转发链将请求最终转发给a.b.c.d:NNNN处理,每一个转发代理可以是任意http(s)/socks5类型代理。 |
||||
|
|
||||
##### 加密机制 |
##### 加密机制 |
||||
|
|
||||
@ -106,6 +106,14 @@ gost -L=socks+tls://:8080 |
|||||
gost针对socks5额外提供了协商的tls传输方法,与上面的不同之处在于socks5最开始的方法选择(method selection)过程是非加密的。 |
gost针对socks5额外提供了协商的tls传输方法,与上面的不同之处在于socks5最开始的方法选择(method selection)过程是非加密的。 |
||||
如果连接方是gost则后续的通讯使用tls加密,否则使用标准socks5进行通讯(未加密)。 |
如果连接方是gost则后续的通讯使用tls加密,否则使用标准socks5进行通讯(未加密)。 |
||||
|
|
||||
|
也就是说如果连接方也是gost,使用以下方法: |
||||
|
|
||||
|
```bash |
||||
|
gost -L=socks://:8080 |
||||
|
``` |
||||
|
|
||||
|
数据也会被加密传输,这时就不需要使用socks+tls(数据会被双重加密传输)模式了。 |
||||
|
|
||||
gost内置了tls证书,如果需要使用其他的tls证书,在gost目录放置key.pem(公钥)和cert.pem(私钥)两个文件即可。 |
gost内置了tls证书,如果需要使用其他的tls证书,在gost目录放置key.pem(公钥)和cert.pem(私钥)两个文件即可。 |
||||
|
|
||||
#### SOCKS5 UDP数据处理 |
#### SOCKS5 UDP数据处理 |
||||
|
|||||
Loading…
Reference in new issue