Add pack, cfl and safehtml

pack loads local product packs (format 1): t5de-product.json and the product's files, as product.chkn or
files/, with index.xml's rating, type, gender and parent product. cfl writes and reads IMVU's product
container, uncompressed. safehtml cleans product descriptions by an allowlist (bluemonday).

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-10-29 02:52:59 -07:00
commit 9bdc3ff455
16 files changed
+1638

No files matched your search

+16
View File
@@ -0,0 +1,16 @@
# t5de-api
Definitions shared by T5DE's programs that serve community products to IMVU Classic: the local proxy
([t5de-proxy](https://git.t5de.dev/t5de/t5de-proxy)), the hub and catalogs. Community products are original work,
not from IMVU's shop; the client loads them like IMVU's own, in IMVU's own file formats. The first phase is local
product packs: a folder on the user's machine that the proxy serves.
Unofficial: not made by or affiliated with IMVU.
## Packages
- `pack`: local product packs, format 1 ([docs/pack.md](docs/pack.md)). `pack.Load` reads and checks one.
- `cfl`: CFL files, IMVU's product container, as the client downloads products. Writes uncompressed CFLs and reads
them (LZMA-compressed ones aren't supported yet).
- `safehtml`: product descriptions cleaned by an allowlist, safe to show anywhere, including the client's
privileged pages.