Skip to content

Add ares-setup-device (non-interactive device management)#10

Merged
mariotaku merged 2 commits into
mainfrom
claude/ares-setup-device
Jun 14, 2026
Merged

Add ares-setup-device (non-interactive device management)#10
mariotaku merged 2 commits into
mainfrom
claude/ares-setup-device

Conversation

@mariotaku

Copy link
Copy Markdown
Member

Port the ares-setup-device command from webos-tools/cli as a new
workspace crate. This first cut covers the non-interactive (scriptable)
operations; interactive prompts and SSDP --search are intentionally
deferred.

Commands: --list, --listfull, --add, --modify, --remove, --default,
--reset. --add/--modify take device details via --info, accepting either
a JSON object or repeated key=value pairs (with ipAddress/user aliases),
and choose password vs ssh-key auth based on what is provided.

Validation mirrors the reference CLI (name must not start with $/%, host
must be localhost or IPv4, port 1-65535). The list output matches the
reference table layout (name/deviceinfo/connection/profile/passphrase).

Supporting data-layer additions in common/device:

  • DeviceManager::modify replaces an existing device in place
  • DeviceManager::reset restores the bundled default emulator entry
  • add now rejects duplicate names; remove refuses indelible devices

https://claude.ai/code/session_017vAGzSSYNcgdQzJRLWfX47

claude added 2 commits June 14, 2026 13:58
Port the ares-setup-device command from webos-tools/cli as a new
workspace crate. This first cut covers the non-interactive (scriptable)
operations; interactive prompts and SSDP --search are intentionally
deferred.

Commands: --list, --listfull, --add, --modify, --remove, --default,
--reset. --add/--modify take device details via --info, accepting either
a JSON object or repeated key=value pairs (with ipAddress/user aliases),
and choose password vs ssh-key auth based on what is provided.

Validation mirrors the reference CLI (name must not start with $/%, host
must be localhost or IPv4, port 1-65535). The list output matches the
reference table layout (name/deviceinfo/connection/profile/passphrase).

Supporting data-layer additions in common/device:
- DeviceManager::modify replaces an existing device in place
- DeviceManager::reset restores the bundled default emulator entry
- add now rejects duplicate names; remove refuses indelible devices

https://claude.ai/code/session_017vAGzSSYNcgdQzJRLWfX47
Port the key-retrieval part of ares-novacom as a new crate. With
--getkey it downloads the device's webos_rsa private key (the existing
DeviceManager::novacom_getkey, which fetches http://<host>:9991/webos_rsa
and verifies the passphrase), saves it to ~/.ssh/webos_<device> with
0600 permissions, and wires it into the device config: privateKey,
passphrase, and the webOS dev-mode defaults prisoner@<host>:9922.

The --passphrase flag supplies the code shown in the device's Developer
Mode app (no interactive prompt in this first cut).

Expose DeviceManager::ssh_key_dir so the binary can resolve the key
directory.

https://claude.ai/code/session_017vAGzSSYNcgdQzJRLWfX47
@mariotaku mariotaku merged commit 2129ef7 into main Jun 14, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants