你的位置:首页 > 互联网IT
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,协议,概
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,协议,概述,HTTP,HTTP2,SOCKS4,SOCKS5
系统:Windows/linux
软件:gost v3.0
功能:http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射
项目地址:https://github.com/go-gost/gost
gost-v3-beta.6(使用很久,稳定版本)
本地下载1-Windows-32位:gost-windows-386-3.0.0-beta.6.zip
本地下载2-Windows-64位:gost-windows-amd64-3.0.0-beta.6.zip
本地下载3-linux-32位:gost-linux-386-3.0.0-beta.6.gz
本地下载4-linux-64位:gost-linux-amd64-3.0.0-beta.6.gz
gost-v3.0.0-rc8
本地下载5-Windows-32位:gost_3.0.0-rc8_windows_386.zip
本地下载6-Windows-64位:gost_3.0.0-rc8_windows_amd64.zip
本地下载7-linux-32位:gost_3.0.0-rc8_linux_386.tar.gz
本地下载8-linux-64位:gost_3.0.0-rc8_linux_amd64.tar.gz
项目地址下载地址:https://github.com/go-gost/gost/releases
本文内容:协议,概述,HTTP,HTTP2,SOCKS4,SOCKS5,Shadowsocks(SS),SNI,Relay协议,TLS,DTLS,Websocket(ws)
gost,gost3,gost-v3版本-配置文件文章
https://www.zhuguodong.com/?id=771gost,gost3,gost-v3版本-命令文章
https://www.zhuguodong.com/?id=767
同类型gost-v2.0(gost2)版本
https://www.zhuguodong.com/?id=700
-----------------------------------------------------------
Windows隐藏运行软件,cmd隐藏运行,bat隐藏运行,命令窗口隐藏运行
https://www.zhuguodong.com/?id=520
linux隐藏运行软件
nohup /root/gost -L ss://aes-256-cfb:123456@:23333 >/dev/null 2>&1 &
nohup 《内容替换》 >/dev/null 2>&1 &
-----------------------------------------------------------
简单配置运行:
Windows:新建 gost.bat 文件
linux:命令窗口隐藏运行,gost要加入权限:chmod +x gost
启动参数:-c
Windows:start "" "gost.exe" -C gost.yaml
linux:gost -C gost.yaml
说明:.yaml配置文件不能有空行,或者不必要的空格,不然会运行不成功
启动参数:-c
Windows:start "" "gost.exe" -C gost.json
linux:gost -C gost.json
程序gost与文件同一目录下,说明:.json与.yaml配置文件格式(这个文件格式配置不能出现空格),教材就用.json格式演示
配置.json与.yaml格式可相互转换的
输出yaml格式配置
gost -L http://:8080 -O yaml
输出json格式配置
gost -L http://:8080 -O json
将json格式配置转成yaml格式
gost -C gost.json -O yaml
gost -C gost.yaml -O json
-----------------------------------------------------------
协议¶
正如代理转发和通道所述,一个GOST服务或节点被分为两层,数据处理层和数据通道层,每一层分别对应一种网络协议。两层之间相互独立,并可以任意组合使用(除了有部分限制)。
数据处理¶
数据处理分为代理和转发两种类型。
代理¶
http - HTTP协议
http2 - HTTP2协议
socks4 - SOCKS4/SOCKS4A协议
socks,socks5 - SOCKS5协议
ss - Shadowsocks协议
ssu - Shadowsocks UDP relay协议
sni - SNI
relay - Relay协议
转发¶
tcp - TCP端口转发
udp - UDP端口转发
rtcp - TCP远程端口转发
rudp - UDP远程端口转发
数据通道¶
数据通道用于承载代理或转发协议数据,目前支持的数据通道协议有:
tcp - 原始TCP协议
mtcp - Multiplex TCP 多路复用功能的TCP
udp - 原始UDP协议
tls - TLS协议
dtls - DTLS协议
mtls - Multiplex TLS,在TLS上增加多路复用功能
ws - Websocket
mws - Multiplex Websocket,在Websocket上增加多路复用功能
wss - Websocket Secure,基于TLS加密的Websocket
mwss - Multiplex Websocket Secure,在基于TLS加密的Websocket上增加多路复用功能
h2 - HTTP2协议
h2c - HTTP2 Cleartext
grpc - gRPC协议
pht - Plain HTTP Tunnel
ssh,sshd - SSH协议
kcp - 基于UDP的KCP协议
quic - 基于UDP的QUIC协议
h3 - 基于UDP的HTTP3协议,基于pht协议构建数据通道
ohttp - HTTP Obfuscation
otls - TLS Obfuscation
icmp - ICMP协议
ftcp - Fake TCP
一些特殊的协议¶
file
开启一个HTTP文件服务
https
等同于HTTP代理与TLS通道组合(http+tls)
http3
用于HTTP3反向代理服务
dns
DNS代理
red,redir,redirect
TCP透明代理
redu
UDP透明代理
tun
TUN设备
tap
TAP设备
forward
特殊的转发类型
virtual
虚拟节点
限制¶
所有基于UDP协议的数据通道(例如kcp,quic,h3,包括icmp)仅能用于转发链的第一层级节点。
-----------------------------------------------------------
HTTP¶
HTTP代理是利用HTTP协议的CONNECT方法实现的代理服务。
标准HTTP代理¶
一个最简单的无加密无认证的HTTP代理服务。
命令行
gost -L http://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
listener:
type: tcp
标准HTTP代理(开启认证)¶
一个无加密具有用户认证的HTTP代理服务。
命令行
gost -L http://user:pass@:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
auth:
username: user
password: pass
listener:
type: tcp
参数选项¶
自定义HTTP头¶
通过header选项可以自定义请求和响应头部信息。
services:
- name: service-0
addr: :8080
handler:
type: http
chain: chain-0
header:
Proxy-Agent: "gost/3.0"
foo: bar
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: http
metadata:
header:
User-Agent: "gost/3.0"
foo: bar
dialer:
type: tcp
数据通道¶
HTTP代理可以与各种数据通道组合使用。
HTTP Over TLS¶
标准HTTPS代理服务。
命令行
gost -L https://:8443
等同于
gost -L http+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: http
listener:
type: tls
HTTP Over Websocket¶
命令行
gost -L http+ws://:8080
gost -L http+wss://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
listener:
type: ws
# type: wss
HTTP Over KCP¶
命令行
gost -L http+kcp://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
listener:
type: kcp
UDP数据转发¶
HTTP代理在标准协议基础之上扩展了对UDP数据的支持,实现UDP-Over-HTTP功能。 HTTP代理服务UDP转发功能默认关闭,需要通过udp选项开启。
服务端¶
命令行
gost -L http://:8080?udp=true
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
metadata:
udp: true
listener:
type: tcp
客户端¶
命令行
gost -L udp://:10053/1.1.1.1:53 -F http://:8080
配置文件
services:
- name: service-0
addr: :1005
handler:
type: udp
chain: chain-0
listener:
type: udp
forwarder:
nodes:
- name: target-0
addr: 1.1.1.1:53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8080
connector:
type: http
dialer:
type: tcp
-----------------------------------------------------------
HTTP2¶
HTTP2有两种模式:代理模式和通道模式。
代理模式¶
在代理模式中,HTTP2被用作代理协议,HTTP2代理的数据通道层必须为http2。
命令行
gost -L http2://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: http2
listener:
type: http2
通道模式¶
在通道模式中,HTTP2被用作数据通道,分为加密(h2)和明文(h2c)两种。
命令行
gost -L http+h2://:8443
gost -L http+h2c://:8080
配置文件
services:
- name: service-0
addr: :8443
handler:
type: http
listener:
type: h2
# type: h2c
自定义请求路径¶
HTTP2数据通道默认使用CONNECT方法建立连接,可以通过path选项自定义请求路径,此时则采用GET方法建立连接。
路径匹配验证
仅当客户端和服务端设定的path参数相同时,连接才能成功建立。
服务端¶
命令行
gost -L http+h2://:8443?path=/http2
配置文件
services:
- name: service-0
addr: :8443
handler:
type: http
listener:
type: h2
metadata:
path: /http2
客户端¶
命令行
gost -L http://:8080 -F http+h2://:8443?path=/http2
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: http
dialer:
type: h2
metadata:
path: /http2
自定义请求主机名¶
HTTP2数据通道客户端默认使用节点地址(-F参数或nodes.addr中指定的地址)作为请求主机名(Host头部信息),可以通过host参数自定义请求主机名。
命令行
gost -L http://:8080 -F http+h2://:8443?host=example.com
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: http
dialer:
type: h2
metadata:
host: example.com
自定义HTTP请求头¶
通过header选项可以自定义请求头部信息。
services:
- name: service-0
addr: :8080
handler:
type: http
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: http
dialer:
type: h2
metadata:
header:
User-Agent: "gost/3.0"
foo: bar
-----------------------------------------------------------
SOCKS4,SOCKS5¶
SOCKS4¶
标准的SOCKS4代理服务,同时兼容SOCKS4A协议。
命令行
gost -L socks4://:1080
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks4
listener:
type: tcp
BIND方法
SOCKS4(A)当前仅支持CONNECT方法,不支持BIND方法。
SOCKS5¶
GOST完整的实现了SOCKS5协议的所有功能,包括RFC1928中的三个命令(CONNECT,BIND,UDP ASSOCIATE)和RFC1929中的用户名/密码认证。
标准的SOCKS5代理服务。
命令行
gost -L socks5://user:pass@:1080
或
gost -L socks://user:pass@:1080
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
# type: socks
auth:
username: user
password: pass
listener:
type: tcp
BIND¶
BIND功能在服务端默认是禁用状态,可以通过bind选项来开启此功能。
命令行
gost -L socks5://user:pass@:1080?bind=true
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
auth:
username: user
password: pass
metadata:
bind: true
listener:
type: tcp
UDP ASSOCIATE¶
UDP中转功能在服务端默认是禁用状态,可以通过udp选项来开启此功能。
命令行
gost -L socks5://user:pass@:1080?udp=true
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
auth:
username: user
password: pass
metadata:
udp: true
listener:
type: tcp
扩展功能¶
GOST在标准SOCKS5协议基础之上增加了一些扩展功能。
协商加密¶
GOST支持标准SOCKS5协议的0x00(NO AUTHENTICATION REQUIRED)和0x02(USERNAME/PASSWORD)方法,并在此基础上扩展了两个方法:TLS(0x80)和TLS-AUTH(0x82),用于数据加密。
如果客户端和服务端都使用GOST,则数据传输默认会被加密(协商使用0x80或0x82方法),否则使用标准SOCKS5进行通讯(0x00或0x02方法)。可以在任意一端通过notls选项关闭加密协商功能。
命令行
gost -L socks5://user:pass@:1080?notls=true
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
auth:
username: user
password: pass
metadata:
notls: true
listener:
type: tcp
MBIND (Multiplex BIND)¶
GOST对BIND方法进行了扩展,增加了支持多路复用的BIND方法(0xF2),多路复用基于xtaci/smux库。此扩展主要用于TCP远程端口转发。
服务端¶
命令行
gost -L socks5://:1080?bind=true
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
metadata:
bind: true
listener:
type: tcp
客户端¶
命令行
gost -L rtcp://:2222/:22 -F socks5://:1080
配置文件
services:
- name: service-0
addr: :2222
handler:
type: rtcp
listener:
type: rtcp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: :22
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :1080
connector:
type: socks
dialer:
type: tcp
UDP-TUN (UDP-Over-TCP Tunnel)¶
GOST对UDP中转方法进行了扩展,增加了UDP-Over-TCP方法(0xF3),此扩展主要用于UDP端口转发。
服务端¶
命令行
gost -L socks5://:1080?udp=true
配置文件
services:
- name: service-0
addr: :1080
handler:
type: socks5
metadata:
udp: true
listener:
type: tcp
客户端¶
命令行
gost -L udp://:10053/:53 -F socks5://:1080
配置文件
services:
- name: service-0
addr: :10053
handler:
type: udp
listener:
type: udp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: :53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :1080
connector:
type: socks
dialer:
type: tcp
数据通道¶
SOCKS代理可以与各种数据通道组合使用。
SOCKS Over TLS¶
命令行
gost -L socks5+tls://:8443?notls=true
gost -L socks4+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: socks5
# type: socks4
metadata:
notls: true
listener:
type: tls
双重加密
这里为了避免双重加密,将SOCKS5的加密协商功能关闭(notls)。
SOCKS Over Websocket¶
命令行
gost -L socks5+ws://:8080
gost -L socks5+wss://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: socks5
# type: socks4
listener:
type: ws
# type: wss
SOCKS Over KCP¶
命令行
gost -L socks5+kcp://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: socks5
# type: socks4
listener:
type: kcp
-----------------------------------------------------------
Shadowsocks(SS)
GOST对shadowsocks的支持基于shadowsocks/shadowsocks-go和shadowsocks/go-shadowsocks2库。
标准shadowsocks代理¶
命令行
gost -L ss://chacha20-ietf-poly1305:pass@:8338
配置文件
services:
- name: service-0
addr: :8338
handler:
type: ss
auth:
username: chacha20-ietf-poly1305
password: pass
listener:
type: tcp
延迟发送
默认情况下shadowsocks协议会等待请求数据,当收到请求数据后会把协议头部信息与请求数据一起发给服务端。当客户端nodelay选项设为true后,协议头部信息会立即发给服务端,不再等待用户的请求数据。当通过代理连接的服务端会主动发送数据给客户端时(例如VNC服务,MySQL数据库)需要开启此选项,以免造成连接异常。
UDP¶
GOST中shadowsocks的TCP和UDP服务是相互独立的两个服务。
命令行
gost -L ssu://chacha20-ietf-poly1305:pass@:8338
等同于
gost -L ssu+udp://chacha20-ietf-poly1305:pass@:8338
配置文件
services:
- name: service-0
addr: :8338
handler:
type: ssu
auth:
username: chacha20-ietf-poly1305
password: pass
listener:
type: udp
端口转发¶
Shadowsocks UDP relay可以配合UDP端口转发来使用:
命令行
gost -L udp://:10053/1.1.1.1:53 -F ssu://chacha20-ietf-poly1305:123456@:8338
配置文件
services:
- name: service-0
addr: :10053
handler:
type: udp
chain: chain-0
listener:
type: udp
forwarder:
nodes:
- name: target-0
addr: 1.1.1.1:53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8338
connector:
type: ssu
auth:
username: chacha20-ietf-poly1305
password: "123456"
dialer:
type: udp
数据通道¶
Shadowsocks代理可以与各种数据通道组合使用。
SS Over TLS¶
命令行
gost -L ss+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: ss
listener:
type: tls
双重加密
这里为了避免双重加密,Shadowsocks未使用任何加密方法,采用明文传输。
SS Over Websocket¶
命令行
gost -L ss+ws://:8080
gost -L ss+wss://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: ss
listener:
type: ws
# type: wss
SS Over KCP¶
命令行
gost -L ss+kcp://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: ss
listener:
type: kcp
-----------------------------------------------------------
SNI¶
SNI(Server Name Indication)是TLS协议的扩展,包含在TLS握手的流程中(Client Hello),用来标识所访问目标主机名。SNI代理通过解析TLS握手信息中的SNI部分,从而获取目标访问地址。
SNI代理同时也接受HTTP请求,使用HTTP的Host头作为目标访问地址。
标准SNI代理¶
命令行
gost -L sni://:443
配置文件
services:
- name: service-0
addr: :443
handler:
type: sni
listener:
type: tcp
Host混淆¶
SNI客户端可以通过host参数来指定Host别名,SNI客户端会将TLS握手中的SNI部分或HTTP请求头中的Host替换为host参数指定的内容。
命令行
gost -L http://:8080 -F sni://:443?host=example.com
配置文件
services:
- name: service-0
addr: :8080
handler:
type: http
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :443
connector:
type: sni
metadata:
host: example.com
dialer:
type: tcp
数据通道¶
SNI代理属于数据处理层,因此也可以与各种数据通道组合使用。
SNI Over TLS¶
命令行
gost -L sni+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: sni
listener:
type: tls
SNI Over Websocket¶
命令行
gost -L sni+ws://:8080
gost -L sni+wss://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: sni
listener:
type: ws
# type: wss
SS Over KCP¶
命令行
gost -L sni+kcp://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: sni
listener:
type: kcp
-----------------------------------------------------------
Relay协议¶
Relay协议是GOST特有的一个协议,同时具有代理和转发功能,可同时处理TCP和UDP的数据,并支持用户认证。
无加密
Relay协议本身不具备加密功能,如果需要对数据进行加密传输,可以配合具有加密功能的数据通道(例如tls,wss,quic等)使用。
代理¶
Relay协议可以像HTTP/SOCKS5一样用作代理协议。
服务端¶
gost -L relay://username:password@:12345
客户端¶
gost -L :8080 -F relay://username:password@:12345?nodelay=false
延迟发送
默认情况下relay协议会等待请求数据,当收到请求数据后会把协议头部信息与请求数据一起发给服务端,减少数据交互次数。当nodelay选项设为true后不再等待客户端的请求数据,协议头部信息会立即发给代理服务并与目标主机建立连接。这种模式在某些情况下是必要的,例如当通过代理连接的目标服务会主动发送数据给客户端时(FTP,VNC,MySQL等)需要开启此选项,以免造成连接异常。
也可以配合端口转发支持同时转发TCP和UDP数据
服务端¶
命令行
gost -L relay://:8420
配置文件
services:
- name: service-0
addr: :8420
handler:
type: relay
listener:
type: tcp
客户端¶
命令行
gost -L tcp://:2222/:22 -L udp://:1053/:53 -F relay://:8420
配置文件
services:
- name: service-0
addr: :2222
handler:
type: tcp
chain: chain-0
listener:
type: tcp
forwarder:
nodes:
- name: target-0
addr: :22
- name: service-1
addr: :1053
handler:
type: udp
chain: chain-0
listener:
type: udp
forwarder:
nodes:
- name: target-0
addr: :53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8420
connector:
type: relay
dialer:
type: tcp
端口转发¶
Relay服务本身也可以作为端口转发服务。
服务端¶
命令行
gost -L relay://:8420/:53
配置文件
services:
- name: service-0
addr: :8420
handler:
type: relay
listener:
type: tcp
forwarder:
nodes:
- name: target-0
addr: :53
客户端¶
命令行
gost -L udp://:1053 -L tcp://:2222 -F relay://:8420
配置文件
services:
- name: service-0
addr: :1053
handler:
type: udp
chain: chain-0
listener:
type: udp
- name: service-1
addr: :2222
handler:
type: tcp
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8420
connector:
type: relay
dialer:
type: tcp
远程端口转发¶
Relay协议实现了类似于SOCKS5的BIND功能,可以配合远程端口转发服务使用。
BIND功能默认未开启,需要通过设置bind选项为true来开启。
服务端¶
命令行
gost -L relay://:8420?bind=true
配置文件
services:
- name: service-0
addr: :8420
handler:
type: relay
metadata:
bind: true
listener:
type: tcp
客户端¶
命令行
gost -L rtcp://:2222/:22 -L rudp://:10053/:53 -F relay://:8420
配置文件
services:
- name: service-0
addr: :2222
handler:
type: rtcp
listener:
type: rtcp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: :22
- name: service-1
addr: :10053
handler:
type: rudp
listener:
type: rudp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: :53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8420
connector:
type: relay
dialer:
type: tcp
数据通道¶
Relay协议可以与各种数据通道组合使用。
Relay Over TLS¶
命令行
gost -L relay+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: relay
listener:
type: tls
Relay Over Websocket¶
命令行
gost -L relay+ws://:8080
gost -L relay+wss://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: relay
listener:
type: ws
# type: wss
Relay Over KCP¶
命令行
gost -L relay+kcp://:8080
配置文件
services:
- name: service-0
addr: :8080
handler:
type: relay
listener:
type: kcp
-----------------------------------------------------------
TLS¶
TLS是GOST中的一种数据通道类型。
TLS证书配置
TLS配置请参考TLS配置说明。
标准TLS服务¶
命令行
gost -L tls://:8443
配置文件
services:
- name: service-0
addr: :
handler:
type: auto
listener:
type: tls
多路复用¶
GOST在TLS基础之上扩展出具有多路复用(Multiplex)特性的TLS传输类型(mtls)。多路复用基于xtaci/smux库。
命令行
gost -L mtls://:8443
配置文件
services:
- name: service-0
addr: :
handler:
type: auto
listener:
type: mtls
metadata:
mux.version: 1
参数说明
mux.version (int, default=1)
SMUX协议版本
mux.keepaliveDisabled (bool, default=false)
是否禁用心跳
mux.keepaliveInterval (duration, default=10s)
心跳间隔时长
mux.keepaliveTimeout (duration, default=30s)
心跳超时时长
mux.maxFrameSize (int, default=32768)
帧最大长度
mux.maxReceiveBuffer (int, default=4194304)
接收缓冲区大小
mux.maxStreamBuffer (int, default=65536)
Steam缓冲区大小
代理协议¶
TLS数据通道可以与各种代理协议组合使用。
HTTP Over TLS¶
命令行
gost -L http+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: http
listener:
type: tls
# type: mtls
SOCKS5 Over TLS¶
命令行
gost -L socks5+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: socks5
listener:
type: tls
# type: mtls
Relay Over TLS¶
命令行
gost -L relay+tls://:8443
配置文件
services:
- name: service-0
addr: :8443
handler:
type: relay
listener:
type: tls
# type: mtls
端口转发¶
TLS通道也可以用作端口转发,相当于在TCP端口转发服务基础上增加TLS加密。
服务端¶
命令行
gost -L tls://:8443/:8080 -L http://:8080
等同于
gost -L forward+tls://:8443/:8080 -L http://:8080
配置文件
services:
- name: service-0
addr: :8443
handler:
type: forward
listener:
type: tls
forwarder:
nodes:
- name: target-0
addr: :8080
- name: service-1
addr: :8080
handler:
type: http
listener:
type: tcp
通过使用TLS数据通道的端口转发,给8080端口的HTTP代理服务增加了TLS加密数据通道。
此时8443端口等同于:
gost -L http+tls://:8443
-----------------------------------------------------------
GO Simple Tunnel
GO语言实现的安全隧道
功能特性
多端口监听
多级转发链
多协议支持
TCP/UDP端口转发
TCP/UDP透明代理
DNS解析和代理
TUN/TAP设备
反向代理
负载均衡
路由控制
限速限流
准入控制
动态配置
插件系统
Prometheus监控指标
Web API
Web UI
Telegram讨论群:https://t.me/gogost
Google讨论组:https://groups.google.com/d/forum/go-gost
提交Issue:https://github.com/go-gost/gost/issues
旧版入口:v2.gost.run
下载安装
二进制文件
https://github.com/go-gost/gost/releases
源码编译
git clone https://github.com/go-gost/gost.git
cd gost/cmd/gost
go build
Docker
docker run --rm gogost/gost -V
Shadowsocks Android插件
xausky/ShadowsocksGostPlugin
https://github.com/xausky/ShadowsocksGostPlugin
发表评论: