V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
lauix
V2EX  ›  分享创造

HackChat : 一款加密在线聊天工具 V0.1

  •  
  •   lauix · 2017-09-05 10:20:19 +08:00 · 12697 次点击
    这是一个创建于 2635 天前的主题,其中的信息可能已经有所发展或是发生改变。

    使用演示

    Alt text

    # 帮助 
    help 
     
    # 加入房间 
    join -r 房间号 -p 密码 -u 用户名 
     
    # 创建房间 
    create -r 房间号 -p 密码 -u 用户名
    

    Alt text

    介绍:

    基于 Python 所写的匿名聊天加密工具,实时对话,不保存任何聊天信息。

    采用 **flask + flask_socketIO + redis **

    redis 只是用来保存房间号和密码的,支持注销房间

    登录页为了炫酷,这样做有点复杂,大家给点意见

    待解决问题:

    • 没有过滤 XSS ( 大家可以在一个房间互相攻击玩 ,我认为可以保留这个 BUG)
    • socketIO 反向代理有 BUG

    后期完善后会开源此套代码。

    地址: https://hackchat.cn/

    介绍: https://www.fucksec.com/python/607.html

    问下大家 socketio 的问题

    Alt text

    Nginx 反向代理后,socketIO 有时候会报 400 错误。

    Nginx 已经设置了 wss 协议。

    32 条回复    2017-09-17 17:41:24 +08:00
    ender049
        1
    ender049  
       2017-09-05 10:48:45 +08:00
    不错,支持一个
    不过使用体验不好
    uuair
        2
    uuair  
       2017-09-05 10:59:05 +08:00
    “<dak>”这样的字符无法显示啊。。。

    而且没法自建服务器么?
    lauix
        3
    lauix  
    OP
       2017-09-05 11:10:21 +08:00
    @ender049 0.1 版本,还在优化。
    lauix
        4
    lauix  
    OP
       2017-09-05 11:11:38 +08:00
    @uuair <dak>?
    自建服务器? 是开源代码吗?(完善差不多就开放出来)
    kmahyyg
        5
    kmahyyg  
       2017-09-05 11:13:01 +08:00 via Android
    等待开源,铜币送上,感谢
    hxsf
        6
    hxsf  
       2017-09-05 11:13:37 +08:00
    > 不保存任何聊天信息

    用 webRTC 更好吧。
    kmahyyg
        7
    kmahyyg  
       2017-09-05 11:23:17 +08:00 via Android
    能把 redis 换成 sqlite 吗?为了这玩意还装个 redis ?
    gotounix
        8
    gotounix  
       2017-09-05 11:41:52 +08:00
    Nginx 添加配置
    +------------------------------------------------------------------------------------+
    location /socket.io {
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_pass http://YOUR_UPSTREAM_SERVER;
    }
    +------------------------------------------------------------------------------------+
    lauix
        9
    lauix  
    OP
       2017-09-05 12:48:11 +08:00
    @gotounix 就是这样配置的 , 下面是我的配置

    =========================================
    location /socket.io {
    proxy_http_version 1.1;
    proxy_buffering off;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_pass http://127.0.0.1:8088/socket.io;
    }
    =========================================

    配置后,wss 不报错,socketIO 的 get 和 post 请求报错,有时候好使,有时候报错。
    lauix
        10
    lauix  
    OP
       2017-09-05 12:49:13 +08:00
    @kmahyyg sqlite 也需要装,还不如 redis , 存入缓存读写快。
    xqin
        11
    xqin  
       2017-09-05 12:50:04 +08:00
    除了 -p 参数,没看出来 加密 在哪?是指的房间加密码吗?

    另外 参数都已经有参数名了, 还强制要求顺序?
    比如 create:
    ```create -u 1 -p 1 -r 1```
    用这样的写法就建不了, 必须要 `create -r 1 -p 1 -u 1`, 如果都强制要求顺序了, 还要参数名干嘛?
    lauix
        12
    lauix  
    OP
       2017-09-05 12:55:13 +08:00
    @xqin 是个问题,下个版本改掉。
    flyz
        13
    flyz  
       2017-09-05 13:39:32 +08:00 via Android
    @lauix 他可能是想 sqlite 一键安装包都装好的,省时间吧
    flowfire
        14
    flowfire  
       2017-09-05 14:23:36 +08:00 via Android
    等一个端对端加密
    linxl
        15
    linxl  
       2017-09-05 14:51:09 +08:00
    github 头像很亮
    Lullaby
        16
    Lullaby  
       2017-09-05 15:16:08 +08:00
    https://hack.chat/
    有点像
    Inkroot
        17
    Inkroot  
       2017-09-05 15:24:06 +08:00
    关注一下,确实存在这种需求。
    chantan
        18
    chantan  
       2017-09-05 16:14:53 +08:00
    關注
    nazor
        19
    nazor  
       2017-09-05 16:33:05 +08:00 via iPhone
    加密算法是怎么实现的。
    kmahyyg
        20
    kmahyyg  
       2017-09-05 18:06:49 +08:00 via Android
    @lauix 感谢。主要是 php 默认支持 sqlite 用惯了,小项目就统一 sqlite 了。

    等着 p2p 加密
    hwding
        21
    hwding  
       2017-09-05 20:48:44 +08:00
    赞一个 不过话说现在不是不允许自行对通信加密了么?
    ferencz
        22
    ferencz  
       2017-09-06 22:43:49 +08:00
    这个和 IRC 聊天真的很像。
    y1261474584
        23
    y1261474584  
       2017-09-07 15:16:29 +08:00
    不知道怎么玩,按 Enter 键没有用,不支持删除( Backspace 键和 Delete 键)。
    lauix
        24
    lauix  
    OP
       2017-09-08 19:07:46 +08:00
    @flowfire web 端 貌似无法实现,倒是以后可以做个这样的东西。
    lauix
        25
    lauix  
    OP
       2017-09-08 19:08:16 +08:00
    @xqin 已经改掉,请等待第二版更新
    lauix
        26
    lauix  
    OP
       2017-09-08 19:08:28 +08:00
    @linxl 帅吧
    lauix
        27
    lauix  
    OP
       2017-09-08 19:09:01 +08:00
    @uuair 因为没有限制 XSS 新版已经添加此功能
    lauix
        28
    lauix  
    OP
       2017-09-08 19:09:19 +08:00
    @Lullaby 可以说借鉴吧
    lauix
        29
    lauix  
    OP
       2017-09-08 19:10:11 +08:00
    @nazor 新版采用 rsa 非对称加密 算法,等待第二版更新吧
    lauix
        30
    lauix  
    OP
       2017-09-08 19:10:52 +08:00
    @y1261474584 这是 bug 已经修复了,第二版更强大,正在努力完善。
    tf2017
        31
    tf2017  
       2017-09-10 13:27:07 +08:00
    酷酷的,赞一个。
    HELLONAV
        32
    HELLONAV  
       2017-09-17 17:41:24 +08:00 via Android
    楼主,膜拜 ing
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2766 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 11:36 · PVG 19:36 · LAX 03:36 · JFK 06:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.