你的位置:首页 > 互联网IT

gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,协议,概述,HTTP,HTTP2,SOCKS4,SOCKS5

系统:Windows/linux

软件:gost v3.0

功能:http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射

官网:https://gost.run/

项目地址: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=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


 gost,gost3,gost-v3,gost3配置文件教材,http代理,socks5代理,转发端口,shadowsocks代理,SS代理,负载均衡,中转服务,端口映射,gost3命令教材,协议,概 互联网IT

-----------------------------------------------------------


协议¶


正如代理转发和通道所述,一个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



  • 发表评论
  • 查看评论
【暂无评论!】

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。