V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
wweir
V2EX  ›  程序员

介意给你的 web server 加个 https 支持,顺便帮助你访问其它网站吗?

  •  
  •   wweir ·
    wweir · 2020-03-22 17:15:43 +08:00 · 1979 次点击
    这是一个创建于 1732 天前的主题,其中的信息可能已经有所发展或是发生改变。
    距离 Sower 第一版发布已经过去一年多了,这一年多亲身体验了 GFW 的 AI 流量识别的强大,于是就有了这第二版。

    第一版发布贴: https://www.v2ex.com/t/527345#reply36

    第二版继承了第一版中的很多思想,比如:全局透明配置、智能规则、简单易用。相比其它方案,其最大的卖点是简单易用、好部署、好配置。
    而第二版也结合了当前很多流行的认知,比如伪装成普通 https 访问。还有很多架构、细节方面的提升,大大减少了代码量,因此稳定性也大大提高了。

    主要做法就是自动注册 TLS 证书,给你的普通 http 服务加上 TLS 支持,对外表现是普通 HTTPS 站点。而内部融合了自己的一套网络协议,代理普通 web 请求及设置的 TCP 流量。
    本地客户端有两套方案,一套是普通 http_proxy,另一套是基于 DNS 的路由方案。

    项目地址: https://github.com/wweir/sower
    19 条回复    2020-03-23 10:52:06 +08:00
    mywaiting
        1
    mywaiting  
       2020-03-22 19:11:52 +08:00
    没有仔细看我还以为是 dns tunnel .......
    ZRS
        2
    ZRS  
       2020-03-22 19:15:28 +08:00
    AI 流量识别是怎么判断出来的能讲讲现象吗,很感兴趣
    jousca
        3
    jousca  
       2020-03-22 19:16:04 +08:00
    服务器必须是海外的把。
    wweir
        4
    wweir  
    OP
       2020-03-22 19:31:06 +08:00 via Android
    @mywaiting 第一版主推基于 DNS 的解决方案,现在支持 tls 1.3 的网站比例提升不少,更推荐基于 http_proxy 的玩法

    @ZRS 机场大批机器两三天全部挂掉,这就是了。具体加密特征没去仔细分析,不过针对非常用端口的大量加密流量这个特征是逃不掉的。
    目前这个的方案的流量特征太少了,甚至完全与正常 web server 进行了融合,估计还得花不少时间才能找到寻找其特征的思路。

    @jousca 国内也行啊,比如:
    内网搭个服务端,端口 frp 到外网,通过客户端就可以同时正常访问内网和外网资源了
    storypanda
        5
    storypanda  
       2020-03-22 19:36:17 +08:00
    这个可以使用在个人 wordpress 上么?
    mayx
        6
    mayx  
       2020-03-22 19:49:54 +08:00 via Android
    v2ray ?
    Xusually
        7
    Xusually  
       2020-03-22 19:58:00 +08:00
    v2ray 的套路?
    wweir
        8
    wweir  
    OP
       2020-03-22 19:58:53 +08:00
    @storypanda 可以,只要你有独立 server


    @mayx 这个比 v2ray 简单太多了。但它自身已经构成了完整的解决方案,使用起来不用费劲翻文档,不用各种找其它东西组合才能工作
    wweir
        9
    wweir  
    OP
       2020-03-22 20:18:46 +08:00
    @Xusually 如果非要说的话,更接近的是 torjan 。个人理解,其实大家都是走的混淆的套路,无非是走什么协议,跟什么混淆而已。
    whywhywhy
        10
    whywhywhy  
       2020-03-22 22:25:08 +08:00
    @ZRS
    无法改变的事实是网页有一个巨大的特征,集中下载几 K 甚至几 M 数据,然后等待
    各大著名的如 gg fb 首页会载入几个请求,文件大小不经常变化
    一般此类工具都是个人开发,首个版本基本都是袋里协议混淆,有的协议是有 bug 的,比如可以以重放的方式去尝试,尝试到某个包的时候服务器会主动断开连接
    个人使用的话其他人不会连接服务器 IP,全国就你一个人以加密的方式和这个服务器传输,你猜墙会不会有好奇心

    最重要的是,即便解决了这些特征,只要你的数据经过那道设备,又是加密的,它会优先关照下你,你能在 github 下载到的工具,那道设备后的工作人员也可以去下载,研究。。。
    不一定能读懂传输的内容,但是它可以直接斩断它啊,只要不是常用协议,斩断了也见得会有什么大影响。

    所以不管是自己开发出来自己使用,还是开源的,都不是很好逃脱。。。但是个人开发的可以有很多玩法。
    但是你要知道只要你在墙内,一旦被盯上了,跑都没地方跑。。。
    whywhywhy
        11
    whywhywhy  
       2020-03-22 22:27:21 +08:00
    @ZRS 最重要的是设备背后的工作人员可以无处不在,你在的地方他也在,你们在交流的方式,他们也用小本子记录起来了,V2 和隔壁可都是重点关照的对象。
    dodo2012
        12
    dodo2012  
       2020-03-22 22:42:57 +08:00
    看看方便不
    qiayue
        13
    qiayue  
       2020-03-22 22:46:14 +08:00
    git.io/fhhdp
    404 了?
    wweir
        14
    wweir  
    OP
       2020-03-22 22:48:34 +08:00
    @qiayue 新版本已经没有了吧,这是旧版本使用的安装方式
    wweir
        15
    wweir  
    OP
       2020-03-22 22:53:07 +08:00
    @qiayue 不好意思,一个文档页更新漏了
    imgk
        16
    imgk  
       2020-03-23 07:45:23 +08:00 via iPhone
    第一版挺有意思的,第二版使用类似 trojan 的协议,缺乏手机 /路由器等客户端,分享服务器给小白用户就不太方便,占用了 443 端口,虽然可以部署 sower->caddy/nginx->v2ray,但是显得多此一举,不如直接使用 trojan/v2ray 来的简单
    wweir
        17
    wweir  
    OP
       2020-03-23 09:53:01 +08:00
    @imgk 第一版的东西,第二版同样支持,只是因为 TLS 1.3 esni extention 的原因不在主推而已。

    第二版可不算占用 443 端口,sower 自身反向代理服务,正确的做法是 nginx -> sower server 。
    至于你说的 trojan/v2ray 的使用难度,凭空来说实在没什么说服力,得试一下才能知道三者的难度究竟分别是什么级别。
    chenqh
        18
    chenqh  
       2020-03-23 10:40:16 +08:00
    代码看不懂,看来我还是太菜了,哈哈
    imgk
        19
    imgk  
       2020-03-23 10:52:06 +08:00 via iPhone
    @wweir 抱歉,可能是需求不同导致的个人结论,本来写了一大堆,结果要手机号,就删了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1161 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 23:08 · PVG 07:08 · LAX 15:08 · JFK 18:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.