Transfer files between local and remote servers using rsync with SSH config integration
npm install raycast-rsync-extensionA Raycast extension for transferring files between local and remote servers using rsync with SSH config integration.
- Upload files from local system to remote servers
- Download files from remote servers to local system
- Automatic SSH config parsing from ~/.ssh/config
- Support for recursive directory transfers
- User-friendly interface with searchable host list
1. Clone this repository
2. Run npm install to install dependencies
3. Run npm run dev to start development mode
1. Open Raycast and search for "Upload Files via Rsync"
2. Select a host from your SSH config
3. Choose local files to upload
4. Enter the remote destination path
5. Confirm to start the transfer
1. Open Raycast and search for "Download Files via Rsync"
2. Select a host from your SSH config
3. Enter the remote file path
4. Choose local destination directory
5. Confirm to start the transfer
- SSH config file at ~/.ssh/config with configured hosts
- SSH access to remote servers
- rsync installed (usually pre-installed on macOS and Linux)
- Raycast installed
``bashInstall dependencies
npm install
Testing
The project includes comprehensive test coverage using Vitest:
- Unit tests for utilities (SSH config parsing, validation, rsync command building)
- Component tests for UI components
- E2E tests for upload and download workflows
Run tests with
npm run test or use npm run test:watch` for development.This project is licensed under the MIT License - see the LICENSE file for details.