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]>
This commit is contained in:
dhkatzandClaude Opus 5.5 committed 2026-10-29 00:03:51 -07:00
commit 2551888ed6
19 files changed
+1498

No files matched your search

+7
View File
@@ -0,0 +1,7 @@
// Package parent watches the process that started the proxy, so the proxy exits with it.
package parent
// Wait returns once the process pid has exited (at once if it already has, or can't be watched).
func Wait(pid int) error {
return wait(pid)
}
+21
View File
@@ -0,0 +1,21 @@
//go:build !windows
package parent
import (
"os"
"syscall"
"time"
)
// wait polls: the client only runs on Windows; this is for running the proxy's tests and tools elsewhere.
func wait(pid int) error {
p, err := os.FindProcess(pid)
if err != nil {
return err
}
for p.Signal(syscall.Signal(0)) == nil {
time.Sleep(time.Second)
}
return nil
}
+13
View File
@@ -0,0 +1,13 @@
package parent
import "syscall"
func wait(pid int) error {
h, err := syscall.OpenProcess(syscall.SYNCHRONIZE, false, uint32(pid))
if err != nil {
return err
}
defer syscall.CloseHandle(h)
_, err = syscall.WaitForSingleObject(h, syscall.INFINITE)
return err
}