vscode使用remote连接服务器长期处于Downloading状态

使用vscode的remote插件连接远程服务器时,部分服务器可能会出现一直处于Downloading VS Code Server的情况

image

早期的一些教程,如https://blog.csdn.net/chongbin007/article/details/126958840, https://zhuanlan.zhihu.com/p/671718415给出的方法是手动下载。在我参考其步骤进行操作时,发现下载解压缩的文件只有一个code,并不包含所有的文件。这里提供一种更加通用的方法,基于clash代理和iptables。

首先,我们需要在clash的规则文件中,增加如下规则

rules:
  - DOMAIN-SUFFIX,vscode-cdn.net,Proxy
  - DOMAIN-SUFFIX,visualstudio.com,Proxy
  - DOMAIN-SUFFIX,microsoft.com,Proxy

然后启动,端口我用的是7890。

接着,需要管理员配置iptables 规则,进行全局流量转发

sudo iptables -t nat -A OUTPUT -p tcp -d microsoft.com -j DNAT --to-destination 127.0.0.1:7890
sudo iptables -t nat -A OUTPUT -p tcp -d visualstudio.com -j DNAT --to-destination 127.0.0.1:7890
sudo iptables -t nat -A OUTPUT -p tcp -d vscode-cdn.net -j DNAT --to-destination 127.0.0.1:7890

后面vscode访问服务器下载的时候,就会走代理进行文件下载。

搞定之后,就可以删掉规则

sudo iptables -t nat -D OUTPUT -p tcp -d microsoft.com -j DNAT --to-destination 127.0.0.1:7890
sudo iptables -t nat -D OUTPUT -p tcp -d visualstudio.com -j DNAT --to-destination 127.0.0.1:7890
sudo iptables -t nat -D OUTPUT -p tcp -d vscode-cdn.net -j DNAT --to-destination 127.0.0.1:7890
# vscode 

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×