请教一下, node 下 socks 代理加密的实现思路 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
kuanng

请教一下, node 下 socks 代理加密的实现思路

  •  
  •   kuanng 2020 年 1 月 15 日 6162 次点击
    这是一个创建于 2290 天前的主题,其中的信息可能已经有所发展或是发生改变。

    已经实现了明文 socks 代理通信的代码了

    接下来的加密处理的思路是怎么样的呢?

    是在客户端用 crypto 将 buffer 数据加密

    然后在服务器端解密的思路么?

    7 条回复    2020-01-17 01:18:42 +08:00
    optional
        1
    optional  
       2020 年 1 月 15 日
    重新发明 ss?
    kuanng
        2
    kuanng  
    OP
       2020 年 1 月 15 日
    @optional 加密是做着玩的,不必认真()
    different
        3
    different  
       2020 年 1 月 15 日
    发送一个 buffer 加密一个 buffer,然后服务端收到一个,解密一个。
    这个逻辑有啥问题吗?
    还是你一次性加密了之后,然后再拆成多个 buffer 发送?
    或者你是想问,非对称得密匙要不要放在 buffer 发送?
    还是啥?
    ophark
        4
    ophark  
       2020 年 1 月 16 日
    走 wss 是否可以?
    kuanng
        5
    kuanng  
    OP
       2020 年 1 月 16 日
    @different
    按照《发送一个 buffer 加密一个 buffer,然后服务端收到一个,解密一个》的逻辑写好了代码。
    但是在火狐总是提示: 建立安全连接失败
    如果去掉加密的代码,是可以正常代理的
    这大概是什么原因?
    kuanng
        6
    kuanng  
    OP
       2020 年 1 月 16 日
    @different 下面是加密和解密的代码
    let algorithm = 'des-cfb'
    let key = '12345678'
    let iv = '12345678'
    function en(buffer) {
    let cipher = crypto.createCipheriv(algorithm, key, iv)
    return cipher.update(buffer)
    }
    function de(buffer) {
    let decipher = crypto.createDecipheriv(algorithm, key, iv)
    return decipher.update(buffer)
    }
    different
        7
    different  
       2020 年 1 月 17 日   1
    @kuanng 你可以把收到的 buffer 解密之后输出来看看?与你发送的是否一致?
    这个加密算法我也不是很了解,我之前遇到的这些问题,无非就是粘包导致的(关于粘包,你可以百度瞧瞧)。
    如果你的服务端能够正常还原你发送的 buffer,那理论上也是没有问题的。
    我前段时间也实现过 socks5 代理(服务端与客户端),但是用的是简单的一一映射加密、解密。
    关于     帮助文档     自助推广系统     博客     API     FAQ &nsp;   Solana     3685 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 81ms UTC 04:35 PVG 12:35 LAX 21:35 JFK 00:35
    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