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

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

系统: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


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代理服务¶



命令行

gost -L http://:8080

配置文件

services:

- name: service-0

  addr: ":8080"

  handler:

    type: http

  listener:

    type: tcp


启动一个监听在8080端口的HTTP代理服务。


开启多个代理服务¶



命令行

gost -L http://:8080 -L socks5://:1080 

配置文件

services:

- name: service-0

  addr: ":8080"

  handler:

    type: http

  listener:

    type: tcp

- name: service-1

  addr: ":1080"

  handler:

    type: socks5

  listener:

    type: tcp

启动两个服务,一个监听在8080端口的HTTP代理服务,和一个监听在1080端口的SOCKS5代理服务。


使用转发¶



命令行

gost -L http://:8080 -F http://192.168.1.1:8080

配置文件

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: 192.168.1.1:8080

      connector:

        type: http

      dialer:

        type: tcp


监听在8080端口的HTTP代理服务,使用192.168.1.1:8080做为上级代理进行转发。


使用多级转发(转发链)¶



命令行

gost -L :8080 -F http://192.168.1.1:8080 -F socks5://192.168.1.2:1080

配置文件

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: 192.168.1.1:8080

      connector:

        type: http

      dialer:

        type: tcp

  - name: hop-1

    nodes:

    - name: node-0

      addr: 192.168.1.2:1080

      connector:

        type: socks5

      dialer:

        type: tcp

GOST按照-F设置的顺序将请求最终转发给192.168.1.2:1080处理。


转发模式¶


TCP本地端口转发¶



命令行

gost -L tcp://:8080/192.168.1.1:80

配置文件

services:

- name: service-0

  addr: :8080

  handler:

    type: tcp

  listener:

    type: tcp

  forwarder:

    nodes:

    - name: target-0

      addr: 192.168.1.1:80

将本地的TCP端口8080映射到192.168.1.1的80端口,所有到本地8080端口的数据会被转发到192.168.1.1:80。


UDP本地端口转发¶



命令行

gost -L udp://:10053/192.168.1.1:53

配置文件

services:

- name: service-0

  addr: :10053

  handler:

    type: udp

  listener:

    type: udp

  forwarder:

    nodes:

    - name: target-0

      addr: 192.168.1.1:53

将本地的UDP端口10053映射到192.168.1.1的53端口,所有到本地10053端口的数据会被转发到192.168.1.1:53。


TCP本地端口转发(转发链)¶



命令行

gost -L=tcp://:8080/192.168.1.1:80 -F socks5://192.168.1.2:1080

配置文件

services:

- name: service-0

  addr: :8080

  handler:

    type: tcp

    chain: chain-0

  listener:

    type: tcp

  forwarder:

    nodes:

    - name: target-0

      addr: 192.168.1.1:80

chains:

- name: chain-0

  hops:

  - name: hop-0

    nodes:

    - name: node-0

      addr: 192.168.1.2:1080

      connector:

        type: socks5

      dialer:

        type: tcp

将本地的TCP端口8080通过转发链映射到192.168.1.1的80端口。


TCP远程端口转发¶



命令行

gost -L=rtcp://:2222/: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: :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

在192.168.1.2上开启并监听TCP端口2222,并将192.168.1.2上的2222端口映射到本地TCP端口22,所有到192.168.1.2:2222的数据会被转发到本地端口22。


UDP远程端口转发¶



命令行

gost -L=rudp://:10053/: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: :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

在192.168.1.2上开启并监听UDP端口10053,并将192.168.1.2上的10053端口映射到本地UDP端口53,所有到192.168.1.2:10053的数据会被转发到本地端口53。


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


配置概述


建议

在使用配置文件前,建议先了解一下GOST中的一些基本概念和架构,对于理解配置文件会有很大帮助。


可以随时在命令行模式下使用-O输出当前配置。


默认配置文件

如果-C和-L参数都未指定,GOST会在以下位置寻找gost.yml或gost.json文件:当前工作目录,/etc/gost/,$HOME/gost/。如果存在则使用此文件作为配置文件。


GOST运行方式有两种:命令行直接运行,和通过配置文件运行。命令行方式可以满足大多数使用需求,例如简单的启动一个代理或转发服务。如果需要更加详细的配置,可以采用配置文件方式,配置文件支持yaml或json格式。


详细的配置说明请参考:


命令行参数说明

配置文件说明

命令行模式与配置文件之间存在一个转换关系,例如:


