V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
wilhexm
V2EX  ›  问与答

openwrt 上有什么好办法解决 http 代理的自动认证

  •  
  •   wilhexm · 2014-12-26 09:49:33 +08:00 via Android · 1547 次点击
    这是一个创建于 3645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    在wndr4300上折腾透明翻墙。刷了openwrt,并将前置代理转换为了http代理。但代理需要用户名密码认证,在移动设备上使用不方便。二级代理换了好几个都不行,Polipo,redsocks,privoxy,tinyproxy都试过了,没有成功。请问有没有什么办法可以自动完成代理的认证?好像cow可以实现,但是我4300是mips的,cow不支持,请问有没有什么办法可以自动完成代理的认证?
    11 条回复    2014-12-26 21:21:39 +08:00
    cattyhouse
        1
    cattyhouse  
       2014-12-26 09:59:07 +08:00 via iPhone
    发问前还好看文档,比如polipo
    Next: SOCKS parent proxies, Previous: Parent proxies, Up: Parent proxies [Contents][Index]

    3.10.1 HTTP parent proxies

    The variable parentProxy specifies the hostname and port number of an HTTP parent proxy; it should have the form ‘host:port’.

    If the parent proxy requires authorisation, the username and password should be specified in the variable parentAuthCredentials in the form ‘username:password’. Only Basic authentication is supported, which is vulnerable to replay attacks.

    The main application of the parent proxy support is to cross firewalls. Given a machine, say trurl, with unrestricted access to the web, the following evades a firewall by using an encrypted compressed ssh link:

    $ ssh -f -C -L 8124:localhost:8123 trurl polipo
    $ polipo parentProxy=localhost:8124
    cattyhouse
        2
    cattyhouse  
       2014-12-26 10:02:29 +08:00 via iPhone
    Openwrt 配置 polipo修改 /etc/config/polipo 才有效,具体模仿那个配置文件添加相应的option,应该在 General那个下面加。
    yyai3
        3
    yyai3  
       2014-12-26 10:26:17 +08:00
    cntlm
    wilhexm
        4
    wilhexm  
    OP
       2014-12-26 11:08:36 +08:00
    @cattyhouse 经你提示,重新折腾了一下polipo,终于成功了,是配置加载的问题。暂时用 polipo -c '/etc/polipo/config' 代理成功。接下来折腾pac分发的问题。。。非常感谢
    cattyhouse
        5
    cattyhouse  
       2014-12-26 15:34:39 +08:00 via iPhone   ❤️ 1
    @wilhexm 你这么做固然可以。但更好的方法是编辑并照葫芦画瓢的配置 /etc/config/polipo, 然后用 /etc/init.d/polipo 来控制和加入开机启动。
    wilhexm
        6
    wilhexm  
    OP
       2014-12-26 15:45:01 +08:00
    @cattyhouse 谢谢,我回头再重新刷一遍从头配置一遍看看。另外我打算用WPAD来分发pac文件。我把pac文件上传到了/www,在IE中设置代理http://192.168.1.1/proxy.pac时可以成功自动代理。但是在config dnsmasq下面添加 list dhcp_option '252,http://127.0.0.1/proxy.pac' 并重启 dnsmasq,怎么都不行(后者的pac文件代理地址我已经从192.168.1.1改成了127.0.0.1)。请问这是哪方面的原因?或者有更高效准确的做法吗?
    cattyhouse
        7
    cattyhouse  
       2014-12-26 15:49:54 +08:00 via iPhone
    @wilhexm 没玩过wpad,但我觉得不要用127.0.0.1这种作为pac地址,pac内也不要用这个地址,这个地址在任何地方被读取都代表本机地址,你应该写路由器ip。
    wilhexm
        8
    wilhexm  
    OP
       2014-12-26 16:09:54 +08:00
    @cattyhouse 因为路由器内polipo接前置代理的地址是127.0.0.1,我以为这里也要如此,看来我理解有误。不过更改后还是不行,我搜索一下看看有没有其他方案。
    cattyhouse
        9
    cattyhouse  
       2014-12-26 16:25:46 +08:00 via iPhone
    polipo默认只允许本机用,你需要设置allowclients 还是allowlist? 请参考配置照葫芦画瓢!照葫芦画瓢很重要!!!这叫举一反三!!!
    cattyhouse
        10
    cattyhouse  
       2014-12-26 16:33:19 +08:00 via iPhone   ❤️ 1
    类似这个

    allowedClients = 127.0.0.1, 192.168.200.0/24
    wilhexm
        11
    wilhexm  
    OP
       2014-12-26 21:21:39 +08:00
    @cattyhouse 最后搜到别人的文章才发现可能不是这个问题,而是WPAD协议本身的问题,windows下的IE必须勾选“自动监测设置”,而Android压根不支持这个。改用一下dnsmasq的ipset来试试。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 14:23 · PVG 22:23 · LAX 06:23 · JFK 09:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.