首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
tctc4869
V2EX  ›  程序员

搭建 im 聊天服务系统,聊天服务端可独立部署到自己的云服务器,这方面有有现成开源免费的么?

  •  
  •   tctc4869 · 62 天前 · 5626 次点击
    这是一个创建于 62 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想自己搭建私有的 im 服务系统,邀请拉一些好友们在里面大胆地讨论国家政策扯皮和开车。不用担心什么服务商审查。

    服务系统包括服务端,和 pc 和安卓客户端,服务端要求是可独立部署,将服务端的执行文件包放到自己购买的云服务器上运行,客户端安装包,设置服务器 ip 或域名,客户端软件安装后就能用。这方面有开源免费的分享么?或者是付费的,但是如果付费,怎么证明是安全的?

    功能要求,点对点,群组。聊天内容包括文字,发文件等

    但如果自己做一个的话,这个对 socket 技术掌握有多少要求?尤其还是要传文件的情况下。

    第 1 条附言  ·  62 天前
    还有云服务器不一定会选国内,也可能选国外的
    第 2 条附言  ·  62 天前
    关于聊天信息的发送加密,希望是能自定义加密策略的,可以嵌套,例如这种 Base64(DES(toUTF8(聊天内容),用户 token))
    100 条回复    2020-06-29 15:06:38 +08:00
    yuxizhe
        1
    yuxizhe   62 天前
    直接用 firebase + flutter 就行
    cryingsky
        2
    cryingsky   62 天前
    joesonw
        3
    joesonw   62 天前
    rocket chat
    easonHHH
        4
    easonHHH   62 天前
    之前看到过去哪儿的 startalk,你可以查一查
    Cbdy
        5
    Cbdy   62 天前 via Android
    可以基于电子邮件做
    opengps
        6
    opengps   62 天前
    主要是做好分布式扩容集群的架构,再就是做好通信协议
    hst001
        7
    hst001   62 天前
    自己做核心功能很容易实现,哪怕你只是要个简单的聊天,细节也会花掉你绝大部分的精力。

    反正要聊敏感的东西,为什么不用墙外的电报呢?
    gdt
        8
    gdt   62 天前
    telegram 不好吗?
    kilen3a
        9
    kilen3a   62 天前   ❤️ 2
    有开源的,mattermost: https://mattermost.com/
    kilen3a
        10
    kilen3a   62 天前
    自己从 socket 撸一个出来也很简单,如果只是文字聊天的话,处理好通信协议和加密+ 对话 context + 端连接身份认证就 OK 撸
    kilen3a
        11
    kilen3a   62 天前
    传文件的话,只是能用这个级别的话难度也不是很大,就是优化起来坑还是很多的
    liubaicai
        12
    liubaicai   62 天前
    你要你肉身在国内,劝你别搞敏感开车的东西
    fancy111
        13
    fancy111   62 天前
    哈哈哈,,, 你想进局子里吗?
    就靠自己搭建的 IM 系统能瞎聊? too young
    itgoyo
        14
    itgoyo   62 天前
    如果付费的怎么证明安全,那免费的就更不用说了
    tctc4869
        15
    tctc4869   62 天前
    @hst001 墙外的聊天工具使用依托于 vpn,而 vpn,就我目前用的,不是时时刻刻都稳定,而且墙外的聊天工具也不是很随便让你发什么,虽然比国内自由点是肯定的
    Kilerd
        16
    Kilerd   62 天前
    最简单的方法:把这个钱分给你们的朋友们让他们买 VPN,然后注册一个 telegram group 就可以开心的聊天了
    tctc4869
        17
    tctc4869   62 天前
    @liubaicai
    @fancy111

    难道国内网监还会有人劫持发送内容,随便破解加密的东西么。
    tctc4869
        18
    tctc4869   62 天前
    @Kilerd 那比较有稳定的 vpn 么?这里的稳定虽然不是 24 小时时时刻刻稳定,但至少有 20 个小时处于稳定状态
    Kilerd
        19
    Kilerd   62 天前
    @tctc4869 #18 钱不到位。10 块的跟 10000 块的不能比的。
    tctc4869
        20
    tctc4869   62 天前   ❤️ 1
    @fancy111
    @itgoyo
    你觉得国内能随便看私有群的内容?你要是这么觉得,那国内那些做违法产业的涉及网络群组,例如涉及违法产业的 qq 群,微信群里的人,怎么还会等待有人举报才会有人处理?
    tctc4869
        21
    tctc4869   62 天前
    @Kilerd
    10000 块的 vpn ?,是指那种比较稳定的每月 10000 块的 vip 套餐?
    SingeeKing
        22
    SingeeKing   62 天前
    还是用现成的解决方案吧,比如 https://work.weixin.qq.com/server
    aver4vex
        23
    aver4vex   62 天前
    在国内搞这个要备案的吧,不然后果很严重的。
    SingeeKing
        24
    SingeeKing   62 天前
    另外 telegram 和 Keybase 也是服务端客户端等全开源,也可以自己部署编译出来一个用(好像有个 Potato 就是把 TG 包装了一下)
    Garland
        25
    Garland   62 天前
    服务端这里的作用是啥呢?
    janus77
        26
    janus77   62 天前
    你这个想法有漏洞啊,如果你寄希望于服务商保证你的信息安全,那为啥又不在乎网监的审查呢……
    如果是公开提供服务的服务商,那被审查是必然的,不要抱希望了
    如果是你自建,那这方面的框架确实有,但是他本身的安全性设计(加密方案等)应该不会很高,有可能被中间截获,依然有风险
    tctc4869
        27
    tctc4869   62 天前
    @SingeeKing 这个需要注册企业把?
    tctc4869
        28
    tctc4869   62 天前
    @aver4vex 云服务器肯定要备案的,难道我在云服务器上部属个服务端应用都要备案?
    tctc4869
        29
    tctc4869   62 天前
    @Garland 中转客户端消息,以及保存用户好友信息,通知类型的帖子信息
    wanwaneryide
        30
    wanwaneryide   62 天前
    挂着梯子用 tg 或者内置的梯子,稳得不行
    tctc4869
        31
    tctc4869   62 天前
    @janus77 聊天发送的数据,肯定是先以自定义的加密策略进行加密过的,然后在发送数据,中间人截获了破解加密了算他厉害。但有人会注意一个私人的聊天服务么?
    krixaar
        32
    krixaar   62 天前
    #20
    其一,你不能让你的用户知道你能看,否则他们会恐慌。你怎么知道举报人就一定是热心群众呢?
    其二,你不能光看几个关键词就去抓人,否则《守望先锋》最火的那段时间,每一个游戏群都该被抓起来。
    其三,实时盯一个群,和实时盯一百万个群,不是一个概念。
    其四,你的干过的事儿他们都知道,你只是不值得他们出手而已。
    huntcool001
        33
    huntcool001   62 天前
    你朋友用你的 IM 聊东西出事了你也要一起进去


    你确定想要吗?
    tctc4869
        34
    tctc4869   62 天前
    @tctc4869 我又不是面向大众,好友都是通过我邀请才能使用用户,但会有机构会盯着一个小小的网络私人聊天服务么?
    KyleLi3972
        35
    KyleLi3972   62 天前 via iPhone
    群晖有聊天套件 傻瓜式配置 去弄个 https 证书加密啥弄到位就行
    nuk
        36
    nuk   62 天前   ❤️ 2
    mattermost,不吃资源配置简单,app 可以直接从市场安装,免费 push 不花钱。
    不过我的做法是把服务器放在本地,然后云服务器只做 nginx 反向代理。
    本地的 mattermost 放在虚拟机里,全盘加密,一旦掉电就要手动输密码来挂载。
    可以避免被取证,wj 只要拿回去就不可能解开加密。
    aver4vex
        37
    aver4vex   62 天前
    tctc4869
        38
    tctc4869   62 天前
    @krixaar “实时盯着一个群“ ,这有一个前提,除了我和朋友透露了这个聊天群组系统的存在,有谁会知道我在云服务器上部署是不是私人聊天服务系统?没人知道哪会有人盯着啊。
    janus77
        39
    janus77   62 天前
    @tctc4869 #31 你所说的自定义加密策略,说实话如果真被盯上,被破解的可能性也不小,否则电报就不会出那么多赏金来奖励破解他们加密方案的人了。另外私人服务的话,没有人特别盯,但是会有无差别日常扫描啊,就跟爬虫一样,国内的服务器提供商都会明里暗里有的
    skylancer
        40
    skylancer   62 天前
    @SingeeKing 我怎么从来没有听说过 telegram 服务器端开源
    tctc4869
        41
    tctc4869   62 天前
    @wanwaneryide tg 或者内置的梯子? tg 或内置的?
    jakehu
        42
    jakehu   62 天前
    群晖 我之前用过 群晖的 chat
    tctc4869
        43
    tctc4869   62 天前
    @kilen3a mattermos 部署在 Windows server 上是只能用 docker 虚拟机么
    tctc4869
        44
    tctc4869   62 天前
    @nuk mattermost 放到 Windows server 里部署,只能使用 docker 虚拟机么?
    tctc4869
        45
    tctc4869   62 天前
    @gdt
    @skylancer
    telegram 服务器端是在哪下的,我目前找不到,如果要部署服务器版本,在 windows 上是要借助 docker 虚拟机么?
    qfeng
        46
    qfeng   62 天前
    @tctc4869 https://core.telegram.org/api/obtaining_api_id 应该使用的是 telegram 的平台服务
    skylancer
        47
    skylancer   62 天前
    @tctc4869 我从来就没看过也没听过 telegram 服务器端开源,他是我第一个看到说 tg 服务器端开源的人
    zjsxwc
        48
    zjsxwc   62 天前
    我觉得 “普通论坛功能” 再加个 “长连接推送” 就可以搞定了
    Luoyuanlong
        49
    Luoyuanlong   62 天前
    为啥不用 telegram 呢?
    iFlicker
        50
    iFlicker   62 天前
    竟然没人提微信开源的 mars
    力推
    namelosw
        51
    namelosw   62 天前
    找到这种 self host 的很可能都不是点对点的,或者实现错的,或者理解跟你不一致……最后还不如 Telegram
    smilzman
        52
    smilzman   62 天前
    我用的 mattermost~



    berumotto
        54
    berumotto   62 天前   ❤️ 1
    对不起,我是警察
    zzzmh
        55
    zzzmh   62 天前
    fengshils
        56
    fengshils   62 天前 via Android
    禅道他家有一款可以自己部署的喧喧的 im
    ajaxfunction
        57
    ajaxfunction   62 天前
    @nuk 恐怕是你小瞧 jc 叔叔的手段了,

    只要你还活着,并且你还记得密码,分分钟就供出来了。

    只有一种办法,就是随机密码,你自己都不知道这个密码,哈哈
    inktiger
        58
    inktiger   62 天前
    哈哈哈,我觉得就拉一些好友,完全就一台机子搞 scoket 完全够用了哇,传文件也不是啥复杂的东西呀,只是带宽影响速度来着,最近公司就有一套与百来台爬虫服务器实时交互的需求,用 socket 搞,感觉轻轻松松,实在要走量大的,也可以依靠 mq 来做一套分布式的,至于审查这方面的,我觉得聊天内容加下密,解密秘钥通过只能登陆后获取,在信息接收方解密查看挺好,就算国内使用我觉得也没啥,就算服务商拦截流量也搞不出个什么花样来
    fox0001
        59
    fox0001   62 天前 via Android
    nextcloud 有聊天插件。想简单点,ssh + screen 就可以了,不过没有推送,只能作为简单留言板
    fox0001
        60
    fox0001   62 天前 via Android
    另外,非法的事情还是不要做
    tctc4869
        61
    tctc4869   62 天前
    @inktiger 问一下 ,socket 传文件加密,一般是用的什么?把文件转成 Base64,再把转成的 Base64 通过其他方式加密么?
    fcten
        62
    fcten   62 天前
    小心连服务器带人一锅端了 /狗头
    lshero
        63
    lshero   62 天前
    @yuxizhe firebase 做 IM 怎么做群聊呢?订阅主题?
    richzhu
        64
    richzhu   62 天前 via iPhone
    开源的 duckchat 挺好的
    collo
        65
    collo   62 天前 via Android
    以前 v 友有做了一款阿卡信,各种功能都已经成熟了,可惜后面貌似被和谐了。
    no1xsyzy
        66
    no1xsyzy   62 天前
    @tctc4869 #20 你以为为什么这次要特地明确聊天记录可以作为证据?
    dorothyREN
        67
    dorothyREN   62 天前
    layui 有个 im 产品 layim
    huihuilang
        68
    huihuilang   62 天前 via Android
    我就想知道公司自己搭一个 IM 工具,内部员工使用,会不会有问题?
    PbCopy111
        69
    PbCopy111   62 天前
    你别部署了,就算部署了,怎么保证加密协议是安全的呢?
    还是 tg 靠谱。。。那个私密聊天,目前看来,还是可以的。
    aver4vex
        70
    aver4vex   62 天前
    @huihuilang 不开放到公网,都没事儿
    YaphetYin
        71
    YaphetYin   62 天前 via iPhone
    zulip 看看呢
    starsriver
        72
    starsriver   62 天前 via Android
    云服务器 bwh 用了一年,还可以。开源的聊天软件有好多啊,加密肯定是 tls
    xcstream
        73
    xcstream   62 天前
    电报
    oxogenesis
        74
    oxogenesis   62 天前
    @cryingsky 前端太美
    要是结合到我的项目(账号本地生成、端到端加密、聊天记录本地化)就好了
    https://github.com/oxogenesis/oxo-chat-tutorial
    https://github.com/oxogenesis/oxo-chat-client
    charce
        75
    charce   62 天前
    群晖服务器自带 chat 套件,完全私有化,web 端、ios 端、Android 端都有,还可以协同,只有硬件一次性投入,推荐~
    kilen3a
        76
    kilen3a   62 天前
    @tctc4869 不太清楚,没在 windows 上部署过
    serical
        77
    serical   62 天前
    刚好也是有类似的需求, 写了个端对端加密的玩具 https://github.com/serical/secure-chat
    azhuge233
        78
    azhuge233   62 天前 via iPhone
    teamspeak
    bhy
        79
    bhy   62 天前
    matrix
    lithiumii
        80
    lithiumii   62 天前 via Android
    mattermost 不折腾。服务端 Digitalocean 一键安装,客户端安卓苹果应用商店下载,电脑端 electron,还有网页端
    sunorg
        81
    sunorg   62 天前 via Android
    @smilzman 安卓端信息能推送吗?
    sunorg
        82
    sunorg   62 天前 via Android
    @lithiumii 同问题,国内能消息推送吗?安卓端
    nuk
        83
    nuk   62 天前   ❤️ 3
    @ajaxfunction 如果你还抱着这样的看法就太小看我国的司法体系了。
    我朋友的经历,jc 入门后第一时间就是几个人控制你然后拿到你的手机,避免你锁定或者退出登陆 app 。
    如果没有完善的证据链,庭审会很难看的。
    正所谓,坦白从宽,牢底坐穿。
    lithiumii
        84
    lithiumii   62 天前 via Android
    @sunorg 个人经验是杀掉后台就没了,锁定后台会有
    CantSee
        85
    CantSee   62 天前
    建议加密通信
    cjjia
        86
    cjjia   61 天前 via Android
    建个 telegram 代理,时刻挂梯子太耗电了。
    jiangzm
        87
    jiangzm   61 天前
    开源的 Rocket Chat ( https://rocket.chat/ ) 挺不错的
    服务端是 Node JS,代码在 https://github.com/RocketChat/Rocket.Chat
    exploreexe
        88
    exploreexe   61 天前
    大胆地讨论国家政策扯皮和开车...
    兄弟万一你们中间出了叛徒可就危险了...
    xiaofengchen
        89
    xiaofengchen   61 天前 via Android
    这不是用技术能解决的问题・_・
    y1shan
        90
    y1shan   61 天前
    大哥在看着你
    cumt21g
        91
    cumt21g   61 天前
    JCZ2MkKb5S8ZX9pq
        92
    JCZ2MkKb5S8ZX9pq   61 天前
    iMessage 是不是不会被监听?
    tctc4869
        93
    tctc4869   61 天前
    @exploreexe 嘛,反正啦的好友不会有很多个的,真这样就当交友不慎吧,
    zorui
        94
    zorui   61 天前
    koast
        95
    koast   61 天前 via Android
    @tctc4869 #20 还真这么觉得,你举的例子并没有说服力。相对于那些阴谋 xx,FD,JD 的那些人,做做外挂,破解百度云啥的还真不算啥大事。如果什么鸡毛蒜皮的事都要查,那伟光正形象又怎么保持呢?再说,热心群众都是热心群众吗?
    koast
        96
    koast   61 天前 via Android
    @nuk #83 我觉得这种说法还挺可信的,记得 cctv12 讲过一个案子,记不太清了,菠菜的,弄两台服务器主从同步(大概防止意外掉电?),数据全在内存里不落地,说是有了风吹草动就直接拉闸。。。说的我当时一愣一愣的,不知道以为是搞什么暗网交易网站。。。脑洞可真大
    ifoto
        97
    ifoto   61 天前
    你着单子多大呢。我有点心得
    realpg
        98
    realpg   60 天前
    从 15 楼言论来看:

    墙外的聊天工具使用依托于 vpn,而 vpn,就我目前用的,不是时时刻刻都稳定,而且墙外的聊天工具也不是很随便让你发什么,虽然比国内自由点是肯定的

    楼主是要搞色情,没准还是儿童色情或者偷拍。因为成人色情在很多墙外 IM 都是合法的
    yuxizhe
        99
    yuxizhe   56 天前   ❤️ 1
    @lshero firebase 实时数据库 realtime database
    tctc4869
        100
    tctc4869   11 天前
    @cjjia telegram 代理?为一个网址服务挂代理?
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1853 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 76ms · UTC 16:57 · PVG 00:57 · LAX 09:57 · JFK 12:57
    ♥ Do have faith in what you're doing.