Expand description
§hermes-tdata
A pure Rust library for parsing Telegram Desktop tdata folders and converting
them to grammers sessions.
§Features
- Parse
tdatafolders from Telegram Desktop - Extract authorization keys (auth_key) and datacenter IDs
- Convert to grammers session format
- Support for password-protected tdata (Local Passcode)
- Zero Python dependencies
§Example
use hermes_tdata::TDesktop;
fn main() -> Result<(), hermes_tdata::Error> {
// Load tdata from default location
let tdesktop = TDesktop::from_path("/path/to/tdata")?;
// Get the main account's session
if let Some(account) = tdesktop.main_account() {
let session_data = account.to_grammers_session_data();
println!("SessionData prepared for DC {}", session_data.home_dc);
}
Ok(())
}Modules§
- crypto
- Cryptographic primitives for tdata encryption/decryption Cryptographic operations for tdata
- qdatastream
- Qt DataStream binary format parser QDataStream parser implementation
Structs§
Enums§
- Error
- Errors that can occur during tdata parsing
Constants§
- AUTH_
KEY_ SIZE - Auth key size in bytes (256 bytes = 2048 bits)
- DEFAULT_
KEY_ FILE - Default key file name
- MAX_
ACCOUNTS - Maximum number of accounts supported by Telegram Desktop
Type Aliases§
- Result
- Result type alias for hermes-tdata operations