Skip to content
/ webder Public

Proxy that renders client-side JS apps (e.g. React) on server

License

Notifications You must be signed in to change notification settings

TxtDot/webder

Repository files navigation

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