返回首页

RU 的 API 和 Telegram 代理:proxyctl

本文介绍 CLI proxyctl,用于在 Ubuntu/Debian VPS 上部署代理堆栈 (HTTP/SOCKS5/MTProto)。涵盖安装、用户管理、诊断和防火墙设置。适用于从隔离地区稳定访问 API 和 Telegram。

Proxyctl:针对开发者的快速代理堆栈
Advertisement 728x90

在隔离网络中部署代理栈以访问 API

开发 Telegram 机器人或对接国际 API 的开发者,在受限地区常会遇到请求超时和连接不稳定的问题。代理服务器能够按需定向转发请求,而无需像 VPN 那样将所有流量全部接管。这能以极低的延迟,确保 HTTP、HTTPS、SOCKS 以及 Telegram MTProto 连接的稳定可靠。

你可以直接购买现成的代理服务,也可以在 VPS 上自行部署。若追求快速上手,proxyctl 命令行工具可一键自动化安装基于 3proxy(HTTP/SOCKS5)和 mtg(MTProto)的代理栈。

代理与 VPN 的核心区别

VPN 会接管服务器的所有流量,对于仅需对接 API 的场景来说往往“杀鸡用牛刀”。代理则采用按需转发策略:

Google AdInline article slot
  • 仅将特定请求转发至中间节点。
  • 流量可按应用和用户进行隔离与划分。
  • 带宽开销更低,网络延迟显著减少。

代理并不替代 HTTPS 加密机制,请求的安全性依然由客户端与服务端共同保障。

proxyctl 代理栈支持的协议

HTTP 代理

通过 CONNECT 方法处理 HTTPS 流量。非常适合:

  • curlfetchaxios 等工具。
  • 网页浏览器及标准 HTTP 客户端。
  • 常规网页访问流量。

SOCKS5 代理

通用型 TCP 中继,支持:

Google AdInline article slot
  • 兼容 SOCKS 协议的应用程序。
  • 自定义或非标准协议。
  • 任何基于 TCP 的网络连接。

MTProto 代理

专为 Telegram 客户端设计,可无缝对接移动端与桌面端应用。

该代理栈在标准 VPS 环境中以 systemd 模式运行,在无 systemd 的容器环境中则以进程模式运行。

在 Ubuntu/Debian 上快速部署

需准备一台 Ubuntu 或 Debian 系统的 VPS。安装 CLI 工具:

Google AdInline article slot
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

Advertisement 728x90

继续阅读