- Implemented process channel management in SSHSession, including opening and closing channels, handling process output, and sending process snapshots.
- Added WebSocket support for process monitoring, allowing clients to attach and receive real-time process data.
- Created a new ProcessManager class in the frontend to manage the display of process information, including CPU and memory usage.
- Introduced a top-parser module to parse the output of the `top` command and extract relevant process metrics.
- Updated backend session handling to support process attachment URLs and tokens.
- Enhanced error handling and status messaging for process monitoring.
- Added sftp-types.ts to define SFTP protocol constants, types, and attributes.
- Introduced sftp.ts to implement the SFTP client, handling requests, responses, and error management.
- Implemented methods for file operations including open, read, write, remove, and directory management.
- Added error handling for SFTP protocol errors and timeouts.
- Included utility functions for encoding and decoding SFTP packets.
- 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.
- 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.