Zemer Cipher is a standalone Android library (Kotlin) that handles everything needed to play YouTube streams: signature deobfuscation, n-parameter transformation to prevent CDN throttling, and PoToken (BotGuard) generation. Its self-healing remote config system means a single push to the config repository fixes deployed apps within minutes — no APK update required.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/ZemerTeam/zemer-cipher/llms.txt
Use this file to discover all available pages before exploring further.
Quickstart
Initialize the library and decipher your first stream URL in minutes
Installation
Add the Gradle dependency and configure your project
Core Concepts
Understand how signature ciphers, n-transforms, and PoTokens work
API Reference
Full reference for every public class and method
What Zemer Cipher Does
YouTube protects its streaming URLs with two obfuscation mechanisms that change with every player rotation. Zemer Cipher handles both automatically:Signature Cipher
Deobfuscates the
s= parameter in signatureCipher query strings so CDN requests succeedN-Transform
Transforms the
n= parameter to prevent bandwidth throttling and 403 errorsPoToken Generation
Generates BotGuard proof-of-origin tokens required for web client streams
Remote Player Configs
Self-healing configs fetched from GitHub keep deployed apps working after player rotations
Get Started
Decipher a stream URL
Use
CipherDeobfuscator.deobfuscateStreamUrl(signatureCipher, videoId) and
CipherDeobfuscator.transformNParamInUrl(url) in your playback pipeline.Zemer Cipher requires Android API 24+ and uses
android.webkit.WebView internally. Ensure WebView is available on target devices and not stripped from the system image.