Skip to content

mitsuki-sato1/redom

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Redom -- Remote DOM Rendering Project

Overview

This project enables remote web browsing by reconstructing the DOM tree and rendering pages on the client side. It can be used for RBI (Remote Browser Isolation) scenarios or other cloud-based rendering applications.

The project is currently at an early scaffolding stage. It can render basic pages and handle simple click interactions, but many core features are still under development.

If you are interested, you can run and develop the project by following the instructions below.

Architecture

The project is built with Node.js and Electron, and is divided into three main components:

  • model
    Shared models used for communication between the local and remote sides.

  • local
    The local client responsible for rendering the reconstructed DOM and handling user interactions.

  • remote
    The remote client responsible for loading pages, extracting DOM information, and sending it to the local side.

model  <---->  local
   \            /
    \          /
      ------ remote

Features

  • Remote page loading and DOM extraction
  • DOM tree reconstruction on the local client
  • Basic page rendering
  • Basic click event handling

⚠️ Many advanced features (input handling, scrolling, media, etc.) are still under development.

Getting Started

Prerequisites

  • Node.js (recommended: LTS version)
  • npm
  • Electron-compatible environment

Run the local client

npm run dev

Run the remote client

npm run dev

Make sure to start both local and remote services for the project to work correctly.

Development Status

This project is currently in a proof-of-concept / scaffolding phase. The main focus is validating the feasibility of DOM-based remote rendering.

Planned improvements include:

  • Complete DOM diff & sync mechanism
  • CSS and layout accuracy improvements
  • Scroll, keyboard, and advanced input support
  • Media (audio/video) handling
  • Performance optimizations
  • Security hardening for RBI scenarios

Use Cases

  • Remote Browser Isolation (RBI)
  • Secure browsing environments
  • Cloud-rendered web applications
  • Experimental browser architecture research

Contributing

Contributions, ideas, and discussions are welcome. Feel free to experiment, open issues, or submit pull requests.

License

MIT

About

Enable remote browsing by reconstructing the DOM to render the pages.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages