github.com/krum110487/go-htaccess@v0.0.0-20240316004156-60641c8e7598/tests/data/apache_2_4_58/conf/magic (about) 1 # Magic data for mod_mime_magic Apache module (originally for file(1) command) 2 # The module is described in /manual/mod/mod_mime_magic.html 3 # 4 # The format is 4-5 columns: 5 # Column #1: byte number to begin checking from, ">" indicates continuation 6 # Column #2: type of data to match 7 # Column #3: contents of data to match 8 # Column #4: MIME type of result 9 # Column #5: MIME encoding of result (optional) 10 11 #------------------------------------------------------------------------------ 12 # Localstuff: file(1) magic for locally observed files 13 # Add any locally observed files here. 14 15 #------------------------------------------------------------------------------ 16 # end local stuff 17 #------------------------------------------------------------------------------ 18 19 #------------------------------------------------------------------------------ 20 # Java 21 22 0 short 0xcafe 23 >2 short 0xbabe application/java 24 25 #------------------------------------------------------------------------------ 26 # audio: file(1) magic for sound formats 27 # 28 # from Jan Nicolai Langfeldt <janl@ifi.uio.no>, 29 # 30 31 # Sun/NeXT audio data 32 0 string .snd 33 >12 belong 1 audio/basic 34 >12 belong 2 audio/basic 35 >12 belong 3 audio/basic 36 >12 belong 4 audio/basic 37 >12 belong 5 audio/basic 38 >12 belong 6 audio/basic 39 >12 belong 7 audio/basic 40 41 >12 belong 23 audio/x-adpcm 42 43 # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format 44 # that uses little-endian encoding and has a different magic number 45 # (0x0064732E in little-endian encoding). 46 0 lelong 0x0064732E 47 >12 lelong 1 audio/x-dec-basic 48 >12 lelong 2 audio/x-dec-basic 49 >12 lelong 3 audio/x-dec-basic 50 >12 lelong 4 audio/x-dec-basic 51 >12 lelong 5 audio/x-dec-basic 52 >12 lelong 6 audio/x-dec-basic 53 >12 lelong 7 audio/x-dec-basic 54 # compressed (G.721 ADPCM) 55 >12 lelong 23 audio/x-dec-adpcm 56 57 # Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM" 58 # AIFF audio data 59 8 string AIFF audio/x-aiff 60 # AIFF-C audio data 61 8 string AIFC audio/x-aiff 62 # IFF/8SVX audio data 63 8 string 8SVX audio/x-aiff 64 65 # Creative Labs AUDIO stuff 66 # Standard MIDI data 67 0 string MThd audio/unknown 68 #>9 byte >0 (format %d) 69 #>11 byte >1 using %d channels 70 # Creative Music (CMF) data 71 0 string CTMF audio/unknown 72 # SoundBlaster instrument data 73 0 string SBI audio/unknown 74 # Creative Labs voice data 75 0 string Creative\ Voice\ File audio/unknown 76 ## is this next line right? it came this way... 77 #>19 byte 0x1A 78 #>23 byte >0 - version %d 79 #>22 byte >0 \b.%d 80 81 # [GRR 950115: is this also Creative Labs? Guessing that first line 82 # should be string instead of unknown-endian long...] 83 #0 long 0x4e54524b MultiTrack sound data 84 #0 string NTRK MultiTrack sound data 85 #>4 long x - version %ld 86 87 # Microsoft WAVE format (*.wav) 88 # [GRR 950115: probably all of the shorts and longs should be leshort/lelong] 89 # Microsoft RIFF 90 0 string RIFF 91 # - WAVE format 92 >8 string WAVE audio/x-wav 93 # MPEG audio. 94 0 beshort&0xfff0 0xfff0 audio/mpeg 95 # C64 SID Music files, from Linus Walleij <triad@df.lth.se> 96 0 string PSID audio/prs.sid 97 98 #------------------------------------------------------------------------------ 99 # c-lang: file(1) magic for C programs or various scripts 100 # 101 102 # XPM icons (Greg Roelofs, newt@uchicago.edu) 103 # ideally should go into "images", but entries below would tag XPM as C source 104 0 string /*\ XPM image/x-xbm 7bit 105 106 # this first will upset you if you're a PL/1 shop... (are there any left?) 107 # in which case rm it; ascmagic will catch real C programs 108 # C or REXX program text 109 0 string /* text/plain 110 # C++ program text 111 0 string // text/plain 112 113 #------------------------------------------------------------------------------ 114 # compress: file(1) magic for pure-compression formats (no archives) 115 # 116 # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc. 117 # 118 # Formats for various forms of compressed data 119 # Formats for "compress" proper have been moved into "compress.c", 120 # because it tries to uncompress it to figure out what's inside. 121 122 # standard unix compress 123 0 string \037\235 application/octet-stream x-compress 124 125 # gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver) 126 0 string \037\213 application/octet-stream x-gzip 127 128 # According to gzip.h, this is the correct byte order for packed data. 129 0 string \037\036 application/octet-stream 130 # 131 # This magic number is byte-order-independent. 132 # 133 0 short 017437 application/octet-stream 134 135 # XXX - why *two* entries for "compacted data", one of which is 136 # byte-order independent, and one of which is byte-order dependent? 137 # 138 # compacted data 139 0 short 0x1fff application/octet-stream 140 0 string \377\037 application/octet-stream 141 # huf output 142 0 short 0145405 application/octet-stream 143 144 # Squeeze and Crunch... 145 # These numbers were gleaned from the Unix versions of the programs to 146 # handle these formats. Note that I can only uncrunch, not crunch, and 147 # I didn't have a crunched file handy, so the crunch number is untested. 148 # Keith Waclena <keith@cerberus.uchicago.edu> 149 #0 leshort 0x76FF squeezed data (CP/M, DOS) 150 #0 leshort 0x76FE crunched data (CP/M, DOS) 151 152 # Freeze 153 #0 string \037\237 Frozen file 2.1 154 #0 string \037\236 Frozen file 1.0 (or gzip 0.5) 155 156 # lzh? 157 #0 string \037\240 LZH compressed data 158 159 #------------------------------------------------------------------------------ 160 # frame: file(1) magic for FrameMaker files 161 # 162 # This stuff came on a FrameMaker demo tape, most of which is 163 # copyright, but this file is "published" as witness the following: 164 # 165 0 string \<MakerFile application/x-frame 166 0 string \<MIFFile application/x-frame 167 0 string \<MakerDictionary application/x-frame 168 0 string \<MakerScreenFon application/x-frame 169 0 string \<MML application/x-frame 170 0 string \<Book application/x-frame 171 0 string \<Maker application/x-frame 172 173 #------------------------------------------------------------------------------ 174 # html: file(1) magic for HTML (HyperText Markup Language) docs 175 # 176 # from Daniel Quinlan <quinlan@yggdrasil.com> 177 # and Anna Shergold <anna@inext.co.uk> 178 # 179 0 string \<!DOCTYPE\ HTML text/html 180 0 string \<!doctype\ html text/html 181 0 string \<HEAD text/html 182 0 string \<head text/html 183 0 string \<TITLE text/html 184 0 string \<title text/html 185 0 string \<html text/html 186 0 string \<HTML text/html 187 0 string \<!-- text/html 188 0 string \<h1 text/html 189 0 string \<H1 text/html 190 191 # XML eXtensible Markup Language, from Linus Walleij <triad@df.lth.se> 192 0 string \<?xml text/xml 193 194 #------------------------------------------------------------------------------ 195 # images: file(1) magic for image formats (see also "c-lang" for XPM bitmaps) 196 # 197 # originally from jef@helios.ee.lbl.gov (Jef Poskanzer), 198 # additions by janl@ifi.uio.no as well as others. Jan also suggested 199 # merging several one- and two-line files into here. 200 # 201 # XXX - byte order for GIF and TIFF fields? 202 # [GRR: TIFF allows both byte orders; GIF is probably little-endian] 203 # 204 205 # [GRR: what the hell is this doing in here?] 206 #0 string xbtoa btoa'd file 207 208 # PBMPLUS 209 # PBM file 210 0 string P1 image/x-portable-bitmap 7bit 211 # PGM file 212 0 string P2 image/x-portable-greymap 7bit 213 # PPM file 214 0 string P3 image/x-portable-pixmap 7bit 215 # PBM "rawbits" file 216 0 string P4 image/x-portable-bitmap 217 # PGM "rawbits" file 218 0 string P5 image/x-portable-greymap 219 # PPM "rawbits" file 220 0 string P6 image/x-portable-pixmap 221 222 # NIFF (Navy Interchange File Format, a modification of TIFF) 223 # [GRR: this *must* go before TIFF] 224 0 string IIN1 image/x-niff 225 226 # TIFF and friends 227 # TIFF file, big-endian 228 0 string MM image/tiff 229 # TIFF file, little-endian 230 0 string II image/tiff 231 232 # possible GIF replacements; none yet released! 233 # (Greg Roelofs, newt@uchicago.edu) 234 # 235 # GRR 950115: this was mine ("Zip GIF"): 236 # ZIF image (GIF+deflate alpha) 237 0 string GIF94z image/unknown 238 # 239 # GRR 950115: this is Jeremy Wohl's Free Graphics Format (better): 240 # FGF image (GIF+deflate beta) 241 0 string FGF95a image/unknown 242 # 243 # GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal 244 # (best; not yet implemented): 245 # PBF image (deflate compression) 246 0 string PBF image/unknown 247 248 # GIF 249 0 string GIF image/gif 250 251 # JPEG images 252 0 beshort 0xffd8 image/jpeg 253 254 # PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu) 255 0 string BM image/bmp 256 #>14 byte 12 (OS/2 1.x format) 257 #>14 byte 64 (OS/2 2.x format) 258 #>14 byte 40 (Windows 3.x format) 259 #0 string IC icon 260 #0 string PI pointer 261 #0 string CI color icon 262 #0 string CP color pointer 263 #0 string BA bitmap array 264 265 0 string \x89PNG image/png 266 0 string FWS application/x-shockwave-flash 267 0 string CWS application/x-shockwave-flash 268 269 #------------------------------------------------------------------------------ 270 # lisp: file(1) magic for lisp programs 271 # 272 # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com) 273 0 string ;; text/plain 8bit 274 # Emacs 18 - this is always correct, but not very magical. 275 0 string \012( application/x-elc 276 # Emacs 19 277 0 string ;ELC\023\000\000\000 application/x-elc 278 279 #------------------------------------------------------------------------------ 280 # mail.news: file(1) magic for mail and news 281 # 282 # There are tests to ascmagic.c to cope with mail and news. 283 0 string Relay-Version: message/rfc822 7bit 284 0 string #!\ rnews message/rfc822 7bit 285 0 string N#!\ rnews message/rfc822 7bit 286 0 string Forward\ to message/rfc822 7bit 287 0 string Pipe\ to message/rfc822 7bit 288 0 string Return-Path: message/rfc822 7bit 289 0 string Path: message/news 8bit 290 0 string Xref: message/news 8bit 291 0 string From: message/rfc822 7bit 292 0 string Article message/news 8bit 293 #------------------------------------------------------------------------------ 294 # msword: file(1) magic for MS Word files 295 # 296 # Contributor claims: 297 # Reversed-engineered MS Word magic numbers 298 # 299 300 0 string \376\067\0\043 application/msword 301 0 string \333\245-\0\0\0 application/msword 302 303 # disable this one because it applies also to other 304 # Office/OLE documents for which msword is not correct. See PR#2608. 305 #0 string \320\317\021\340\241\261 application/msword 306 307 308 309 #------------------------------------------------------------------------------ 310 # printer: file(1) magic for printer-formatted files 311 # 312 313 # PostScript 314 0 string %! application/postscript 315 0 string \004%! application/postscript 316 317 # Acrobat 318 # (due to clamen@cs.cmu.edu) 319 0 string %PDF- application/pdf 320 321 #------------------------------------------------------------------------------ 322 # sc: file(1) magic for "sc" spreadsheet 323 # 324 38 string Spreadsheet application/x-sc 325 326 #------------------------------------------------------------------------------ 327 # tex: file(1) magic for TeX files 328 # 329 # XXX - needs byte-endian stuff (big-endian and little-endian DVI?) 330 # 331 # From <conklin@talisman.kaleida.com> 332 333 # Although we may know the offset of certain text fields in TeX DVI 334 # and font files, we can't use them reliably because they are not 335 # zero terminated. [but we do anyway, christos] 336 0 string \367\002 application/x-dvi 337 #0 string \367\203 TeX generic font data 338 #0 string \367\131 TeX packed font data 339 #0 string \367\312 TeX virtual font data 340 #0 string This\ is\ TeX, TeX transcript text 341 #0 string This\ is\ METAFONT, METAFONT transcript text 342 343 # There is no way to detect TeX Font Metric (*.tfm) files without 344 # breaking them apart and reading the data. The following patterns 345 # match most *.tfm files generated by METAFONT or afm2tfm. 346 #2 string \000\021 TeX font metric data 347 #2 string \000\022 TeX font metric data 348 #>34 string >\0 (%s) 349 350 # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com) 351 #0 string \\input\ texinfo Texinfo source text 352 #0 string This\ is\ Info\ file GNU Info text 353 354 # correct TeX magic for Linux (and maybe more) 355 # from Peter Tobias (tobias@server.et-inf.fho-emden.de) 356 # 357 0 leshort 0x02f7 application/x-dvi 358 359 # RTF - Rich Text Format 360 0 string {\\rtf application/rtf 361 362 #------------------------------------------------------------------------------ 363 # animation: file(1) magic for animation/movie formats 364 # 365 # animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8) 366 # MPEG file 367 0 string \000\000\001\263 video/mpeg 368 # 369 # The contributor claims: 370 # I couldn't find a real magic number for these, however, this 371 # -appears- to work. Note that it might catch other files, too, 372 # so BE CAREFUL! 373 # 374 # Note that title and author appear in the two 20-byte chunks 375 # at decimal offsets 2 and 22, respectively, but they are XOR'ed with 376 # 255 (hex FF)! DL format SUCKS BIG ROCKS. 377 # 378 # DL file version 1 , medium format (160x100, 4 images/screen) 379 0 byte 1 video/unknown 380 0 byte 2 video/unknown 381 # Quicktime video, from Linus Walleij <triad@df.lth.se> 382 # from Apple quicktime file format documentation. 383 4 string moov video/quicktime 384 4 string mdat video/quicktime 385