IFB
text/calendar
Magic Bytes
Offset: 0
42 45 47 49 4E 3A 56 43 41 4C 45 4E 44 41 52
The iCalendar Free/Busy (IFB) file is a text-based format derived from the iCalendar standard, originally defined by the Internet Engineering Task Force (IETF). This format is primarily employed by email and calendar applications, such as Microsoft Outlook and Apple Calendar, to transmit availability status without disclosing sensitive event details. While technically a plain text format containing no executable code, users should be aware that these files publicly broadcast schedule availability when published to shared servers.
Validation Code
How to validate .ifb files in Python
Python
def is_ifb(file_path: str) -> bool:
"""Check if file is a valid IFB by magic bytes."""
signature = bytes([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52])
with open(file_path, "rb") as f:
return f.read(15) == signature
How to validate .ifb files in Node.js
Node.js
function isIFB(buffer: Buffer): boolean {
const signature = Buffer.from([0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52]);
return buffer.subarray(0, 15).equals(signature);
}
Go
func IsIFB(data []byte) bool {
signature := []byte{0x42, 0x45, 0x47, 0x49, 0x4E, 0x3A, 0x56, 0x43, 0x41, 0x4C, 0x45, 0x4E, 0x44, 0x41, 0x52}
if len(data) < 15 {
return false
}
return bytes.Equal(data[:15], signature)
}
API Endpoint
GET
/api/v1/ifb
curl https://filesignature.org/api/v1/ifb