如何使用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.service3. 配置证书
你可以选择使用自签证书或正式证书, 若使用正式证书且不配置代理账号密码会导致主机变为肉鸡, 若使用自签证书会有更好的安全性, 前提是你的自签证书没有被泄露, 这里仅展示自签证书的配置方法
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 -noout4. 配置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.service5. 客户端使用
任何系统想用就必须装上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-certificatesWindows使用:
Linux使用:
export https_proxy="https://你的域名:56000"其他系统设置可能不支持HTTPS代理, 仅有HTTP代理