如何使用gost搭建HTTPS代理:修订间差异
来自md5.pw
更多语言
更多操作
修复语法高亮标签的语言参数 |
|||
| (未显示同一用户的1个中间版本) | |||
| 第5行: | 第5行: | ||
=== 1. 准备 === | === 1. 准备 === | ||
主要使用3.0版本<syntaxhighlight> | 主要使用3.0版本<syntaxhighlight lang="text"> | ||
wget https://github.com/go-gost/gost/releases/download/v3.2.6/gost_3.2.6_linux_amd64.tar.gz | 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 | tar -xzf gost_3.2.6_linux_amd64.tar.gz | ||
| 第14行: | 第14行: | ||
=== 2. 配置service === | === 2. 配置service === | ||
新建一个<code>gost.service</code>并进行配置<syntaxhighlight line="1"> | 新建一个<code>gost.service</code>并进行配置<syntaxhighlight lang="text" line="1"> | ||
[Unit] | [Unit] | ||
Description=gost | Description=gost | ||
| 第30行: | 第30行: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
</syntaxhighlight>我们保存在<code>/main/gost/</code>为例, 建立一个软链接以方便备份与配置<syntaxhighlight> | </syntaxhighlight>我们保存在<code>/main/gost/</code>为例, 建立一个软链接以方便备份与配置<syntaxhighlight lang="text"> | ||
ln -f /main/gost/gost.service /etc/systemd/system/ | ln -f /main/gost/gost.service /etc/systemd/system/ | ||
</syntaxhighlight>添加到开机启动中<syntaxhighlight> | </syntaxhighlight>添加到开机启动中<syntaxhighlight lang="text"> | ||
systemctl daemon-reload | systemctl daemon-reload | ||
systemctl enable gost.service | systemctl enable gost.service | ||
| 第38行: | 第38行: | ||
=== 3. 配置证书 === | === 3. 配置证书 === | ||
你可以选择使用自签证书或正式证书, 若'''使用正式证书且不配置代理账号密码'''会导致主机变为肉鸡, 若使用自签证书会有更好的安全性, 前提是你的自签证书没有被泄露, 这里仅展示自签证书的配置方法<syntaxhighlight> | 你可以选择使用自签证书或正式证书, 若'''使用正式证书且不配置代理账号密码'''会导致主机变为肉鸡, 若使用自签证书会有更好的安全性, 前提是你的自签证书没有被泄露, 这里仅展示自签证书的配置方法<syntaxhighlight lang="text"> | ||
mkdir /main/gost/cert | mkdir /main/gost/cert | ||
cd /main/gost/cert | cd /main/gost/cert | ||
</syntaxhighlight>新建一个<code>server.cert.conf</code>并进行配置<syntaxhighlight line="1"> | </syntaxhighlight>新建一个<code>server.cert.conf</code>并进行配置<syntaxhighlight lang="text" line="1"> | ||
[req] | [req] | ||
default_bits = 4096 | default_bits = 4096 | ||
| 第68行: | 第68行: | ||
</syntaxhighlight>需要设置好域名并进行保存 | </syntaxhighlight>需要设置好域名并进行保存 | ||
执行以下命令<syntaxhighlight>openssl genrsa -out ca.key.pem 4096 | 执行以下命令<syntaxhighlight lang="text">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 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 genrsa -out server.key.pem 4096 | ||
openssl req -new -key server.key.pem -out server.csr.pem -config server.cert.conf | 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</syntaxhighlight>查看证书信息<syntaxhighlight>openssl x509 -in ca.cert.pem -text -noout</syntaxhighlight> | 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</syntaxhighlight>查看证书信息<syntaxhighlight lang="text">openssl x509 -in ca.cert.pem -text -noout</syntaxhighlight> | ||
=== 4. 配置gost === | === 4. 配置gost === | ||
<syntaxhighlight> | <syntaxhighlight lang="text"> | ||
cd /main/gost | cd /main/gost | ||
</syntaxhighlight>新建一个<code>gost.json</code>并进行配置, 可以参考[https://gost.run/ 官网]的教程<syntaxhighlight lang="json" line="1"> | </syntaxhighlight>新建一个<code>gost.json</code>并进行配置, 可以参考[https://gost.run/ 官网]的教程<syntaxhighlight lang="json" line="1"> | ||
| 第102行: | 第102行: | ||
} | } | ||
} | } | ||
</syntaxhighlight>对原配置文件进行链接<syntaxhighlight> | </syntaxhighlight>对原配置文件进行链接<syntaxhighlight lang="text"> | ||
ln -f /main/gost/gost.json /etc/gost/ | ln -f /main/gost/gost.json /etc/gost/ | ||
</syntaxhighlight>重启服务<syntaxhighlight> | </syntaxhighlight>重启服务<syntaxhighlight lang="text"> | ||
systemctl restart gost.service | systemctl restart gost.service | ||
systemctl status gost.service | systemctl status gost.service | ||
| 第116行: | 第116行: | ||
<code>ca.cert.pem</code>改为<code>.der</code>后缀, 双击安装, 到本地计算机, 将证书放入下列存储 (受信任的根证书颁发机构) | <code>ca.cert.pem</code>改为<code>.der</code>后缀, 双击安装, 到本地计算机, 将证书放入下列存储 (受信任的根证书颁发机构) | ||
'''Linux安装证书:'''<syntaxhighlight> | '''Linux安装证书:'''<syntaxhighlight lang="text"> | ||
mkdir -p /usr/local/share/ca-certificates | mkdir -p /usr/local/share/ca-certificates | ||
cp ca.cert.pem /usr/local/share/ca-certificates/ | cp ca.cert.pem /usr/local/share/ca-certificates/ | ||
| 第126行: | 第126行: | ||
[[File:如何使用gost搭建HTTPS代理-1.png|frameless|421x421px]] | [[File:如何使用gost搭建HTTPS代理-1.png|frameless|421x421px]] | ||
'''Linux使用:''' <syntaxhighlight> | '''Linux使用:''' <syntaxhighlight lang="text"> | ||
export https_proxy="https://你的域名:56000" | export https_proxy="https://你的域名:56000" | ||
</syntaxhighlight>'''其他系统设置可能不支持HTTPS代理, 仅有HTTP代理''' | </syntaxhighlight>'''其他系统设置可能不支持HTTPS代理, 仅有HTTP代理''' | ||
[[Category:500 常见应用指南 — Application Guides]] | |||
2026年9月18日 (五) 15:41的最新版本
有时候, 我们访问受限, 无法下载到代理工具 (比如: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代理