Proxy that renders client-side JS apps (e.g. React) on server
Find a file
2024-04-28 10:59:37 +03:00
.github/workflows feat: render route 2024-03-21 14:50:01 +03:00
src feat: render route 2024-03-21 14:50:01 +03:00
.env.example feat: render route 2024-03-21 14:50:01 +03:00
.eslintrc.json feat: render route 2024-03-21 14:50:01 +03:00
.gitattributes Initial commit 2024-03-21 12:24:35 +03:00
.gitignore feat: render route 2024-03-21 14:50:01 +03:00
.prettierrc feat: render route 2024-03-21 14:50:01 +03:00
docker-compose.yml feat: render route 2024-03-21 14:50:01 +03:00
Dockerfile feat: render route 2024-03-21 14:50:01 +03:00
LICENSE Initial commit 2024-03-21 12:24:35 +03:00
package.json feat: render route 2024-03-21 14:50:01 +03:00
pnpm-lock.yaml Update pnpm-lock.yaml 2024-04-28 10:59:37 +03:00
README.md Correct Readme 2024-04-26 18:34:29 +00:00
tsconfig.json feat: render route 2024-03-21 14:50:01 +03:00

webder

Proxy that renders client-side JavaScript apps (e.g. React apps) on server and returns the resulting HTML code.

  • JS is disabled/unsupported, no proxy: blank page or "Enable JS to continue"
  • With webder: all desired content, no need to use JS interpreter

Warning

No HTML purification is performed, so passing code directly from webder can lead to XSS attacks. Local network requests are not blocked too, check domains/IPs to avoid SSRF attacks. Webder is not intended to be used as a standalone internet-facing browser wrapper. It is a kind of internal service to which other apps (maybe internet-facing) send API requests. Either restrict connections to 127.0.0.1 only, or put webder behind a firewall and a reverse proxy (probably with authentication).

Usage

/render?url=...

For available config fields, check .env.example.
Docker is supported.

npm install
npm run build
npm start