liuhaotian
V2EX  ›  问与答

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

  •  1
     
  •   liuhaotian · Oct 5, 2017 · 4313 views
    This topic created in 3174 days ago, the information mentioned may be changed or developed.

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

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

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


    系统:macOS Sierra

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

    设置 80 .8080 端口用简单 http 代理主机;其他端口走 https 主机。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2671 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 05:01 · PVG 13:01 · LAX 22:01 · JFK 01:01
    ♥ Do have faith in what you're doing.