- Updated password storage mechanism to use AES-GCM encryption instead of Base64 encoding.
- Modified UI messages to reflect the new encryption method.
- Refactored history management to accommodate encrypted passwords.
- Introduced new functions for handling password encryption and decryption.
- Added IndexedDB support for securely storing the encryption key.
- Enhanced profile loading and migration logic to support legacy profiles with Base64 passwords.
- Improved error handling and user feedback during password operations.
- Removed ACCESS_TOKEN and ALLOW_ANONYMOUS from environment variables and related logic.
- Updated README and documentation to reflect changes in access control and session management.
- Introduced history tracking for SSH connections, allowing automatic saving of successful connections.
- Modified frontend to display connection history instead of saved targets, with appropriate UI updates.
- Refactored backend security logic to remove access token validation.
- Added new history management functions to handle connection entries.
- Implemented language loading and switching functionality, allowing users to toggle between Chinese (zh-CN) and English (en).
- Introduced a new LocalizedMessage interface and updated existing messages to support bilingual translations.
- Refactored event labels and server messages to use a translation array for better localization management.
- Added CSS styles for language toggle button and icons.
- Created a new language-bootstrap module to handle initial language setup based on local storage or browser settings.
- Add KEXInitBuilder and parsing functions for SSH key exchange initialization.
- Implement key derivation for session keys using shared secrets and exchange hashes.
- Create SSHPacketParser and SSHPacketBuilder for handling SSH packets.
- Establish SSHTransport for managing version exchange and connection setup.
- Introduce utility functions for data manipulation and encoding.
- Define types for SSH packets, key exchange messages, and session configurations.
- Set up worker environment with session management and request handling.
- Configure TypeScript and Vite for frontend and worker builds.
- Add tests and coverage configuration for SSH components.
- Initialize Wrangler configuration for deployment.