如何使用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_caca.cert.pem可改為.der後綴以供windows系統安裝
查看證書信息
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:
Linux:
export https_proxy="https://你的域名:56000"其他系統設置可能不支持HTTPS代理, 僅有HTTP代理