打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

如何使用gost搭建HTTPS代理

来自md5.pw
这是此页面的最新修订,它没有已核准修订。

有时候, 我们访问受限, 无法下载到代理工具 (比如:Xray); 或不想过多的配置或下载代理客户端, 只是临时用一下代理而已, 传统的HTTP代理又不安全, 容易被识别出来, 有没有一个服务端能够支持客户端使用HTTPS代理?

有, 那就是gost, 而且它的速度不比Xray的vless+reality+xtls-rprx-vision的差


1. 准备

主要使用3.0版本

wget https://github.com/go-gost/gost/releases/download/v3.2.6/gost_3.2.6_linux_amd64.tar.gz
tar -xzf gost_3.2.6_linux_amd64.tar.gz
mv gost /usr/local/bin/
chmod u+x /usr/local/bin/gost
rm gost_3.2.6_linux_amd64.tar.gz

可以自行更换版本, 也可以使用Github上的安装脚本

2. 配置service

新建一个gost.service并进行配置

[Unit]
Description=gost
After=network.target network-online.target

[Service]
Type=simple
StandardError=journal
ExecStart="/usr/local/bin/gost"
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=1s

[Install]
WantedBy=multi-user.target

我们保存在/main/gost/为例, 建立一个软链接以方便备份与配置

ln -f /main/gost/gost.service /etc/systemd/system/

添加到开机启动中

systemctl daemon-reload
systemctl enable gost.service

3. 配置证书

你可以选择使用自签证书或正式证书, 若使用正式证书且不配置代理账号密码会导致主机变为肉鸡, 若使用自签证书会有更好的安全性, 前提是你的自签证书没有被泄露, 这里仅展示自签证书的配置方法

mkdir /main/gost/cert
cd /main/gost/cert

新建一个server.cert.conf并进行配置

[req]
default_bits       = 4096
default_md         = sha256
distinguished_name = req_distinguished_name
req_extensions     = req_ext
x509_extensions    = v3_ca
prompt             = no

[req_distinguished_name]
O                  = gost
CN                 = gost cert

[req_ext]
subjectAltName     = @alt_names

[v3_ca]
subjectAltName     = @alt_names
basicConstraints   = CA:FALSE
keyUsage           = digitalSignature, keyEncipherment
extendedKeyUsage   = serverAuth, clientAuth

[alt_names]
DNS.1              = 你的域名
DNS.2              = 你的第二个域名

需要设置好域名并进行保存 执行以下命令

openssl genrsa -out ca.key.pem 4096
openssl req -new -x509 -nodes -days 5475 -sha256 -key ca.key.pem -out ca.cert.pem -subj "/O=gost/CN=gost ca"

openssl genrsa -out server.key.pem 4096
openssl req -new -key server.key.pem -out server.csr.pem -config server.cert.conf
openssl x509 -req -CA ca.cert.pem -CAkey ca.key.pem -CAcreateserial -in server.csr.pem -out server.cert.pem -days 5475 -sha256 -extfile server.cert.conf -extensions v3_ca

查看证书信息

openssl x509 -in ca.cert.pem -text -noout

4. 配置gost

cd /main/gost

新建一个gost.json并进行配置, 可以参考官网的教程

{
  "services": [
    {
      "name": "https-proxy",
      "addr": ":56000",
      "handler": {
        "type": "http",
        "metadata": {
          "knock": "你的域名",
          "probeResist": "web:test-ipv6.com:80"
        }
      },
      "listener": {
        "type": "tls"
      }
    }

  ],

  "tls": {
    "certFile": "/main/gost/cert/server.cert.pem",
    "keyFile": "/main/gost/cert/server.key.pem"
  }
}

对原配置文件进行链接

ln -f /main/gost/gost.json /etc/gost/

重启服务

systemctl restart gost.service
systemctl status gost.service

5. 客户端使用

任何系统想用就必须装上CA证书, 也就是上面提到的ca.cert.pem

Windows安装证书:

ca.cert.pem改为.der后缀, 双击安装, 到本地计算机, 将证书放入下列存储 (受信任的根证书颁发机构)

Linux安装证书:

mkdir -p /usr/local/share/ca-certificates
cp ca.cert.pem /usr/local/share/ca-certificates/
chmod 0644 /usr/local/share/ca-certificates/ca.cert.pem
update-ca-certificates

Windows使用:

Linux使用:

export https_proxy="https://你的域名:56000"

其他系统设置可能不支持HTTPS代理, 仅有HTTP代理