MCPcopy Create free account

hub / github.com/ShilohEye/bitchat-terminal / functions

Functions76 in github.com/ShilohEye/bitchat-terminal

↓ 8 callersFunctiondecompress
(data: &[u8])
src/compression.rs:20
↓ 5 callersFunctioncreate_bitchat_packet
(sender_id_str: &str, msg_type: MessageType, payload: Vec<u8>)
src/main.rs:2780
↓ 4 callersMethodencrypt
Encrypt data for a specific peer
src/encryption.rs:168
↓ 3 callersFunctioncreate_bitchat_message_payload_full
(sender: &str, content: &str, channel: Option<&str>, is_private: bool, sender_peer_id: &str)
src/main.rs:2549
↓ 3 callersFunctioncreate_bitchat_packet_with_recipient
(sender_id_str: &str, recipient_id_str: Option<&str>, msg_type: MessageType, payload: Vec<u8>, signature: Opti
src/main.rs:2792
↓ 3 callersMethoddecrypt
Decrypt data from a specific peer
src/encryption.rs:189
↓ 3 callersMethodget_combined_public_key_data
Create combined public key data for exchange (96 bytes total)
src/encryption.rs:71
↓ 2 callersMethodadd_channel
(&mut self, channel: &str)
src/terminal_ux.rs:90
↓ 2 callersMethodadd_peer_public_key
Add peer's combined public keys
src/encryption.rs:80
↓ 2 callersFunctionderive_encryption_key
Derive AES key from identity key using HKDF-like approach
src/persistence.rs:104
↓ 2 callersFunctionget_state_file_path
()
src/persistence.rs:49
↓ 1 callersMethodadd_dm
(&mut self, nickname: &str, peer_id: &str)
src/terminal_ux.rs:96
↓ 1 callersFunctiondecrypt_password
Decrypt a password using the identity key
src/persistence.rs:135
↓ 1 callersMethodencrypt_with_key
Encrypt data with a channel key (for password-protected channels)
src/encryption.rs:244
↓ 1 callersFunctionfind_peripheral
(adapter: &btleplug::platform::Adapter)
src/main.rs:2360
↓ 1 callersFunctiongenerate_keys_and_payload
(encryption_service: &EncryptionService)
src/main.rs:2766
↓ 1 callersMethodget_peer_identity_key
Get peer's persistent identity key for favorites
src/encryption.rs:149
↓ 1 callersFunctionload_state
()
src/persistence.rs:62
↓ 1 callersFunctionparse_bitchat_packet
(data: &[u8])
src/main.rs:2645
↓ 1 callersFunctionsave_state
(state: &AppState)
src/persistence.rs:96
↓ 1 callersFunctionsend_packet_with_fragmentation
Swift-compatible packet sending with automatic fragmentation
src/main.rs:3017
Methodadd_fragment
(&mut self, fragment_id: [u8; 8], index: u16, total: u16, original_type: u8, data: Vec<u8>, sender_id: String)
src/main.rs:220
Functionclear_screen
()
src/terminal_ux.rs:317
Functioncompress_if_beneficial
(data: &[u8])
src/compression.rs:7
Functioncreate_bitchat_message_payload
(sender: &str, content: &str, channel: Option<&str>)
src/main.rs:2536
Functioncreate_bitchat_message_payload_with_flags
(sender: &str, content: &str, channel: Option<&str>, is_private: bool)
src/main.rs:2543
Functioncreate_bitchat_packet_with_recipient_and_signature
(sender_id_str: &str, recipient_id_str: &str, msg_type: MessageType, payload: Vec<u8>, signature: Option<Vec<u
src/main.rs:2788
Functioncreate_bitchat_packet_with_signature
(sender_id_str: &str, msg_type: MessageType, payload: Vec<u8>, signature: Option<Vec<u8>>)
src/main.rs:2784
Functioncreate_delivery_ack
Create delivery ACK matching iOS format
src/main.rs:2926
Functioncreate_encrypted_channel_message_payload
( sender: &str, content: &str, channel: &str, channel_key: &[u8; 32], encryption_servic
src/main.rs:2595
Functioncreate_fragment_packet
(sender_id: &str, fragment: Fragment)
src/main.rs:2971
Functiondecompress_raw
(data: &[u8], output_size: usize)
src/compression.rs:27
Methoddecrypt_with_key
Decrypt data with a channel key
src/encryption.rs:261
Methodderive_channel_key
Derive channel key from password (matching Swift's PBKDF2 implementation)
src/encryption.rs:232
Methodencrypt_for_peer
Encrypt data specifically for a peer (used for ACKs)
src/encryption.rs:285
Functionencrypt_password
Encrypt a password using the identity key
src/persistence.rs:115
Methodenter_dm_mode
(&mut self, nickname: &str, peer_id: &str)
src/terminal_ux.rs:100
Functionformat_message_display
( timestamp: DateTime<Local>, sender: &str, content: &str, is_private: bool, is_channel: b
src/terminal_ux.rs:214
Methodformat_prompt
(&self)
src/terminal_ux.rs:29
Functionfragment_id_to_hex
(fragment_id: &[u8; 8])
src/fragmentation.rs:31
Functionfragment_payload
(payload: &[u8], original_msg_type: u8)
src/fragmentation.rs:52
Methodget_channel
(&self)
src/terminal_ux.rs:323
Methodget_conversation_list_with_numbers
(&self)
src/terminal_ux.rs:181
Methodget_dm_target
(&self)
src/terminal_ux.rs:331
Methodget_mode_info
(&self)
src/terminal_ux.rs:133
Methodget_peer_fingerprint
Calculate SHA256 fingerprint of a peer's identity key (first 16 bytes as hex)
src/encryption.rs:155
Methodget_status_line
(&self)
src/terminal_ux.rs:37
Methodhas_peer_key
Check if we have a peer's encryption key
src/encryption.rs:279
Functionhex_to_fragment_id
(hex: &str)
src/fragmentation.rs:37
Methodis_private
(&self)
src/terminal_ux.rs:339
Functionmain
()
src/main.rs:281
Methodmark_delivered
(&mut self, message_id: &str)
src/main.rs:197
Methodnew
()
src/main.rs:186
Methodnew
()
src/encryption.rs:44
Methodnew
()
src/terminal_ux.rs:20
Methodnew
()
src/persistence.rs:34
Functionparse_bitchat_message_payload
(data: &[u8])
src/main.rs:2400
Functionprint_help
()
src/terminal_ux.rs:268
Methodremove_channel
(&mut self, channel: &str)
src/terminal_ux.rs:128
Functionsend_channel_announce
( peripheral: &Peripheral, cmd_char: &Characteristic, my_peer_id: &str, channel: &str, is_
src/main.rs:3168
Functionshould_fragment
Enable fragmentation to match Swift's 500-byte threshold This fixes the issue where messages disappear after a certain length
src/main.rs:3012
Functionshould_send_ack
Check if we should send an ACK for this message (matching iOS logic)
src/main.rs:2948
Methodshould_send_ack
(&mut self, ack_id: &str)
src/main.rs:201
Methodshow_conversation_list
(&self)
src/terminal_ux.rs:141
Methodsign
Sign data using our signing key
src/encryption.rs:212
Methodswitch_to_channel
(&mut self, channel: &str)
src/terminal_ux.rs:110
Methodswitch_to_channel_silent
(&mut self, channel: &str)
src/terminal_ux.rs:117
Methodswitch_to_number
(&mut self, num: usize)
src/terminal_ux.rs:54
Methodswitch_to_public
(&mut self)
src/terminal_ux.rs:122
Functiontest_channel_key_derivation
()
src/encryption.rs:320
Functiontest_key_exchange
()
src/encryption.rs:296
Functiontest_message_type_values
()
src/main.rs:3205
Functiontest_protocol_constants
()
src/main.rs:3223
Methodtrack_message
(&mut self, message_id: String, content: String, is_private: bool)
src/main.rs:193
Functionunpad_message
Remove PKCS#7 padding from data
src/main.rs:2377
Methodverify
(&self, signature: &[u8], data: &[u8], peer_id: &str)
src/encryption.rs:219