Skip to content

InvertGeek/MixGram

Repository files navigation

🌐 MixGram

基于 Git 协议的安卓聊天 APP
将任何互联网上公开的 Git 服务作为聊天服务器
为您提供真正的 端到端加密 聊天,任何第三方无法得知聊天内容
下载: https://github.com/InvertGeek/MixGram/releases
TG群: https://t.me/ivgeek


🔍 原理

MixGram 将 Git 的 commit 记录 作为聊天记录。
用户输入仓库地址与 SSH 秘钥即可创建聊天群组。

  • 群组在创建时会生成随机的 256 位 AES 秘钥 用于加密消息。
  • 任何人(包括 Git 服务提供商)都无法得知聊天内容:
    • 聊天文字
    • 昵称、头像
    • 发送的文件内容

💬 对比 Telegram 的优点

  • 无需魔法上网:任何 Git 服务均可作为聊天服务器
  • 支持多人群聊端到端加密
  • 无第三方可读取内容(Telegram 官方可查看群聊内容)
  • 创建三人群组时,不会有第四人知道聊天内容

🔒 Telegram 的隐私问题

  • Telegram 的设计下,消息与账号 一一对应
  • 即使官方不公开身份,系统内部仍可追踪是谁发送了消息
  • 通过时间、群组、上下文可建立用户画像
  • Telegram 账号为长期存在的唯一标识(手机号注册)
  • 属于 弱匿名通信系统

🕶️ MixGram 的匿名特性

  • 无“账号”概念
  • 无可识别性、无可关联性
  • 无法将消息与身份对应
  • 用户可随意更改名称、头像
  • 没有任何账号 ID 标识

⚠️ 缺点
任何人可伪造他人名称与头像发送消息,也可删除他人信息(开启仓库强制推送保护后可避免)。
👉 因此,请仅将群组分享给 信任的熟人


🧭 创建聊天群组

  1. 选择 Git 服务

    • 国内推荐:
    • 推荐使用 Coding.net(支持单仓库级别 SSH 写入秘钥)
      Gitee 与 GitCode 只能给整个账号配置 SSH 具有写入权限的秘钥。
      若使用后两者,建议使用小号以防止产生账户安全问题。
  2. 创建仓库

    • 登录后创建项目 → 仓库
    • 创建时勾选 创建 README 文件 以初始化仓库
    • 仓库必须有首条 commit,否则无法使用
    • 建议使用小文件初始化,避免消息处理卡顿
  3. 配置 SSH 地址

    • 复制仓库的 SSH 地址(克隆/下载 → SSH)
  4. 在 APP 中创建群组

    • 打开 MixGram → 点击右下角「➕ 创建群组」
    • 输入 SSH 地址与群组名称
    • 点击「生成秘钥对」,复制公钥
  5. 在仓库添加部署公钥

    • 前往仓库设置 → 部署公钥
    • 新建公钥 → 勾选「永久有效」与「授予写入权限」

    如果是gitee等平台,请到账号设置->SSH公钥中添加

  6. 完成群组创建

    • 将生成的私钥粘贴到 APP 的 SSH 私钥栏
    • 点击「创建群组」即可
  7. 分享群组

    • 长按群组 → 复制「群组分享码」发送给他人导入
    • 分享码中包含:
      • 群组 SSH 地址
      • SSH 私钥
      • 随机生成的 256 位 AES 密钥

💡 最大消息数量建议 ≤ 500(默认 1000),防止卡顿,在每次发送消息后都会自动清理消息
💡 如果希望禁止他人删除消息,可以在仓库设置中开启禁止强制推送,不过某些Git平台限制企业版才能使用此功能(例如Gitee)


📢 用法 2:创建频道

频道模式下,只有你能发送消息,他人仅能查看

以下示例中「群组A, 发送,接收」仅为说明用名,可自行更改。

  1. 按上述步骤创建一个群组,命名为 群组A,复制其分享码。
  2. 群组A改名为群组A发送,导入刚才复制的分享码,命名为 群组A接收
  3. 在创建界面生成一个新的 SSH 秘钥对。
  4. 将新的 公钥 添加至仓库部署秘钥中:
    • 勾选「永久有效」
    • 不勾选「授予写入权限」
  5. 将新的 私钥 替换群组A接收中的旧私钥。

✅ 完成后:

  • 群组A发送:可发送消息
  • 群组A接收:仅可接收消息(只读频道)
  • 分享群组A接收的分享码,即可公开频道内容。

