Linux上的命令行代理工具
阿里云的AI白票试用还是很香的,b站顺便一搜有很多教程,跑个lora训练或者SD webui之类的
但难免会遇到要拉更新之类的情况,github和huggingface.co速度慢或者连不上去也经常遇到,除了使用镜像站以外,还有可以使用代理来加速
先通SOCKS5!
安装ss
先贴上需要用到的软件github:
https://github.com/shadowsocks/shadowsocks-libev
以及大概解释了什么是ss2,ss-go,ss-libev
https://shadowsocks5.github.io/en/spec/Implementations.html
在云端实例命令行下,需要个尽可能简洁小巧又好用的工具,ss-libev可能会是我们的首选,ss-libev是一个轻量级安全 SOCKS5 代理,适用于嵌入式设备和低端设备,用纯 C 编写,体积小巧比较高效
我的云计算镜像是基于ubuntu22.04的
要安装它,直接
1 | sudo apt update |
配置ss
然后编辑设置:
1 | # Edit the configuration file |
在config.json
里
1 | { |
server
:您的主机名或服务器 IP (IPv4/IPv6)mode
:模式一般不动server_port
:服务器端口号local_port
:本地端口号,一般默认就1080password
:密码timeout
:连接超时(以秒为单位)method
:加密算法
这些信息只要你找的代理供应商支持ss协议应该都可以拿到
ps顺便给同学们复习下vim,懒得用vim的可以不看,按a
进入编辑模式,方向键移动光标,编辑完成后按两下 ctrl+c
进入指令模式然后:wq!
保存更改并退出,如果直接退出不保存是:q!
启动ss客户端
任意目录输入
1 | ss-local |
即可做为客户端启动
这里我启动成功以后显示:
ps这个软件可以以服务端启动,同样也是修改上面的etc/shadowsocks-libev/config.json
,这里挺容易混淆啊,我这里的目标是想给我的云上GPU计算实例代理加速,所以以客户端启动就行
如果要以服务端启动
1 | systemctl start shadowsocks-libev.service |
systemctl如果云上镜像里没有(大概率没有,容器镜像谁会带systemctl或者systemd呢~),可以尝试
1 | sudo /etc/init.d/shadowsocks-libev start |
安装proxychains使软件走代理
上面只做到了客户端使用SOCKS5打通代理,接下来再用另外一个软件使我们指定的命令/app走这条SOCKS5线路,也就是需要个SOCKS5转HTTP的工具来为我们所用
这里发现了proxychains
ProxyChains 是一个强制应用的 TCP 连接通过代理的工具,支持 Tor、HTTP、与 Socks 代理。ProxyChains 只会将当前应用的 TCP 连接转发至代理,而非全局代理。
安装proxychains
1 | sudo apt install proxychains |
超快就安装好了
配置
1 | vim /etc/proxychains.conf |
1 | [ProxyList] |
使用
ProxyChains 的使用方式非常简单,直接在应用程序前加上 proxychains 即可
例如:
1 | proxychains git clone https://github.com/rofl0r/proxychains-ng |
但是据说ping是不行的,因为pin并不是TCP而是ICMP,所以可以尝试proxychains ping google.com
,总之我是能解析出IP但是会卡住ping不了,问题不大
试试看是不是通了:
先试试
1 | curl cip.cc |
得到
我们加上proxychains以后
1 | proxychains curl cip.cc |
看!效果立竿见影,而且可以灵活使用
另外一种方法或许可以不装proxychains
直接设置变量
1 | export http_proxy="socks5://127.0.0.1:1080" |
可能也可以但没试过
其他一些镜像方案:
huggingface
运行python时前加HF_ENDPOINT=https://hf-mirror.com
,这样就可以实现后续走镜像加速了
1 | HF_ENDPOINT=https://hf-mirror.com python your_script.py |
github
示例用法,直接github域名前加https://mirror.ghproxy.com/
1 | https://mirror.ghproxy.com/https://github.com/d8ahazard/sd_dreambooth_extension |
详细见:
https://mirror.ghproxy.com/
有些部署文件里还是用的之前的域名https://ghproxy.com/
,已失效,改用二级域名https://mirror.ghproxy.com/
即可
附录
本文参考文章
linux命令行代理神器-proxychains
https://zhuanlan.zhihu.com/p/166375631
Linux 让终端走代理的几种方法
https://zhuanlan.zhihu.com/p/46973701
基本概念,什么是ss什么是socks5
https://reezon.github.io/2018/05/23/%E5%85%B3%E4%BA%8Ess(%E9%85%B8%E9%85%B8)%E5%92%8Cssr(%E9%85%B8%E9%85%B8%E4%B9%B3)%EF%BC%8C%E8%BF%98%E6%9C%89vpn%E5%92%8Csocks5/
使用Curl时可以直接用socks5
https://blog.emacsos.com/use-socks5-proxy-in-curl.html
其他类似方案软件
sshuttle
https://github.com/sshuttle/sshuttle
yuhaiin
https://github.com/yuhaiin/yuhaiin
clash-verge
https://github.com/zzzgydi/clash-verge