docs: refresh readme and legal info

This commit is contained in:
2026-05-07 20:22:12 +00:00
parent 5fbe2eb80b
commit 7bb6559748
6 changed files with 287 additions and 243 deletions
+36 -19
View File
@@ -1,6 +1,6 @@
# @serve.zone/dcrouter-web
Browser-side frontend for the dcrouter Ops dashboard. This folder is the SPA entrypoint, router, app state, and web-component UI rendered by OpsServer.
`@serve.zone/dcrouter-web` is the browser-side Ops dashboard module for dcrouter. It provides the SPA entry point, route synchronization, app state, and web-component views that OpsServer serves from the main dcrouter runtime.
## Issue Reporting and Security
@@ -8,10 +8,12 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
## What It Boots
- `index.ts` initializes the app router and renders `<ops-dashboard>` into `document.body`
- `router.ts` defines top-level dashboard routes and subviews
- `appstate.ts` holds reactive state, TypedRequest actions, and TypedSocket log streaming
- `elements/` contains the dashboard shell and feature views
| File | Purpose |
| --- | --- |
| `index.ts` | Initializes the app router and renders `<ops-dashboard>` into `document.body`. |
| `router.ts` | Defines top-level dashboard routes, subviews, redirects, and URL/state synchronization. |
| `appstate.ts` | Holds reactive login, UI, config, stats, route, DNS, email, remote ingress, VPN, and log state. |
| `elements/` | Contains the dashboard shell and feature-specific Dees web components. |
## View Map
@@ -20,37 +22,52 @@ For reporting bugs, issues, or security vulnerabilities, please visit [community
| `overview` | `stats`, `configuration` |
| `network` | `activity`, `routes`, `sourceprofiles`, `networktargets`, `targetprofiles`, `remoteingress`, `vpn` |
| `email` | `log`, `security`, `domains` |
| `logs` | flat view |
| `access` | `apitokens`, `users` |
| `security` | `overview`, `blocked`, `authentication` |
| `domains` | `providers`, `domains`, `dns`, `certificates` |
| `logs` | flat view |
## How It Talks To dcrouter
## Runtime Communication
- TypedRequest for the main API surface
- shared request and data contracts from `@serve.zone/dcrouter-interfaces`
- TypedSocket for real-time log streaming
- QR code generation for VPN client UX
The dashboard talks to the dcrouter OpsServer through:
## Development Notes
- TypedRequest calls for normal API actions
- shared contracts from `@serve.zone/dcrouter-interfaces`
- TypedSocket log streaming for live operational output
- Dees web components and app-state subscriptions for UI updates
- QR code rendering for VPN client UX
This package is the frontend module boundary, but it is built and served as part of the main workspace.
## Usage
This package is primarily consumed by the main dcrouter build and served by OpsServer. Install it directly only when you intentionally need the dashboard module boundary.
```bash
pnpm add @serve.zone/dcrouter-web
```
For the full server and hosted dashboard, use `@serve.zone/dcrouter`.
## Development
This folder is published from the dcrouter monorepo via `tspublish.json` with order `4`.
```bash
pnpm run build
pnpm run watch
```
The built dashboard assets are emitted into `dist_serve/` by the workspace build pipeline.
The dcrouter build emits served dashboard assets into `dist_serve/`.
## What This Package Is For
Useful source entry points:
- Use it when you want the dashboard frontend as its own published module boundary.
- Use `@serve.zone/dcrouter` when you want the server that actually hosts this UI and the backend API.
- `index.ts` boots the frontend.
- `router.ts` owns URL/view state synchronization.
- `elements/ops-dashboard.ts` defines the app shell and tab map.
- `elements/network/`, `elements/domains/`, `elements/email/`, `elements/security/`, `elements/access/`, and `elements/overview/` hold feature views.
## License and Legal Information
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [LICENSE](../license) file.
This repository contains open-source code licensed under the MIT License. A copy of the license can be found in the [license](../license) file.
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
@@ -62,7 +79,7 @@ Use of these trademarks must comply with Task Venture Capital GmbH's Trademark G
### Company Information
Task Venture Capital GmbH
Task Venture Capital GmbH
Registered at District Court Bremen HRB 35230 HB, Germany
For any legal inquiries or further information, please contact us via email at hello@task.vc.