Testicle Bypass 2.0.8.9

Put ffmpeg.exe in the same folder as TesticleGaming.exe.

Windows startup is one HKCU Run value, TesticleGaming, launching the exe with --startup. --tray does the same thing and starts in the tray. An older TesticleBypass or StreamProofedConfig value is removed.

Headless trim, with no window and no changes to settings, OBS, or the clips folder:

TesticleGaming.exe --trim-selftest input.mp4 C:\Temp\trim-out

It trims that copy to 2:00 and prints JSON (method, ms, frames, videoDuration, audioDuration, flagged).

Clip length applies only to clips saved after this app is running with that length. Older clips are left alone. Pause stays bound in OBS, so it still saves a clip when this app is closed.

Buy and renew: https://streamproofed.com/#pricing
Discord: https://discord.gg/9DPGJCHmtB

Not affiliated with (or endorsed by) the OBS Project.
Not affiliated with or endorsed by NVIDIA.

Updates
The app checks https://streamproofed.com/downloads/latest.json when it opens, and again every 6 hours. If that request fails, it tries https://streamproofed-dl.cubic-reaction-b47.workers.dev/latest.json. A newer zip downloads in the background, the SHA256 is checked, and the folder is swapped only when no clip is being cut and FiveM or GTA is not running. Otherwise it waits for the next start or exit. License and settings stay in AppData. After a swap a toast says Updated to the new version and You're on the latest version. What's new opens CHANGELOG.txt beside the exe. The toast closes after 6 seconds. packaging/latest.json is the schema only (version, url, sha256, size, notes). Do not upload it. A zip that is only TesticleGaming.exe is refused.

PRIVACY.txt next to the exe is the note for anonymous usage stats. Optional heartbeat fields cover save timing, the GPU marketing name, the encoder, game resolution and frame rate while the game is in front, setting-change counts, startup crash type and module, license tier, OBS health, free space on the clip drive, average clip size, the last update result, session length, which features are on, why a clip key produced no clip, whether other clip apps look on, the previous app version, and when this install last updated. They do not include serial numbers, usernames, paths, IP addresses, or locale. The hot-mic, heartbeat, and updater threads are named TB-HotMic, TB-Heartbeat, and TB-Updater. The tray item Send anonymous usage stats is on until turned off. The heartbeat posts at most once a minute to https://streamproofed-heartbeats.cubic-reaction-b47.workers.dev/v2/heartbeat (204). If that post fails it tries https://streamproofed.com/api/heartbeat. A 429 is dropped and is not sent to the fallback. HeartbeatUrl and HeartbeatFallbackUrl in heartbeat.ini override those URLs. An error dialog posts immediately to https://streamproofed-heartbeats.cubic-reaction-b47.workers.dev/v2/error, then to https://streamproofed.com/api/error if that post fails. A failed error post is queued and retried. A 429 is dropped. Turning the tray item off drops the queue.
