使用Privoxy将socks5代理转为http代理
大家都知道shadowsocks只提供了SOCKS5的代理,而没有提供http代理,而很多软件仅提供了http代理的支持,比如老高需要使用shell命令行扶墙,或者使用git同步android的源代码,再或者更新android SDK,该怎么办呢?
老高在此介绍一个软件Privoxy,它可以作为代理的代理,为我们解决上述问题!
Privoxy is a non-caching web proxy with advanced filtering capabilities for enhancing privacy, modifying web page data and HTTP headers, controlling access, and removing ads and other obnoxious Internet junk. Privoxy has a flexible configuration and can be customized to suit individual needs and tastes. It has application for both stand-alone systems and multi-user networks.
由介绍看来,privoxy的功能可远远不止http代理这么简单!
教程场景:
老高的路由器刷了openwrt,并安装了shadowsocks在1080端口提供SOCKS5代理服务,现在我们使用Privoxy将其转化为http代理。
安装
先登录到路由器
ssh [email protected]
[email protected]'s password:
BusyBox v1.22.1 (2015-06-06 07:53:28 CST) built-in shell (ash)
Enter 'help' for a list of built-in commands.
_______________________________________________________________
| ____ _ ____ |
| | _ \ __ _ _ __ __| | ___ _ __ __ _| __ ) _____ __ |
| | |_) / _` | '_ \ / _` |/ _ \| '__/ _` | _ \ / _ \ \/ / |
| | __/ (_| | | | | (_| | (_) | | | (_| | |_) | (_) > < |
| |_| \__,_|_| |_|\__,_|\___/|_| \__,_|____/ \___/_/\_\ |
| |
| PandoraBox SDK Platform |
| The Core of SmartRouter |
| Copyright 2013-2015 D-Team Technology Co.,Ltd.SZ |
| http://www.pandorabox.org.cn |
|______________________________________________________________|
Base on OpenWrt BARRIER BREAKER (14.09, r1018)
[root@PandoraBox:/root]#
Privoxy在路由器上的安装很简单,一行代码即可搞定!
opkg install privoxy
如果提示找不到安装包,可以参考小米路由器mini折腾之配置opkg篇检查opkg的配置。
其他平台可以使用yum apt-get
命令安装
如果解决不了,请移步官方的安装包下载地址
配置
Privoxy的配置文件位于/etc/privoxy/config
,下来我们用vim
编辑它。
注意老高的注释!
vim /etc/privoxy/config
# 如此多的配置!看来privoxy的功能很强大
confdir /etc/privoxy
logdir /var/log
filterfile default.filter
logfile privoxy
actionsfile match-all.action # Actions that are applied to all sites and maybe overruled later on.
actionsfile default.action # Main actions file
#actionsfile user.action # User customizations
# 监听端口为8118,如果需要其他设备访问,则需要将ip改为路由器的IP 192.168.1.1 或 0.0.0.0 或者直接 :8118
listen-address 192.168.1.1:8118
toggle 1
enable-remote-toggle 1
enable-remote-http-toggle 0
enable-edit-actions 1
enforce-blocks 0
buffer-limit 4096
forwarded-connect-retries 0
accept-intercepted-requests 0
allow-cgi-request-crunching 0
split-large-forms 0
keep-alive-timeout 300
socket-timeout 300
permit-access 192.168.1.0/24
debug 1 # show each GET/POST/CONNECT request
debug 4096 # Startup banner and warnings
debug 8192 # Errors - *we highly recommended enabling this*
#admin-address [email protected]
#proxy-info-url http://www.example.com/proxy-service.html
# 由于我们的ss运行于1080端口,我们加入下面的配置,不要忘了最后的点.
forward-socks5 / 127.0.0.1:1080 .
配置好代理设置我们就可以重启privoxy了
/etc/init.d/privoxy restart
如果没有报错,就说明启动成功!
测试
curl --connect-timeout 2 -x 127.0.0.1:8118 http://google.com
只要返回值类似以下代码即表示成功!
301 Moved
301 Moved
The document has moved
here.
使用
最简单的使用就是chrome下的SwitchyOmega扩展,我们按照下图配置
然后在浏览器中启用http代理,如下图
完美运行!
既然现在我们有了一个运行在8118端口的http扶墙代理,那么现在我们想让终端扶墙怎么办?
将下面的代码添加到~/.bashrc
即可!
export http_proxy=http://192.168.1.1:8118
export https_proxy=http://192.168.1.1:8118
解决SDK更新
配制好HTTP代理后,我们将ANDROID SDK MANAGER按照如下设置
更多
privoxy还有更多的用法等你发掘!
老高再提供一个关键字 proxychains,能够更加容易的实现命令行扶墙!
请教一下,如果socks5有密码认证,参数要怎么设置,还是有密码的不能转
目前不支持
老哥解决了吗,俺也有同样需求
老高你好,我的mac通过影.梭ss越墙,为了能让其他应用软件也能越墙,我装了Privoxy,修改了config文件,可结果还是不行。老高你能发一份修改好的Privoxy config文件到我邮箱吗?万分感谢! [email protected]
mac os 可以用 shadowsocks-ng,同时有 socket 代理和 Http 代理两种方式。
哈哈,我写文章的时候还没有ng ?
老高,这个能在mac终端运行吗
yes
表示对网页头部自动产生的句子很感兴趣,是自己写的还是哪里可以引用,希望能学习下
我写了一个插件,专门干这事儿的,句子有自己写的,还有收集的
你好,怎么设置,对于像google,github,等等做到定点加速呀
很多种方法,你搜搜pac
pac搜了 还是没理解咋回事儿。
成功了,谢谢
路由器直接使用http/https代理可以吗?学校需要用http代理访问外网……想直接在路由器上设置代理就不用在电脑上设置了
可以啊
如果路由器使用的HTTP代理有用户名跟密码,怎么办
proxychains太好用了!!感谢分享~浏览器switchomega+命令行proxychains满足我的绝大部分需求!
赞!
老高,在搬瓦工的vps上直接用privoxy转换socks5为http,是不是客户端就能直接用了?
客户端直接上 tinyproxy
智能路由器
什么路由器都能使么?
[root@PandoraBox_1A51:/root]#/etc/init.d/privoxy restart /usr/sbin/privoxy: can't load library 'libpcre.so.0' sbin/里没有privoxy
我的ss,用switchyomega ,代理协议只能用http...邪门啊
什么sock5,我的switchyomega协议用s5,任何网站都打不开.只能用http才能正常,8月上旬还正常,没改过任何ss客户端和服务端的设置就这样了,厉害不,
sock5,你确定你选对了?
我对proxychains了解过,现在也在用。挺好的一个软件。 你说的这个privoxy既然能装在路由器里面,应该也能装在 linux系统上吧,因为我的路由器不是智能的,并且不能刷openwrt, 我的系统是debian8.1 我去找找资料关于privoxy的。
恩,设定了,不信你来我的小站看一看头像。
看到了,我记得以前多说是可以的。。。现在估计因为某些原因导致无法使用了吧
哦,真的吗,我试试再说。不可以呀。这是作为游客评论,两个字段必填呢。
你的邮箱设定头像了吗?
只要有源代码,理论上可以运行在任何平台上
恩,谢谢了。话说,你如果用了多说系统,就不能使用gravatar(单词可能拼错)的头像了吗,我觉得这个挺方便的呢。
可以,如果你只留下邮箱,是可以使用gravatar的
请教您一下,我先说一下我的搭建环境,国内一台VPS,国外一台VPS,国外VPS上装了shadowsocks服务器端,国内服务器上安装了shadowsocks客户端来连接国外VPS上的shadowsocks服务器端,然后在国内VPS上安装privoxy来把国内的shadowsocks转化为HTTP代理供自己的电脑使用,/etc/privoxy/config里面的listen-address设置为 0.0.0.0:8080,然后用国内服务器IP 113.6.252.163:10111来访问网站(国内VPS内端口号:8080 -> 对应外部IP及端口号:113.6.252.163:10111 ;),老是提示This is Privoxy 3.0.19 on unknown (192.168.1.111), port 8080, enabled。换了端口也是提示这个,是哪里设置出问题了吗?反正HTTP代理挂上打不开任何网页。可以帮我解决下吗?
能不能叙述简单一点