V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wlh
V2EX  ›  路由器

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

  •  
  •   wlh · 2014-12-24 09:36:00 +08:00 · 7977 次点击
    这是一个创建于 3624 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    11 条回复    2014-12-25 22:42:43 +08:00
    Daniel65536
        1
    Daniel65536  
       2014-12-24 10:09:25 +08:00 via iPhone   ❤️ 1
    polipo
    Tink
        2
    Tink  
       2014-12-24 10:22:52 +08:00 via iPhone   ❤️ 1
    privoxy?不知道有没有ddwrt上编译好的
    xmvagrant
        3
    xmvagrant  
       2014-12-24 14:23:18 +08:00   ❤️ 1
    privoxy + 1,有现成的包直接安装。
    wlh
        4
    wlh  
    OP
       2014-12-24 14:48:51 +08:00
    @xmvagrant
    @Tink

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

    wlh
        5
    wlh  
    OP
       2014-12-24 14:50:42 +08:00
    比如我在DD上搭了个shadowsocks,端口socks5 1234,我想转成http的4321端口,Custom Configuration里面要怎么写?
    omi4399
        6
    omi4399  
       2014-12-24 14:58:13 +08:00   ❤️ 1
    @wlh forward-socks5 / 127.0.0.1:1234 默认是转成8118
    wlh
        7
    wlh  
    OP
       2014-12-24 15:14:41 +08:00
    @omi4399 Transparent Mode要不要启用呢?
    omi4399
        8
    omi4399  
       2014-12-24 15:27:32 +08:00   ❤️ 1
    imn1
        9
    imn1  
       2014-12-24 15:36:22 +08:00   ❤️ 1
    去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
        10
    wlh  
    OP
       2014-12-25 09:09:35 +08:00
    @omi4399 搞不定,这么弄以后,在Firefox里面填入路由地址端口8118,绝大多数网站都打不开,但极少数网站如苹果的iCloud、evernote却能打开,不知道为毛?

    提示:

    代理服务器拒绝连接

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

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

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

    另外,这里有个东西你会有用
    https://github.com/justyourimage/ddwrt-adbp-to-privoxy
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6021 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 02:11 · PVG 10:11 · LAX 18:11 · JFK 21:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.