Commit Graph
14 Commits
Author SHA1 Message Date
dhkatzandClaude Opus 5.5 c281fb572c Get T5 products from the hub's catalogs
CI / build (push) Successful in 25s
The proxy keeps the person's library in a cache folder (hub-products in its data folder), one pack per
product, served like any other pack: the hub says which revision to load and which catalogs host it, each file
comes from a catalog and is checked against the hub's sha256 (files are kept by hash, so a new revision only
downloads what changed), and adult files are fetched with the hub's access token. Products someone wears in a
room that aren't here yet are fetched too, and put on them when they arrive.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:56:26 -07:00
dhkatzandClaude Opus 5.5 93fa2f5d90 Room channel: other T5DE users' community products on their avatars
CI / build (push) Successful in 28s
The proxy follows the client's IMQ chat subscriptions and tells the hub which chats it's in (and the room, from
chat.getOrMakeChat). For the other T5DE users the hub says are in a chat, it gives the client the community
products it has packs for, as *use and *remove lines from them, and adds them to the whole outfits they send.
It also takes community products out of the outfit the client posts to IMVU's chat participant endpoint, which
had been sending them to IMVU.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 18:14:44 -07:00
dhkatzandClaude Opus 5.5 e394f1dc24 hub: send an empty outfit as a list
CI / build (push) Successful in 26s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 05:07:30 -07:00
dhkatzandClaude Opus 5.5 bfd25e2b84 Sign in to the hub with its Better Auth device flow; session token as bearer
CI / build (push) Successful in 28s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 04:40:35 -07:00
dhkatzandClaude Opus 5.5 7887eada61 Sign in to T5DE's hub and report presence and community outfits
CI / build (push) Successful in 1m6s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:45:55 -07:00
dhkatzandClaude Opus 5.5 50e4db8521 README: tidy the feature list
CI / build (push) Successful in 20s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:20:15 -07:00
dhkatzandClaude Opus 5.5 92103098f8 Use the published t5de-api
CI / build (push) Successful in 43s
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:20:03 -07:00
dhkatzandClaude Opus 5.5 0e5ecf54ae Document community products
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:17:30 -07:00
dhkatzandClaude Opus 5.5 887e8a2364 Serve community products from local packs
The proxy serves products from local packs (t5de-api's format) under local IDs from 2,000,000,000: product
info and permission answers (with the parent's derivation chain from IMVU), the product's CFL, and the shop's
bundle lookup. Community products are taken out of outfit saves and outfit chat commands before IMVU sees
them, remembered per account with the outfit they belong to, and added back when the client loads that
outfit. Changed requests are re-signed with the session key from the login response.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 03:17:14 -07:00
dhkatz b2eed27b99 Merge branch 'xmlrpc' into products 2026-10-29 02:49:10 -07:00
dhkatzandClaude Opus 5.5 0c4f6caec1 Products: chat command filter, request signing, saved state
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:49:10 -07:00
dhkatzandClaude Opus 5.5 bee95533c0 Add an XML-RPC codec
Parses and writes calls and responses with Python 2.7 xmlrpclib's and
IMVU's PHP server's types, keeping struct member order.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:48:29 -07:00
dhkatzandClaude Opus 5.5 2190230f81 Frame-by-frame IMQ with an outgoing filter; HTTP interceptor hook
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 02:47:48 -07:00
dhkatzandClaude Opus 5.5 2551888ed6 T5DE's local proxy for IMVU Classic
CI / build (push) Successful in 45s
The client sends it every HTTP request and its IMQ connection; it makes them with current TLS and
certificates, upgrades IMVU's plain-HTTP hosts to HTTPS, and refuses IMVU's reporting endpoints. CI
tests it and publishes t5de-proxy.exe as nightlies and tagged releases.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-29 00:03:51 -07:00