mirror of
https://github.com/Termix-SSH/Termix.git
synced 2026-10-29 22:55:24 +00:00
chore: simplify plugin readmes, changelogs and manifest descriptions
This commit is contained in:
1 parent
7423e33184
commit
8043d6dbdd
96 files changed
+1147
-722
No files matched your search
@@ -2,17 +2,6 @@
|
||||
|
||||
## 1.0.0
|
||||
|
||||
Bundled with Termix 2.9.0.
|
||||
First release, bundled with Termix 2.9.0.
|
||||
|
||||
- Tunnels moved out of core's own server on port 30003 and now serve under
|
||||
`/plugin-api/tunnels` and `/plugin-ws/tunnels`.
|
||||
- Both SSH legs of a tunnel now go through core's connect pipeline, so a host
|
||||
with an unknown or changed host key is refused the same way every other
|
||||
connection refuses it.
|
||||
- Owns its data: core's `c2s_tunnel_presets` table is renamed to
|
||||
`p_tunnels_presets` on first activation, and each host's tunnel switch and
|
||||
saved tunnels move into this plugin's host settings.
|
||||
- New `tunnels.use` permission, given to the admin and user roles.
|
||||
- Offers `tunnels.access` to other plugins, used by web-endpoint and
|
||||
automations. A tunnel that drops on its own emits
|
||||
`plugin.tunnels.tunnel_disconnected`.
|
||||
Adds SSH port forwarding between servers, with local, remote and SOCKS5 tunnels that can start on boot. The desktop app can also open local tunnels.
|
||||
+26
-33
@@ -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.
|
||||
@@ -2,7 +2,7 @@
|
||||
"id": "tunnels",
|
||||
"name": "Tunnels",
|
||||
"version": "1.0.0",
|
||||
"description": "SSH port forwarding between servers, and client tunnels from the desktop app.",
|
||||
"description": "SSH port forwarding between servers, plus local tunnels from the desktop app.",
|
||||
"author": {
|
||||
"name": "Termix"
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user