@denisixnpm/agent-rdp 0.7.3 → 0.7.5
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.
- package/CHANGELOG.md +14 -0
- package/README.md +35 -11
- package/dist/generated/ResponseData.d.ts +9 -0
- package/dist/generated/ResponseData.d.ts.map +1 -1
- package/package.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [0.7.5](https://github.com/denisix/agent-rdp/compare/agent-rdp-v0.7.4...agent-rdp-v0.7.5) (2026-08-15)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
* stop deleting the daemon log, and unbreak automate run quoting ([010ede0](https://github.com/denisix/agent-rdp/commit/010ede0a79ab080582b1cc07bd790e42048265d4))
|
|
9
|
+
|
|
10
|
+
## [0.7.4](https://github.com/denisix/agent-rdp/compare/agent-rdp-v0.7.3...agent-rdp-v0.7.4) (2026-08-14)
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Maintenance
|
|
14
|
+
|
|
15
|
+
* **agent-rdp:** Synchronize agent-rdp packages versions
|
|
16
|
+
|
|
3
17
|
## [0.7.3](https://github.com/denisix/agent-rdp/compare/agent-rdp-v0.7.2...agent-rdp-v0.7.3) (2026-08-14)
|
|
4
18
|
|
|
5
19
|
|
package/README.md
CHANGED
|
@@ -561,22 +561,46 @@ If you need vision-based coordinate detection with Claude, implement your own ha
|
|
|
561
561
|
## Requirements
|
|
562
562
|
|
|
563
563
|
- Rust 1.75 or later
|
|
564
|
-
- Target RDP server
|
|
565
|
-
-
|
|
564
|
+
- Target RDP server must offer **TLS** for RDP. agent-rdp uses `rustls`, which does not implement TLS 1.0/1.1, so the server must support TLS 1.2 or later — legacy targets (e.g. Windows Server 2008 R2) are not supported and fail with a TLS handshake error.
|
|
565
|
+
- NLA (`UserAuthentication=1`) is **recommended but not required** — TLS is what matters. The stock Windows defaults work as shipped.
|
|
566
566
|
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
567
|
+
### RDP security layer settings
|
|
568
|
+
|
|
569
|
+
All six combinations measured against Windows Server 2022, varying only these two
|
|
570
|
+
values under `HKLM:\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp`:
|
|
571
|
+
|
|
572
|
+
| `SecurityLayer` | `UserAuthentication` | Meaning | Result |
|
|
573
|
+
|---|---|---|---|
|
|
574
|
+
| `1` (Negotiate) | `1` | **Windows default** | **works** |
|
|
575
|
+
| `2` (TLS) | `1` | TLS + NLA (most explicit) | **works** |
|
|
576
|
+
| `2` (TLS) | `0` | TLS, no NLA | **works** |
|
|
577
|
+
| `0` (RDP) | `1` | NLA forces CredSSP/TLS | **works** |
|
|
578
|
+
| `1` (Negotiate) | `0` | server picks, and declines TLS | fails |
|
|
579
|
+
| `0` (RDP) | `0` | legacy RC4 only | fails |
|
|
580
|
+
|
|
581
|
+
The rule: **agent-rdp works wherever the host offers TLS.** With NLA on that is
|
|
582
|
+
always the case, because NLA forces CredSSP/TLS regardless of `SecurityLayer`.
|
|
583
|
+
Both failing rows are NLA-off hosts that refuse TLS outright.
|
|
584
|
+
|
|
585
|
+
If `connect` reports *"server only supports Standard RDP Security"*, the host is
|
|
586
|
+
in one of those two rows. Either enable NLA (preferred — it also gives you
|
|
587
|
+
pre-authentication) or force TLS:
|
|
570
588
|
|
|
571
589
|
```powershell
|
|
572
|
-
|
|
573
|
-
Set-ItemProperty -Path
|
|
574
|
-
|
|
590
|
+
$k = 'HKLM:\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp'
|
|
591
|
+
Set-ItemProperty -Path $k -Name UserAuthentication -Value 1 # enable NLA, or:
|
|
592
|
+
Set-ItemProperty -Path $k -Name SecurityLayer -Value 2 # force TLS
|
|
575
593
|
```
|
|
576
594
|
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
595
|
+
New connections normally pick this up immediately; restart `TermService` only if
|
|
596
|
+
they don't (a restart drops existing sessions).
|
|
597
|
+
|
|
598
|
+
Neither failing case is fixable client-side. With `SecurityLayer=1` and NLA off
|
|
599
|
+
the server returns `SSL_NOT_ALLOWED_BY_SERVER` even though the client advertises
|
|
600
|
+
`PROTOCOL_SSL` — verified by testing a build that requested SSL *only*, which was
|
|
601
|
+
rejected identically. And Standard RDP Security (`SecurityLayer=0`, NLA off) is
|
|
602
|
+
refused by IronRDP itself, which implements no RC4 transport layer; it uses a
|
|
603
|
+
well-known key derivation, so credentials sent over it are recoverable in transit.
|
|
580
604
|
|
|
581
605
|
## Credits
|
|
582
606
|
|
|
@@ -28,6 +28,15 @@ export type ResponseData = {
|
|
|
28
28
|
* Desktop height.
|
|
29
29
|
*/
|
|
30
30
|
height: number;
|
|
31
|
+
/**
|
|
32
|
+
* Whether the UI Automation agent came up, when it was requested.
|
|
33
|
+
*
|
|
34
|
+
* `None` if automation wasn't requested. `Some(false)` means RDP is
|
|
35
|
+
* connected but `automate` commands will not work - previously this
|
|
36
|
+
* failure was only warned about in the daemon log, so callers saw a
|
|
37
|
+
* successful connect and then an unexplained "agent not ready".
|
|
38
|
+
*/
|
|
39
|
+
automation_ready?: boolean;
|
|
31
40
|
} | {
|
|
32
41
|
"type": "screenshot";
|
|
33
42
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResponseData.d.ts","sourceRoot":"","sources":["../../src/generated/ResponseData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IACpE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"ResponseData.d.ts","sourceRoot":"","sources":["../../src/generated/ResponseData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACxE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAElD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,MAAM,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IACpE;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;;;;;;OAOG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IACvD;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,WAAW,CAAC;IAC1C;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IACpF;;OAEG;IACH,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,cAAc,CAAC;IACzD;;OAEG;IACH,QAAQ,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,UAAU,CAAA;CAAE,GAAG,qBAAqB,GAAG;IAAE,MAAM,EAAE,SAAS,CAAA;CAAE,GAAG,YAAY,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAC1K;;OAEG;IACH,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;CAAE,GAAG;IAAE,MAAM,EAAE,mBAAmB,CAAA;CAAE,GAAG,gBAAgB,GAAG;IAAE,MAAM,EAAE,YAAY,CAAA;CAAE,GAAG,SAAS,GAAG;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAAG,aAAa,GAAG;IAAE,MAAM,EAAE,cAAc,CAAA;CAAE,GAAG,WAAW,GAAG;IAAE,MAAM,EAAE,eAAe,CAAA;CAAE,GAAG,YAAY,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@denisixnpm/agent-rdp",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.5",
|
|
4
4
|
"description": "CLI tool for AI agents to control Windows Remote Desktop sessions",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
},
|
|
49
49
|
"homepage": "https://github.com/denisix/agent-rdp#readme",
|
|
50
50
|
"optionalDependencies": {
|
|
51
|
-
"@denisixnpm/agent-rdp-darwin-arm64": "^0.7.
|
|
52
|
-
"@denisixnpm/agent-rdp-darwin-x64": "^0.7.
|
|
53
|
-
"@denisixnpm/agent-rdp-linux-x64": "^0.7.
|
|
54
|
-
"@denisixnpm/agent-rdp-linux-arm64": "^0.7.
|
|
55
|
-
"@denisixnpm/agent-rdp-win32-x64": "^0.7.
|
|
56
|
-
"@denisixnpm/agent-rdp-win32-arm64": "^0.7.
|
|
51
|
+
"@denisixnpm/agent-rdp-darwin-arm64": "^0.7.5",
|
|
52
|
+
"@denisixnpm/agent-rdp-darwin-x64": "^0.7.5",
|
|
53
|
+
"@denisixnpm/agent-rdp-linux-x64": "^0.7.5",
|
|
54
|
+
"@denisixnpm/agent-rdp-linux-arm64": "^0.7.5",
|
|
55
|
+
"@denisixnpm/agent-rdp-win32-x64": "^0.7.5",
|
|
56
|
+
"@denisixnpm/agent-rdp-win32-arm64": "^0.7.5"
|
|
57
57
|
}
|
|
58
58
|
}
|