tabby-tftp 0.2.2 → 0.2.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/README.md +25 -13
  2. package/README.zh-CN.md +22 -10
  3. package/package.json +73 -78
package/README.md CHANGED
@@ -10,6 +10,27 @@
10
10
 
11
11
  > TFTP has no authentication or encryption. Use it only on a trusted, isolated network.
12
12
 
13
+ ## Installation
14
+
15
+ ### From Tabby Plugin Manager (recommended)
16
+
17
+ 1. Go to Tabby **Settings** -> **Plugins**.
18
+ 2. Switch to the **Available** tab.
19
+ 3. Search for `tabby-tftp` and click **Install**.
20
+ 4. Restart Tabby.
21
+
22
+ ### Manual Installation via NPM
23
+
24
+ If you prefer to install it manually:
25
+
26
+ ```powershell
27
+ cd "$env:APPDATA\tabby\plugins"
28
+ npm install tabby-tftp
29
+ ```
30
+ *(On Linux/macOS, use `~/.config/tabby/plugins` or `~/Library/Application Support/tabby/plugins`)*
31
+
32
+ Restart Tabby after installation.
33
+
13
34
  ## Serial-console firmware workflow
14
35
 
15
36
  1. Open **TFTP File Transfer** from Tabby's toolbar.
@@ -24,6 +45,10 @@ The server is intentionally read-only: devices can download files from the selec
24
45
 
25
46
  Use the **TFTP Client** tab to upload or download a file. The default port is `69`. A download requires a remote filename; for an upload, leaving the remote filename empty uses the local filename.
26
47
 
48
+ ## Security notes
49
+
50
+ The server protects against path traversal and only serves regular files below the configured root directory. UDP port 69 and the negotiated transfer port must be allowed by the local firewall. See [SECURITY.md](SECURITY.md) for reporting security issues.
51
+
27
52
  ## Development
28
53
 
29
54
  Requirements: Node.js 18 or newer and a Tabby-compatible Angular/toolchain environment.
@@ -36,19 +61,6 @@ npm run pack:plugin
36
61
 
37
62
  `npm run verify` runs type checking, protocol/server tests, and the production bundle. The installable package is generated by `npm pack`.
38
63
 
39
- ## Local installation
40
-
41
- Close Tabby, then install the generated `.tgz` into Tabby's user plugin directory and restart Tabby:
42
-
43
- ```powershell
44
- cd "$env:APPDATA\tabby\plugins"
45
- npm install C:\path\to\tabby-tftp-0.2.1.tgz --legacy-peer-deps
46
- ```
47
-
48
- ## Security notes
49
-
50
- The server protects against path traversal and only serves regular files below the configured root directory. UDP port 69 and the negotiated transfer port must be allowed by the local firewall. See [SECURITY.md](SECURITY.md) for reporting security issues.
51
-
52
64
  ## Contributing and publishing
53
65
 
54
66
  See [CONTRIBUTING.md](CONTRIBUTING.md), [CHANGELOG.md](CHANGELOG.md), and [docs/PUBLISHING.md](docs/PUBLISHING.md).
package/README.zh-CN.md CHANGED
@@ -10,6 +10,27 @@
10
10
 
11
11
  > TFTP 没有身份认证和加密功能,只应在可信、隔离的局域网中使用。
12
12
 
13
+ ## 安装方法
14
+
15
+ ### 从 Tabby 插件市场安装(推荐)
16
+
17
+ 1. 打开 Tabby **Settings (设置)** -> **Plugins (插件)**。
18
+ 2. 切换到 **Available (可用)** 标签页。
19
+ 3. 搜索 `tabby-tftp`,点击 **Install (安装)**。
20
+ 4. 重启 Tabby。
21
+
22
+ ### 通过 NPM 命令行手动安装
23
+
24
+ 如果你更喜欢手动安装:
25
+
26
+ ```powershell
27
+ cd "$env:APPDATA\tabby\plugins"
28
+ npm install tabby-tftp
29
+ ```
30
+ *(如果是 Linux/macOS,路径通常为 `~/.config/tabby/plugins` 或 `~/Library/Application Support/tabby/plugins`)*
31
+
32
+ 安装后请重启 Tabby。
33
+
13
34
  ## 串口烧录流程
14
35
 
15
36
  1. 从 Tabby 工具栏打开 **TFTP 文件传输**。
@@ -20,7 +41,7 @@
20
41
 
21
42
  服务端是只读的:设备可以下载根目录中的文件,但不能向电脑上传或覆盖文件。
22
43
 
23
- ## 本地构建与测试
44
+ ## 本地构建与测试 (开发指南)
24
45
 
25
46
  需要 Node.js 18 或更高版本。
26
47
 
@@ -32,15 +53,6 @@ npm run pack:plugin
32
53
 
33
54
  `npm run verify` 会执行类型检查、协议/服务端测试和生产构建。
34
55
 
35
- ## 本地安装
36
-
37
- 关闭 Tabby,在 Tabby 用户插件目录中安装生成的 `.tgz` 包,然后重新启动 Tabby:
38
-
39
- ```powershell
40
- cd "$env:APPDATA\tabby\plugins"
41
- npm install C:\path\to\tabby-tftp-0.2.1.tgz --legacy-peer-deps
42
- ```
43
-
44
56
  ## 参与贡献与发布
45
57
 
46
58
  参见 [CONTRIBUTING.md](CONTRIBUTING.md)、[CHANGELOG.md](CHANGELOG.md) 和 [docs/PUBLISHING.md](docs/PUBLISHING.md)。
