Enigma 项目介绍
Enigma 是一款极简安全的一对一聊天应用,专注于隐私保护,适合需要私人交流的用户。
使用说明
要开始使用 Enigma,用户首先需要具备 Flutter 的基本知识。在安装 Flutter 之后,按照以下步骤进行设置:
-
创建一个 Firebase 项目,并启用以下功能:
- Firebase 电话认证,用于身份验证。
- Cloud Firestore,用于数据存储。
- Firebase Storage,用于存储图片。
- Firebase In-App Messaging,用于自定义消息。
-
下载
google-services.json
文件并将其放置在android/app
目录下。 -
使用
flutter packages get
命令获取所需的包。 -
通过设备或模拟器运行
flutter run
。
通知功能
-
在 Firebase 控制台中启用 Firebase Cloud Messaging (FCM)。
-
将
functions
目录复制到项目的根目录,然后执行firebase deploy --only functions
命令部署云函数(需先安装firebase-cli
)。
基础安全规则
为 Firebase 的存储和 Cloud Firestore 设置基本的安全规则:
allow read, write: if request.auth.uid != null;
根据需要,用户可以设定更严格的安全规则。更多信息请访问 编写规则指南。
功能特色
-
认证方式: 支持使用密码和指纹(如果设备支持)进行认证,确保只有用户能访问隐藏和加锁的聊天内容。
-
端到端加密: 消息从发送的那一刻起就被加密,确保只有接收者能看到消息。
-
隐藏和锁定聊天: 用户可以选择隐藏和锁定聊天,需用户授权才能查看。
-
结束对话: 滑动友好的消息左至右可以删除从那条消息开始的对话内容。
-
保存消息: 双击消息可以将其保存到本地,随后可通过在聊天界面右左滑动查看。
-
减少通知干扰: Enigma 不通过频繁通知打扰用户,坚持让用户自在聊天。
-
无转发功能: 不支持消息转发功能,避免传播虚假信息。
-
美观极简的用户界面: 界面设计简洁实用,通过手势操作节省屏幕空间。
-
小于10 MB的应用体积: 所有功能均仅占小于10 MB的存储空间。
鸣谢
感谢 Passcode Widget 作者提供的开源组件:Passcode Widget Apache 2.0 执照。
通过 Enigma,用户能在保持隐私安全的同时,拥有流畅且愉悦的聊天体验。