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

如何将 HTTP 代理封装为 SOCKS 代理

  •  1
     
  •   liuhaotian · 2017-10-05 12:30:01 +08:00 · 3799 次点击
    这是一个创建于 2588 天前的主题,其中的信息可能已经有所发展或是发生改变。

    需求原因:Proxifier 不支持使用 HTTP 代理访问 HTTPS 站点,因此想要在把 HTTP 代理封装为 SOCKS5 代理。

    搜索了比较多,没有找到这方面的资料,唯一的一个似乎有用的是这个链接中介绍的方法。但是,这个链接中提到的 DeleGate 的网站已经无法访问了。

    想问问大家有没有什么方案 /解决思路。


    系统:macOS Sierra

    17 条回复    2017-10-07 08:03:23 +08:00
    wevsty
        1
    wevsty  
       2017-10-05 12:36:38 +08:00
    Proxifier 不支持使用 HTTP 代理访问 HTTPS 站点?
    虽然没用过 MAC 不过应该是支持的才对。
    tony1016
        2
    tony1016  
       2017-10-05 12:48:54 +08:00
    理论上不行,Socks5 代理比 HTTP 代理更加底层一些,比如可以代理 UDP 等协议。
    tony1016
        3
    tony1016  
       2017-10-05 12:50:44 +08:00
    另外,谁说不支持,我记得是支持的,除非代理服务器做了特殊设置,关闭了 HTTP Connect
    liuhaotian
        4
    liuhaotian  
    OP
       2017-10-05 12:53:10 +08:00
    @wevsty 设置中明确说明不行诶,而且我加入之后,HTTPS 链接会直接报错。
    https://i.loli.net/2017/10/05/59d5ba4079924.png
    @tony1016 那有没有可能把 HTTP 代理封装成 HTTPS 呢?
    xiaxiaocao
        5
    xiaxiaocao  
       2017-10-05 13:02:33 +08:00 via iPhone
    https://github.com/clearthesky/proxygate
    对于 tcp 的 socks5 代理,只要 HTTP 代理支持 connect tunnel 就转的过去,不过有些代理会限制只支持常用的端口。
    gamexg
        6
    gamexg  
       2017-10-05 13:02:54 +08:00 via Android
    tcproute2
    tony1016
        7
    tony1016  
       2017-10-05 13:03:33 +08:00
    @liuhaotian 我想作者的意思是,不支持直接 SSL 的链接,但是对于浏览器这种走 HTTP Connection 的方式的,是支持的
    wwqgtxx
        8
    wwqgtxx  
       2017-10-05 13:07:48 +08:00
    wevsty
        9
    wevsty  
       2017-10-05 13:27:16 +08:00
    @liuhaotian
    意思应该是不支持 SSL connect 到 proxy server。
    HTTP 代理可以代理任意 TCP 连接,当然也包括 SSL 连接。
    liuhaotian
        10
    liuhaotian  
    OP
       2017-10-05 13:31:33 +08:00
    @tony1016 但是好像实现上,会把这些链接禁止。
    @xiaxiaocao
    @gamexg
    @wwqgtxx 谢谢!我试试看!
    D3EP
        11
    D3EP  
       2017-10-05 13:34:27 +08:00 via Android
    V2RAY 应该可以吧。
    liuhaotian
        12
    liuhaotian  
    OP
       2017-10-05 13:38:55 +08:00
    @wevsty
    @tony1016
    再次测试 HTTP 代理( Proxifier )直接访问 HTTPS 网站,提示错误:
    HTTP connection error : Client sent incorrect HTTP request. Please make sure that client uses HTTP protocol.
    wevsty
        13
    wevsty  
       2017-10-05 14:00:17 +08:00
    @liuhaotian
    好吧,那可能是软件做了些限制了。
    morethansean
        14
    morethansean  
       2017-10-05 15:56:54 +08:00 via iPhone
    @liuhaotian 看起来是代理不支持 http connect
    hxhc
        15
    hxhc  
       2017-10-05 16:03:34 +08:00 via Android
    不是很懂,不过 proxychains 是否可以(答非所问请轻喷)
    liuhaotian
        16
    liuhaotian  
    OP
       2017-10-05 16:25:43 +08:00
    @morethansean 不好意思,不是特别明白,浏览器的 HTTP 代理是否是使用 HTTP Connect ?
    当前使用 proxifier 的现象是:使用 HTTP 代理时,HTTP 网站可以访问,HTTPS 网站不能;
    而在浏览器中:使用 HTTP 代理时,所有站点都可以正常访问。
    vttc
        17
    vttc  
       2017-10-07 08:03:23 +08:00 via Android
    假如代理是 1.1.1.1:80,开启简单 http 代理。设置 http 和 https 两种模式的代理主机,都是 1.1.1.1:80。

    设置 80 .8080 端口用简单 http 代理主机;其他端口走 https 主机。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3757 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 00:13 · PVG 08:13 · LAX 16:13 · JFK 19:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.