在隔离网络中部署代理栈以访问 API
开发 Telegram 机器人或对接国际 API 的开发者,在受限地区常会遇到请求超时和连接不稳定的问题。代理服务器能够按需定向转发请求,而无需像 VPN 那样将所有流量全部接管。这能以极低的延迟,确保 HTTP、HTTPS、SOCKS 以及 Telegram MTProto 连接的稳定可靠。
你可以直接购买现成的代理服务,也可以在 VPS 上自行部署。若追求快速上手,proxyctl 命令行工具可一键自动化安装基于 3proxy(HTTP/SOCKS5)和 mtg(MTProto)的代理栈。
代理与 VPN 的核心区别
VPN 会接管服务器的所有流量,对于仅需对接 API 的场景来说往往“杀鸡用牛刀”。代理则采用按需转发策略:
- 仅将特定请求转发至中间节点。
- 流量可按应用和用户进行隔离与划分。
- 带宽开销更低,网络延迟显著减少。
代理并不替代 HTTPS 加密机制,请求的安全性依然由客户端与服务端共同保障。
proxyctl 代理栈支持的协议
HTTP 代理
通过 CONNECT 方法处理 HTTPS 流量。非常适合:
curl、fetch和axios等工具。- 网页浏览器及标准 HTTP 客户端。
- 常规网页访问流量。
SOCKS5 代理
通用型 TCP 中继,支持:
- 兼容 SOCKS 协议的应用程序。
- 自定义或非标准协议。
- 任何基于 TCP 的网络连接。
MTProto 代理
专为 Telegram 客户端设计,可无缝对接移动端与桌面端应用。
该代理栈在标准 VPS 环境中以 systemd 模式运行,在无 systemd 的容器环境中则以进程模式运行。
在 Ubuntu/Debian 上快速部署
需准备一台 Ubuntu 或 Debian 系统的 VPS。安装 CLI 工具:
curl -fsSL "https://raw.githubusercontent.com/Kotelnikovekb/proxyctl/main/install.sh" | sudo bash
验证安装状态:
proxyctl status
proxyctl diagnose
诊断工具会自动检查 3proxy 运行状态、端口占用情况,执行本地 HTTP/HTTPS/SOCKS 连通性测试,并校验用户数据库。
提供以下安装预设:
proxyctl install full:完整代理栈(HTTP + SOCKS5 + MTProto)。proxyctl install api:面向 API 访问的 HTTP + SOCKS5 组合。proxyctl install mtproto:仅配置 Telegram 专用代理。proxyctl wizard:交互式引导配置。
支持组合预设:proxyctl install api mtproto。
用户管理与访问控制
3proxy 默认启用身份验证。可使用以下命令管理:
proxyctl add-user alice:创建新用户。proxyctl list-users:查看用户列表。proxyctl change-password alice newpass:修改密码。proxyctl remove-user alice:删除用户。
配置修改后需重启服务生效。获取连接信息:
proxyctl show-connect:输出 HTTP/SOCKS5 的主机、端口及用户名。proxyctl show-telegram-link:生成 Telegram 专用的tg://一键配置链接。
防火墙配置与端口说明
核心 TCP 端口:
3128:HTTP 代理。1080:SOCKS5 代理。443:MTProto 代理。
若使用 Google Cloud,执行 proxyctl print-gcp-firewall 可直接生成可一键执行的 gcloud 防火墙命令。外网无法连接通常是由于云服务商的安全组或防火墙规则拦截所致。
适用场景与注意事项
proxyctl 针对使用 apt 包管理器的 Ubuntu/Debian 系统进行了深度优化。它并非完整的网络基础设施替代方案,你仍需手动配置云防火墙。
最适合以下场景:
- 机器人开发与第三方 API 对接。
- 在受限或隔离网络环境中进行连通性测试。
- 追求稳定连接且希望避免冗余开销的中高级开发者。
核心要点:
- 代理按需定向转发请求,有效降低网络延迟。
- 技术栈:基于 3proxy + mtg,通过统一 CLI 集中管理。
- 提供 API、Telegram 及全栈部署的预设方案,开箱即用。
- 内置诊断工具与身份验证机制。
- 需手动放行云服务商防火墙/安全组规则。
— Editorial Team
暂无评论。