Zhejiang University RoboMaster Vision

基础网络配置

为视觉组开发环境配置稳定的外网访问,包括代理客户端、TUN 模式、订阅导入、终端代理和连接验证。

Cicada约 7 分钟
#网络#代理#Clash#环境配置

在视觉组的日常开发中,你会频繁访问 GitHub,拉取 Docker 镜像和 ROS 依赖,查阅 OpenCV、ROS 的官方文档,也可能使用 OpenCode 等工具调用外部服务。这些操作对网络连接的稳定性有直接要求。

本文只介绍开发环境所需的基础配置,不讨论网络服务的具体运营方式。完成配置后,你应当能够让浏览器和终端分别访问需要的外部资源,并知道如何定位常见的连接问题。

1. 安装代理客户端

1.1 参考官方文档

客户端的安装和初始化步骤应以官方文档为准:

本文不重复官方文档中的图文安装步骤。请先根据自己的操作系统完成安装,再继续阅读配置部分。

1.2 选择适合系统的版本

下载客户端时,应根据系统架构选择安装包,不要只按文件名猜测:

  • Windows 通常选择 x64-setup.exe
  • Ubuntu/Linux 的常见开发机通常选择 amd64.deb,也可以使用 AppImage

安装完成后,在 Settings(设置) -> Clash Core 中选择 Meta 内核。不同版本客户端的界面名称可能略有差异;如果找不到该选项,应先确认客户端版本和官方文档说明。

2. 让终端使用代理

代理客户端启动后,浏览器能够打开 Google,并不代表终端已经能够访问 GitHub。浏览器通常会读取系统代理设置,而 gitrosdep、包管理器和 OpenCode CLI 等工具可能使用自己的网络配置。

2.1 优先使用 TUN 模式

如果客户端支持,推荐使用 TUN 模式:

  1. 在客户端中安装并开启 Service 模式。
  2. 开启 TUN Mode
  3. 用终端测试需要访问的地址。

TUN 模式通过虚拟网卡接管更底层的网络流量,通常不需要为每个终端工具单独设置代理。开启该模式可能需要管理员权限;如果系统提示授权,应确认客户端来自可信来源后再授权。

2.2 使用终端代理环境变量

如果不能使用 TUN 模式,可以在当前终端会话中设置代理环境变量。以下示例假设客户端的混合端口为 7897

export http_proxy=http://127.0.0.1:7897
export https_proxy=http://127.0.0.1:7897

端口以客户端实际显示的配置为准,不要直接照抄示例。如果希望每次打开终端都自动设置,可以将配置写入当前 Shell 的启动文件,但不建议在尚未确认端口有效前修改启动文件。

需要注意,部分工具还需要单独配置代理。例如 Git 可以使用:

git config --global http.proxy http://127.0.0.1:7897
git config --global https.proxy http://127.0.0.1:7897

如果之后关闭代理客户端,记得取消这些设置,否则 Git 等工具可能继续尝试连接已经不存在的本地代理:

git config --global --unset http.proxy
git config --global --unset https.proxy

3. 获取并导入配置文件

Clash Verge 负责在本地接收和分发流量,但它本身不提供上游节点。要访问外部网络,还需要一个包含节点和规则的配置文件,通常通过订阅 URL 获取。

订阅来源主要有两类:商业订阅和自建服务。选择哪一种取决于个人需求、预算和维护能力。使用第三方服务时,应了解其服务条款和隐私风险,不要通过不可信的代理传输密码、密钥、令牌或未加密的敏感数据。

3.1 商业订阅

商业订阅通常由服务商维护服务器和节点,用户通过一个订阅 URL 获取配置。它的优点是部署简单、节点较多,遇到单个节点不可用时可以切换;缺点是流量会经过第三方基础设施,服务质量、隐私保护和稳定性取决于服务商。

如果你的主要目标是尽快完成开发环境配置,商业订阅通常比自行维护服务器更省时间。不要把某个服务商视为永久可用的基础设施,订阅地址和节点状态都可能变化。

以下链接仅作为选择示例,不代表对服务质量或安全性的保证:

  1. JFY 网络服务
  2. EWY 节点中转
  3. YFY 高速专线
  4. DGY 路由平台
  5. iKuuu 基础订阅

外部平台可能更换域名、暂停服务或调整注册方式。链接无法访问时,不要在搜索结果中随意下载所谓的客户端或配置文件,应先核对服务商的官方渠道。

3.2 自建服务

自建服务需要在海外云服务商处租用 VPS,再通过 SSH 登录服务器,部署 Xray、Sing-box 等服务端软件,并自行处理安全组、证书、更新和故障排查。

它可以提供更直接的控制权,但也意味着你需要负责:

  • 服务器的系统更新和账号安全;
  • 防火墙、端口和证书配置;
  • 服务端故障和 IP 不可用后的迁移;
  • 持续产生的服务器费用。

如果你还没有完成当前的视觉开发任务,不建议把自建服务作为入门阶段的额外项目。只有在明确需要自主维护基础设施,并且能够承担维护成本时,才考虑这条路径。

4. 导入订阅并选择策略

拿到订阅 URL 后,按以下步骤导入:

  1. 打开 Clash Verge,进入 Profiles(配置)
  2. 将订阅 URL 粘贴到顶部输入框,点击 Import(导入)
  3. 导入完成后,右键点击配置文件,选择 Update(更新)
  4. 进入 Proxies(代理),使用测速功能检查节点延迟。
  5. 在代理组中选择可用节点,并将运行模式设为 Rule(规则)

Rule(规则) 模式会根据规则决定不同流量的去向,通常更适合日常开发。Global(全局) 模式会让更多流量经过代理,访问国内的软件源、镜像源时可能增加延迟,因此除非确有需要,不建议长期使用。

测速结果只能说明客户端能够与节点建立连接,不代表 GitHub、Docker Registry 或某个 AI 服务一定可用。配置完成后,还应针对实际使用场景进行测试。

5. 验证开发环境

建议依次检查浏览器、基础 HTTPS 请求和实际开发工具:

curl -I https://github.com
git ls-remote https://github.com/torvalds/linux.git HEAD

如果需要拉取 Docker 镜像或安装 ROS 依赖,再分别测试对应命令。出现问题时,按以下顺序排查:

  1. 客户端是否正在运行,当前配置是否已启用。
  2. 当前节点是否可用,是否需要切换节点。
  3. TUN 模式是否开启,或终端环境变量中的端口是否与客户端一致。
  4. 目标工具是否有独立的代理配置。
  5. 是否只有某个域名或服务不可用,而不是整个网络配置失效。

不要把“浏览器能打开网页”作为终端配置完成的唯一依据。

6. 代码和凭据安全

使用第三方代理时,网络流量会经过代理服务商。核心代码仓库应使用 SSH 密钥认证或 HTTPS 连接,并妥善保护以下内容:

  • GitHub、云服务和服务器的密码;
  • SSH 私钥、API Key、访问令牌;
  • 未公开的源代码、配置文件和数据集;
  • 包含凭据的环境变量文件。

不要把订阅 URL、访问令牌和私钥提交到 Git 仓库,也不要把它们粘贴到公开的 Issue、群聊或 AI 对话中。网络配置解决的是连接问题,不能替代代码仓库和凭据管理。

返回入组培训
|