Skip to content

SaqAsh/RetroStream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RetroStream - Real-Time Screen Streaming

A high-performance screen streaming application with a retro cyberpunk aesthetic, built with Rust backend and TypeScript frontend.

RetroStream Screenshot

How to Use

  1. Start the backend

    nix-shell
    cargo run
  2. Start the frontend

    nix-shell --run "cd frontend && bun install && bun run dev"
  3. Open in browser

    • Go to http://localhost:3000
    • Your screen will be streamed live
    • Share the URL with others to let them view your screen

Development

Prerequisites

  • Nix package manager (handles all dependencies automatically)
  • Modern web browser

Backend Development

nix-shell
cargo run                    # Run once
cargo watch -x run          # Auto-reload on changes
cargo build --release       # Optimized build

Frontend Development

nix-shell
cd frontend
bun install                  # Install dependencies
bun run dev                  # Development server

Tech Stack

  • Backend: Rust, Tokio, Axum, WebSockets, xcap screen capture
  • Frontend: TypeScript, Vite, Canvas API, WebSockets

TODO!

  • Turn project into rust (wasm compatible) library for users to embed in their own apps.
  • Move Self-Hosting docker files to the examples/ folder.
  • Upload Package using workflow to npm registry.
  • Offload capture frame logic to gpu using wgpu.
  • Fix threads not exiting on shutdown.

About

Application written in Rust that livestreams your screen on the web

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •