Linux下使用ProxyChains-NG+ShadowsocksR客户端实现任意应用代理

前言

有些站点出于安全等原因, 会对来自国外的IP进行屏蔽访问处理. 这对于站点管理员而言, 无疑是有好处的. 然而当我们需要对目标站点进行采集、爬虫等骚操作, 同时应用又是在国外服务器上部署时, 就很让人抓狂了. 本文将介绍如何使用ProxyChains-NG + ShadowsocksR客户端实现任意应用代理突破此种限制.

准备

  • 一个可用的国内酸酸乳节点
  • 一台国外VPS

ProxyChains-NG 篇

什么是 proxychains-ng

collapse title="点击展开 查看更多" status="false"proxychains ng (new generation) - a preloader which hooks calls to sockets in dynamically linked programs and redirects it through one or more socks/http proxies. continuation of the unmaintained proxychains project./scode

项目主页

proxychains-ng 安装

  • 下载源代码
git clone https://github.com/rofl0r/proxychains-ng
  • 编译和安装
cd proxychains-ng && ./configure --prefix=/usr --sysconfdir=/etc
make && make install
make install-config && cd .. && rm -rf proxychains-ng
  • make: cc: Command not found错误?

点击展开 查看更多
如果执行make && make install时提示make: cc: Command not found错误
这是由于Linux系统没有安装gcc环境造成的, 需要安装gcc环境:

yum  install  gcc

proxychains-ng 配置

proxychains-ng的配置文件是/etc/proxychains.conf, 修改配置也非常简单, 只需在[ProxyList]下方填写代理就OK了.

ShadowsocksR篇我们会使用ShadowsocksR客户端在本地构建一个Socks5代理, 所以只需要在[ProxyList]下方填写:

socks5  127.0.0.1 1080

顺便也可以填上Socks4Http代理, 最后是这个样子的:

[ProxyList]
socks5  127.0.0.1 1080
socks4  127.0.0.1 1081
http    127.0.0.1 1087

proxychains-ng 使用

proxychains4 程序 参数

ShadowsocksR 篇

ShadowsocksR就不多介绍了, 你懂的.

shadowsocksr 脚本下载

在网上搜到的大多数关于ShadowsocksR的脚本都是安装服务端的, 而我们需要用到的是客户端功能.

事实上, ShadowsocksR源码里服务端和客户端是并存的, 但为了方便, 还是找了一个控制脚本, 来自Charles's Blog 在此感谢.

wget https://yindan.me/usr/uploads/ssr -P /usr/bin/

shadowsocksr 脚本使用

Use: ssr {help|install|uninstall|config|xclip|start|stop|restart|test|log} 
ssr client {帮助|安装|卸载|配置|从剪切板导入配置|启动|停止|重启|测试|日志}  

shadowsocksr 程序安装

  • 安装jq依赖
yum install jq -y
  • 授予权限
chmod +x /usr/bin/ssr
  • 安装程序
ssr install

程序默认安装目录在/$HOME/.local/share/shadowsocksr/

  • 编辑配置文件
ssr config

配置文件是/$HOME/.local/share/shadowsocksr/config.json, 将JSON格式的节点配置粘贴进去然后保存.

添加开机自启

  • systemd配置
cat > /etc/systemd/system/ss-local.service <<EOF
[Unit]
Description=ss-local server
After=network.target
Wants=network.target

[Service]
Type=simple
PIDFile=/var/run/ss-local.pid
WorkingDirectory=/root/.local/share/shadowsocksr/shadowsocks
ExecStart=/usr/bin/python local.py -c /root/.local/share/shadowsocksr/config.json
RestartPreventExitStatus=23
Restart=always
User=root

[Install]
WantedBy=multi-user.target
EOF
  • 开机自启
# 重载配置
systemctl daemon-reload &&
# 启动服务
systemctl start ss-local.service &&
# 开机自启
systemctl enable ss-local.service

测试

ssr test
proxychains4 curl "https://myip.ipip.net"
proxychains4 curl "http://pv.sohu.com/cityjson?ie=utf-8"

任选一条命令执行, 若返回的IP为你的国内节点IP即为测试通过. 到此成功绕过目标站点的屏蔽限制, 开始愉快地搞事吧!

Last modification:October 10th, 2019 at 12:42 am
如果觉得我的文章对你有用,请随意赞赏

Leave a Comment