🧪 测试群组

mixgram://3iSHfx0a55SknWk0GLTe7sl1JIHXLG7Pdulepfnft5sASzCZGDZha2fWexyRgBroxyuA26q5VF3LOsbu6le3e231lJTDfZlQsKVlNOL7i1LRxMVmkmKbVuYFGcexNoezE8bDmcbDdkYUEdnm74LDMAAhXn9yJGUZ2xoRG8zVCgl6cMk4Aeqc0iMpmIIL8Yx7X5qen4qpeky6bkOBYpUEtlcMBSqVCQnsiBaJOIf0QoewMpMXfd04PcYUnR4DSNgV2X5JuH18hiiywfe7EW2E1Ks9b1J9BQkGSer6eLuA4RLi5Li9Fe4RLVCh2KIZAYycu5JDVbALM0kI1xJZrRltNVPwDwMQoE1sdDBC82dxS35Zlv8IpgRfEMvr4BLVMF8VO5Zcof34plDVZIxP7WEgiK27mpJfOP9EQLiZloJbNMzNU1OdwaltP89DNecPpcEzlRMyY4rf36Fqff6wEpn7r1Y8a8q8LYTBNXTm5345uEDy1w6GhTSPbCmR7Xsy2KXQY3J97lWCaCk0EK9QSLZUZNOwjodeNKapNROGaAi5GsT12LO9gEF6WYTsdQ6konrOTgWyxnWJzjSo5J5HE3pKV2JLFR7c0hJRDP5efeqP1gAnsDvSYMrJ8r1kGnHv094B09zlNzIn64VNQolbnj9ESZ7N50Hn7RwkhhnxXL2eqjrxVbQnooIaTdrGqfze74bQyz2RhV6jzanqH4Kwi5Hgs9JhDTfjQzTjazBzegOb12tNACtO3wvltx8WJFb2KpIYeLXf6TM3fccTEnEm6xcAARCp2XxjMxWy6Sfj

群组2(已禁止强制推送,消息一旦发送任何人无法删除):

mixgram://11Y0HQSse85eqX0pjmVVO2fAeyb46Rz5wQ9cACafWZQXDvdJsKnByKTGthzG0DQ7CWQOdeUB4f1dtlC6FLRplSKPRYWVjvBzZ2QZ5ACfIRRVEbLADzuWsHcjo1B8zFVrQdyLviUL8VIYF3bF2dV1c9oTmV9w1QBmLuNk32c2X2xcdFWmCE737jgH4ZqzznDkzSQYixKbEauYWy3jhk4p85ymSBH7mrxYGqw0p4zcFE3kQxG9RUNAoVAHQNxR6EIE3NKTfaKr4HXvKaJGI3a5ZMrXhpb7RuUh9S8sFpVRLZOA6olDNnC9YMtwvArSQZxGHugKQLWskzn8VqpExZVnZb87xR4Cv8iisn7etL1Al2MIgp2VdVI38DplonShJOpugBJPWotB5UoDBjhODb5DI9xlLtdm74hryoF3hQMDWQDAx03vWZDUZo1B0LZ42sDr9tmcSeTWPAb80A03AbyPIF2oimxkLSfOHDdHFAEXnGuxiJKaaaMF7pgt3vrm2qIKWUqvfrGQ0qQFN7Tc54CFKtE4uwmO7RQIThaJI2Q9hbwCh4kS4hoPxe2L0oTq2P40ksDQYPuIy3ZLToc6yzpxpdTlAy7quscMBAnMOZPoZg7D5q7P8NqrVhERFTFqwj78WlAxv2uD0KYIkOjntl89hA9cBidE0qhuaL4f0h5ayIym2mrM5zvj3cFShZVQUISdLM4Df2EDGKk6os6UjVNN25p9x3otxFhLl07XRw3bM2Mmj2gwsyVXwf4td5CwsVUD5uMD4Uca1wPVIcToiwTxVH5crpPbKZvABUVVrWI27rD

⚠️ 免责声明

  • 不能保证聊天信息永久保存,请自行做好本地备份。
  • 请勿用于传播违反社会主义核心价值观的内容。
  • 本项目仅供学习与技术交流,开发者不承担任何使用者行为产生的法律责任。

🔗 相关项目

⭐ Github Star

Stargazers over time


About

基于 Git 协议的安卓聊天 APP,真正的端到端加密聊天

Resources

Stars

Watchers

Forks

Packages

No packages published