gost -L http://gost:gost@localhost:8080?foo=bar -F socks5+tls://gost:gost@192.168.1.1:8080?bar=baz

对应的配置文件:



yaml格式:


services:

- name: service-0

  addr: "localhost:8080"

  handler:

    type: http

    chain: chain-0

    auth:

      username: gost

      password: gost

    metadata:

      foo: bar

  listener:

    type: tcp

    metadata:

      foo: bar

chains:

- name: chain-0

  hops:

  - name: hop-0

    nodes:

    - name: node-0

      addr: 192.168.1.1:8080

      connector:

        type: socks5

        auth:

          username: gost

          password: gost

        metadata:

          bar: baz

      dialer:

        type: tls

        metadata:

          bar: baz


json格式:

 

{

  "services": [

    {

      "name": "service-0",

      "addr": "localhost:8080",

      "handler": {

        "type": "http",

        "chain": "chain-0",

        "auth": {

          "username": "gost",

          "password": "gost"

        },

        "metadata": {

          "foo": "bar"

        }

      },

      "listener": {

        "type": "tcp",

        "metadata": {

          "foo": "bar"

        }

      }

    }

  ],

  "chains": [

    {

      "name": "chain-0",

      "hops": [

        {

          "name": "hop-0",

          "nodes": [

            {

              "name": "node-0",

              "addr": "192.168.1.1:8080",

              "connector": {

                "type": "socks5",

                "auth": {

                  "username": "gost",

                  "password": "gost"

                  },

                "metadata": {

                  "bar": "baz"

                }

              },

              "dialer": {

                "type": "tls",

                "metadata": {

                  "bar": "baz"

                }

              }

            }

          ]

        }

      ]

    }

  ]

}


所有-L参数会按顺序转换为services列表,每个service会自动生成名称name属性。


scheme部分会被解析为handler和listener,例如http会被转换为http处理器和tcp监听器。

地址localhost:8080部分对应service的addr属性。

认证信息gost:gost部分被转换为handler.auth属性。

参数选项部分foo=bar被转换为handler.metadata和listener.metadata

如果存在转发链,则使用handler.chain属性引用此转发链(通过name属性)。

如果有-F参数,则在chains列表中生成一条转发链,一个-F对应转发链的hops列表中的一项,-F参数按顺序转换为对应hop中的node。


scheme部分会被解析为connector和dialer,例如socks5+tls被转换为socks5连接器和tls拨号器。

地址192.168.1.1:8080部分对应node的addr属性。

认证信息gost:gost部分被转换为connector.auth属性。

参数选项部分foo=bar被转换为connector.metadata和dialer.metadata

系统服务¶


GOST支持以系统服务的方式运行


Windows¶


通过Windows的sc命令可以创建一个Windows服务:


sc create gost binpath= "C:\gost.exe -L :8080" start= auto

Linux¶


通过Systemd来管理GOST进程


新建/etc/systemd/system/gost.service脚本:


[Unit]

Description=GO Simple Tunnel

After=network.target

Wants=network.target


[Service]

Type=simple

ExecStart=/usr/local/bin/gost -L=:8080

Restart=always


[Install]

WantedBy=multi-user.target

设置为开机启动


systemctl enable gost

启动服务


systemctl start gost


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


常见问题¶


GOST v3和v2版本有何区别?¶


GOST的每一个大版本都是在上一个版本基础之上进行架构的重大调整,v3版本也不例外。 在尽量保证使用上的兼容性的情况下,v3版本基于v2版做了完全的重构,使得整个架构更加的清晰合理,易于扩展,为后续的开发打下基础。


GOST v3为什么独立出来了?¶


GOST v3版本是一次重大的升级,除了功能和用法上的相似外,完全可以认为是一个全新的应用。v2版本功能也已经成熟,为了不对之前的版本造成影响,也为了不受之前版本的影响,独立出来是比较好的选择。


GOST v2和v3版本可以混用吗?¶


根据具体使用的协议而定,一些标准成熟的协议例如TLS,HTTP,SOCKS5等是相互兼容的,但部分协议(例如QUIC,HTTP/3等)无法保证兼容性。


GOST支持定制开发吗?¶


不支持。


GOST会商业化收费吗?¶


没有这方面的打算。GOST是一款开源软件,所有源代码均公开,任何人都可以自由使用和修改。


我该如何支持该项目?¶


您的使用和意见反馈就是对项目最大的支持!


如果您还想请开发者喝杯咖啡可以通过以下渠道(喝茶就免了)


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


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


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

发表评论:

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