detect-file-type
Version:
Detect file type by signature
1,027 lines (934 loc) • 27.3 kB
JSON
[
{
"type": "jpg",
"ext": "jpg",
"mime": "image/jpeg",
"rules": [
{ "type": "equal", "start": 0, "end": 3, "bytes": "ffd8ff" }
]
},
{
"type": "png",
"ext": "png",
"mime": "image/png",
"rules": [
{ "type": "equal", "start": 0,"end": 4, "bytes": "89504e47" }
]
},
{
"type": "gif",
"ext": "gif",
"mime": "image/gif",
"rules": [
{ "type": "equal", "start": 0,"end": 3, "bytes": "474946" }
]
},
{
"type": "webp",
"ext": "webp",
"mime": "image/webp",
"rules": [
{ "type": "equal", "start": 8,"end": 12, "bytes": "57454250" }
]
},
{
"type": "flif",
"ext": "flif",
"mime": "image/flif",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "464c4946" }
]
},
{
"type": "cr2",
"ext": "cr2",
"mime": "image/x-canon-cr2",
"rules": [
{ "type": "and", "rules":
[
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "49492a00" },
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d4d002a" }
]
},
{ "type": "equal", "start": 8, "end": 10, "bytes": "4352" }
]
}
]
},
{
"type": "tif",
"ext": "tif",
"mime": "image/tiff",
"rules": [
{ "type": "and", "rules":
[
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "49492a00" },
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d4d002a" }
]
},
{ "type": "notEqual", "start": 8, "end": 10, "bytes": "4352" }
]
}
]
},
{
"type": "bmp",
"ext": "bmp",
"mime": "image/bmp",
"rules": [
{ "type": "equal", "start": 0,"end": 2, "bytes": "424d" }
]
},
{
"type": "jxr",
"ext": "jxr",
"mime": "image/vnd.ms-photo",
"rules": [
{ "type": "equal", "start": 0, "end": 3, "bytes": "4949bc" }
]
},
{
"type": "psd",
"ext": "psd",
"mime": "image/vnd.adobe.photoshop",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "38425053" }
]
},
{
"type": "zip",
"ext": "zip",
"mime": "application/zip",
"rules": [
{ "type": "equal", "start": 0, "end": 2, "bytes": "504b" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 2, "end": 3, "bytes": "03" },
{ "type": "equal", "start": 2, "end": 3, "bytes": "05" },
{ "type": "equal", "start": 2, "end": 3, "bytes": "07" }
]
},
{ "type": "or", "rules":
[
{ "type": "equal", "start": 3, "end": 4, "bytes": "04" },
{ "type": "equal", "start": 3, "end": 4, "bytes": "06" },
{ "type": "equal", "start": 3, "end": 4, "bytes": "08" }
]
},
{ "type": "notEqual", "start": 36, "end": 58, "bytes": "70656170706c69636174696f6e2f657075622b7a6970" },
{ "type": "notEqual", "start": 30, "end": 50, "bytes": "4d4554412d494e462f6d6f7a696c6c612e727361" }
]
},
{
"type": "epub",
"ext": "epub",
"mime": "application/epub+zip",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "504b0304" },
{ "type": "equal", "start": 36, "end": 58, "bytes": "70656170706c69636174696f6e2f657075622b7a6970" }
]
},
{
"type": "xpi",
"ext": "xpi",
"mime": "application/x-xpinstall",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "504b0304" },
{ "type": "equal", "start": 30, "end": 50, "bytes": "4d4554412d494e462f6d6f7a696c6c612e727361" }
]
},
{
"type": "tar",
"ext": "tar",
"mime": "application/x-tar",
"rules": [
{ "type": "equal", "start": 257, "end": 262, "bytes": "7573746172" }
]
},
{
"type": "rar",
"ext": "rar",
"mime": "application/x-rar-compressed",
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "526172211a07" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 6, "end": 7, "bytes": "00" },
{ "type": "equal", "start": 6, "end": 7, "bytes": "01" }
]
}
]
},
{
"type": "gz",
"ext": "gz",
"mime": "application/gzip",
"rules": [
{ "type": "equal", "start": 0, "end": 3, "bytes": "1f8b08" }
]
},
{
"type": "bz2",
"ext": "bz2",
"mime": "application/x-bzip2",
"rules": [
{ "type": "equal", "start": 0, "end": 3, "bytes": "425a68" }
]
},
{
"type": "7z",
"ext": "7z",
"mime": "application/x-7z-compressed",
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "377abcaf271c" }
]
},
{
"type": "dmg",
"ext": "dmg",
"mime": "application/x-apple-diskimage",
"rules": [
{ "type": "equal", "start": 0, "end": 2, "bytes": "7801" }
]
},
{
"type": "mov",
"ext": "mov",
"mime": "video/quicktime",
"rules": [
{
"type": "or",
"rules": [
{ "type": "equal", "start": 4, "end": 12, "bytes": "6674797071742020", "desc": "ftypqt " },
{ "type": "equal", "start": 4, "end": 8, "bytes": "6d6f6f76", "desc": "moov" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "66726565", "desc": "free" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "6d646174", "desc": "mdat" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "77696465", "desc": "wide" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "706e6f74", "desc": "pnot" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "736b6970", "desc": "skip" }
]
}
],
"desc": "must come before mp4"
},
{
"type": "mp4",
"ext": "mp4",
"mime": "video/mp4",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "33677035", "desc": "3gp5" },
{ "type": "and", "rules":
[
{ "type": "equal", "start": 0, "end": 3, "bytes": "000000" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "66747970", "desc": "ftyp" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 12, "bytes": "6d703431", "desc": "mp41" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "6d703432", "desc": "mp42" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "69736f6d", "desc": "isom" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "69736f32", "desc": "iso2" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "6d6d7034", "desc": "mmp4" },
{ "type": "and", "rules": [
{ "type": "equal", "start": 8, "end": 11, "bytes": "4d3456", "desc": "M4V" },
{ "type": "equal", "start": 16, "end": 24, "bytes": "4d3456204d344120", "desc": "M4V M4A " }
], "desc": "m4v+m4a, extension is default mp4"
},
{ "type": "equal", "start": 8, "end": 11, "bytes": "4d3456", "desc": "M4V",
"ext": "m4v", "mime": "video/mp4"
},
{ "type": "equal", "start": 8, "end": 11, "bytes": "4d3441", "desc": "M4A",
"ext": "m4a", "mime": "audio/mp4"
},
{ "type": "equal", "start": 8, "end": 11, "bytes": "4d3450", "desc": "M4P",
"ext": "mp4", "mime": "audio/mp4a-latm"
},
{ "type": "equal", "start": 8, "end": 11, "bytes": "4d3442", "desc": "M4B",
"ext": "mp4", "mime": "audio/mp4a-latm"
},
{ "type": "equal", "start": 8, "end": 11, "bytes": "336732", "desc": "3g2",
"ext": "3g2", "mime": "video/3gpp2"
},
{ "type": "equal", "start": 8, "end": 10, "bytes": "3367", "desc": "3g",
"ext": "3gp", "mime": "video/3gpp"
},
{ "type": "equal", "start": 8, "end": 12, "bytes": "64617368", "desc": "dash" },
{ "type": "default", "mime": "video/mpeg4-generic" }
]
}
]
}
]
}
]
},
{
"type": "riff",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "52494646", "desc": "RIFF" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 11, "bytes": "415649", "desc": "AVI",
"ext": "avi", "mime": "video/x-msvideo"
},
{ "type": "equal", "start": 8, "end": 12, "bytes": "57415645", "desc": "WAVE",
"ext": "wav", "mime": "audio/x-wav"
},
{ "type": "equal", "start": 8, "end": 12, "bytes": "514c434d", "desc": "QLCM",
"ext": "qcp", "mime": "audio/qcelp"
}
]
}
]
},
{
"type": "mid",
"ext": "mid",
"mime": "audio/midi",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d546864" }
]
},
{
"type": "mkv",
"ext": "mkv",
"mime": "video/x-matroska",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "1a45dfa3" },
{
"type": "or",
"search": { "id": 1, "start": 4, "end": 4096, "bytes": "4282" },
"rules":
[
{ "type": "equal", "search_ref": 1, "start": 3, "end": 11, "bytes": "6d6174726f736b61", "desc": "matroska" },
{ "type": "equal", "search_ref": 1, "start": 3, "end": 7, "bytes": "7765626d", "desc": "Webm",
"ext": "webm",
"mime": "video/webm"
}
]
}
]
},
{
"type": "wasm",
"ext": "wasm",
"mime": "application/wasm",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "0061736d" }
]
},
{
"type": "asf",
"ext": "asf",
"mime": "application/vnd.ms-asf",
"rules": [
{ "type": "equal", "start": 0, "end": 10, "bytes": "3026b2758e66cf11a6d9" },
{
"type": "or", "rules":
[
{
"type": "and", "rules": [
{ "type": "contains", "start": 10, "end": 1024, "bytes": "409e69f84d5bcf11a8fd00805f5c442b" },
{ "type": "contains", "start": 10, "end": 1024, "bytes": "c0ef19bc4d5bcf11a8fd00805f5c442b" }
],
"ext": "wmv",
"mime": "video/x-ms-asf"
},
{ "type": "contains", "start": 10, "end": 1024, "bytes": "409e69f84d5bcf11a8fd00805f5c442b",
"ext": "wma",
"mime": "audio/x-ms-wma"
},
{ "type": "contains", "start": 10, "end": 1024, "bytes": "c0ef19bc4d5bcf11a8fd00805f5c442b",
"ext": "wmv",
"mime": "video/x-ms-wmv"
},
{ "type": "default", "desc": "fallback to generic asf" }
]
}
]
},
{
"type": "mpg",
"ext": "mpg",
"mime": "video/mpeg",
"rules": [
{ "type": "equal", "start": 0, "end": 3, "bytes": "000001" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 3, "end": 4, "bytes": "b0"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b1"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b2"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b3"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b4"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b5"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b6"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b7"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b8"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "b9"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "ba"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "bb"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "bc"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "bd"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "be"},
{ "type": "equal", "start": 3, "end": 4, "bytes": "bf"}
]
}
]
},
{
"type": "mp3",
"ext": "mp3",
"mime": "audio/mpeg",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 3, "bytes": "494433" },
{ "type": "equal", "start": 0, "end": 2, "bytes": "fffb" }
]
}
]
},
{
"type": "opus",
"ext": "opus",
"mime": "audio/opus",
"rules": [
{ "type": "equal", "start": 28, "end": 36, "bytes": "4f70757348656164" }
]
},
{
"type": "ogg",
"ext": "ogg",
"mime": "audio/ogg",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "4f676753", "desc": "OggS" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 28, "end": 35, "bytes": "807468656f7261", "desc": "\u0080theora",
"ext": "ogv", "mime": "video/ogg"
},
{ "type": "equal", "start": 28, "end": 35, "bytes": "01766964656f00", "desc": "\u0001video\u0000",
"ext": "ogm", "mime": "video/ogg"
},
{ "type": "equal", "start": 28, "end": 33, "bytes": "7f464c4143", "desc": "FLAC",
"ext": "oga", "mime": "audio/ogg"
},
{ "type": "equal", "start": 28, "end": 35, "bytes": "53706565782020", "desc": "Speex ",
"ext": "spx", "mime": "audio/ogg"
},
{ "type": "equal", "start": 28, "end": 35, "bytes": "01766f72626973", "desc": "\u0001vorbis",
"ext": "ogg", "mime": "audio/ogg"
},
{ "type": "default", "ext": "ogx", "mime": "application/ogg" }
]
},
{ "type": "notEqual", "start": 28, "end": 36, "bytes": "4f70757348656164" }
]
},
{
"type": "flac",
"ext": "flac",
"mime": "audio/x-flac",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "664c6143" }
]
},
{
"type": "ape",
"ext": "ape",
"mime": "audio/ape",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d414320" }
]
},
{
"type": "wv",
"ext": "wv",
"mime": "audio/wavpack",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "7776706b" }
]
},
{
"type": "amr",
"ext": "amr",
"mime": "audio/amr",
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "2321414d520a" }
]
},
{
"type": "pdf",
"ext": "pdf",
"mime": "application/pdf",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "25504446" }
]
},
{
"type": "exe",
"ext": "exe",
"mime": "application/x-msdownload",
"iana": "application/vnd.microsoft.portable-executable",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 2, "bytes": "4d5a" },
{ "type": "equal", "start": 0, "end": 2, "bytes": "4d7a" },
{ "type": "equal", "start": 0, "end": 2, "bytes": "6d7a" },
{ "type": "equal", "start": 0, "end": 2, "bytes": "6d5a" }
]
}
]
},
{
"type": "swf",
"ext": "swf",
"mime": "application/x-shockwave-flash",
"iana": "application/vnd.adobe.flash.movie",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 1, "bytes": "43" },
{ "type": "equal", "start": 0, "end": 1, "bytes": "46" }
]
},
{ "type": "equal", "start": 1, "end": 3, "bytes": "5753" }
]
},
{
"type": "rtf",
"ext": "rtf",
"mime": "application/rtf",
"rules": [
{ "type": "equal", "start": 0, "end": 5, "bytes": "7b5c727466" }
]
},
{
"type": "woff",
"ext": "woff",
"mime": "application/font-woff",
"iana": "font/woff",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "774f4646" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 4, "end": 8, "bytes": "00010000" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "4f54544f" }
]
}
]
},
{
"type": "woff2",
"ext": "woff2",
"mime": "application/font-woff",
"iana": "font/woff2",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "774f4632" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 4, "end": 8, "bytes": "00010000" },
{ "type": "equal", "start": 4, "end": 8, "bytes": "4f54544f" }
]
}
]
},
{
"type": "eot",
"ext": "eot",
"mime": "application/vnd.ms-fontobject",
"rules": [
{ "type": "equal", "start": 34, "end": 36, "bytes": "4c50" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 11, "bytes": "000001" },
{ "type": "equal", "start": 8, "end": 11, "bytes": "010002" },
{ "type": "equal", "start": 8, "end": 11, "bytes": "020002" }
]
}
]
},
{
"type": "ttf",
"ext": "ttf",
"mime": "application/font-sfnt",
"iana": "font/ttf",
"rules": [
{ "type": "equal", "start": 0, "end": 5, "bytes": "0001000000" }
]
},
{
"type": "otf",
"ext": "otf",
"mime": "application/font-sfnt",
"iana": "font/otf",
"rules": [
{ "type": "equal", "start": 0, "end": 5, "bytes": "4f54544f00" }
]
},
{
"type": "ico",
"ext": "ico",
"mime": "image/x-icon",
"iana": "image/vnd.microsoft.icon",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "00000100" }
]
},
{
"type": "cur",
"ext": "cur",
"mime": "image/x-icon",
"iana": "image/vnd.microsoft.icon",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "00000200" }
]
},
{
"type": "flv",
"ext": "flv",
"mime": "video/x-flv",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "464c5601" }
]
},
{
"type": "ps",
"ext": "ps",
"mime": "application/postscript",
"rules": [
{ "type": "equal", "start": 0, "end": 2, "bytes": "2521" }
]
},
{
"type": "xz",
"ext": "xz",
"mime": "application/x-xz",
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "fd377a585a00" }
]
},
{
"type": "sqlite",
"ext": "sqlite",
"mime": "application/x-sqlite3",
"iana": "application/vnd.sqlite3",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "53514c69" }
]
},
{
"type": "nes",
"ext": "nes",
"mime": "application/x-nintendo-nes-rom",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "4e45531a" }
]
},
{
"type": "dex",
"ext": "dex",
"mime": "application/x-dex",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "6465780a" }
]
},
{
"type": "crx",
"ext": "crx",
"mime": "application/x-google-chrome-extension",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "43723234" }
]
},
{
"type": "elf",
"ext": "elf",
"mime": "application/x-executable",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "7f454c46" }
]
},
{
"type": "cab",
"ext": "cab",
"mime": "application/vnd.ms-cab-compressed",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d534346" },
{ "type": "equal", "start": 0, "end": 4, "bytes": "49536328" }
]
}
]
},
{
"type": "deb",
"ext": "deb",
"mime": "application/x-deb",
"rules": [
{ "type": "equal", "start": 0, "end": 21, "bytes": "213c617263683e0a64656269616e2d62696e617279" }
]
},
{
"type": "ar",
"ext": "ar",
"mime": "application/x-unix-archive",
"rules": [
{ "type": "equal", "start": 0, "end": 7, "bytes": "213c617263683e" },
{ "type": "notEqual", "start": 0, "end": 21, "bytes": "213c617263683e0a64656269616e2d62696e617279" }
]
},
{
"type": "rpm",
"ext": "rpm",
"mime": "application/x-rpm",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "edabeedb" }
]
},
{
"type": "Z",
"ext": "Z",
"mime": "application/x-compress",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 2, "bytes": "1fa0" },
{ "type": "equal", "start": 0, "end": 2, "bytes": "1f9d" }
]
}
]
},
{
"type": "lz",
"ext": "lz",
"mime": "application/x-lzip",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "4c5a4950" }
]
},
{
"type": "msi",
"ext": "msi",
"mime": "application/x-msi",
"rules": [
{ "type": "equal", "start": 0, "end": 8, "bytes": "d0cf11e0a1b11ae1" }
]
},
{
"type": "mxf",
"ext": "mxf",
"mime": "application/mxf",
"rules": [
{ "type": "equal", "start": 0, "end": 14, "bytes": "060e2b34020501010d0102010102" }
]
},
{
"type": "mts",
"ext": "mts",
"mime": "video/mp2t",
"rules": [
{ "type": "and", "rules":
[
{ "type": "equal", "start": 4, "end": 5, "bytes": "47" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 192, "end": 193, "bytes": "47" },
{ "type": "equal", "start": 196, "end": 197, "bytes": "47" }
]
}
]
}
]
},
{
"type": "blend",
"ext": "blend",
"mime": "application/x-blender",
"rules": [
{ "type": "equal", "start": 0, "end": 7, "bytes": "424c454e444552", "desc": "BLENDER" }
]
},
{
"type": "bpg",
"ext": "bpg",
"mime": "image/bpg",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "425047fb" }
]
},
{
"type": "jpeg-2000",
"rules": [
{ "type": "and", "rules": [
{ "type": "equal", "start": 0, "end": 12, "bytes": "0000000c6a5020200d0a870a" },
{ "type": "or", "rules": [
{ "type": "equal", "start": 20, "end": 24, "bytes": "6a703220",
"ext": "jp2", "mime": "image/jp2"
},
{ "type": "equal", "start": 20, "end": 24, "bytes": "6a707820",
"ext": "jpx", "mime": "image/jpx"
},
{ "type": "equal", "start": 20, "end": 24, "bytes": "6a706d20",
"ext": "jpm", "mime": "image/jpm"
},
{ "type": "equal", "start": 20, "end": 24, "bytes": "6d6a7032",
"ext": "mj2", "mime": "image/mj2"
}
] }
] }
]
},
{
"type": "aif",
"ext": "aif",
"mime": "audio/aiff",
"rules": [
{ "type": "equal", "start": 0, "end": 4, "bytes": "464f524d" }
]
},
{
"type": "svg",
"ext": "svg",
"mime": "image/svg+xml",
"rules": [
{ "type": "or", "recode_text": true, "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "3c737667", "desc": "<svg" },
{ "type": "and", "rules":
[
{ "type": "equal", "start": 0, "end": 6, "bytes": "3c3f786d6c20", "desc": "<?xml " },
{ "type": "contains", "bytes": "3c737667", "desc": "<svg" }
]
}
]
}
]
},
{
"type": "xml",
"ext": "xml",
"mime": "application/xml",
"recode_text": true,
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "3c3f786d6c20", "desc": "<?xml " }
]
},
{
"type": "mobi",
"ext": "mobi",
"mime": "application/x-mobipocket-ebook",
"rules": [
{ "type": "equal", "start": 60, "end": 68, "bytes": "424f4f4b4d4f4249" }
]
},
{
"type": "heic",
"rules": [
{ "type": "and", "rules":
[
{ "type": "equal", "start": 4, "end": 8, "bytes": "66747970" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 12, "bytes": "6d696631",
"ext": "heic", "mime": "image/heif" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "6d736631",
"ext": "heic", "mime": "image/heif-sequence" },
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 12, "bytes": "68656963" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "68656978" }
], "ext": "heic", "mime": "image/heic"
},
{ "type": "or", "rules":
[
{ "type": "equal", "start": 8, "end": 12, "bytes": "68657663" },
{ "type": "equal", "start": 8, "end": 12, "bytes": "68657678" }
], "ext": "heic", "mime": "image/heic-sequence"
}
]
}
]
}
]
},
{
"type": "ktx",
"ext": "ktx",
"mime": "image/ktx",
"rules": [
{ "type": "equal", "start": 0, "end": 12, "bytes": "ab4b5458203131bb0d0a1a0a" }
]
},
{
"type": "dcm",
"ext": "dcm",
"mime": "application/dicom",
"rules": [
{ "type": "equal", "start": 128, "end": 132, "bytes": "4449434d" }
]
},
{
"type": "mpc",
"ext": "mpc",
"mime": "audio/x-musepack",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 3, "bytes": "4d502b" },
{ "type": "equal", "start": 0, "end": 4, "bytes": "4d50434b" }
]
}
]
},
{
"type": "ics",
"ext": "ics",
"mime": "text/calendar",
"recode_text": true,
"rules": [
{ "type": "equal", "start": 0, "end": 6, "bytes": "424547494e3a" }
]
},
{
"type": "glb",
"ext": "glb",
"mime": "model/gltf-binary",
"rules": [
{ "type": "equal", "start": 0, "end": 8, "bytes": "676c544602000000" }
]
},
{
"type": "pcap",
"ext": "pcap",
"mime": "application/vnd.tcpdump.pcap",
"rules": [
{ "type": "or", "rules":
[
{ "type": "equal", "start": 0, "end": 4, "bytes": "d4c3b2a1" },
{ "type": "equal", "start": 0, "end": 4, "bytes": "a1b2c3d4" }
]
}
]
},
{
"type": "html",
"ext": "html",
"mime": "text/html",
"rules": [
{ "type": "or", "recode_text": true, "rules":
[
{ "type": "contains", "bytes": "3c68746d6c" },
{ "type": "contains", "bytes": "3c00680074006d006c00" }
]
}
]
}
]