求一个能做二级代理转发的工具, 因为 Chrome 命令行挂不上带认证的代理 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ClericPy
V2EX    问与答

求一个能做二级代理转发的工具, 因为 Chrome 命令行挂不上带认证的代理

 
  •   ClericPy 2020-10-12 22:58:52 +08:00 2169 次点击
    这是一个创建于 1895 天前的主题,其中的信息可能已经有所发展或是发生改变。
    场景:
    公司里在用的代理是带 auth 信息的 user:pwd@host:port 的, 但是 Chrome 命令行启动的时候不支持带认证的代理, 所以只能先转发到一个本地免密代理再进行请求.

    目前已经进行的尝试:
    1. 通过 --proxy-server=http://host:port 直接挂那个需要认证的代理, 浏览器里会暗处认证框, 但是 Chrome CDP 里面的 Fetch.enable(authChallengeRespOnse=true) + Fetch.continueWithAuth 发现根本截取不到前面的那个认证 Fetch.authRequired, 只能截取到普通的 Fetch.requestPaused 事件

    2. 通过 Network.setExtraHTTPHeaders 强制写入 Proxy-Authorization, 直接报错完全没用

    3. 目前唯一成功的就是通过 cow 做二级代理, 但是看过 issue 作者 2014 年表示不希望实现一个端口转发一个代理的功能 ( https://github.com/cyfdecyf/cow/issues/162), 所以一个 cow 进程只能做一个 port + 二级代理的绑定, 如果绑定多个, 就不能一对一了.

    4. 回头看了下 mitmproxy 里的 connection 监听转发, 并不适合我想做的

    5. 试着命令行挂 export http_proxy 的方式代理, Chrome 启动也要填登录框

    总结: 求一个可以帮我把带认证的代理转为免认证的 host+port 代理的方式. 目前想到的就是每次挂代理之前启动一个自定义 rc 路径的 cow 进程.

    有其他选择吗, 最好 Python3 以上的, 就省的启动进程了
    12 条回复    2020-10-14 21:58:47 +08:00
    yaoliyc
        1
    yaoliyc  
       2020-10-12 23:03:19 +08:00 via iPhone   1
    Proxifier
    ClericPy
        2
    ClericPy  
    OP
       2020-10-12 23:07:13 +08:00
    @yaoliyc 感谢回复... 看了下 windows + mac 的, 想部署在 Linux 服务器...

    现在在看 squid
    KyonLi
        3
    KyonLi  
       2020-10-12 23:36:31 +08:00 via iPhone   1
    v2ray
    ClericPy
        4
    ClericPy  
    OP
       2020-10-13 00:04:14 +08:00
    @KyonLi 没找到可以让我把多个 (大概 100 左右) 原本在用的需要认证的代理转二级代理的多端口方式...
    xmh51
        5
    xmh51  
       2020-10-13 00:09:06 +08:00   1
    gost
    ysmood
        6
    ysmood  
       2020-10-13 00:31:39 +08:00   1
    ClericPy
        7
    ClericPy  
    OP
       2020-10-13 00:55:13 +08:00
    @xmh51 目前来看, 比 cow 舒服的一点就是命令行参数里就可以写转发代理, 不用像 cow 一个个拼 rc 文件... 非常感谢! 这样子多开几个进程也可以接受, golang 真舒服


    @ysmood 感谢, 我搜了到处都说不行, 这里的 HandleAuth 其实就是 Fetch.enable 里面的 paused := &proto.FetchRequestPaused{}; auth := &proto.FetchAuthRequired{}. 我在测试的时候发现只能收到前者的事件, 后者拿不到, 我再看看这个代码. 非常感谢!

    PS: golang 在 Github 上居然也可以函数跳转, 真方便
    ysmood
        8
    ysmood  
       2020-10-13 01:11:45 +08:00
    @ClericPy github 这个预览确实很强,不过目前只是搜索关键词,还没支持 type-safe 的跳转
    KyonLi
        9
    KyonLi  
       2020-10-13 08:40:12 +08:00
    @ClericPy 100 个 inbound+100 个 outbound+routing 就行了啊
    ClericPy
        10
    ClericPy  
    OP
       2020-10-13 22:29:34 +08:00
    @KyonLi 有 Python 实现么, 这方面没做过, 关键词都没听懂
    muzuiget
        11
    muzuiget  
       2020-10-14 01:12:57 +08:00
    没看懂你第 1 点那个 Chrome CDP 问题。
    ClericPy
        12
    ClericPy  
    OP
       2020-10-14 21:58:47 +08:00
    @muzuiget
    开启 fetch 以后抓包拿到 continueWithAuth 事件, 结果我拿不到
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2402 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 32ms UTC 02:11 PVG 10:11 LAX 18:11 JFK 21:11
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86