Code-Server 的代理配置

一年前,我介绍了如何在群晖上使用 Docker 部署 Code-Server,在外也能轻松使用已经配置好的开发环境。群晖搭建 VSCode 服务器与 Syncthing 服务

最近我换了 iPad,琢磨如何发挥她的生产力。除了使用网页版的 IDE(Codepen、Gitpod等),就是自建网页版的 VSCode 了。下面简要介绍一下我是如何给 Code-Server Docker 配置代理,使其成为一个完备的开发平台。

将 Code-Server 部署在国内服务器(例如我家里的 NAS),可以获得稳定的连接,这对于开发平台是尤其重要的,VSCode 遇到连接不顺畅就会要求你刷新界面,很可能会丢失数据。

但由于众所周知的原因,在国内的网络环境做开发可以说是寸步难行,我便采用 Clash Docker 来给 Code-Server 加上代理。

Clash Docker 安装

Clash Core 普通版 Image:dreamacro/clash - Docker Image | Docker Hub

Clash Core Premium Image:dreamacro/clash-premium - Docker Image | Docker Hub

Clash Core Premium 二进制文件: Premium release (github.com)

Clash Core 有普通版和 Premium 版之分,目前我能体验到的二者的区别是普通版的 Clash Core 不支持 RULE-SET 功能。

我常用的配置文件大量使用了 RULE-SET,所以我必须得用 Clash Core Premium。

但 Pre Build 的 Image 似乎不支持 X86-64 v3 之下的 CPU(例如我的 J1900),所以我采取了部署普通版 Image,然后 attach 进 Docker 手动更换 Premium 内核的曲线救国方法。(更换 / 根目录下名为 Clash的二进制文件)

部署 Docker 时注意一下几点:

  • 开放 7890(或你定义的代理端口)和 9090(Clash Core 管理面板)端口。
  • /root/.config/clash 文件夹挂载到本地,存放 config.yaml 及其他配置文件。

请勿将 Clash Core 的管理面板暴露到公网。我选择用 Tailscale 建立 VPN 访问家中的服务器进行配置。

Code-Server 的配置

需要在 Code-Server Docker 里添加两个环境变量,实现开机自动连接代理:

  • http_proxy=http://clash_docker_ip:7890
  • https_proxy=http://clash_docker_ip:7890

可以使用同样的方法给其他 Docker 添加代理。


在一顿折腾之后,Code-Server 终于可以顺畅访问 Github 等网站了。

可喜可贺,可喜可贺。


Code-Server 的代理配置
https://blog.udon.eu.org/archives/d01399e6.html
作者
Kare Udon
发布于
2022年3月19日
许可协议