Cypher is a secure, open-source password manager that prioritizes your privacy by performing all encryption and decryption operations directly on your device. Your sensitive data never leaves your computer in an unencrypted form.
- Website Version: https://cypher-ochre.vercel.app
- Github: https://github.com/h0i5/Cypher
You can use the following automated script to clone the repository, install dependencies, and build the binary:
#!/bin/bash
# Clone the repository
git clone https://github.com/vijayvenkatj/Cypher-Cli.git
cd Cypher-Cli || exit
# Install dependencies
npm install crypto-js
# Create the hidden config directory
CONFIG_DIR="$HOME/.cypher-cli"
mkdir -p "$CONFIG_DIR"
# Set up environment variable in ~/.cypher-cli/.env
echo 'BACKEND_URL="https://cypher-backend-harshiyers-projects.vercel.app"' > "$CONFIG_DIR/.env"
# Build the binary
go build -o cypher
echo "Cypher CLI setup complete."
echo "Make sure to add the binary to your PATH or run ./cypher from this directory."
Alternatively, you can manually perform the installation steps:
-
Clone the repository:
git clone https://github.com/vijayvenkatj/Cypher-Cli.git cd Cypher-Cli
-
Install dependencies:
npm install crypto-js
-
Set up the environment variable: Create a
.env
file in the Config directory and add the following:BACKEND_URL="https://cypher-backend-harshiyers-projects.vercel.app"
-
Build the binary:
go build -o cypher
After building the binary, run the following command:
./cypher
Since cypher
relies on Node.js packages and Go binaries being in the same directory, you must run it from its installation folder. Instead of moving files, you can create a wrapper script that ensures cypher
always runs from the correct directory.
-
Create a new script (e.g.,
cypher.sh
) in/usr/local/bin/
or$HOME/.local/bin/
:#!/bin/bash cd <PATH_TO_CYPHER_CLI> || exit ./cypher "$@"
-
Make the script executable:
chmod +x /usr/local/bin/cypher # or $HOME/.local/bin/cypher
-
Now, you can run
cypher
from anywhere:cypher show
add
: Add a password to the vault.decrypt
: Decrypt a password from the vault.delete
: Delete a password from the vault.help
: Display help for any command.login
: Login using master credentials.register
: Register using master credentials.show
: Show all passwords in the vault.
-l, --email string
: Specify the email.-e, --encryption-password string
: Specify the encryption password.-h, --help
: Show help for Cypher.-m, --master-password string
: Specify the master password for login (DO NOT FORGET THIS PASSWORD).-u, --username string
: Specify the username for master login.
For more details on a specific command, run:
Cypher [command] --help
Ensure you have a .env
file with the following content:
BACKEND_URL="<Your backend url here>"
- 256-bit AES Encryption: Military-grade encryption for all stored credentials
- PBKDF2 Key Derivation: Protects against brute-force attacks by making password hashing computationally intensive
- SHA-256 Hashing: Ensures data integrity and secure password verification
- Zero-Knowledge Architecture: Your data is encrypted before it reaches our servers
- Client-Side Operations: All encryption/decryption happens locally on your device
- No Plaintext Storage: Sensitive data is never stored in readable form
- Master Password: Users create a strong master password that never leaves their device
- Key Derivation: PBKDF2 generates an encryption key from the master password
- Local Encryption: Passwords and sensitive data are encrypted using AES-256
- Secure Storage: Only encrypted data is synchronized with our servers
- Local Decryption: Data is decrypted on-demand using your master password
- Cross-Platform Support: Available for Windows, macOS, and Linux
- Browser Extensions: Seamless integration with major browsers
- Secure Password Generator: Create strong, unique passwords
- Two-Factor Authentication: Additional security layer for vault access
We welcome contributions! Please read our Contributing Guidelines before submitting pull requests.