package/package.json CHANGED
@@ -1,78 +1,73 @@
1
- {
2
- "name": "tabby-tftp",
3
- "version": "0.2.2",
4
- "description": "TFTP client and read-only firmware server for Tabby terminal",
5
- "keywords": [
6
- "tabby-plugin",
7
- "tabby",
8
- "tftp",
9
- "tftp-server",
10
- "firmware",
11
- "serial",
12
- "bootloader",
13
- "u-boot",
14
- "embedded",
15
- "file-transfer"
16
- ],
17
- "main": "dist/index.js",
18
- "typings": "dist/index.d.ts",
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/lijzijie/tabby-tftp.git"
22
- },
23
- "homepage": "https://github.com/lijzijie/tabby-tftp#readme",
24
- "bugs": {
25
- "url": "https://github.com/lijzijie/tabby-tftp/issues"
26
- },
27
- "files": [
28
- "dist",
29
- "README.md",
30
- "README.zh-CN.md",
31
- "CHANGELOG.md",
32
- "CONTRIBUTING.md",
33
- "SECURITY.md",
34
- "docs/PUBLISHING.md",
35
- "LICENSE"
36
- ],
37
- "scripts": {
38
- "build": "node scripts/build.js",
39
- "watch": "node scripts/build.js --watch",
40
- "typecheck": "tsc --noEmit -p tsconfig.json",
41
- "test": "tsc -p tsconfig.test.json && node --test tests/protocol.test.js tests/client.test.js tests/server.test.js",
42
- "verify": "npm run typecheck && npm test && npm run build",
43
- "pack:plugin": "npm pack",
44
- "prepublishOnly": "npm run verify"
45
- },
46
- "author": "linzi",
47
- "license": "MIT",
48
- "publishConfig": {
49
- "access": "public",
50
- "registry": "https://registry.npmjs.org"
51
- },
52
- "engines": {
53
- "node": ">=18"
54
- },
55
- "peerDependencies": {
56
- "@angular/common": ">=15 <17",
57
- "@angular/core": ">=15 <17",
58
- "@angular/forms": ">=15 <17",
59
- "@ng-bootstrap/ng-bootstrap": ">=14 <16",
60
- "rxjs": ">=7 <8",
61
- "tabby-core": ">=1.0.156"
62
- },
63
- "devDependencies": {
64
- "@angular/animations": "^15.2.10",
65
- "@angular/common": "^15.2.10",
66
- "@angular/core": "^15.2.10",
67
- "@angular/forms": "^15.2.10",
68
- "@angular/localize": "^15.2.10",
69
- "@ng-bootstrap/ng-bootstrap": "^14.2.0",
70
- "@types/node": "^20.10.0",
71
- "rxjs": "^7.8.1",
72
- "tabby-core": "^1.0.156",
73
- "ts-loader": "^9.5.4",
74
- "typescript": "~4.9.5",
75
- "webpack": "^5.89.0",
76
- "webpack-cli": "^5.1.4"
77
- }
78
- }
1
+ {
2
+ "name": "tabby-tftp",
3
+ "version": "0.2.4",
4
+ "description": "TFTP client and read-only firmware server for Tabby terminal",
5
+ "keywords": [
6
+ "tabby-plugin",
7
+ "tabby",
8
+ "tftp",
9
+ "tftp-server",
10
+ "firmware",
11
+ "serial",
12
+ "bootloader",
13
+ "u-boot",
14
+ "embedded",
15
+ "file-transfer"
16
+ ],
17
+ "main": "dist/index.js",
18
+ "typings": "dist/index.d.ts",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "git+https://github.com/lijzijie/tabby-tftp.git"
22
+ },
23
+ "homepage": "https://github.com/lijzijie/tabby-tftp#readme",
24
+ "bugs": {
25
+ "url": "https://github.com/lijzijie/tabby-tftp/issues"
26
+ },
27
+ "files": [
28
+ "dist",
29
+ "README.md",
30
+ "README.zh-CN.md",
31
+ "CHANGELOG.md",
32
+ "CONTRIBUTING.md",
33
+ "SECURITY.md",
34
+ "docs/PUBLISHING.md",
35
+ "LICENSE"
36
+ ],
37
+ "scripts": {
38
+ "build": "node scripts/build.js",
39
+ "watch": "node scripts/build.js --watch",
40
+ "typecheck": "tsc --noEmit -p tsconfig.json",
41
+ "test": "tsc -p tsconfig.test.json && node --test tests/protocol.test.js tests/client.test.js tests/server.test.js",
42
+ "verify": "npm run typecheck && npm test && npm run build",
43
+ "pack:plugin": "npm pack",
44
+ "prepublishOnly": "npm run verify"
45
+ },
46
+ "author": "linzi",
47
+ "license": "MIT",
48
+ "publishConfig": {
49
+ "access": "public",
50
+ "registry": "https://registry.npmjs.org"
51
+ },
52
+ "engines": {
53
+ "node": ">=18"
54
+ },
55
+ "peerDependencies": {
56
+ "tabby-core": ">=1.0.156"
57
+ },
58
+ "devDependencies": {
59
+ "@angular/animations": "^15.2.10",
60
+ "@angular/common": "^15.2.10",
61
+ "@angular/core": "^15.2.10",
62
+ "@angular/forms": "^15.2.10",
63
+ "@angular/localize": "^15.2.10",
64
+ "@ng-bootstrap/ng-bootstrap": "^14.2.0",
65
+ "@types/node": "^20.10.0",
66
+ "rxjs": "^7.8.1",
67
+ "tabby-core": "^1.0.156",
68
+ "ts-loader": "^9.5.4",
69
+ "typescript": "~4.9.5",
70
+ "webpack": "^5.89.0",
71
+ "webpack-cli": "^5.1.4"
72
+ }
73
+ }