chore: simplify plugin readmes, changelogs and manifest descriptions

This commit is contained in:
LukeGus committed 2026-09-27 00:24:48 -05:00
1 parent 7423e33184
commit 8043d6dbdd
96 files changed
+1147 -722

No files matched your search

+26 -33
View File
@@ -1,44 +1,37 @@
# Tunnels
SSH port forwarding between servers, and client tunnels from the desktop app.
SSH port forwarding between servers, plus local tunnels from the desktop app.
Bundled with Termix and enabled by default. It imports only
`@termix/plugin-sdk`.
## Features
## What it does
- Local, remote and dynamic (SOCKS5) SSH tunnels saved on a host.
- Start tunnels from the Tunnels tab or the host editor, or on boot.
- Route a tunnel through a second host.
- Local tunnels from the desktop app, with saved presets.
- Adds a tunnels widget to the homepage.
- **Server tunnels**: local, remote and dynamic (SOCKS5) forwards saved on a
host, started from the Tunnels tab, the host editor or at boot when marked
auto-start. A tunnel either rides the source host's connection alone, or
opens a second SSH leg to a Termix endpoint host through a channel on the
source connection.
- **Client tunnels**: the desktop app listens locally and relays each
connection over `/plugin-ws/tunnels/c2s/stream`; presets of that list are
saved per user.
- **`tunnels.access`**: a service other plugins call. `forward()` opens an
on-demand forward and resolves once it works (web-endpoint uses it);
`start`/`stop`/`status`/`list` work on saved tunnels by name (automations).
## Settings
Both SSH legs go through `ctx.ssh.connect`, so tunnels get host key checks,
auth providers, proxies and jump hosts like every other transport. The
endpoint leg passes its forwardOut channel as `sock`.
### Host
## Layout
- Enable tunnels and the list of saved tunnels for this host.
manifest.json id, capabilities and what this plugin contributes
src/backend/ activate(ctx), the tunnel manager, routes, relay, service
src/shared/ types and tunnel naming used by both bundles
migrations/ one .sql per dialect, generated from src/backend/tables.ts
src/frontend/ the tab, host editor section, rail panel and widget
locales/en.json its strings (English only; the rest are translated)
tests/backend/ vitest, node
tests/frontend/ vitest, jsdom
## Permissions
## Data
- `tunnels.use`: Use tunnels. Admins and users have it by default.
- `p_tunnels_presets`, adopted from core's `c2s_tunnel_presets`.
- Host settings `enableTunnel` and `tunnelConnections`, copied from the
`ssh_data` columns of the same names by core's
`tunnels-settings-migration.ts`.
## Services
See packages/plugin-sdk/ARCHITECTURE.md for the contract this follows.
Provides to other plugins:
- `tunnels.access`: open a tunnel on demand, or start, stop and check saved tunnels.
## Development
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
```
See `packages/plugin-sdk/ARCHITECTURE.md` for the plugin contract.