一、为什么要用privoxy

  1. ss-local 是 socks5 服务器,如果要使用 ss-local 提供的 socks5 代理,就必须让应用程序使用 socks5 协议与之通信。
  2. 只有部分浏览器、软件直接支持 socks5 协议。
  3. 尤其是服务器中常用的curl和wget都只支持 http 代理。
  4. 因此要先用 privoxy 把 http 协议转换为 socks5 协议。

二、使用privoxy前的一些准备

  1. 有一个shadowsocks的远程服务器(ss-server),可以是别人的
  2. 本地搭建shadowsocks客户端(ss-local)
  3. 强制转发一下dns,避免dns污染(ss-tunnel)
  4. 这些内容可以参考我之前的文章
    《shadowsocks-libev中的ss-local,ss-redir,ss-tunnel,ss-server比较和区别》

二、下载安装

ubuntu 安装

sudo apt-get install privoxy

三、全局代理

参考文章
《ss-local + privoxy 代理》

四、部分代理gfwlist

  1. 下载gfwlist,转换格式,复制到相应路径,然后修改privoxy配置文件,重启privoxy。
  2. 下面的命令请逐行执行
### 切换到 /tmp目录
cd /tmp
### 获取 gfwlist2privoxy 脚本(不能下载的话就在电脑下载好上传到ubuntu 服务器吧)
curl -skL https://raw.github.com/zfl9/gfwlist2privoxy/master/gfwlist2privoxy -o gfwlist2privoxy
### 生成 gfwlist.action 文件**(记得1080要换成本地 ss-local的端口)**
sudo bash gfwlist2privoxy '127.0.0.1:1080'
### 把gfwlist.action 拷贝至 privoxy 配置目录
sudo cp -af gfwlist.action /etc/privoxy/
### 加载 gfwlist.action 文件(如果这句执行失败的话,可以用vim编辑该文件,手动添加到最后一行)
sudo echo 'actionsfile gfwlist.action' >> /etc/privoxy/config
### 启动 privoxy.service 服务
sudo service privoxy restart

参考文章
《ss-local + privoxy 代理》



五、测试一下

  1. 声明环境变量(可以加到开机启动项里,保证每次开机都自动声明环境变量)
    下面命令可以逐行执行
# privoxy 默认监听端口为 8118(可以根据自己情况修改)
proxy="http://127.0.0.1:8118"
export http_proxy=$proxy
export https_proxy=$proxy
export no_proxy="localhost, 127.0.0.1, ::1, ip.cn, chinaz.com"
# no_proxy 环境变量是指不经过 privoxy 代理的地址或域名
# 只能填写具体的 IP、域名后缀,多个条目之间使用 ',' 逗号隔开
# 比如: export no_proxy="localhost, 192.168.1.1, ip.cn, chinaz.com"
# 访问 localhost、192.168.1.1、ip.cn、*.ip.cn、chinaz.com、*.chinaz.com 将不使用代理
  1. 打开google测试一下
#能看到html源代码的话,就代表成功了
curl -4skL https://www.google.com
  1. 注意事项
    • 必须确保shadowsocks能正常使用(请参考我之前的文章)
    • 包括远程服务器上的 ss-server,本地的ss-local
    • 建议加到开机启动里面,或者用户的profile,保证每次开机都可以用
    • 我是建议加到”/etc/environment”
 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
 proxy="http://127.0.0.1:8118"
 http_proxy="http://127.0.0.1:8118"
 https_proxy="http://127.0.0.1:8118"
 no_proxy="localhost, 127.0.0.1, ::1, ip.cn, chinaz.com"

参考文章
《ss-local + privoxy 代理》





http://xzh.i3geek.com

爱唠叨的老鱼

爱唠叨的老鱼

技术经理,个人站长,创业者

0 条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据