Ubuntu上创建代理服务器

原因

最近用爬虫爬一些网站,发现有时候网络不太稳定,切换网络之后,就可以爬取到结果。
所以就有了构建代理的想法,通常网上的提供的代理,基本上有效时间很短,很不稳定。
为了能有几个稳定的代理使用,要么付费,要么就自己搭建。所以最后选择了在服务器搭建代理。

如何搭建

查阅了一番资料之后,发现linux上通常使用squid来搭建代理服务器,但是我在折腾了一番之后,发现用squid搭建代理服务器相对来说有些繁琐。所以最终选择了Shadowsocks + privoxy 实现了sock5代理转http代理的简单代理模式。

实现步骤

  1. 首先安装python-pip 模块,直接执行easy_install pip 或者直接 apt install #这一步的目的是为了接下来安装s
  2. 安装python-s模块 pip install shadowscoks
  3. 后台运行
    sudo ssserver -p 8338 -k password -m rc4-md5 –user nobody -d start
    这一步的步骤是让去监听8338端口 实现socks5代理
    一切正常即可,直接通过socks5 代理实现访问

    curl -socks5 http://you.domain:8338 http://www.baidu.com

    ps: 参数设置,可以参考 https://pypi.org/project/s/ 手册

  4. 只能完成socks5代理,如果我们需要实现http代理,那么就只能将http协议和socks5协议的转换
    privoxy可实现此功能。
    1. 安装privoxy apt-get install privoxy
    2. 编辑位于 /etc/privoxy/config位置的配置文件,修改以下参数
      listen-address 0.0.0.0:8118 #表示外网也可以通过本机的IP作为http代理
      forward-socks5 / 127.0.0.1:8338 .
    3. 重启或者启动privoxy
      启动完成之后,可以通过 curl -x http://you.host http://www.baidu.com 来访问

通过上面的步骤,就可以实现代理服务器的基本功能,配置简单,作为个人使用基本已经满足。
如果对代理服务器有更高的要求,可以使用squid搭建代理服务器。

你可能感兴趣的:(爬虫)