Experience a lightweight, command-line password manager built in Dart that prioritizes security and simplicity. Leveraging state-of-the-art cryptographic techniques, this tool safeguards your sensitive data while offering an intuitive interface for password management – all delivered through a fully containerized solution.
- Master Password Protection: Secure your entire vault with a robust master password.
- Advanced Encryption: Uses AES-CBC with a secure initialization vector (IV) to protect your data.
- Secure Password Generation: Automatically generates strong, random passwords.
- Effortless Data Management: Stores encrypted passwords in a JSON file for easy retrieval.
- User-Friendly CLI: Manage your passwords with a clear and intuitive command-line interface.
- Containerized Deployment: Run the application in an isolated, consistent Docker environment.
Before running the project, ensure you have the following installed on your system:
-
Dart SDK (v3.7.1 or later)
Download and install the Dart SDK from the official website. -
Docker
Required for containerized deployment, which simplifies running the application across different environments.
The official Docker image for this project is available on Docker Hub. It is recommended to download and run it using the following commands:
docker pull alessiocascini/password-manager:1.1.0
docker run -it --name password-manager alessiocascini/password-manager:1.1.0This will create and start a container named password-manager. Once the container is created, you can restart it anytime without losing data using:
docker start -i password-managerWhen you are done and want to remove the container:
docker rm password-managerIf you prefer to build the Docker image manually, you can do so with:
docker build -t password-manager .Then, run the container with:
docker run -it --name password-manager password-managerTo run the application on your local machine without Docker:
-
Clone the Repository:
git clone https://github.com/alessiocascini/password-manager.git
-
Navigate to the Project Directory:
cd password-manager -
Install Dependencies:
dart pub get
-
Run the Application:
dart run
Once the application is running, you can manage your passwords using the command-line interface.
-
Add a New Password
- Select option
1to add a password. - Enter the service name.
- Choose to generate a new password or provide an existing one.
- Select option
-
Retrieve an Existing Password
- Select option
2to retrieve a password. - Enter the service name.
- If found, the encrypted password will be displayed.
- Select option
This file is part of Password Manager.
Password Manager is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
Password Manager is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with Password Manager. If not, see https://www.gnu.org/licenses/.