最近在阿里云上的一个服务器(CentOS)需要走梯子,需要用到两个工具:
- V2ray-Core: 这个不必多讲。和往常一样,走端口去访问外面,例如:socks5 1080
- ProxyChains:一个开源的代理工具,ProxyChains Github Repository
ProxyChains is a UNIX program, that hooks network-related libc functions in dynamically linked programs via a preloaded DLL and redirects the connections through SOCKS4a/5 or HTTP proxies.
安装 ProxyChains
# Ubuntu
$ apt-get install proxychains
# CentOS
$ yum install proxychains-ng
# Mac
$ brew install proxychains-ng
拉源码编译 ProxyChains (另一种安装方法)
$ git clone https://github.com/haad/proxychains.git
$ cd proxychains
$ ./configure
$ make
$ sudo make install
配置 Proxy 端口
配置文件,如果没有,就创建下:/etc/proxychains.conf
也可以用: proxychains -f xxx.conf 命令
来指定。
strict_chain
proxy_dns
remote_dns_subnet 224
tcp_read_time_out 15000
tcp_connect_time_out 8000
quiet_mode
[ProxyList]
# 添加以下行,使用本地V2Ray代理,根据 v2ray 的 config
socks5 127.0.0.1 1080
如何使用
$ proxychains4 需要走代理的命名
# 例如:
$ proxychains4 curl https://en.wikipedia.org/
验证下是否可以访问维基
[root@AliyunServer proxychains]# proxychains4 curl https://en.wikipedia.org/
[proxychains] config file found: /etc/proxychains.conf
[proxychains] preloading /usr/local/lib/libproxychains4.so
[proxychains] DLL init
[proxychains] Dynamic chain ... 127.0.0.1:1080 ... en.wikipedia.org:443 ... OK
设置别名
每次都要输入 proxychains4 太麻烦,到 ~/.bash_profile
给它声明个别名。
# proxychains4 的别名 pxy,终端输入 pxy 就是 proxychains4
$ alias pxy='proxychains4'
声明完成后,记得让它生效。
$ source ~/.bash_profile
# 验证别名是否 OK
$ pxy --help
Mac 上如何使用
由于 MacOS 有 SIP(简单来说就是系统保护),需要先关闭,否则无法正常使用。
System Integrity Protection (SIP) in macOS protects the entire system by preventing the execution of unauthorized code.
- 在终端中查看 SIP 状态
$ csrutil status
- 重启 Mac 进入 Recovery mode
$ sudo reboot
# 开机时按住: command + r ,进入 Recovery mode
# 进入之后,上面的顶部菜单栏找到终端,输入命令即可
# csrutil --help
# 关闭 sip
$ csrutil disable
# 开启 sip
# csrutil enable
# 然后在重启 Mac 就回到正常模式了
$ reboot
- 关闭 SIP 后,就可以正常使用了
# 查看 SIP 是否关闭
$ csrutil status
# System Integrity Protection status: disabled.
# 查看当前的 IP 归属地
$ proxychains4 curl cip.cc
[proxychains] config file found: /usr/local/etc/proxychains.conf
[proxychains] preloading /usr/local/Cellar/proxychains-ng/4.16/lib/libproxychains4.dylib
IP : ***.***.***,**
地址 : 美国 加利福尼亚州 洛杉矶
运营商 : *******
数据二 : 美国 | 加利福尼亚州洛杉矶CNServers数据中心
数据三 : 美国加利福尼亚 | 层峰网络
URL : http://www.cip.cc/***.***.***,**