· English · 中文
https://blog.bytefuse.cn/feishu__2024_8_6_product_onepassword_3doc
https://ftyszyx.github.io/feishu-vitepress/feishu__2024_8_7_product_onepassword_4doc
In the Internet era, there are too many account passwords. The previous method was to save them in a notepad. But it lacks security and is inconvenient to search.
There are many password management tools on the market, but they all require servers. But I always feel uneasy if sensitive information like passwords is stored on someone else's server.
I thought that the basic function is just encrypted storage and search, which should not be difficult to implement, so I made one by referring to 1password.
At present, the function is not perfect, and I will continue to optimize it during use. You can also give it a try and give me any suggestions.
My goals are currently simple:
-
Only for personal use, no sharing or collaboration is required.
-
No server is required, only network disk backup and recovery functions are provided. Control your own data
-
A dual password mechanism similar to 1password: master password (remembered by the user) + key (the software generates a random password with a length of 25)
-
Confidential information uses the aes-256-cbc encryption algorithm. The key is sha256 (master password + key)
-
The data is stored locally and uses sqlite database.
- Double password mechanism: Master password and 25-character key (generated by software) are combined into a super strong password 1.AES data encryption: Locally stored sensitive information is encrypted and stored through aes-256-cbc
- Multiple password information support: Storage of login information, bank card information, and note information
- Vault function: Save different password information in categories
- Multi-account function: The software can switch between different accounts (so you can isolate and save your parents' password information, because the master password of different accounts can be different)
- Random password generation tool: You no longer have to worry about passwords not being secure enough or meeting the needs of the website. Tool helps you randomly generate passwords on demand
- Automatic keyboard input: Use the shortcut keys to call up the password quick search window. After selecting it, the account password will be automatically entered.
- Multi-language support: Supports fast switching between Chinese and English
- Export and import of local backup files: You can save personal information into zip files and import this backup information at the same time.
- Cloud disk backup and recovery: You can save software data to the cloud disk or restore the corresponding backup from the cloud disk. (Currently only supports Alibaba Cloud disk)
- csv import and export: You can import the csv password file exported by chrome or edge browser into the software, and you can also export the password information of the software into csv.
- Change master password: You can easily change the master password (note the backup)
- Automatic program update: Support updating the latest version from github 1.Auto-start at boot
- The system is locked and the software is also locked
git clone https://github.com/ftyszyx/lockpass.git
npm install
npm rundev
electron-builder github In fact, the packaging process is that electron vite first packages the script under main render preload into the out directory using vite, and then electron-build types the resources into asar.
-
Program update mechanism (completed) https://www.electron.build/auto-update The function of electron-builder is indeed powerful and it is well done. Like it.
-
Linux packaging exception problem (completed) Snap packaging seems to require a signature file. For now, remove the snap.
snapcraft internal error: NoKeyringError('No keyring found to store or retrieve credentials from.')
-
Do not delete the configuration file during overwriting installation (completed) Previously, for the convenience of development, the user files and configurations generated by the program were placed in the current directory of the application. But the current mainstream approach is to put these configuration files in the user directory divided by the system. Under windows it is %appdata% In this case, there will be no above problems, because the configuration and program storage locations are separated. And there will be no permission issues.
-
Change master password (completed)
-
Switch language (completed) Support English and Chinese
-
Follow the system lock (completed)
-
Auto-start at boot (completed)