@kromatv/installer 0.0.0-stage → 0.1.38
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/LICENSE +661 -0
- package/README.md +91 -2
- package/cli.js +12597 -0
- package/package.json +38 -4
package/README.md
CHANGED
|
@@ -1,3 +1,92 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @kromatv/installer
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Install [KROMA](https://kroma.tv) on the TVs on your network, from a Mac or a
|
|
4
|
+
Linux computer:
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
npx @kromatv/installer
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
The command finds the Samsung, LG and Android TV sets on your network, downloads
|
|
11
|
+
the KROMA app for each one from the
|
|
12
|
+
[latest release](https://github.com/kromatv/kroma/releases/latest), and installs
|
|
13
|
+
it on the sets you choose. Run it again to update KROMA.
|
|
14
|
+
|
|
15
|
+
## Before you begin
|
|
16
|
+
|
|
17
|
+
- [Node.js](https://nodejs.org) 22 or later, on macOS or Linux.
|
|
18
|
+
- The computer and the TV on the same network.
|
|
19
|
+
- One step on the TV itself. It is done once, and no tool can do it over the
|
|
20
|
+
network:
|
|
21
|
+
|
|
22
|
+
| TV | What to do once | Guide |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| Samsung | Turn on developer mode, and create a Samsung certificate for the TV with Tizen Studio | [Samsung TV](https://kroma.tv/docs/samsung-tv) |
|
|
25
|
+
| LG | Install the Dev Mode app, turn on Dev Mode and its key server | [LG TV](https://kroma.tv/docs/lg-tv) |
|
|
26
|
+
| Android TV, Google TV | Turn on network debugging in the developer options | [Android TV](https://kroma.tv/docs/android-tv) |
|
|
27
|
+
| Apple TV | Nothing to do here: KROMA for Apple TV comes from TestFlight | [Apple TV](https://kroma.tv/docs/apple-tv) |
|
|
28
|
+
|
|
29
|
+
## What it puts on your computer
|
|
30
|
+
|
|
31
|
+
- For a Samsung TV, nothing. The installer signs the app with your Samsung
|
|
32
|
+
certificate and sends it to the TV itself.
|
|
33
|
+
- For an LG TV, LG's command-line tools, installed with npm into
|
|
34
|
+
`~/.kroma/tools`.
|
|
35
|
+
- For an Android TV, Google's `adb`, downloaded into `~/.kroma/tools`. An
|
|
36
|
+
Android SDK you already have is used instead.
|
|
37
|
+
- The KROMA apps it downloads, in `~/.kroma/downloads`. Each download is
|
|
38
|
+
checked against the SHA-256 that the release lists.
|
|
39
|
+
|
|
40
|
+
## Commands
|
|
41
|
+
|
|
42
|
+
<!-- usage:start -->
|
|
43
|
+
|
|
44
|
+
| command | what it does |
|
|
45
|
+
| --- | --- |
|
|
46
|
+
| `npx @kromatv/installer` | Find the televisions on this network and put KROMA on them. With no command it opens the picker. |
|
|
47
|
+
| `npx @kromatv/installer scan` | List what answered and stop, the picker without the picking. |
|
|
48
|
+
| `npx @kromatv/installer install <target>` | Put KROMA on one set, or on all of them, without the picker. |
|
|
49
|
+
| `npx @kromatv/installer probe <host>` | Ask a Samsung set what it is over sdb, installing nothing. |
|
|
50
|
+
| `npx @kromatv/installer certificate` | Generate a Samsung author certificate and the profile the tools sign with. |
|
|
51
|
+
| `npx @kromatv/installer tools <platform>` | Install the toolchain a platform needs, which the picker does on its own. |
|
|
52
|
+
| `npx @kromatv/installer doctor` | Show which toolchains this computer already has. |
|
|
53
|
+
|
|
54
|
+
| option | what it does |
|
|
55
|
+
| --- | --- |
|
|
56
|
+
| `--host <ip>` | Probe this address instead of sweeping the network, repeatable |
|
|
57
|
+
| `--package <path>` | The .wgt, .ipk, .apk or .app to install, instead of the newest built here |
|
|
58
|
+
| `--source <local\|stable\|canary\|build>` | Where the package comes from, instead of the newest build in this checkout |
|
|
59
|
+
| `--launch`, `--no-launch` | Start the app once it is installed |
|
|
60
|
+
| `--json` | Print what answered as JSON |
|
|
61
|
+
|
|
62
|
+
<!-- usage:end -->
|
|
63
|
+
|
|
64
|
+
`--source canary` installs the newest development build instead of the latest
|
|
65
|
+
release.
|
|
66
|
+
|
|
67
|
+
## Troubleshooting
|
|
68
|
+
|
|
69
|
+
### The scan finds no TV
|
|
70
|
+
|
|
71
|
+
On macOS, the terminal needs the **Local Network** permission: **System
|
|
72
|
+
Settings** > **Privacy & Security** > **Local Network**. Without it, every
|
|
73
|
+
connection fails and the scan finds nothing.
|
|
74
|
+
|
|
75
|
+
A TV also stays hidden until its one-time step is done: an LG without the Dev
|
|
76
|
+
Mode app running and an Android TV without network debugging do not answer.
|
|
77
|
+
|
|
78
|
+
### A Samsung TV refuses the certificate
|
|
79
|
+
|
|
80
|
+
The app must be signed with a certificate that Samsung issued for that TV. See
|
|
81
|
+
[Create a certificate for your TV](https://kroma.tv/docs/samsung-tv#create-a-certificate-for-your-tv).
|
|
82
|
+
The error message gives the ID of the TV, called a DUID, to put in the
|
|
83
|
+
certificate.
|
|
84
|
+
|
|
85
|
+
### `GitHub did not list the stable release`
|
|
86
|
+
|
|
87
|
+
The computer has no connection to GitHub, or it has used the 60 requests that
|
|
88
|
+
GitHub allows each hour without an account. Wait, or download the app from
|
|
89
|
+
[kroma.tv/download](https://kroma.tv/download) and pass it with `--package`.
|
|
90
|
+
|
|
91
|
+
More answers are in the
|
|
92
|
+
[package notes](https://github.com/kromatv/kroma/tree/main/packages/tv-installer#when-it-goes-wrong).
|