mirror of
https://github.com/TxtDot/webder.git
synced 2024-12-03 17:56:21 +03:00
Proxy that renders client-side JS apps (e.g. React) on server
.github/workflows | ||
src | ||
.dockerignore | ||
.env.example | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.prettierrc | ||
docker-compose.yml | ||
Dockerfile | ||
LICENSE | ||
package.json | ||
pnpm-lock.yaml | ||
README.md | ||
tsconfig.json |
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