VSCode连服务器一直处于Downloading
使用vscode的remote插件连接远程服务器时,部分服务器可能会出现一直处于Downloading VS Code Server的情况
早期的一些教程,如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