业务需求
在日常网络环境中,尤其是跨境研发、自动化测试和远程办公场景下,常常需要代理转发来提升访问稳定性与安全性。
常见的代理需求包括:
- HTTPS 或 SOCKS5 代理:兼容浏览器、curl、程序SDK;
- 链式代理 / 中转节点:让流量通过多个代理层级转发;
- 隧道(TLS / WebSocket / SSH 等)封装:在受限网络下保持可访问性;
- 轻量化和可扩展性:不希望部署复杂的 VPN 系统,只需要一个小巧的代理服务即可。
于是我们选择了由 Go 语言编写的 GOST (Go Simple Tunnel)。
它兼容多种协议(HTTP、SOCKS、TLS、WS、QUIC 等),并支持代理级联、反向代理、负载均衡等高级特性,十分灵活。
2.技术选型
为什么在 Windows 上使用 GOST 而不是其他代理程序?
|-------|---------------------------|---------------|-------------|--------------|
| 对比项 | GOST | 3proxy | Squid | CCProxy |
| 跨平台支持 | ✅ Windows/Linux/macOS | ✅ | ❌(主要 Linux) | ✅(仅 Windows) |
| 协议支持 | HTTP、SOCKS4/5、TLS、WS、QUIC | HTTP、SOCKS4/5 | HTTP、HTTPS | HTTP、SOCKS |
| 性能 | 高(Go 并发优化) | 高(C 语言实现) | 中等 | 一般 |
| 功能复杂度 | 简单灵活 | 配置灵活但需写配置文件 | 配置繁琐 | 界面操作简单 |
| 扩展能力 | 极强(JSON 配置 / 命令行参数) | 有限 | 较差 | 较弱 |
结论:
- 3proxy 更适合纯 HTTP/SOCKS 代理;
- GOST 更适合要实现 多协议隧道 / 远端中继 / HTTPS 封装 的用户。

3.落地实施
3.1准备环境
安装 Go 编译器
-
- GOST 是用 Go 写的,需要安装 Go 开发环境。
- 下载地址:https://go.dev/dl/
- 选择 Windows 版(例如
go1.22.4.windows-amd64.msi),安装后验证:go version

说明 Go 已正确安装。
💡 建议同时设置环境变量:
GOPATH(默认%USERPROFILE%\go)
确认C:\Program Files\Go\bin在 PATH 中。
准备 Git 工具
如果没有 Git,可安装 Git for Windows,或者直接在 PowerShell 里使用 winget install Git.Git。
3.2获取 GOST 源码
在 PowerShell 或 CMD 里执行:
git clone https://github.com/go-gost/gost.git
cd gost
3.3 编译 GOST(重点)
3.3.1快速构建(推荐)
cd cmd\gost
go build -o gost.exe

完成后,当前目录下会生成一个可执行文件:cmd\gost\gost.exe
直接运行即可:gost.exe -V

3.3.2 指定编译参数(跨平台构建 / 优化)
Go 支持交叉编译。例如你要生成 64 位 Windows 可执行文件:
set GOOS=windows
set GOARCH=amd64
go build -o gost.exe .
如果你要生成静态链接、优化版二进制(更小体积):
go build -trimpath -ldflags "-s -w" -o gost.exe
生成的文件体积更小,适合分发。

3.4运行测试
启动本地代理
gost.exe -L http://:8080

测试连通性

4.复盘总结
成果
通过以上步骤,我们在 Windows 上:
- 完成了 GOST 的 源码编译与构建;
- 搭建了一个 本地 HTTP/HTTPS 代理转发层;
- 可在系统中注册为服务,实现长期运行。
优点
- 轻量:Go 二进制只有十几 MB;
- 高性能:基于 Go 并发模型,单机可处理上千连接;
- 易维护:命令行配置灵活、结构清晰;
- 跨平台:相同命令可直接在 Linux/macOS 上复用。
优化
- 安全性:为上游 HTTPS 代理配置证书校验或客户端认证;
- 管理化:配合 systemd(Linux)或 NSSM(Windows)实现进程监控;
- 可视化:使用第三方管理面板(如 gost-dashboard)查看实时连接。
- 自动化构建:用 GitHub Actions 编译多平台版本,持续集成。

💡 一句话总结:
GOST 是一款功能强大、极度灵活的代理/隧道工具。
在 Windows 上编译只需 Go 环境,一行命令即可构建出高性能的代理可执行文件。
通过简单配置,你就能在本地搭建一个稳定的代理转发层,把所有应用的流量安全地转发到远端 HTTPS 节点。