https://github.com/lichon/rustdesk-web-ts
rustdesk web terminal, support rustdesk terminal, ttyd backend, webtty, file transfer, view camera, screen on remote peer
https://github.com/lichon/rustdesk-web-ts
rustdesk rustdesk-client rustdesk-web-client ttyd webrtc
Last synced: 9 days ago
JSON representation
rustdesk web terminal, support rustdesk terminal, ttyd backend, webtty, file transfer, view camera, screen on remote peer
- Host: GitHub
- URL: https://github.com/lichon/rustdesk-web-ts
- Owner: lichon
- Created: 2025-11-19T08:49:48.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2026-05-02T20:40:24.000Z (about 2 months ago)
- Last Synced: 2026-06-09T03:42:59.748Z (9 days ago)
- Topics: rustdesk, rustdesk-client, rustdesk-web-client, ttyd, webrtc
- Language: TypeScript
- Homepage: https://tty.ttysvc.cc
- Size: 4.39 MB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# RustDesk Web Client

## Features
* **Remote Desktop Access:** Connect to RustDesk client from the web.
* **Remote Camera Access:** View remote camera/desktop from the web.
* **File Transfers:** Support for trzsz/ZMODEM file transfers.
* **Terminal Interface:** Built with Xterm.js for a powerful and feature-rich terminal experience.
* **Modern Tech Stack:** Utilizes React, Vite, and TypeScript for a fast and reliable development experience.
* **Deployable on the Edge:** Designed to be deployed to Cloudflare Workers.
* **Built-in rustdesk server:** rustdesk hbbs with websocket relay supported.
## Ideas
* [ ] Dockerfile for local deploy
* [ ] ssh from web
* [ ] keyboard mouse control
* [ ] more handy cli utils
## Getting Started
Follow these instructions to get a local copy up and running for development and testing purposes.
### Prerequisites
* [Node.js](https://nodejs.org/) (v18 or later recommended)
* [pnpm](https://pnpm.io/installation)
### Installation
1. Clone the repository:
```sh
git clone https://github.com/lichon/rustdesk-web-ts.git
cd rustdesk-web-ts
```
2. Install the dependencies:
```sh
pnpm install
```
### Development
To run the application in development mode:
```sh
pnpm dev
```
This will start a local development server, typically at `http://localhost:80`.
### Building
To create a production build of the application:
```sh
pnpm build
```
The build artifacts will be stored in the `dist/` directory.
## Deployment
This project is configured for deployment to [Cloudflare Workers](https://workers.cloudflare.com/).
To deploy the application, run:
```sh
pnpm deploy
```
This will build the project and deploy it using the Wrangler CLI.
## Available Scripts
* `pnpm dev`: Runs the app in development mode.
* `pnpm build`: Builds the app for production.
* `pnpm lint`: Lints the source code using ESLint.
* `pnpm preview`: Serves the production build locally for preview.
* `pnpm deploy`: Deploys the application to Cloudflare Workers.
* `pnpm cf-typegen`: Generates types for Cloudflare Workers.
## Technologies Used
* [React](https://react.dev/)
* [Vite](https://vitejs.dev/)
* [TypeScript](https://www.typescriptlang.org/)
* [Xterm.js](https://xtermjs.org/) - Terminal UI component
* [Hono](https://hono.dev/) - Web framework for the worker
* [Tailwind CSS](https://tailwindcss.com/)
* [Protobuf-TS](https://github.com/protobuf-ts/protobuf-ts) - Protocol Buffers for TypeScript
* [Cloudflare Workers](https://workers.cloudflare.com/)