在 DD-wrt 上,要怎么把 socks 代理转成 http 代理?

2014-12-24 09:36:00 +08:00
 wlh

如题,该用什么东西?一头雾水中

8009 次点击
所在节点    路由器
11 条回复
Daniel65536
2014-12-24 10:09:25 +08:00
polipo
Tink
2014-12-24 10:22:52 +08:00
privoxy?不知道有没有ddwrt上编译好的
xmvagrant
2014-12-24 14:23:18 +08:00
privoxy + 1,有现成的包直接安装。
wlh
2014-12-24 14:48:51 +08:00
@xmvagrant
@Tink

我发现我的DD已经自带了privoxy,在Adblocking栏下,但要怎么使用呢?Google了一圈还是一头雾水中……请教

wlh
2014-12-24 14:50:42 +08:00
比如我在DD上搭了个shadowsocks,端口socks5 1234,我想转成http的4321端口,Custom Configuration里面要怎么写?
omi4399
2014-12-24 14:58:13 +08:00
@wlh forward-socks5 / 127.0.0.1:1234 默认是转成8118
wlh
2014-12-24 15:14:41 +08:00
@omi4399 Transparent Mode要不要启用呢?
omi4399
2014-12-24 15:27:32 +08:00
imn1
2014-12-24 15:36:22 +08:00
去privoxy官网下载zip包或安装包,里面有manual
或者尝试先在本机安装(安装后有manual)试用,在本机写好config/action/filter等,再ssh到dd-wrt,把config这些文件传过去,重启privoxy

config 是主配置,里面载入action/filter
action 是执行动作,拦截或转向等等
filter 是替换内容,主要是正则语法,只对http有效,对https无效,因为后者不是明文


例子:
config文件
==================
# 其他网络参数略,请参考手册
actionsfile /etc/privoxy/proxy.action
actionsfile /etc/privoxy/block.action
filterfile /etc/privoxy/user.filter
# 路径根据自己的系统,载入文件名随意,但扩展名不能改
==================


proxy.action文件
==================
{{alias}}
goagent = +forward-override{forward 127.0.0.1:8087} +change-x-forwarded-for{block}
ssh = +forward-override{forward-socks5 127.0.0.1:7070 .} +change-x-forwarded-for{block}
# 注意socks5那行有个半角圆点
# 井号开头为注释

{ssh}
#CDN
.gravatar.com

{goagent}
#google
.google.at
====================


block.action文件
====================
{{alias}}
block_js = +block{Layered ads.} +handle-as-empty-document
# 这个其实是整个文档 block 掉,js是我随意写的,旧版privoxy返回404,新版返回403
# 不向外发送请求,就是没有网络outgoing query

{block_js}
## 360
webscan.360.cn
img.webscan.360.cn
s.360.cn

## 网易
www.163.com/.*/hot_pop_js\.js
g.163.com

# 下面的这个需要和filter文件一起用,根据规则替换部分内容
# 花括号的名字可以随便,和filter里面相同就可以
# 我用域名只是方便查找,因为我这边filter有几千条
{+filter{fanyi.youdao.com} +server-header-tagger{content-type}}
fanyi.youdao.com
======================


user.filter文件
======================
FILTER: fanyi.youdao.com
s@(.*id=)(['"])(advertisement)\2[^>]*>@$1$2block_$3$2 style="display:none">@gi
s@(.*id=)(['"])(advertText)\2[^>]*>@$1$2block_$3$2 style="display:none">@gi
s@(.*id=)(['"])(microBlog)\2[^>]*>@$1$2block_$3$2 style="display:none">@gi

FILTER: 其他,略
======================


privoxy 可以针对 http 协议做很多事,例如改 agent, language, refer, cookies……
另外,正则替换可以做很多事,例如把</body>替换为<script...>...</script></body>,你就可以插入一段自写的脚本。换个角度看,不清楚规则和工作原理的广告拦截工具不要随便用,其实很危险的
wlh
2014-12-25 09:09:35 +08:00
@omi4399 搞不定,这么弄以后,在Firefox里面填入路由地址端口8118,绝大多数网站都打不开,但极少数网站如苹果的iCloud、evernote却能打开,不知道为毛?

提示:

代理服务器拒绝连接

Firefox 尝试与您指定的代理服务器连接时被拒绝。

请检查浏览器的代理服务器设置是否正确。
请联系您的网络管理员以确认代理服务器工作正常。

重试
imn1
2014-12-25 22:42:43 +08:00
拒绝连接的提示应该是 privoxy 没有起动,或者config没有写对,选好开启然后重启路由器试试,telnet检查privoxy有没有运行

另外,这里有个东西你会有用
https://github.com/justyourimage/ddwrt-adbp-to-privoxy

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/156197

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX