你的位置:首页 > 互联网IT
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,监听器(
gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,监听器(Listeners),拨号器(Dialers),KCP,SSH,SSHD
系统: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
本文内容:监听器(Listeners),拨号器(Dialers),KCP,SSH,SSHD,TCP透明代理(RED),UDP透明代理(redu),TCP远程端口转发(rtcp),UDP远程端口转发(rudp),DNS,TUN,TAP,ICMP,OBFS-HTTP(ohttp),OBFS-TLS(otls),Fake TCP(ftcp)
gost,gost3,gost-v3版本-配置文件文章
https://www.zhuguodong.com/?id=771
gost,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
-----------------------------------------------------------
KCP¶
名称: kcp
状态: GA
KCP监听器根据服务配置,监听在指定UDP端口,并使用KCP协议进行通讯。
命令行
gost -L http+kcp://:8443
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: kcp
metadata:
config:
crypt: aes
mode: fast
mtu: 1350
参数列表¶
backlog (int, default=128)
单个连接的数据流队大小
config (object)
KCP配置
c (string)
KCP配置JSON文件
KCP配置¶
config
key: "it's a secrect"
crypt: "aes"
mode: "fast"
mtu: 1350
sndwnd: 1024
rcvwnd: 1024
datashard: 10
parityshard: 3
dscp: 0
nocomp: false
acknodelay: false
nodelay: 0
interval: 50
resend: 0
nc: 0
sockbuf: 4194304
smuxbuf: 4194304
streambuf: 2097152
smuxver: 1
keepalive: 10
snmplog: ""
snmpperiod: 60
signal: false
tcp: false
配置文件中的参数说明请参考kcptun。
KCP¶
名称: kcp
状态: GA
KCP使用KCP协议与KCP服务建立数据通道。
命令行
gost -L :8080 -F http+kcp://:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: kcp
metadata:
config:
crypt: aes
mode: fast
mtu: 1350
参数列表¶
config (object)
KCP配置
c (string)
KCP配置JSON文件
KCP配置¶
config
key: "it's a secrect"
crypt: "aes"
mode: "fast"
mtu: 1350
sndwnd: 1024
rcvwnd: 1024
datashard: 10
parityshard: 3
dscp: 0
nocomp: false
acknodelay: false
nodelay: 0
interval: 50
resend: 0
nc: 0
sockbuf: 4194304
smuxbuf: 4194304
streambuf: 2097152
smuxver: 1
keepalive: 10
snmplog: ""
snmpperiod: 60
signal: false
tcp: false
配置文件中的参数说明请参考kcptun。
-----------------------------------------------------------
SSH数据通道¶
名称: ssh
状态: GA
SSH监听器根据服务配置,监听在指定TCP端口,并使用SSH协议进行通讯。
SSH监听器支持简单用户名/密码认证和公钥认证。
用户名/密码认证¶
命令行
gost -L http+ssh://gost:gost@:8443
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: ssh
auth:
username: gost
password: gost
认证信息
认证信息作用于监听器,如果需要对处理器设置认证可以通过配置文件指定
services:
- name: service-0
addr: ":8443"
handler:
type: http
auth:
username: gost
password: gost
# or use auther
# auther: auther-0
listener:
type: ssh
公钥认证¶
命令行
gost -L http+ssh://gost@:8443?authorizedKeys=/path/to/authorized_keys
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: ssh
auth:
username: gost
metadata:
authorizedKeys: /path/to/authorized_keys
参数列表¶
backlog (int, default=128)
单个连接的数据流队大小
privateKeyFile (string)
证书私钥文件,如果未指定则使用全局默认TLS证书私钥
passphrase (string)
证书密码
authorizedKeys (string)
客户端公钥列表文件
SSH数据通道¶
名称: ssh
状态: GA
SSH拨号器使用SSH协议与SSH服务建立数据通道。
SSH拨号器支持简单用户名/密码认证和公钥认证。
用户名/密码认证¶
命令行
gost -L :8080 -F http+ssh://gost:gost@:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: ssh
auth:
username: gost
password: gost
认证信息
认证信息作用于拨号器,如果需要对连接器设置认证可以通过配置文件指定
services:
- name: service-0
addr: ":8080"
handler:
type: auto
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: http
auth:
username: gost
password: gost
dialer:
type: ssh
公钥认证¶
命令行
gost -L :8080 -F http+ssh://gost@:8443?privateKeyFile=/path/to/privateKeyFile
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: ssh
auth:
username: gost
metadata:
privateKeyFile: /path/to/privateKeyFile
# optional passphrase for privateKeyFile
# passphrase: pass
参数列表¶
privateKeyFile (string)
证书私钥文件
passphrase (string)
证书密码
-----------------------------------------------------------
SSHD¶
名称: sshd
状态: GA
SSHD监听器根据服务配置,监听在指定TCP端口,并使用SSH协议进行通讯。
SSH监听器支持简单用户名/密码认证和公钥认证。
用户名/密码认证¶
命令行
gost -L sshd://gost:gost@:2222
配置文件
services:
- name: service-0
addr: ":2222"
handler:
type: sshd
listener:
type: sshd
auth:
username: gost
password: gost
认证信息
认证信息作用于监听器,如果需要对处理器设置认证可以通过配置文件指定
services:
- name: service-0
addr: ":8443"
handler:
type: sshd
auth:
username: gost
password: gost
# or use auther
# auther: auther-0
listener:
type: sshd
公钥认证¶
命令行
gost -L sshd://gost@:2222?authorizedKeys=/path/to/authorized_keys
配置文件
services:
- name: service-0
addr: ":2222"
handler:
type: sshd
auth:
username: gost
listener:
type: sshd
metadata:
authorizedKeys: /path/to/authorized_keys
参数列表¶
backlog (int, default=128)
单个连接的数据流队大小
privateKeyFile (string)
证书私钥文件
passphrase (string)
证书密码
authorizedKeys (string)
客户端公钥列表文件
限制
SSHD监听器只能与SSHD处理器一起使用,构建基于SSH协议的标准端口转发服务。
SSHD¶
名称: sshd
状态: GA
SSHD拨号器使用SSH协议建立数据通道。
SSH拨号器支持简单用户名/密码认证和公钥认证。
用户名/密码认证¶
命令行
gost -L :8080 -F sshd://gost:gost@:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: sshd
dialer:
type: sshd
auth:
username: gost
password: gost
认证信息
认证信息作用于拨号器,如果需要对连接器设置认证可以通过配置文件指定
services:
- name: service-0
addr: ":8080"
handler:
type: auto
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :8443
connector:
type: sshd
auth:
username: gost
password: gost
dialer:
type: sshd
公钥认证¶
命令行
gost -L sshd://gost@:2222?authorizedKeys=/path/to/authorized_keys
配置文件
services:
- name: service-0
addr: ":2222"
handler:
type: sshd
auth:
username: gost
listener:
type: sshd
metadata:
authorizedKeys: /path/to/authorized_keys
参数列表¶
backlog (int, default=128)
单个连接的数据流队大小
privateKeyFile (string)
证书私钥文件
passphrase (string)
证书密码
authorizedKeys (string)
客户端公钥列表文件
限制
SSHD监听器只能与SSHD处理器一起使用,构建基于SSH协议的标准端口转发服务。
-----------------------------------------------------------
TCP透明代理¶
名称: red, redir, redirect
状态: GA
TCP透明代理基于REDIRECT和tproxy模块实现。
命令行
gost -L red://:12345
配置文件
services:
- name: service-0
addr: ":12345"
handler:
type: red
listener:
type: red
参数列表¶
tproxy (bool, default=false)
开启tproxy模式
tproxy模式
tproxy模式需要red监听器和处理器同时开启。
限制
red监听器只能与red处理器一起使用,构建TCP透明代理。
TCP透明代理仅支持Linux系统。
-----------------------------------------------------------
UDP透明代理¶
名称: redu
状态: GA
UDP透明代理基于iptables的tproxy模块实现。
命令行
gost -L redu://:12345
配置文件
services:
- name: service-0
addr: ":12345"
handler:
type: redu
listener:
type: redu
参数列表¶
ttl (duration, default=60s)
传输通道超时时长
readBufferSize (duration, default=1500)
读缓冲区字节大小
限制
redu监听器只能与redu处理器一起使用,构建UDP透明代理。
UDP透明代理仅支持Linux系统。
-----------------------------------------------------------
TCP远程端口转发¶
名称: rtcp
状态: Stable
RTCP监听器根据服务配置,监听在指定的本地或远程(通过转发链)TCP端口。
不使用转发链¶
命令行
gost -L=rtcp://:2222/:22
配置文件
services:
- name: service-0
addr: ":2222"
handler:
type: rtcp
listener:
type: rtcp
forwarder:
nodes:
- name: target-0
addr: :22
使用转发链¶
命令行
gost -L=rtcp://:2222/192.168.1.1:22 -F socks5://192.168.1.2:1080
配置文件
services:
- name: service-0
addr: ":2222"
handler:
type: rtcp
listener:
type: rtcp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: 192.168.1.1:22
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: 192.168.1.2:1080
connector:
type: socks5
dialer:
type: tcp
参数列表¶
无
限制
RTCP监听器只能与RTCP处理器一起使用,构建TCP远程端口转发服务。
-----------------------------------------------------------
UDP远程端口转发¶
名称: udp
状态: Stable
RUDP监听器根据服务配置,监听在指定的本地或远程(通过转发链)UDP端口。
不使用转发链¶
命令行
gost -L=rudp://:10053/192.168.1.1:53
配置文件
services:
- name: service-0
addr: ":10053"
handler:
type: rudp
listener:
type: rudp
forwarder:
nodes:
- name: target-0
addr: 192.168.1.1:53
使用转发链¶
命令行
gost -L=rtcp://:10053/192.168.1.1:53 -F socks5://192.168.1.2:1080
配置文件
services:
- name: service-0
addr: ":10053"
handler:
type: rudp
listener:
type: rudp
chain: chain-0
forwarder:
nodes:
- name: target-0
addr: 192.168.1.1:53
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: 192.168.1.2:1080
connector:
type: socks5
dialer:
type: tcp
参数列表¶
backlog (int, default=128)
请求队列长度
ttl (duration, default=5s)
每个客户端通道超时时长
readQueueSize (int, default=128)
数据读取队列长度
readBufferSize (int, default=1500)
数据读取缓冲区字节大小
限制
RUDP监听器只能与RUDP处理器一起使用,构建UDP远程端口转发服务。
-----------------------------------------------------------
DNS¶
名称: dns
状态: GA
DNS监听器根据服务配置,监听在指定TCP或UDP端口,并使用DNS协议进行通讯。
命令行
gost -L dns://:10053?mode=udp
配置文件
services:
- name: service-0
addr: ":10053"
handler:
type: dns
listener:
type: dns
metadata:
mode: udp
参数列表¶
backlog (int, default=128)
请求队列大小
mode (string, default=udp)
运行模式:
udp - UDP协议
tcp - TCP协议
tls - DNS-over-TLS(DoT)
https - DNS-over-HTTPS(DoH)
readBufferSize (int, default=512)
读缓冲区字节大小, 当mode=udp时有效
readTimeout (duration, default=2s)
读数据超时时长
writeTimeout (duration, default=2s)
写数据超时时长
限制
DNS监听器只能与DNS处理器一起使用,构建DNS代理服务。
-----------------------------------------------------------
TUN¶
名称: tun
状态: GA
TUN监听器根据服务配置,监听在指定UDP端口,并创建和初始化TUN设备。
命令行
gost -L tun://:8421?net=192.168.123.2/24
配置文件
services:
- name: service-0
addr: ":8421"
handler:
type: tun
listener:
type: tun
metadata:
net: 192.168.123.2/24
参数列表¶
name (string)
指定TUN设备的名字,默认值为系统预设
net (string, required)
指定TUN设备的地址
mtu (int, default=1350)
设置TUN设备的MTU值
route (string)
逗号分割的路由列表,例如:10.100.0.0/16,172.20.1.0/24,1.2.3.4/32
routes (strings)
路由列表
gw (string)
默认网关IP
peer (string)
对端IP地址,仅MacOS系统有效
限制
TUN监听器只能与TUN处理器一起使用,构建基于TUN设备的VPN。
-----------------------------------------------------------
TAP¶
名称: tap
状态: GA
TAP监听器根据服务配置,监听在指定UDP端口,并创建和初始化TAP设备。
命令行
gost -L tap://:8421?net=192.168.123.2/24
配置文件
services:
- name: service-0
addr: ":8421"
handler:
type: tap
listener:
type: tap
metadata:
net: 192.168.123.2/24
参数列表¶
name (string)
指定TAP设备的名字,默认值为系统预设
net (string, required)
指定TAP设备的地址
mtu (int, default=1350)
设置TAP设备的MTU值
routes (strings)
路由列表
gw (string)
默认网关IP
限制
TAP监听器只能与TAP处理器一起使用,构建基于TAP设备的VPN。
-----------------------------------------------------------
ICMP¶
名称: icmp
状态: Alpha
ICMP监听器采用ICMP协议进行数据传输。
命令行
gost -L http+icmp://:0?keepAlive=true
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: icmp
metadata:
keepAlive: true
参数列表¶
backlog (int, default=128)
单个连接的数据流队大小
keepAlive (bool, default=false)
开启心跳检测。
ttl (duration, default=10s)
心跳间隔时长,当keepAlive为true时有效。
handshakeTimeout (duration, default=5s)
握手超时时长
maxIdleTimeout (duration, default=30s)
最大空闲时长
ICMP¶
名称: icmp
状态: Alpha
ICMP拨号器使用ICMP协议建立数据通道。
命令行
gost -L :8080 -F http+icmp://:12345
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
chain: chain-0
listener:
type: tcp
chains:
- name: chain-0
hops:
- name: hop-0
nodes:
- name: node-0
addr: :12345
connector:
type: http
dialer:
type: icmp
参数列表¶
keepAlive (bool, default=false)
开启心跳检测。
ttl (duration, default=10s)
心跳间隔时长,当keepAlive为true时有效。
handshakeTimeout (duration, default=5s)
握手超时时长
maxIdleTimeout (duration, default=30s)
最大空闲时长
-----------------------------------------------------------
OBFS-HTTP¶
名称: ohttp
状态: GA
OHTTP监听器根据服务配置,监听在指定TCP端口,并使用HTTP协议进行握手。
命令行
gost -L http+ohttp://:8443
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: ohttp
metadata:
header:
foo: bar
参数列表¶
header (map)
自定义HTTP响应头
HTTP混淆¶
名称: ohttp
状态: GA
OHTTP拨号器使用HTTP协议建立数据通道。
命令行
gost -L :8080 -F http+ohttp://:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: ohttp
参数列表¶
host (string)
指定HTTP请求Host头部字段值
header (map)
自定义HTTP请求头
-----------------------------------------------------------
OBFS-TLS¶
名称: otls
状态: GA
OTLS监听器根据服务配置,监听在指定TCP端口,并使用伪TLS协议进行握手。
命令行
gost -L http+otls://:8443
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: otls
参数列表¶
无
TLS混淆¶
名称: otls
状态: GA
OTLS拨号器使用伪TLS协议建立数据通道。
命令行
gost -L :8080 -F http+otls://:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: otls
参数列表¶
host (string)
指定TLS请求SNI字段。
-----------------------------------------------------------
Fake TCP¶
名称: ftcp
状态: Alpha
FTCP使用tcpraw模拟TCP协议。
命令行
gost -L http+ftcp://:8443
配置文件
services:
- name: service-0
addr: ":8443"
handler:
type: http
listener:
type: ftcp
参数列表¶
backlog (int, default=128)
请求队列大小
ttl (duration, default=5s)
UDP连接超时时长
readBufferSize (int, default=1500)
UDP读数据缓冲区字节大小
readQueueSize (int, default=128)
UDP连接读数据队列大小
Fake TCP¶
名称: ftcp
状态: Alpha
FTCP使用tcpraw模拟TCP协议建立数据通道。
命令行
gost -L :8080 -F http+ftcp://:8443
配置文件
services:
- name: service-0
addr: ":8080"
handler:
type: auto
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: ftcp
参数列表¶
无
-----------------------------------------------------------
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
发表评论: