diff --git a/apps/AppStore/README.md b/apps/AppStore/README.md index 32a698d..9c751ea 100644 --- a/apps/AppStore/README.md +++ b/apps/AppStore/README.md @@ -4,7 +4,7 @@ Installs new Lua apps from one or more public Xteink repositories. ## Bootstrap -Copy this directory to `/plugins/AppStore` on the SD card. On first launch, AppStore creates `repositories.txt` from `repositories.default.txt`. +Copy this directory to `/.apps/AppStore` on the SD card. On first launch, AppStore creates `repositories.txt` from `repositories.default.txt`. Repository entries use this format: @@ -13,6 +13,6 @@ XTEINK-REPOSITORIES|1 Name|https://host/path/catalog.txt ``` -AppStore downloads each package into `/plugins/.install-`, verifies declared sizes and SHA-256 hashes, requires `main.lua`, then renames the completed directory into place. Existing apps are left unchanged; updates, including self-update, are not supported yet. +AppStore downloads each package into `/.apps/.install-`, verifies declared sizes and SHA-256 hashes, requires `main.lua`, then renames the completed directory into place. Existing apps are left unchanged; updates, including self-update, are not supported yet. HTTPS is encrypted without peer-certificate authentication. An active network attacker can replace both metadata and payload hashes. diff --git a/apps/AppStore/main.lua b/apps/AppStore/main.lua index 5628a20..34d990e 100644 --- a/apps/AppStore/main.lua +++ b/apps/AppStore/main.lua @@ -1,6 +1,6 @@ -- DESCRIPTION: Install apps from public Xteink repositories -local ROOT = "/plugins/AppStore" +local ROOT = "/.apps/AppStore" local REPOSITORIES_PATH = ROOT .. "/repositories.txt" local DEFAULT_REPOSITORIES_PATH = ROOT .. "/repositories.default.txt" local CATALOG_PATH = ROOT .. "/.catalog.txt" @@ -182,10 +182,10 @@ local function failInstall(stage, installError) end local function install(app) - local target = "/plugins/" .. app.id + local target = "/.apps/" .. app.id if fs.exists(target) then return nil, "App is already installed" end - local stage = "/plugins/.install-" .. app.id + local stage = "/.apps/.install-" .. app.id local ok, err = clearTree(stage) if not ok then return nil, err end ok, err = fs.mkdir(stage) diff --git a/apps/AppStore/manifest.txt b/apps/AppStore/manifest.txt index b1cd8eb..1082b37 100644 --- a/apps/AppStore/manifest.txt +++ b/apps/AppStore/manifest.txt @@ -1,3 +1,3 @@ XTEINK-MANIFEST|1 -main.lua|12522|cd61c00facba80e7c0a350e69d2e8701b1e4e4baaac5a6dc26d949225f00747f +main.lua|12516|4e21087da632730d82049e405e5d86209cfb707c3c3b5fb574dc2f602d904961 repositories.default.txt|108|70e442650788dd8d8632142ef3ff43a4aaee9855da89283facc72a8942e0a7df diff --git a/apps/HomeAssistant/main.lua b/apps/HomeAssistant/main.lua index c633941..086e556 100644 --- a/apps/HomeAssistant/main.lua +++ b/apps/HomeAssistant/main.lua @@ -1,6 +1,6 @@ -- DESCRIPTION: Home Assistant status cards -local CONFIG_PATH = "/plugins/HomeAssistant/config.txt" +local CONFIG_PATH = "/.apps/HomeAssistant/config.txt" local config = { entities = {} } local cards = {} local screen = nil diff --git a/apps/HomeAssistant/manifest.txt b/apps/HomeAssistant/manifest.txt index ad6459d..563d588 100644 --- a/apps/HomeAssistant/manifest.txt +++ b/apps/HomeAssistant/manifest.txt @@ -1,3 +1,3 @@ XTEINK-MANIFEST|1 config.txt|280|db80ede9c74ccd83b76f1bb64ca7193cc6477de905bad6d153730ec66768bfa7 -main.lua|6144|d7f0b42895c3fb5fef02c8932019276f97392e79a8b9db538165aaa2699de4c3 +main.lua|6142|a4d9b06919c73ca42b1c0325aa128740c2956214a22b857ae177a8e528d98786 diff --git a/apps/Wordle/main.lua b/apps/Wordle/main.lua index fe6b3e7..158963d 100644 --- a/apps/Wordle/main.lua +++ b/apps/Wordle/main.lua @@ -1,6 +1,6 @@ -- DESCRIPTION: Guess the five-letter word in six tries -local WORDS_PATH = "/plugins/Wordle/words.txt" +local WORDS_PATH = "/.apps/Wordle/words.txt" local WORD_LENGTH = 5 local MAX_GUESSES = 6 diff --git a/apps/Wordle/manifest.txt b/apps/Wordle/manifest.txt index 3c54b93..9bebbcf 100644 --- a/apps/Wordle/manifest.txt +++ b/apps/Wordle/manifest.txt @@ -1,3 +1,3 @@ XTEINK-MANIFEST|1 -main.lua|8027|2337650ccbbce8b7f2a75c8025e3fe70ee794c81e9af956d9be94f2126e7cc90 +main.lua|8025|cbdf0cc95761170f0948b76d40d404ce9ae8055c50ae656c7066531228e49a84 words.txt|2814|057281f29400005492e9c891aeda0fbe9a3d3e6060304b71e7083ac02d9b3692 diff --git a/catalog.txt b/catalog.txt index 5b6af85..68bb16a 100644 --- a/catalog.txt +++ b/catalog.txt @@ -1,4 +1,4 @@ XTEINK-CATALOG|1 -AppStore|Install apps from public Xteink repositories|apps/AppStore/manifest.txt|192|71d3be6bdaec97b268bb9b7bf4fe553c23a74587251676fe88d90024fa8c703c -HomeAssistant|Home Assistant status cards|apps/HomeAssistant/manifest.txt|177|27aa1f0edc78a5aeded413caf0508788fa597ee8f76a5b8515ec0c40c955d5be -Wordle|Guess the five-letter word in six tries|apps/Wordle/manifest.txt|177|9977b49ffdbd67a254701b4fa38407fc9128a017673e3ce73560dea08a6a125e +AppStore|Install apps from public Xteink repositories|apps/AppStore/manifest.txt|192|50e6f06ac3476b9df9caf78fdfe226f295532168c441df0d2be9289d8b7d7c1c +HomeAssistant|Home Assistant status cards|apps/HomeAssistant/manifest.txt|177|b38ca49804444fd383a505ce9c51680ad9b7443950d682ca1b9ef3047bff98a5 +Wordle|Guess the five-letter word in six tries|apps/Wordle/manifest.txt|177|199fafdf0d0f6e77916befc011f6e8466c254867800e1d4a9e67e95a06d0366b