在软件开发的过程中,经常会遇到一些安装包由于网络的原因无法下载更新,还有一些技术文档也没法看。基于这种情况我们打造属于自己的上网方式,让这一切变的可能。
ss 是一个工具,具体原理请参参考 《ss简介》
开始之前 自己首先得有 vps 服务器 或者是 vpn 账号,这样 通过 ss 作为客户端就可以代理上网。 购买vpn的话可以再往上搜索,搭建vps的话可以参考这里 《bgw》,不同区别在于vpn账号可以直接使用,vps服务器的话需要手动在上面搭建 ss server端
上面的步骤完毕之后,你就会有一个 ss 账号,这个就是你代理上网的账号
下载ss客户端口,把相应的账号跟面以及加密方式填写完毕就可以上网了。
但是要在terminal下,任然可以可以使用ss进行上网,方式之一就是借助 proxychain 工具来上网。
下面以两个平台为例:
archlinux
安装
# ref link https:///index.php/ss#Server
下载安装 ss
# sudo pacman -S ss
下载安装 proxychains
# sudo pacman -S proxychains-ng
配置
默认会在 /etc/ss/ 目录下有个 example.json 文件,可以直接配置它,也可以重新复制一个文件 例如 叫 proxy.json,文件内容如下
{
"server":"my_server_ip", # 你的vps 或者 vpn的 ip地址,这里可以多个,多个的写法 ["my_server_ip1","my_server_ip2","my_server_ip3"]
"server_port":8388, # vps 或者 vpn服务器的端口
"local_address": "127.0.0.1", # 本地的ip
"local_port":1080, # 本地的 代理端口
"password":"mypassword", # vps 或者 vpn 账号的密码
"timeout":300,
"method":"aes-256-cfb", # 加密方式 这个需要跟 vps 或者 vpn 那边提供的加密方式一致
"fast_open": false,
"workers": 1,
"prefer_ipv6": false
}
修改完毕后,可以把这个客户端启动起来
sslocal -c /etc/ss/proxy.json
然后配置 proxychain
vim /etc/proxychains.conf
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
[ProxyList]
#1080 就是本地 ss 代理的端口
socks5 0.0.0.0 1080
到此proxychain 配置完成,可以进行测试一下:
curl myip.ipip.net
当前 IP:xx.xx.xx.xx 来自于:中国 上海 上海 电信
proxychains curl myip.ipip.net
当前 IP:xx.xx.xx.xx 来自于:美国 加利福尼亚州 洛杉矶 it7.net
如果是上面这样就代表ok 了。
MAC
mac下 就直接下载 ss客户端,然后填写相关的vpn账号就ok,这里需要安装的是 proxychain
brew install proxychains-ng
安装完毕后,就按照上面 proxychain 的配置方法配置后,可以按照上面的方式测试。
如果不生效,需要关闭 mac 上的 sip 具体参考 《这里》