chore: rework plugin readmes, json changelogs and standalone repo setup

This commit is contained in:
LukeGus committed 2026-10-04 21:25:16 -05:00
1 parent a8f383d2b3
commit 29a946d02e
500 files changed
+6729 -1250

No files matched your search

+21
View File
@@ -0,0 +1,21 @@
{
"extends": ["@commitlint/config-conventional"],
"rules": {
"type-enum": [
2,
"always",
[
"feat",
"fix",
"docs",
"style",
"refactor",
"perf",
"test",
"chore",
"revert"
]
],
"subject-case": [0]
}
}
+1
View File
@@ -0,0 +1 @@
custom: https://donate.termix.site/
+34
View File
@@ -0,0 +1,34 @@
# Overview
_Short summary of what this PR does_
- [ ] Added: ...
- [ ] Updated: ...
- [ ] Removed: ...
- [ ] Fixed: ...
# Changes Made
_Detailed explanation of changes (if needed)_
- ...
# Related Issues
_Link any issues this PR addresses_
- Closes #ISSUE_NUMBER
- Related to #ISSUE_NUMBER
# Screenshots / Demos
_(Optional: add before/after screenshots, GIFs, or console output)_
# Checklist
- [ ] Code follows project style guidelines
- [ ] Supports mobile and desktop UI/app (if applicable)
- [ ] Added the change to `CHANGELOG.json`
- [ ] `npm run test`, `npm run typecheck` and `npm run validate` pass
- [ ] I have read `CONTRIBUTING.md`
- [ ] This is not a translation request. See [docs](https://docs.termix.site/translations)
+9
View File
@@ -0,0 +1,9 @@
node_modules
dist
coverage
*.log
.env
*.tmxplug
*.tmxplug.sig
termix-plugin-signing.key
.termix-tables-*
+1
View File
@@ -0,0 +1 @@
npx --no -- commitlint --edit "$1"
+1
View File
@@ -0,0 +1 @@
npx lint-staged
+4
View File
@@ -0,0 +1,4 @@
dist
coverage
node_modules
package-lock.json
+9
View File
@@ -0,0 +1,9 @@
{
"semi": true,
"singleQuote": false,
"tabWidth": 2,
"trailingComma": "all",
"printWidth": 80,
"arrowParens": "always",
"endOfLine": "lf"
}
+30
View File
@@ -0,0 +1,30 @@
{
"$schema": "https://raw.githubusercontent.com/Termix-SSH/Termix/main/packages/plugin-sdk/schema/changelog.schema.json",
"releases": [
{
"version": "1.0.0",
"changes": [
{
"type": "added",
"text": "Local, remote and dynamic SOCKS5 forwarding"
},
{
"type": "added",
"text": "Reconnects on its own when a tunnel drops"
},
{
"type": "added",
"text": "Start tunnels on boot"
},
{
"type": "added",
"text": "Route a tunnel through a second host"
},
{
"type": "added",
"text": "Client tunnels on your own computer from the desktop app, with presets you can save to the server"
}
]
}
]
}
-7
View File
@@ -1,7 +0,0 @@
# Changelog
## 1.0.0
First release, bundled with Termix 2.9.0.
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.
+22
View File
@@ -0,0 +1,22 @@
# Contributing to Tunnels
## Development
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
npm run validate # check manifest.json
npm run format # format the code with Prettier
```
## Settings
### Host
- **Enable tunnels:** set up SSH tunnels through this host
- **Tunnels:** the type, ports, endpoint host, auto start, max retries and retry interval for each tunnel
## Permissions
- `tunnels.use`: start, stop and watch tunnels, and save client tunnel presets. Admins and users have it by default.
+35 -23
View File
@@ -1,35 +1,47 @@
# Tunnels
<div align="center">
SSH port forwarding between servers, plus local tunnels from the desktop app.
<img src="https://raw.githubusercontent.com/Termix-SSH/Termix/main/public/icon.svg" width="120" height="120" alt="Termix Logo" />
<h1>Tunnels</h1>
<p>SSH port forwarding that stays connected</p>
</div>
<br />
## Overview
Tunnels forwards ports through your servers so you can reach services that are not exposed.
<br />
## Features
- 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.
- Local, remote and dynamic SOCKS5 forwarding
- Reconnects on its own when a tunnel drops
- Start tunnels on boot
- Route a tunnel through a second host
- Client tunnels on your own computer from the desktop app, with presets you can save to the server
## Settings
### Host
- Enable tunnels and the list of saved tunnels for this host.
## Permissions
- `tunnels.use`: Use tunnels. Admins and users have it by default.
<br />
## Services
Provides to other plugins:
- `tunnels.access`: open a tunnel on demand, or start, stop and check saved tunnels.
- `tunnels.access`: open a tunnel on demand, or start, stop and check saved tunnels
## Development
<br />
```bash
npm run build # build into dist/
npm run test # run this plugin's tests
npm run typecheck # type-check this plugin
```
## Support
To report a bug or request a feature, open a [support ticket](https://github.com/Termix-SSH/Support/issues/new/choose). You need to be logged in to GitHub. Please be as detailed as possible, preferably in English.
For discussions and questions, join the [Discord](https://discord.gg/jVQGdvHDrf) server.
<br />
## License
Distributed under the Apache License Version 2.0. See [LICENSE](https://github.com/Termix-SSH/Termix/blob/main/LICENSE) for more information.
+3 -3
View File
@@ -2,16 +2,16 @@
"id": "tunnels",
"name": "Tunnels",
"version": "1.0.0",
"description": "SSH port forwarding between servers, plus local tunnels from the desktop app.",
"description": "SSH port forwarding that reconnects on its own, plus client tunnels from the desktop app.",
"author": {
"name": "Termix"
},
"license": "MIT",
"license": "Apache-2.0",
"repository": "https://github.com/Termix-SSH/Termix",
"category": "Networking",
"icon": "ArrowLeftRight",
"engine": {
"termix": ">=2.9.0",
"termix": ">=26.10.0",
"api": "1"
},
"capabilities": [
+14 -1
View File
@@ -7,12 +7,17 @@
"build": "termix-plugin build",
"test": "termix-plugin test",
"typecheck": "tsc -p .",
"validate": "termix-plugin validate"
"validate": "termix-plugin validate",
"format": "prettier --write .",
"format:check": "prettier --check .",
"prepare": "husky || true"
},
"dependencies": {
"lucide-react": "^1.33.0"
},
"devDependencies": {
"@commitlint/cli": "^21.2.2",
"@commitlint/config-conventional": "^21.2.0",
"@termix/plugin-sdk": "^1.0.0",
"@testing-library/dom": "^10.4.2",
"@testing-library/react": "^16.3.3",
@@ -20,7 +25,10 @@
"@types/react": "^19.2.18",
"@types/react-dom": "^19.2.4",
"better-sqlite3": "^13.0.3",
"husky": "^9.1.7",
"jsdom": "^30.0.1",
"lint-staged": "^17.2.0",
"prettier": "3.9.9",
"vitest": "^4.1.11"
},
"peerDependencies": {
@@ -31,5 +39,10 @@
"sonner": "^2.0.8",
"ssh2": "^1.17.0",
"ws": "^8.21.3"
},
"lint-staged": {
"*.{ts,tsx,js,jsx,mjs,cjs,json,css,md}": [
"prettier --write"
]
}
}