/rust-zoom

zoom clone using rust for RESEARCH PURPOSES

Primary LanguageRustMIT LicenseMIT

▶️ YouTube Channel

https://www.youtube.com/@securityunion

Rust Zoom Research Project

rust

MVP of a teleconferencing system written in rust, both the backend and the UI.

Security Union LLC is not associated with Zoom Video Communications, but we are big fans of their products!!

How to test?

Setup

Technically you could test this with a single computer, but it is more fun if you use 2+.

Steps

  1. Open chrome://flags on all the computers that you want to use to test the tele-conferencing system, add the ip of the computer that you will use as the server to the Insecure origins treated as secure list.

Screen Shot 2022-10-24 at 8 18 15 AM

  1. Start the servers on the computer that you intent to use as the server using make up (requires docker).

  2. Connect all computers to http://<server-ip>/meeting/<username>/<meeting-id>

  3. Make sure that you "allow" access to your mic and camera:

Screen Shot 2022-10-24 at 8 23 50 AM

  1. Click connect on both browsers, and enjoy:

Oct-24-2022 08-37-09

▶️ YouTube Channel

https://www.youtube.com/@securityunion

👉 Join our Discord Community

You can join our Discord Community, here is the invite link.

👨‍💻 Project Structure

Contains 3 sub-projects

  1. actix-api: actix web server
  2. yew-ui: Yew frontend
  3. types: json serializable structures used to communicate the frontend and backend.

Dockerized workflow

  1. Install docker
  2. Run one of the supported make commands
make test
make up
make down
make build

Legal Notice

ZOOM is a trademark of Zoom Video Communications, Inc.

Security Union LLC is not associated with Zoom Video Communications, but we are big fans of their product!!

This project was created to learn about video + audio streaming using only RUST (with some html + css).