Proxy that renders client-side JS apps (e.g. React) on server
Find a file
2024-07-23 20:01:59 +03:00
.github/workflows fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
src fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
.dockerignore fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
.env.example doc: update .env.example 2024-07-23 18:40:34 +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 fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
Dockerfile fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
LICENSE Initial commit 2024-03-21 12:24:35 +03:00
package.json ci: remove unused command 2024-05-16 16:47:29 +03:00
pnpm-lock.yaml fix: docker, docs, workflows 2024-05-16 16:44:49 +03:00
README.md doc: add logo 2024-07-23 20:01:59 +03:00
tsconfig.json feat: render route 2024-03-21 14:50:01 +03:00

webder logo

webder

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

Response without proxy With webder
JS is disabled/unsupported, blank page or "Enable JS to continue" 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

The proxy is accessible at /render?url=... by default.

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

pnpm install
pnpm run build
pnpm start