Files
CC-StationBroadcast/update_station_broadcast.lua
T
Henry_Du 6d65b8216a feat(station-broadcast, cloud-server): 添加HLS播放与循环播放支持,更新脚本拉取地址
调整两个工具脚本的远程拉取地址,将固定commit哈希链接改为main分支链接;为云服务端添加loop参数与HLS音频播放支持,重构音频播放逻辑简化冗余代码;为station_broadcast.lua新增hls格式支持与循环播放控制,完善网络消息参数处理。
2026-07-31 20:42:22 +08:00

79 lines
1.6 KiB
Lua

local STATION_BROADCAST_URL = "https://gitea.fse-media.group/Henry_Du/CC-StationBroadcast/raw/branch/main/station_broadcast.lua"
local function fetch(url)
if not http then
return nil, "HTTP API unavailable"
end
if http.checkURL then
local ok, err = http.checkURL(url)
if not ok then
return nil, err or "URL blocked"
end
end
local res, err = http.get(url)
if not res then
return nil, err or "request failed"
end
local body = res.readAll()
res.close()
if type(body) ~= "string" or #body == 0 then
return nil, "empty response"
end
return body
end
local function writeFile(path, content)
local dir = fs.getDir(path)
if dir and dir ~= "" and not fs.exists(dir) then
fs.makeDir(dir)
end
local f = fs.open(path, "w")
if not f then
return nil, "cannot open " .. path
end
f.write(content)
f.close()
return true
end
local function downloadTo(url, path)
write(("Updating %s... "):format(path))
local body, err = fetch(url)
if not body then
print("FAILED")
print(err)
return false
end
local ok, werr = writeFile(path, body)
if not ok then
print("FAILED")
print(werr)
return false
end
print("OK")
return true
end
local targets = {
{ url = STATION_BROADCAST_URL, path = shell.resolve("/startup") }
}
for _, t in ipairs(targets) do
local ok = downloadTo(t.url, t.path)
if not ok then
print("Update aborted.")
return
end
end
print("Update complete.")