github.com/drud/ddev@v1.21.5-alpha1.0.20230226034409-94fcc4b94453/containers/ddev-webserver/ddev-webserver-base-files/etc/apache2/magic (about)

     1  # Magic data for mod_mime_magic (originally for file(1) command)
     2  #
     3  # The format is 4-5 columns:
     4  #    Column #1: byte number to begin checking from, ">" indicates continuation
     5  #    Column #2: type of data to match
     6  #    Column #3: contents of data to match
     7  #    Column #4: MIME type of result
     8  #    Column #5: MIME encoding of result (optional)
     9  
    10  #------------------------------------------------------------------------------
    11  # Localstuff:  file(1) magic for locally observed files
    12  # Add any locally observed files here.
    13  
    14  # Real Audio (Magic .ra\0375)
    15  0	belong		0x2e7261fd	audio/x-pn-realaudio
    16  0	string		.RMF		application/vnd.rn-realmedia
    17  
    18  #video/x-pn-realvideo
    19  #video/vnd.rn-realvideo
    20  #application/vnd.rn-realmedia
    21  #	sigh, there are many mimes for that but the above are the most common.
    22  
    23  # Taken from magic, converted to magic.mime
    24  # mime types according to http://www.geocities.com/nevilo/mod.htm:
    25  #	audio/it	.it
    26  #	audio/x-zipped-it	.itz
    27  #	audio/xm	fasttracker modules
    28  #	audio/x-s3m	screamtracker modules
    29  #	audio/s3m	screamtracker modules
    30  #	audio/x-zipped-mod	mdz
    31  #	audio/mod	mod
    32  #	audio/x-mod	All modules (mod, s3m, 669, mtm, med, xm, it, mdz, stm, itz, xmz, s3z)
    33  
    34  # Taken from loader code from mikmod version 2.14
    35  # by Steve McIntyre (stevem@chiark.greenend.org.uk)
    36  # <doj@cubic.org> added title printing on 2003-06-24
    37  0	string	MAS_UTrack_V00
    38  >14	string	>/0		audio/x-mod
    39  #audio/x-tracker-module
    40  
    41  #0	string	UN05		MikMod UNI format module sound data
    42  
    43  0	string	Extended\ Module: audio/x-mod
    44  #audio/x-tracker-module
    45  ##>17	string	>\0		Title: "%s"
    46  
    47  21	string/c	\!SCREAM!	audio/x-mod
    48  #audio/x-screamtracker-module
    49  21	string	BMOD2STM	audio/x-mod
    50  #audio/x-screamtracker-module
    51  1080	string	M.K.		audio/x-mod
    52  #audio/x-protracker-module
    53  #>0	string	>\0		Title: "%s"
    54  1080	string	M!K!		audio/x-mod
    55  #audio/x-protracker-module
    56  #>0	string	>\0		Title: "%s"
    57  1080	string	FLT4		audio/x-mod
    58  #audio/x-startracker-module
    59  #>0	string	>\0		Title: "%s"
    60  1080	string	FLT8		audio/x-mod
    61  #audio/x-startracker-module
    62  #>0	string	>\0		Title: "%s"
    63  1080	string	4CHN		audio/x-mod
    64  #audio/x-fasttracker-module
    65  #>0	string	>\0		Title: "%s"
    66  1080	string	6CHN		audio/x-mod
    67  #audio/x-fasttracker-module
    68  #>0	string	>\0		Title: "%s"
    69  1080	string	8CHN		audio/x-mod
    70  #audio/x-fasttracker-module
    71  #>0	string	>\0		Title: "%s"
    72  1080	string	CD81		audio/x-mod
    73  #audio/x-oktalyzer-tracker-module
    74  #>0	string	>\0		Title: "%s"
    75  1080	string	OKTA		audio/x-mod
    76  #audio/x-oktalyzer-tracker-module
    77  #>0	string	>\0		Title: "%s"
    78  # Not good enough.
    79  #1082	string	CH
    80  #>1080	string	>/0		%.2s-channel Fasttracker "oktalyzer" module sound data
    81  1080	string	16CN		audio/x-mod
    82  #audio/x-taketracker-module
    83  #>0	string	>\0		Title: "%s"
    84  1080	string	32CN		audio/x-mod
    85  #audio/x-taketracker-module
    86  #>0	string	>\0		Title: "%s"
    87  
    88  # Impuse tracker module (it)
    89  0	string		IMPM		audio/x-mod
    90  #>4	string		>\0		"%s"
    91  #>40	leshort		!0		compatible w/ITv%x
    92  #>42	leshort		!0		created w/ITv%x
    93  
    94  #------------------------------------------------------------------------------
    95  # end local stuff
    96  #------------------------------------------------------------------------------
    97  
    98  # xml based formats!
    99  
   100  # svg
   101  
   102  0	string		\<?xml
   103  #			text/xml
   104  >38	string		\<\!DOCTYPE\040svg	image/svg+xml
   105  
   106  
   107  # xml
   108  0	string		\<?xml			text/xml
   109  
   110  
   111  #------------------------------------------------------------------------------
   112  # Java
   113  
   114  0	short		0xcafe
   115  >2	short		0xbabe		application/java
   116  
   117  #------------------------------------------------------------------------------
   118  # audio:  file(1) magic for sound formats
   119  #
   120  # from Jan Nicolai Langfeldt <janl@ifi.uio.no>,
   121  #
   122  
   123  # Sun/NeXT audio data
   124  0	string		.snd
   125  >12	belong		1		audio/basic
   126  >12	belong		2		audio/basic
   127  >12	belong		3		audio/basic
   128  >12	belong		4		audio/basic
   129  >12	belong		5		audio/basic
   130  >12	belong		6		audio/basic
   131  >12	belong		7		audio/basic
   132  
   133  >12	belong		23		audio/x-adpcm
   134  
   135  # DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
   136  # that uses little-endian encoding and has a different magic number
   137  # (0x0064732E in little-endian encoding).
   138  0	lelong		0x0064732E	
   139  >12	lelong		1		audio/x-dec-basic
   140  >12	lelong		2		audio/x-dec-basic
   141  >12	lelong		3		audio/x-dec-basic
   142  >12	lelong		4		audio/x-dec-basic
   143  >12	lelong		5		audio/x-dec-basic
   144  >12	lelong		6		audio/x-dec-basic
   145  >12	lelong		7		audio/x-dec-basic
   146  #                                       compressed (G.721 ADPCM)
   147  >12	lelong		23		audio/x-dec-adpcm
   148  
   149  # Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"
   150  #					AIFF audio data
   151  8	string		AIFF		audio/x-aiff	
   152  #					AIFF-C audio data
   153  8	string		AIFC		audio/x-aiff	
   154  #					IFF/8SVX audio data
   155  8	string		8SVX		audio/x-aiff	
   156  
   157  
   158  
   159  # Creative Labs AUDIO stuff
   160  #					Standard MIDI data
   161  0	string	MThd			audio/unknown	
   162  #>9 	byte	>0			(format %d)
   163  #>11	byte	>1			using %d channels
   164  #					Creative Music (CMF) data
   165  0	string	CTMF			audio/unknown	
   166  #					SoundBlaster instrument data
   167  0	string	SBI			audio/unknown	
   168  #					Creative Labs voice data
   169  0	string	Creative\ Voice\ File	audio/unknown	
   170  ## is this next line right?  it came this way...
   171  #>19	byte	0x1A
   172  #>23	byte	>0			- version %d
   173  #>22	byte	>0			\b.%d
   174  
   175  # [GRR 950115:  is this also Creative Labs?  Guessing that first line
   176  #  should be string instead of unknown-endian long...]
   177  #0	long		0x4e54524b	MultiTrack sound data
   178  #0	string		NTRK		MultiTrack sound data
   179  #>4	long		x		- version %ld
   180  
   181  # Microsoft WAVE format (*.wav)
   182  # [GRR 950115:  probably all of the shorts and longs should be leshort/lelong]
   183  #					Microsoft RIFF
   184  0	string		RIFF
   185  #					- WAVE format
   186  >8	string		WAVE		audio/x-wav
   187  >8	string/B	AVI		video/x-msvideo
   188  #
   189  >8 	string		CDRA		image/x-coreldraw
   190  
   191  # AAC (aka MPEG-2 NBC)
   192  0       beshort&0xfff6    0xfff0          audio/X-HX-AAC-ADTS
   193  0       string          ADIF            audio/X-HX-AAC-ADIF
   194  0       beshort&0xffe0  0x56e0          audio/MP4A-LATM
   195  0       beshort         0x4De1          audio/MP4A-LATM
   196  
   197  # MPEG Layer 3 sound files
   198  0       beshort&0xfffe  =0xfffa         audio/mpeg
   199  #MP3 with ID3 tag
   200  0	string		ID3		audio/mpeg
   201  # Ogg/Vorbis
   202  0	string		OggS		application/ogg
   203  
   204  #------------------------------------------------------------------------------
   205  # c-lang:  file(1) magic for C programs or various scripts
   206  #
   207  
   208  # XPM icons (Greg Roelofs, newt@uchicago.edu)
   209  # ideally should go into "images", but entries below would tag XPM as C source
   210  0	string		/*\ XPM		image/x-xpmi 7bit
   211  
   212  # 3DS (3d Studio files)
   213  #16	beshort		0x3d3d		image/x-3ds
   214  
   215  # this first will upset you if you're a PL/1 shop... (are there any left?)
   216  # in which case rm it; ascmagic will catch real C programs
   217  #					C or REXX program text
   218  #0	string		/*		text/x-c
   219  #					C++ program text
   220  #0	string		//		text/x-c++
   221  
   222  #------------------------------------------------------------------------------
   223  # commands:  file(1) magic for various shells and interpreters
   224  #
   225  #0       string          :\ shell archive or commands for antique kernel text
   226  0       string          #!/bin/sh               application/x-shellscript
   227  0       string          #!\ /bin/sh             application/x-shellscript
   228  0       string          #!/bin/csh              application/x-shellscript
   229  0       string          #!\ /bin/csh            application/x-shellscript
   230  # korn shell magic, sent by George Wu, gwu@clyde.att.com
   231  0       string          #!/bin/ksh              application/x-shellscript
   232  0       string          #!\ /bin/ksh            application/x-shellscript
   233  0       string          #!/bin/tcsh             application/x-shellscript
   234  0       string          #!\ /bin/tcsh           application/x-shellscript
   235  0       string          #!/usr/local/tcsh       application/x-shellscript
   236  0       string          #!\ /usr/local/tcsh     application/x-shellscript
   237  0       string          #!/usr/local/bin/tcsh   application/x-shellscript
   238  0       string          #!\ /usr/local/bin/tcsh application/x-shellscript
   239  # bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
   240  0       string          #!/bin/bash     		application/x-shellscript
   241  0       string          #!\ /bin/bash           application/x-shellscript
   242  0       string          #!/usr/local/bin/bash   application/x-shellscript
   243  0       string          #!\ /usr/local/bin/bash application/x-shellscript
   244  
   245  #
   246  # zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
   247  0       string          #!/bin/zsh	        application/x-shellscript
   248  0       string          #!/usr/bin/zsh	        application/x-shellscript
   249  0       string          #!/usr/local/bin/zsh    application/x-shellscript
   250  0       string          #!\ /usr/local/bin/zsh  application/x-shellscript
   251  0       string          #!/usr/local/bin/ash    application/x-shellscript
   252  0       string          #!\ /usr/local/bin/ash  application/x-shellscript
   253  #0       string          #!/usr/local/bin/ae     Neil Brown's ae
   254  #0       string          #!\ /usr/local/bin/ae   Neil Brown's ae
   255  0       string          #!/bin/nawk             application/x-nawk
   256  0       string          #!\ /bin/nawk           application/x-nawk
   257  0       string          #!/usr/bin/nawk         application/x-nawk
   258  0       string          #!\ /usr/bin/nawk       application/x-nawk
   259  0       string          #!/usr/local/bin/nawk   application/x-nawk
   260  0       string          #!\ /usr/local/bin/nawk application/x-nawk
   261  0       string          #!/bin/gawk             application/x-gawk
   262  0       string          #!\ /bin/gawk           application/x-gawk
   263  0       string          #!/usr/bin/gawk         application/x-gawk
   264  0       string          #!\ /usr/bin/gawk       application/x-gawk
   265  0       string          #!/usr/local/bin/gawk   application/x-gawk
   266  0       string          #!\ /usr/local/bin/gawk application/x-gawk
   267  #
   268  0       string          #!/bin/awk              application/x-awk
   269  0       string          #!\ /bin/awk            application/x-awk
   270  0       string          #!/usr/bin/awk          application/x-awk
   271  0       string          #!\ /usr/bin/awk        application/x-awk
   272  # update to distinguish from *.vcf files by Joerg Jenderek: joerg dot jenderek at web dot de
   273  #0	regex		BEGIN[[:space:]]*[{]	application/x-awk
   274  
   275  # For Larry Wall's perl language.  The ``eval'' line recognizes an
   276  # outrageously clever hack for USG systems.
   277  #                               Keith Waclena <keith@cerberus.uchicago.edu>
   278  0       string          #!/bin/perl                     application/x-perl
   279  0       string          #!\ /bin/perl                   application/x-perl
   280  0       string          eval\ "exec\ /bin/perl          application/x-perl
   281  0       string          #!/usr/bin/perl                 application/x-perl
   282  0       string          #!\ /usr/bin/perl               application/x-perl
   283  0       string          eval\ "exec\ /usr/bin/perl      application/x-perl
   284  0       string          #!/usr/local/bin/perl           application/x-perl
   285  0       string          #!\ /usr/local/bin/perl         application/x-perl
   286  0       string          eval\ "exec\ /usr/local/bin/perl application/x-perl
   287  
   288  #------------------------------------------------------------------------------
   289  # compress:  file(1) magic for pure-compression formats (no archives)
   290  #
   291  # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc.
   292  #
   293  # Formats for various forms of compressed data
   294  # Formats for "compress" proper have been moved into "compress.c",
   295  # because it tries to uncompress it to figure out what's inside.
   296  
   297  # standard unix compress
   298  #0	string		\037\235	application/x-compress
   299  
   300  # gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
   301  #0       string          \037\213        application/x-gzip
   302  
   303  0		string			PK\003\004		application/x-zip
   304  
   305  # RAR archiver (Greg Roelofs, newt@uchicago.edu)
   306  0	string		Rar!		application/x-rar
   307  
   308  # According to gzip.h, this is the correct byte order for packed data.
   309  0	string		\037\036	application/octet-stream
   310  #
   311  # This magic number is byte-order-independent.
   312  #
   313  0	short		017437		application/octet-stream
   314  
   315  # XXX - why *two* entries for "compacted data", one of which is
   316  # byte-order independent, and one of which is byte-order dependent?
   317  #
   318  # compacted data
   319  0	short		0x1fff		application/octet-stream
   320  0	string		\377\037	application/octet-stream
   321  # huf output
   322  0	short		0145405		application/octet-stream
   323  
   324  # Squeeze and Crunch...
   325  # These numbers were gleaned from the Unix versions of the programs to
   326  # handle these formats.  Note that I can only uncrunch, not crunch, and
   327  # I didn't have a crunched file handy, so the crunch number is untested.
   328  #				Keith Waclena <keith@cerberus.uchicago.edu>
   329  #0	leshort		0x76FF		squeezed data (CP/M, DOS)
   330  #0	leshort		0x76FE		crunched data (CP/M, DOS)
   331  
   332  # Freeze
   333  #0	string		\037\237	Frozen file 2.1
   334  #0	string		\037\236	Frozen file 1.0 (or gzip 0.5)
   335  
   336  # lzh?
   337  #0	string		\037\240	LZH compressed data
   338  
   339  257	string		ustar\0		application/x-tar	posix
   340  257	string		ustar\040\040\0		application/x-tar	gnu
   341  
   342  0	short		070707		application/x-cpio
   343  0	short		0143561		application/x-cpio	swapped
   344  
   345  0	string		=<ar>		application/x-archive
   346  0	string		\!<arch>	application/x-archive
   347  >8	string		debian		application/x-debian-package
   348  
   349  #------------------------------------------------------------------------------
   350  #
   351  # RPM: file(1) magic for Red Hat Packages   Erik Troan (ewt@redhat.com)
   352  #
   353  0       beshort         0xedab
   354  >2      beshort         0xeedb          application/x-rpm
   355  
   356  0	lelong&0x8080ffff	0x0000081a	application/x-arc	lzw
   357  0	lelong&0x8080ffff	0x0000091a	application/x-arc	squashed
   358  0	lelong&0x8080ffff	0x0000021a	application/x-arc	uncompressed
   359  0	lelong&0x8080ffff	0x0000031a	application/x-arc	packed
   360  0	lelong&0x8080ffff	0x0000041a	application/x-arc	squeezed
   361  0	lelong&0x8080ffff	0x0000061a	application/x-arc	crunched
   362  
   363  0	leshort	0xea60	application/x-arj
   364  
   365  # LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
   366  2	string	-lh0-	application/x-lharc	lh0
   367  2	string	-lh1-	application/x-lharc	lh1
   368  2	string	-lz4-	application/x-lharc	lz4
   369  2	string	-lz5-	application/x-lharc	lz5
   370  #	[never seen any but the last; -lh4- reported in comp.compression:]
   371  2	string	-lzs-	application/x-lha	lzs
   372  2	string	-lh\ -	application/x-lha	lh
   373  2	string	-lhd-	application/x-lha	lhd
   374  2	string	-lh2-	application/x-lha	lh2
   375  2	string	-lh3-	application/x-lha	lh3
   376  2	string	-lh4-	application/x-lha	lh4
   377  2	string	-lh5-	application/x-lha	lh5
   378  2	string	-lh6-	application/x-lha	lh6
   379  2	string	-lh7-	application/x-lha	lh7
   380  # Shell archives
   381  10	string	#\ This\ is\ a\ shell\ archive	application/octet-stream	x-shell
   382  
   383  #------------------------------------------------------------------------------
   384  # frame:  file(1) magic for FrameMaker files
   385  #
   386  # This stuff came on a FrameMaker demo tape, most of which is
   387  # copyright, but this file is "published" as witness the following:
   388  #
   389  0	string		\<MakerFile	application/x-frame
   390  0	string		\<MIFFile	application/x-frame
   391  0	string		\<MakerDictionary	application/x-frame
   392  0	string		\<MakerScreenFon	application/x-frame
   393  0	string		\<MML		application/x-frame
   394  0	string		\<Book		application/x-frame
   395  0	string		\<Maker		application/x-frame
   396  
   397  #------------------------------------------------------------------------------
   398  # html:  file(1) magic for HTML (HyperText Markup Language) docs
   399  #
   400  # from Daniel Quinlan <quinlan@yggdrasil.com>
   401  #
   402  0	string/cB	\<!DOCTYPE\ html	text/html
   403  0	string/cb	\<head	text/html
   404  0	string/cb	\<title	text/html
   405  0       string/bc	\<html	text/html
   406  0	string		\<!--	text/html
   407  0	string/c	\<h1	text/html
   408  
   409  0	string		\<?xml			text/xml
   410  
   411  #------------------------------------------------------------------------------
   412  # images:  file(1) magic for image formats (see also "c-lang" for XPM bitmaps)
   413  #
   414  # originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
   415  # additions by janl@ifi.uio.no as well as others. Jan also suggested
   416  # merging several one- and two-line files into here.
   417  #
   418  # XXX - byte order for GIF and TIFF fields?
   419  # [GRR:  TIFF allows both byte orders; GIF is probably little-endian]
   420  #
   421  
   422  # [GRR:  what the hell is this doing in here?]
   423  #0	string		xbtoa		btoa'd file
   424  
   425  # PBMPLUS
   426  #					PBM file
   427  0	string		P1		image/x-portable-bitmap	7bit
   428  #					PGM file
   429  0	string		P2		image/x-portable-greymap	7bit
   430  #					PPM file
   431  0	string		P3		image/x-portable-pixmap	7bit
   432  #					PBM "rawbits" file
   433  0	string		P4		image/x-portable-bitmap
   434  #					PGM "rawbits" file
   435  0	string		P5		image/x-portable-greymap
   436  #					PPM "rawbits" file
   437  0	string		P6		image/x-portable-pixmap
   438  
   439  # NIFF (Navy Interchange File Format, a modification of TIFF)
   440  # [GRR:  this *must* go before TIFF]
   441  0	string		IIN1		image/x-niff
   442  
   443  # TIFF and friends
   444  #					TIFF file, big-endian
   445  0	string		MM		image/tiff
   446  #					TIFF file, little-endian
   447  0	string		II		image/tiff
   448  
   449  # possible GIF replacements; none yet released!
   450  # (Greg Roelofs, newt@uchicago.edu)
   451  #
   452  # GRR 950115:  this was mine ("Zip GIF"):
   453  #					ZIF image (GIF+deflate alpha)
   454  0	string		GIF94z		image/unknown
   455  #
   456  # GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):
   457  #					FGF image (GIF+deflate beta)
   458  0	string		FGF95a		image/unknown
   459  #
   460  # GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal
   461  # (best; not yet implemented):
   462  #					PBF image (deflate compression)
   463  0	string		PBF		image/unknown
   464  
   465  # GIF
   466  0	string		GIF		image/gif
   467  
   468  # JPEG images
   469  0	beshort		0xffd8		image/jpeg
   470  
   471  # PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)
   472  0	string		BM		image/x-ms-bmp
   473  #>14	byte		12		(OS/2 1.x format)
   474  #>14	byte		64		(OS/2 2.x format)
   475  #>14	byte		40		(Windows 3.x format)
   476  #0	string		IC		icon
   477  #0	string		PI		pointer
   478  #0	string		CI		color icon
   479  #0	string		CP		color pointer
   480  #0	string		BA		bitmap array
   481  
   482  # CDROM Filesystems
   483  32769    string    CD001     application/x-iso9660
   484  
   485  # Newer StuffIt archives (grant@netbsd.org)
   486  0	string		StuffIt			application/x-stuffit
   487  #>162	string		>0			: %s
   488  
   489  # BinHex is the Macintosh ASCII-encoded file format (see also "apple")
   490  # Daniel Quinlan, quinlan@yggdrasil.com
   491  11	string	must\ be\ converted\ with\ BinHex\ 4	application/mac-binhex40
   492  ##>41	string	x					\b, version %.3s
   493  
   494  
   495  #------------------------------------------------------------------------------
   496  # lisp:  file(1) magic for lisp programs
   497  #
   498  # various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
   499  0	string	;;			text/plain	8bit
   500  # Emacs 18 - this is always correct, but not very magical.
   501  0	string	\012(			application/x-elc
   502  # Emacs 19
   503  0	string	;ELC\023\000\000\000	application/x-elc
   504  
   505  #------------------------------------------------------------------------------
   506  # mail.news:  file(1) magic for mail and news
   507  #
   508  # There are tests to ascmagic.c to cope with mail and news.
   509  0	string		Relay-Version: 	message/rfc822	7bit
   510  0	string		#!\ rnews	message/rfc822	7bit
   511  0	string		N#!\ rnews	message/rfc822	7bit
   512  0	string		Forward\ to 	message/rfc822	7bit
   513  0	string		Pipe\ to 	message/rfc822	7bit
   514  0	string		Return-Path:	message/rfc822	7bit
   515  0	string		Received:	message/rfc822
   516  0	string		Path:		message/news	8bit
   517  0	string		Xref:		message/news	8bit
   518  0	string		From:		message/rfc822	7bit
   519  0	string		Article 	message/news	8bit
   520  #------------------------------------------------------------------------------
   521  # msword: file(1) magic for MS Word files
   522  #
   523  # Contributor claims:
   524  # Reversed-engineered MS Word magic numbers
   525  #
   526  
   527  0	string		\376\067\0\043			application/msword
   528  0	string		\320\317\021\340\241\261	application/msword
   529  0	string		\333\245-\0\0\0			application/msword
   530  
   531  
   532  
   533  #------------------------------------------------------------------------------
   534  # printer:  file(1) magic for printer-formatted files
   535  #
   536  
   537  # PostScript
   538  0	string		%!		application/postscript
   539  0	string		\004%!		application/postscript
   540  
   541  # Acrobat
   542  # (due to clamen@cs.cmu.edu)
   543  0	string		%PDF-		application/pdf
   544  
   545  #------------------------------------------------------------------------------
   546  # sc:  file(1) magic for "sc" spreadsheet
   547  #
   548  38	string		Spreadsheet	application/x-sc
   549  
   550  #------------------------------------------------------------------------------
   551  # tex:  file(1) magic for TeX files
   552  #
   553  # XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
   554  #
   555  # From <conklin@talisman.kaleida.com>
   556  
   557  # Although we may know the offset of certain text fields in TeX DVI
   558  # and font files, we can't use them reliably because they are not
   559  # zero terminated. [but we do anyway, christos]
   560  0	string		\367\002	application/x-dvi
   561  #0	string		\367\203	TeX generic font data
   562  #0	string		\367\131	TeX packed font data
   563  #0	string		\367\312	TeX virtual font data
   564  #0	string		This\ is\ TeX,	TeX transcript text	
   565  #0	string		This\ is\ METAFONT,	METAFONT transcript text
   566  
   567  # There is no way to detect TeX Font Metric (*.tfm) files without
   568  # breaking them apart and reading the data.  The following patterns
   569  # match most *.tfm files generated by METAFONT or afm2tfm.
   570  2	string		\000\021	application/x-tex-tfm
   571  2	string		\000\022	application/x-tex-tfm
   572  #>34	string		>\0		(%s)
   573  
   574  # Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
   575  0	string		\\input\ texinfo		text/x-texinfo
   576  0	string		This\ is\ Info\ file	text/x-info
   577  
   578  # correct TeX magic for Linux (and maybe more)
   579  # from Peter Tobias (tobias@server.et-inf.fho-emden.de)
   580  #
   581  0	leshort		0x02f7		application/x-dvi
   582  
   583  # RTF - Rich Text Format
   584  0	string		{\\rtf		text/rtf
   585  
   586  #------------------------------------------------------------------------------
   587  # animation:  file(1) magic for animation/movie formats
   588  #
   589  # animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)
   590  #						MPEG file
   591  # MPEG sequences
   592  0       belong             0x000001BA
   593  >4      byte               &0x40          video/mp2p
   594  >4      byte               ^0x40          video/mpeg
   595  0       belong             0x000001BB     video/mpeg
   596  0       belong             0x000001B0     video/mp4v-es
   597  0       belong             0x000001B5     video/mp4v-es
   598  0       belong             0x000001B3     video/mpv
   599  0       belong&0xFF5FFF1F  0x47400010     video/mp2t
   600  0       belong             0x00000001
   601  >4      byte&0x1F          0x07           video/h264
   602  
   603  # FLI animation format
   604  0	leshort		0xAF11				video/fli
   605  # FLC animation format
   606  0	leshort		0xAF12				video/flc
   607  #
   608  # SGI and Apple formats
   609  # Added ISO mimes
   610  0	string		MOVI	      video/sgi
   611  4	string		moov	      video/quicktime
   612  4	string		mdat	      video/quicktime
   613  4	string		wide	      video/quicktime
   614  4	string		skip	      video/quicktime
   615  4	string		free	      video/quicktime
   616  4	string		idsc	      image/x-quicktime
   617  4	string		idat	      image/x-quicktime
   618  4	string		pckg	      application/x-quicktime
   619  4	string/B	jP	      image/jp2
   620  4	string		ftyp
   621  >8	string		isom	      video/mp4
   622  >8	string		mp41	      video/mp4
   623  >8	string		mp42	      video/mp4
   624  >8	string/B	jp2	      image/jp2
   625  >8	string		3gp	      video/3gpp
   626  >8      string          avc1          video/3gpp
   627  >8	string		mmp4	      video/mp4
   628  >8	string/B	M4A	      audio/mp4
   629  >8	string/B	qt	      video/quicktime
   630  # The contributor claims:
   631  #   I couldn't find a real magic number for these, however, this
   632  #   -appears- to work.  Note that it might catch other files, too,
   633  #   so BE CAREFUL!
   634  #
   635  # Note that title and author appear in the two 20-byte chunks
   636  # at decimal offsets 2 and 22, respectively, but they are XOR'ed with
   637  # 255 (hex FF)! DL format SUCKS BIG ROCKS.
   638  #
   639  #						DL file version 1 , medium format (160x100, 4 images/screen)
   640  0	byte		1			video/unknown
   641  0	byte		2			video/unknown
   642  #
   643  # Databases
   644  #
   645  # GDBM magic numbers
   646  #  Will be maintained as part of the GDBM distribution in the future.
   647  #  <downsj@teeny.org>
   648  0       belong  0x13579ace      application/x-gdbm
   649  0       lelong  0x13579ace      application/x-gdbm
   650  0       string  GDBM            application/x-gdbm
   651  #
   652  0       belong  0x061561        application/x-dbm
   653  #
   654  # Executables
   655  #
   656  0	string		\177ELF 
   657  >16	leshort		0		application/octet-stream
   658  >16	leshort		1		application/x-object
   659  >16	leshort		2		application/x-executable
   660  >16	leshort		3		application/x-sharedlib
   661  >16	leshort		4		application/x-coredump
   662  >16	beshort		0		application/octet-stream
   663  >16	beshort		1		application/x-object
   664  >16	beshort		2		application/x-executable
   665  >16	beshort		3		application/x-sharedlib
   666  >16	beshort		4		application/x-coredump
   667  #
   668  # DOS
   669  0		string			MZ				application/x-dosexec
   670  #
   671  # KDE
   672  0		string	[KDE\ Desktop\ Entry]	application/x-kdelnk
   673  0		string	\#\ KDE\ Config\ File	application/x-kdelnk
   674  # xmcd database file for kscd
   675  0		string	\#\ xmcd                text/xmcd
   676  
   677  #------------------------------------------------------------------------------
   678  # pkgadd:  file(1) magic for SysV R4 PKG Datastreams
   679  #
   680  0       string          #\ PaCkAgE\ DaTaStReAm  application/x-svr4-package
   681  
   682  #PNG Image Format
   683  0	string		\x89PNG			image/png
   684  
   685  # MNG Video Format, <URL:http://www.libpng.org/pub/mng/spec/>
   686  0	string		\x8aMNG			video/x-mng
   687  0	string		\x8aJNG			video/x-jng
   688  
   689  #------------------------------------------------------------------------------
   690  # Hierarchical Data Format, used to facilitate scientific data exchange
   691  # specifications at http://hdf.ncsa.uiuc.edu/
   692  #Hierarchical Data Format (version 4) data
   693  0	belong		0x0e031301		application/x-hdf
   694  #Hierarchical Data Format (version 5) data
   695  0	string		\211HDF\r\n\032		application/x-hdf
   696  
   697  # Adobe Photoshop
   698  0	string		8BPS			image/x-photoshop
   699  
   700  # Felix von Leitner <felix-file@fefe.de>
   701  0	string		d8:announce		application/x-bittorrent
   702  
   703  
   704  # lotus 1-2-3 document
   705  0	belong	0x00001a00	application/x-123
   706  0	belong	0x00000200 	application/x-123
   707  
   708  # MS Access database
   709  4	string	Standard\ Jet\ DB	application/msaccess
   710  
   711  ## magic for XBase files
   712  #0      byte       0x02	
   713  #>8     leshort	  >0
   714  #>>12   leshort    0	application/x-dbf
   715  #
   716  #0      byte       0x03	
   717  #>8     leshort	  >0
   718  #>>12   leshort    0	application/x-dbf
   719  #
   720  #0      byte       0x04	
   721  #>8     leshort	  >0
   722  #>>12   leshort    0	application/x-dbf
   723  #
   724  #0      byte       0x05	
   725  #>8     leshort	  >0
   726  #>>12   leshort    0	application/x-dbf
   727  #
   728  #0      byte       0x30
   729  #>8     leshort	  >0
   730  #>>12   leshort    0	application/x-dbf
   731  #
   732  #0      byte       0x43
   733  #>8     leshort	  >0
   734  #>>12   leshort    0	application/x-dbf
   735  #
   736  #0      byte       0x7b
   737  #>8     leshort	  >0
   738  #>>12   leshort    0	application/x-dbf
   739  #
   740  #0      byte       0x83	
   741  #>8     leshort	  >0
   742  #>>12   leshort    0	application/x-dbf
   743  #
   744  #0      byte       0x8b
   745  #>8     leshort	  >0
   746  #>>12   leshort    0	application/x-dbf
   747  #
   748  #0      byte       0x8e	
   749  #>8     leshort	  >0
   750  #>>12   leshort    0	application/x-dbf
   751  #
   752  #0      byte       0xb3
   753  #>8     leshort	  >0
   754  #>>12   leshort    0	application/x-dbf
   755  #
   756  #0      byte       0xf5
   757  #>8     leshort	  >0
   758  #>>12   leshort    0	application/x-dbf
   759  #
   760  #0	leshort		0x0006		application/x-dbt
   761  
   762  # Debian has entries for the old PGP formats:
   763  # pgp:  file(1) magic for Pretty Good Privacy
   764  # see http://lists.gnupg.org/pipermail/gnupg-devel/1999-September/016052.html
   765  #text/PGP key public ring
   766  0	beshort		0x9900			application/pgp
   767  #text/PGP key security ring
   768  0	beshort		0x9501			application/pgp
   769  #text/PGP key security ring
   770  0	beshort		0x9500			application/pgp
   771  #text/PGP encrypted data
   772  0	beshort		0xa600			application/pgp-encrypted
   773  #text/PGP armored data
   774  ##public key block
   775  2	string	---BEGIN\ PGP\ PUBLIC\ KEY\ BLOCK-	application/pgp-keys
   776  0	string	-----BEGIN\040PGP\40MESSAGE-			application/pgp
   777  0	string	-----BEGIN\040PGP\40SIGNATURE-			application/pgp-signature
   778  #
   779  # GnuPG Magic:
   780  # 
   781  #
   782  #text/GnuPG key public ring
   783  0	beshort		0x9901			application/pgp
   784  #text/OpenPGP data
   785  0	beshort		0x8501			application/pgp-encrypted	
   786  
   787  # flash:        file(1) magic for Macromedia Flash file format
   788  #
   789  # See
   790  #
   791  #       http://www.macromedia.com/software/flash/open/
   792  #
   793  0	string		FWS             
   794  >3	byte		x			application/x-shockwave-flash
   795  
   796  # The following paramaters are created for Namazu.
   797  # <http://www.namazu.org/>
   798  #
   799  # 1999/08/13
   800  #0	string		\<!--\ MHonArc		text/html; x-type=mhonarc
   801  0	string		BZh			application/x-bzip2
   802  
   803  # 1999/09/09
   804  # VRML (suggested by Masao Takaku)
   805  0	string		#VRML\ V1.0\ ascii	model/vrml
   806  0	string		#VRML\ V2.0\ utf8	model/vrml
   807  
   808  #------------------------------------------------------------------------------
   809  # ichitaro456: file(1) magic for Just System Word Processor Ichitaro
   810  #
   811  # Contributor kenzo-:
   812  # Reversed-engineered JS Ichitaro magic numbers
   813  #
   814  
   815  0	string		DOC
   816  >43	byte		0x14		application/ichitaro4
   817  >144	string	JDASH		application/ichitaro4
   818  
   819  0	string		DOC
   820  >43	byte		0x15		application/ichitaro5
   821  
   822  0	string		DOC
   823  >43	byte		0x16		application/ichitaro6
   824  
   825  #------------------------------------------------------------------------------
   826  # office97: file(1) magic for MicroSoft Office files
   827  #
   828  # Contributor kenzo-:
   829  # Reversed-engineered MS Office magic numbers
   830  #
   831  
   832  #0       string          \320\317\021\340\241\261\032\341
   833  #>48     byte            0x1B            application/excel
   834  
   835  2080	string	Microsoft\ Excel\ 5.0\ Worksheet	application/excel
   836  2114	string	Biff5					application/excel
   837  
   838  0       string	\224\246\056		application/msword
   839  
   840  0	belong	0x31be0000		application/msword
   841  
   842  0	string	PO^Q`			application/msword
   843  
   844  0	string	\320\317\021\340\241\261\032\341
   845  >546	string	bjbj			application/msword
   846  >546	string	jbjb			application/msword
   847  
   848  512	string	R\0o\0o\0t\0\ \0E\0n\0t\0r\0y	application/msword
   849  
   850  2080	string	Microsoft\ Word\ 6.0\ Document	application/msword
   851  2080	string	Documento\ Microsoft\ Word\ 6	application/msword
   852  2112	string	MSWordDoc			application/msword
   853  
   854  #0	string	\320\317\021\340\241\261\032\341	application/powerpoint
   855  0	string	\320\317\021\340\241\261\032\341	application/msword
   856  
   857  0       string  #\ PaCkAgE\ DaTaStReAm  application/x-svr4-package
   858  
   859  
   860  # WinNT/WinCE PE files (Warner Losh, imp@village.org)
   861  #
   862  128		string	PE\000\000	application/octet-stream
   863  0		string	PE\000\000	application/octet-stream
   864  
   865  # miscellaneous formats
   866  0		string	LZ		application/octet-stream
   867  
   868  
   869  # .EXE formats (Greg Roelofs, newt@uchicago.edu)
   870  #
   871  0		string	MZ
   872  >24		string	@		application/octet-stream
   873  
   874  0		string	MZ
   875  >30		string	Copyright\ 1989-1990\ PKWARE\ Inc.	application/x-zip
   876  
   877  0		string	MZ
   878  >30		string	PKLITE\ Copr.	application/x-zip
   879  
   880  0		string	MZ
   881  >36		string	LHa's\ SFX	application/x-lha
   882  
   883  0		string	MZ		application/octet-stream
   884  
   885  # LHA archiver
   886  2		string	-lh
   887  >6		string	-		application/x-lha
   888  
   889  
   890  # Zoo archiver
   891  20		lelong	0xfdc4a7dc	application/x-zoo
   892  
   893  # ARC archiver
   894  0       	lelong&0x8080ffff	0x0000081a	application/x-arc
   895  0		lelong&0x8080ffff	0x0000091a	application/x-arc
   896  0		lelong&0x8080ffff	0x0000021a	application/x-arc
   897  0		lelong&0x8080ffff	0x0000031a	application/x-arc
   898  0		lelong&0x8080ffff	0x0000041a	application/x-arc
   899  0		lelong&0x8080ffff	0x0000061a	application/x-arc
   900  
   901  # Microsoft Outlook's Transport Neutral Encapsulation Format (TNEF)
   902  0		lelong	0x223e9f78	application/ms-tnef
   903  
   904  # From: stephane.loeuillet@tiscali.f
   905  # http://www.djvuzone.org/
   906  0	string		AT&TFORM	image/x.djvu
   907  
   908  # Danny Milosavljevic <danny.milo@gmx.net>
   909  # this are adrift (adventure game standard) game files, extension .taf
   910  # depending on version magic continues with 0x93453E6139FA (V 4.0)
   911  # 0x9445376139FA (V 3.90)
   912  # 0x9445366139FA (V 3.80)
   913  # this is from source (http://www.adrift.org.uk/) and I have some taf
   914  # files, and checked them.
   915  #0	belong	0x3C423FC9
   916  #>4	belong	0x6A87C2CF	application/x-adrift
   917  #0	string	\000\000\001\000	image/x-ico
   918  
   919  # Quark Xpress 3 Files:
   920  # (made the mimetype up) 
   921  0	string	\0\0MMXPR3\0	application/x-quark-xpress-3
   922  
   923  # EET archive
   924  # From: Tilman Sauerbeck <tilman@code-monkey.de>
   925  0	belong	0x1ee7ff00	application/x-eet
   926  
   927  # From: Denis Knauf, via gentoo.
   928  0	string	fLaC		audio/x-flac
   929  0	string	CWS		application/x-shockwave-flash
   930  
   931  # Gnumeric spreadsheet
   932  # This entry is only semi-helpful, as Gnumeric compresses its files, so
   933  # they will ordinarily reported as "compressed", but at least -z helps
   934  39      string          =<gmr:Workbook           application/x-gnumeric
   935