adds .local/share/millennium and easyeffects

This commit is contained in:
2026-08-06 18:27:07 +02:00
parent c52d483074
commit 778c0155bd
2581 changed files with 339035 additions and 0 deletions
@@ -0,0 +1,67 @@
-- HMAC Context for computing MACs on Chrome preferences
local logger = require("logger")
local json_helpers = require("install_extension.json_helpers")
local sha2 = require("install_extension.sha2")
---@class HmacContext
---@field sid string
---@field seed_hex string
---@field seed_bytes string
local HmacContext = {}
HmacContext.__index = HmacContext
---@param sid string
---@param seed_hex string
---@return HmacContext
function HmacContext.new(sid, seed_hex)
local self = setmetatable({}, HmacContext)
self.sid = sid or ""
self.seed_hex = seed_hex or "" -- Empty for Steam CEF
self.seed_bytes = sha2.hex_to_bin(seed_hex or "")
return self
end
---@param json_path string
---@param value any
---@return string|nil
function HmacContext:compute_mac(json_path, value)
local cleaned = json_helpers.remove_empty_children(value)
-- Use sorted JSON for consistent key ordering (must match JS JSON.stringify)
local json_value = json_helpers.encode_sorted(cleaned)
json_value = json_helpers.escape_for_hmac(json_value)
local message = self.sid .. json_path .. json_value
logger:info("[install] Computing MAC for path: " .. json_path)
logger:info("[install] Message length: " .. #message)
logger:info("[install] JSON preview: " .. json_value:sub(1, 100) .. "...")
local mac = string.upper(sha2.hmac(sha2.sha256, self.seed_bytes, message))
if mac then
logger:info("[install] MAC: " .. mac:sub(1, 16) .. "...")
else
logger:error("[install] MAC computation returned nil!")
end
return mac
end
---@param macs table
---@return string|nil
function HmacContext:compute_super_mac(macs)
-- Use sorted JSON for consistent key ordering
local macs_json = json_helpers.encode_sorted(macs)
local message = self.sid .. macs_json
logger:info("[install] Computing super MAC...")
logger:info("[install] MACs JSON: " .. macs_json:sub(1, 100) .. "...")
local mac = string.upper(sha2.hmac(sha2.sha256, self.seed_bytes, message))
if mac then
logger:info("[install] Super MAC: " .. mac:sub(1, 16) .. "...")
else
logger:error("[install] Super MAC computation returned nil!")
end
return mac
end
return HmacContext