mirror of
https://github.com/PR0M3TH3AN/SeedPass.git
synced 2025-09-07 14:58:56 +00:00
update
This commit is contained in:
@@ -55,7 +55,7 @@ git clone https://github.com/PR0M3TH3AN/SeedPass.git
|
||||
Navigate to the project directory:
|
||||
|
||||
```bash
|
||||
cd SeedPass
|
||||
cd SeedPass/src
|
||||
```
|
||||
|
||||
### 2. Create a Virtual Environment
|
||||
@@ -63,7 +63,7 @@ cd SeedPass
|
||||
It's recommended to use a virtual environment to manage your project's dependencies. Create a virtual environment named `venv`:
|
||||
|
||||
```bash
|
||||
python -m venv venv
|
||||
python3 -m venv venv
|
||||
```
|
||||
|
||||
### 3. Activate the Virtual Environment
|
||||
@@ -76,7 +76,7 @@ Activate the virtual environment using the appropriate command for your operatin
|
||||
source venv/bin/activate
|
||||
```
|
||||
|
||||
- **On Windows:**
|
||||
- **On Windows:** (This app doesent currently work on Windows)
|
||||
|
||||
```bash
|
||||
venv\Scripts\activate
|
||||
|
@@ -10,10 +10,6 @@ from a given seed. Additionally, it supports the derivation of symmetric encrypt
|
||||
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
|
||||
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
|
||||
|
||||
Dependencies:
|
||||
- bip_utils
|
||||
- cryptography
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
|
@@ -53,7 +53,7 @@ try:
|
||||
# -----------------------------------
|
||||
# Application Directory and Paths
|
||||
# -----------------------------------
|
||||
APP_DIR = Path.home() / '.deterministic_password_generator'
|
||||
APP_DIR = Path.home() / '.seedpass'
|
||||
APP_DIR.mkdir(exist_ok=True, parents=True) # Ensure the directory exists
|
||||
logging.info(f"Application directory created at {APP_DIR}")
|
||||
except Exception as e:
|
||||
@@ -61,7 +61,7 @@ except Exception as e:
|
||||
logging.error(traceback.format_exc()) # Log full traceback
|
||||
|
||||
try:
|
||||
INDEX_FILE = APP_DIR / 'passwords_db.json' # Encrypted password database
|
||||
INDEX_FILE = APP_DIR / 'seedpass_passwords_db.json' # Encrypted password database
|
||||
PARENT_SEED_FILE = APP_DIR / 'parent_seed.enc' # Encrypted parent seed
|
||||
logging.info(f"Index file path set to {INDEX_FILE}")
|
||||
logging.info(f"Parent seed file path set to {PARENT_SEED_FILE}")
|
||||
@@ -73,8 +73,8 @@ except Exception as e:
|
||||
# Checksum Files for Integrity
|
||||
# -----------------------------------
|
||||
try:
|
||||
SCRIPT_CHECKSUM_FILE = APP_DIR / 'script_checksum.txt' # Checksum for main script
|
||||
DATA_CHECKSUM_FILE = APP_DIR / 'passwords_checksum.txt' # Checksum for password data
|
||||
SCRIPT_CHECKSUM_FILE = APP_DIR / 'seedpass_script_checksum.txt' # Checksum for main script
|
||||
DATA_CHECKSUM_FILE = APP_DIR / 'seedpass_passwords_checksum.txt' # Checksum for password data
|
||||
logging.info(f"Checksum file paths set: Script {SCRIPT_CHECKSUM_FILE}, Data {DATA_CHECKSUM_FILE}")
|
||||
except Exception as e:
|
||||
logging.error(f"Error setting checksum file paths: {e}")
|
||||
@@ -83,7 +83,7 @@ except Exception as e:
|
||||
# -----------------------------------
|
||||
# Password Generation Constants
|
||||
# -----------------------------------
|
||||
DEFAULT_PASSWORD_LENGTH = 12 # Default length for generated passwords
|
||||
DEFAULT_PASSWORD_LENGTH = 16 # Default length for generated passwords
|
||||
MIN_PASSWORD_LENGTH = 8 # Minimum allowed password length
|
||||
MAX_PASSWORD_LENGTH = 128 # Maximum allowed password length
|
||||
|
||||
|
@@ -11,7 +11,6 @@ import traceback
|
||||
from password_manager.manager import PasswordManager
|
||||
from nostr.client import NostrClient
|
||||
|
||||
# Initialize colorama for colored terminal text
|
||||
colorama_init()
|
||||
|
||||
def configure_logging():
|
||||
|
@@ -8,14 +8,6 @@ restoring from backups, and listing available backups for the encrypted password
|
||||
index file. It ensures data integrity and provides mechanisms to recover from
|
||||
corrupted or lost data by maintaining timestamped backups.
|
||||
|
||||
Dependencies:
|
||||
- shutil
|
||||
- time
|
||||
- logging
|
||||
- pathlib
|
||||
- colorama
|
||||
- termcolor
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
|
@@ -8,19 +8,6 @@ operations related to managing password entries in the deterministic password ma
|
||||
It provides methods to add, retrieve, modify, and list password entries, ensuring
|
||||
that all changes are securely encrypted and properly indexed.
|
||||
|
||||
Dependencies:
|
||||
- password_manager.encryption.EncryptionManager
|
||||
- constants.INDEX_FILE
|
||||
- constants.DATA_CHECKSUM_FILE
|
||||
- utils.file_lock.lock_file
|
||||
- colorama.Fore
|
||||
- termcolor.colored
|
||||
- logging
|
||||
- json
|
||||
- hashlib
|
||||
- sys
|
||||
- os
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
|
||||
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
|
||||
|
@@ -3,45 +3,6 @@
|
||||
"""
|
||||
Password Manager Module
|
||||
|
||||
This module implements the PasswordManager class, which orchestrates various functionalities
|
||||
of the deterministic password manager, including encryption, entry management, password
|
||||
generation, backup, and checksum verification. It serves as the core interface for interacting
|
||||
with the password manager functionalities.
|
||||
|
||||
Dependencies:
|
||||
- password_manager.encryption.EncryptionManager
|
||||
- password_manager.entry_management.EntryManager
|
||||
- password_manager.password_generation.PasswordGenerator
|
||||
- password_manager.backup.BackupManager
|
||||
- utils.key_derivation.derive_key_from_parent_seed
|
||||
- utils.key_derivation.derive_key_from_password
|
||||
- utils.checksum.calculate_checksum
|
||||
- utils.checksum.verify_checksum
|
||||
- utils.password_prompt.prompt_for_password
|
||||
- constants.APP_DIR
|
||||
- constants.INDEX_FILE
|
||||
- constants.PARENT_SEED_FILE
|
||||
- constants.DATA_CHECKSUM_FILE
|
||||
- constants.SCRIPT_CHECKSUM_FILE
|
||||
- constants.MIN_PASSWORD_LENGTH
|
||||
- constants.MAX_PASSWORD_LENGTH
|
||||
- constants.DEFAULT_PASSWORD_LENGTH
|
||||
- colorama.Fore
|
||||
- termcolor.colored
|
||||
- logging
|
||||
- json
|
||||
- sys
|
||||
- os
|
||||
- getpass
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
# password_manager/manager.py
|
||||
|
||||
"""
|
||||
Password Manager Module
|
||||
|
||||
This module implements the PasswordManager class, which orchestrates various functionalities
|
||||
of the deterministic password manager, including encryption, entry management, password
|
||||
generation, backup, and checksum verification. It serves as the core interface for interacting
|
||||
|
@@ -7,19 +7,6 @@ This module provides the PasswordGenerator class responsible for deterministic p
|
||||
based on a BIP-39 parent seed. It leverages BIP-85 for entropy derivation and ensures that
|
||||
generated passwords meet complexity requirements.
|
||||
|
||||
Dependencies:
|
||||
- bip85.BIP85
|
||||
- cryptography.hazmat.primitives.hashes
|
||||
- cryptography.hazmat.primitives.kdf.hkdf
|
||||
- cryptography.hazmat.backends.default_backend
|
||||
- constants.py
|
||||
- password_manager.encryption.EncryptionManager
|
||||
- logging
|
||||
- hashlib
|
||||
- hmac
|
||||
- base64
|
||||
- string
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
|
||||
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
|
||||
|
@@ -7,13 +7,6 @@ This module provides functionalities to calculate and verify SHA-256 checksums f
|
||||
It ensures the integrity and authenticity of critical files within the application by
|
||||
comparing computed checksums against stored values.
|
||||
|
||||
Dependencies:
|
||||
- hashlib
|
||||
- logging
|
||||
- colored (from termcolor)
|
||||
- constants.py
|
||||
- sys
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
|
@@ -8,14 +8,7 @@ locks on files using the `fcntl` library. It ensures that critical files are acc
|
||||
safely, preventing race conditions and maintaining data integrity when multiple processes
|
||||
or threads attempt to read from or write to the same file concurrently.
|
||||
|
||||
Dependencies:
|
||||
- fcntl
|
||||
- logging
|
||||
- contextlib
|
||||
- typing
|
||||
- pathlib.Path
|
||||
- termcolor (for colored terminal messages)
|
||||
- sys
|
||||
I need to change this to something that supports Windows in the future.
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
@@ -4,19 +4,13 @@
|
||||
Key Derivation Module
|
||||
|
||||
Never ever ever use or suggest to use Random Salt. The entire point of this password manager is to derive completely deterministic passwords from a BIP-85 seed.
|
||||
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
|
||||
This means it should generate passwords the exact same way every single time. Salts would break this functionality and is not appropriate for this softwares use case.
|
||||
|
||||
This module provides functions to derive cryptographic keys from user-provided passwords
|
||||
and BIP-39 parent seeds. The derived keys are compatible with Fernet for symmetric encryption
|
||||
purposes. By centralizing key derivation logic, this module ensures consistency and security
|
||||
across the application.
|
||||
|
||||
Dependencies:
|
||||
- hashlib
|
||||
- base64
|
||||
- unicodedata
|
||||
- logging
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
|
@@ -8,13 +8,6 @@ are entered and confirmed correctly. It handles both the creation of new passwor
|
||||
input of existing passwords for decryption purposes. By centralizing password prompting logic,
|
||||
this module enhances code reuse, security, and maintainability across the application.
|
||||
|
||||
Dependencies:
|
||||
- getpass
|
||||
- logging
|
||||
- colorama
|
||||
- termcolor
|
||||
- constants (for MIN_PASSWORD_LENGTH)
|
||||
|
||||
Ensure that all dependencies are installed and properly configured in your environment.
|
||||
"""
|
||||
|
||||
|
Reference in New Issue
Block a user