Flutter 密码管理软件 Allpass 开源
编辑前言
写这个软件完全是因为自己的需求,市面上大部分的密码管理软件都是收费的,免费的Lastpass体验上总感觉有些瑕疵,于是就萌生了自己动手的想法。之前没有过安卓端开发的经验,选择Flutter是因为其跨平台的特性,没有做太多的调研便开始动手写,直到后来才发现用Flutter写工具类的软件坑很多,尤其是这种调用原生API比较多的工具(目前应用内自动填充功能也没有实现)。除此之外Flutter构建的软件体积也比较大,不过幸好release版本运行比较流畅。
目前软件的基础功能已完成,其他功能会在后续慢慢添加。
Allpass介绍
Allpass是一款简单的私密数据管理工具,包括支持密码存储与卡片信息存储。采用Flutter构建,目前完成了针对安卓的适配。
- 密码与卡片信息管理
- 支持指纹解锁软件
- AES256位加密
- 支持从csv文件中导入或导出为csv文件
- 支持从Chrome中导入密码
- 支持从剪贴板中导入密码
- 标签功能
- 文件夹功能
- 收藏功能
- 备注功能
- 密码生成器
注意
若要构建Allpass,请修改lib/utils/encrypt_util.dart
中的_key
(32位字符串);
作者发布的Allpass已签名。所以如果在已安装作者发布的Allpass的情况下,安装自己构建的程序,请先卸载,否则可能导致安装失败或者密码数据丢失。
软件部分截图
下载体验
你可以在“酷安”搜索“Allpass”进行下载。
未来规划
- WebDAV同步功能
- 多选编辑功能
- 自动填充
- 自动获取网站favicon作为密码头像
- 智能识别网址生成名称
文件结构
- dao/ 与数据库交互层
- model/ 密码或卡片实体类
- pages/ 页面
- params/ 软件相关参数
- provider/ 状态管理
- route/ 路由管理
- services/ 服务管理,包括生物识别授权及路由服务
- utils/ 工具
- widgets/ 自定义组件
命名规范
Dart文件
- dart文件采用下划线命名方式;
- 类采取大驼峰命名法,变量、常量、函数名采用小驼峰命名法;
- 导包as后的名称使用小写+下划线;
- 导包顺序为:
Dart SDK; flutter内的库; 第三方库; 自己的库; 相对路径引用;
数据库相关
- 数据库表名使用下划线命名方式,且表名开头的第一个单词为
allpass
; - 表的列名与model相同,采用小写驼峰命名方式;
仓库地址
位置 | 地址 |
---|---|
Github | https://github.com/sunyongsheng/Allpass |
码云 | https://gitee.com/sunyongsheng/Allpass |
Flutter环境
[√] Flutter (Channel stable, v1.12.13+hotfix.5, on Microsoft Windows [Version 10.0.18363.592], locale zh-CN)
[√] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
[√] Android Studio (version 3.5)
LICENSE
- 0
- 0
-
分享