feat: implement comprehensive SSH credentials management system

- Add complete SSH credentials CRUD operations with AES-256 encryption
- Implement database migration system for schema versioning
- Create modern UI with Zinc theme for credentials management
- Add credential viewer and editor with responsive design
- Support password and SSH key authentication methods
- Include usage tracking and folder organization
- Enhance sidebar width and improve page spacing
- Add comprehensive i18n support (EN/ZH)
- Integrate with existing SSH host management

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
ZacharyZcR
2025-09-06 16:21:18 +08:00
parent fee5961482
commit 81fca5b074
17 changed files with 3464 additions and 19 deletions
+100
View File
@@ -1,4 +1,103 @@
{
"credentials": {
"credentialsManager": "Credentials Manager",
"manageYourSSHCredentials": "Manage your SSH credentials securely",
"addCredential": "Add Credential",
"createCredential": "Create Credential",
"editCredential": "Edit Credential",
"viewCredential": "View Credential",
"duplicateCredential": "Duplicate Credential",
"deleteCredential": "Delete Credential",
"updateCredential": "Update Credential",
"credentialName": "Credential Name",
"credentialDescription": "Description",
"searchCredentials": "Search credentials...",
"selectFolder": "Select Folder",
"selectAuthType": "Select Auth Type",
"allFolders": "All Folders",
"allAuthTypes": "All Auth Types",
"uncategorized": "Uncategorized",
"totalCredentials": "Total",
"keyBased": "Key-based",
"passwordBased": "Password-based",
"folders": "Folders",
"noCredentialsMatchFilters": "No credentials match your filters",
"noCredentialsYet": "No credentials created yet",
"createFirstCredential": "Create your first credential",
"failedToFetchCredentials": "Failed to fetch credentials",
"credentialDeletedSuccessfully": "Credential deleted successfully",
"failedToDeleteCredential": "Failed to delete credential",
"confirmDeleteCredential": "Are you sure you want to delete credential \"{{name}}\"?",
"credentialCreatedSuccessfully": "Credential created successfully",
"credentialUpdatedSuccessfully": "Credential updated successfully",
"failedToSaveCredential": "Failed to save credential",
"failedToFetchCredentialDetails": "Failed to fetch credential details",
"failedToFetchHostsUsing": "Failed to fetch hosts using this credential",
"basicInfo": "Basic Info",
"authentication": "Authentication",
"organization": "Organization",
"basicInformation": "Basic Information",
"basicInformationDescription": "Enter the basic information for this credential",
"authenticationMethod": "Authentication Method",
"authenticationMethodDescription": "Choose how you want to authenticate with SSH servers",
"organizationDescription": "Organize your credentials with folders and tags",
"enterCredentialName": "Enter credential name",
"enterCredentialDescription": "Enter description (optional)",
"enterUsername": "Enter username",
"nameIsRequired": "Credential name is required",
"usernameIsRequired": "Username is required",
"authenticationType": "Authentication Type",
"passwordAuthDescription": "Use password authentication",
"sshKeyAuthDescription": "Use SSH key authentication",
"passwordIsRequired": "Password is required",
"sshKeyIsRequired": "SSH key is required",
"sshKeyType": "SSH Key Type",
"privateKey": "Private Key",
"enterPassword": "Enter password",
"enterPrivateKey": "Enter private key",
"keyPassphrase": "Key Passphrase",
"enterKeyPassphrase": "Enter key passphrase (optional)",
"keyPassphraseOptional": "Optional: leave empty if your key has no passphrase",
"leaveEmptyToKeepCurrent": "Leave empty to keep current value",
"uploadKeyFile": "Upload Key File",
"generateKeyPair": "Generate Key Pair",
"sshKeyGenerationNotImplemented": "SSH key generation feature coming soon",
"connectionTestingNotImplemented": "Connection testing feature coming soon",
"testConnection": "Test Connection",
"selectOrCreateFolder": "Select or create folder",
"noFolder": "No folder",
"orCreateNewFolder": "Or create new folder",
"addTag": "Add tag",
"saving": "Saving...",
"overview": "Overview",
"security": "Security",
"usage": "Usage",
"securityDetails": "Security Details",
"securityDetailsDescription": "View encrypted credential information",
"credentialSecured": "Credential Secured",
"credentialSecuredDescription": "All sensitive data is encrypted with AES-256",
"passwordAuthentication": "Password Authentication",
"keyAuthentication": "Key Authentication",
"keyType": "Key Type",
"securityReminder": "Security Reminder",
"securityReminderText": "Never share your credentials. All data is encrypted at rest.",
"hostsUsingCredential": "Hosts Using This Credential",
"noHostsUsingCredential": "No hosts are currently using this credential",
"timesUsed": "Times Used",
"lastUsed": "Last Used",
"connectedHosts": "Connected Hosts",
"created": "Created",
"lastModified": "Last Modified",
"usageStatistics": "Usage Statistics",
"copiedToClipboard": "{{field}} copied to clipboard",
"failedToCopy": "Failed to copy to clipboard",
"sshKey": "SSH Key",
"createCredentialDescription": "Create a new SSH credential for secure access",
"editCredentialDescription": "Update the credential information",
"listView": "List",
"folderView": "Folders",
"unknown": "Unknown"
},
"sshTools": {
"title": "SSH Tools",
"closeTools": "Close SSH Tools",
@@ -120,6 +219,7 @@
"nav": {
"home": "Home",
"hosts": "Hosts",
"credentials": "Credentials",
"terminal": "Terminal",
"tunnels": "Tunnels",
"fileManager": "File Manager",