| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385 | # Magic data for mod_mime_magic Apache module (originally for file(1) command)# The module is described in /manual/mod/mod_mime_magic.html## The format is 4-5 columns:#    Column #1: byte number to begin checking from, ">" indicates continuation#    Column #2: type of data to match#    Column #3: contents of data to match#    Column #4: MIME type of result#    Column #5: MIME encoding of result (optional)#------------------------------------------------------------------------------# Localstuff:  file(1) magic for locally observed files# Add any locally observed files here.#------------------------------------------------------------------------------# end local stuff#------------------------------------------------------------------------------#------------------------------------------------------------------------------# Java0	short		0xcafe>2	short		0xbabe		application/java#------------------------------------------------------------------------------# audio:  file(1) magic for sound formats## from Jan Nicolai Langfeldt <janl@ifi.uio.no>,## Sun/NeXT audio data0	string		.snd>12	belong		1		audio/basic>12	belong		2		audio/basic>12	belong		3		audio/basic>12	belong		4		audio/basic>12	belong		5		audio/basic>12	belong		6		audio/basic>12	belong		7		audio/basic>12	belong		23		audio/x-adpcm# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format# that uses little-endian encoding and has a different magic number# (0x0064732E in little-endian encoding).0	lelong		0x0064732E	>12	lelong		1		audio/x-dec-basic>12	lelong		2		audio/x-dec-basic>12	lelong		3		audio/x-dec-basic>12	lelong		4		audio/x-dec-basic>12	lelong		5		audio/x-dec-basic>12	lelong		6		audio/x-dec-basic>12	lelong		7		audio/x-dec-basic#                                       compressed (G.721 ADPCM)>12	lelong		23		audio/x-dec-adpcm# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"#					AIFF audio data8	string		AIFF		audio/x-aiff	#					AIFF-C audio data8	string		AIFC		audio/x-aiff	#					IFF/8SVX audio data8	string		8SVX		audio/x-aiff	# Creative Labs AUDIO stuff#					Standard MIDI data0	string	MThd			audio/unknown	#>9 	byte	>0			(format %d)#>11	byte	>1			using %d channels#					Creative Music (CMF) data0	string	CTMF			audio/unknown	#					SoundBlaster instrument data0	string	SBI			audio/unknown	#					Creative Labs voice data0	string	Creative\ Voice\ File	audio/unknown	## is this next line right?  it came this way...#>19	byte	0x1A#>23	byte	>0			- version %d#>22	byte	>0			\b.%d# [GRR 950115:  is this also Creative Labs?  Guessing that first line#  should be string instead of unknown-endian long...]#0	long		0x4e54524b	MultiTrack sound data#0	string		NTRK		MultiTrack sound data#>4	long		x		- version %ld# Microsoft WAVE format (*.wav)# [GRR 950115:  probably all of the shorts and longs should be leshort/lelong]#					Microsoft RIFF0	string		RIFF		#					- WAVE format>8	string		WAVE		audio/x-wav# MPEG audio.0   beshort&0xfff0  0xfff0  audio/mpeg# C64 SID Music files, from Linus Walleij <triad@df.lth.se>0   string      PSID        audio/prs.sid#------------------------------------------------------------------------------# c-lang:  file(1) magic for C programs or various scripts## XPM icons (Greg Roelofs, newt@uchicago.edu)# ideally should go into "images", but entries below would tag XPM as C source0	string		/*\ XPM		image/x-xbm	7bit# this first will upset you if you're a PL/1 shop... (are there any left?)# in which case rm it; ascmagic will catch real C programs#					C or REXX program text0	string		/*		text/plain#					C++ program text0	string		//		text/plain#------------------------------------------------------------------------------# compress:  file(1) magic for pure-compression formats (no archives)## compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc.## Formats for various forms of compressed data# Formats for "compress" proper have been moved into "compress.c",# because it tries to uncompress it to figure out what's inside.# standard unix compress0	string		\037\235	application/octet-stream	x-compress# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)0       string          \037\213        application/octet-stream	x-gzip# According to gzip.h, this is the correct byte order for packed data.0	string		\037\036	application/octet-stream## This magic number is byte-order-independent.#0	short		017437		application/octet-stream# XXX - why *two* entries for "compacted data", one of which is# byte-order independent, and one of which is byte-order dependent?## compacted data0	short		0x1fff		application/octet-stream0	string		\377\037	application/octet-stream# huf output0	short		0145405		application/octet-stream# Squeeze and Crunch...# These numbers were gleaned from the Unix versions of the programs to# handle these formats.  Note that I can only uncrunch, not crunch, and# I didn't have a crunched file handy, so the crunch number is untested.#				Keith Waclena <keith@cerberus.uchicago.edu>#0	leshort		0x76FF		squeezed data (CP/M, DOS)#0	leshort		0x76FE		crunched data (CP/M, DOS)# Freeze#0	string		\037\237	Frozen file 2.1#0	string		\037\236	Frozen file 1.0 (or gzip 0.5)# lzh?#0	string		\037\240	LZH compressed data#------------------------------------------------------------------------------# frame:  file(1) magic for FrameMaker files## This stuff came on a FrameMaker demo tape, most of which is# copyright, but this file is "published" as witness the following:#0	string		\<MakerFile	application/x-frame0	string		\<MIFFile	application/x-frame0	string		\<MakerDictionary	application/x-frame0	string		\<MakerScreenFon	application/x-frame0	string		\<MML		application/x-frame0	string		\<Book		application/x-frame0	string		\<Maker		application/x-frame#------------------------------------------------------------------------------# html:  file(1) magic for HTML (HyperText Markup Language) docs## from Daniel Quinlan <quinlan@yggdrasil.com># and Anna Shergold <anna@inext.co.uk>#0   string      \<!DOCTYPE\ HTML    text/html0   string      \<!doctype\ html    text/html0   string      \<HEAD      text/html0   string      \<head      text/html0   string      \<TITLE     text/html0   string      \<title     text/html0   string      \<html      text/html0   string      \<HTML      text/html0   string      \<!--       text/html0   string      \<h1        text/html0   string      \<H1        text/html# XML eXtensible Markup Language, from Linus Walleij <triad@df.lth.se>0   string      \<?xml      text/xml#------------------------------------------------------------------------------# images:  file(1) magic for image formats (see also "c-lang" for XPM bitmaps)## originally from jef@helios.ee.lbl.gov (Jef Poskanzer),# additions by janl@ifi.uio.no as well as others. Jan also suggested# merging several one- and two-line files into here.## XXX - byte order for GIF and TIFF fields?# [GRR:  TIFF allows both byte orders; GIF is probably little-endian]## [GRR:  what the hell is this doing in here?]#0	string		xbtoa		btoa'd file# PBMPLUS#					PBM file0	string		P1		image/x-portable-bitmap	7bit#					PGM file0	string		P2		image/x-portable-greymap	7bit#					PPM file0	string		P3		image/x-portable-pixmap	7bit#					PBM "rawbits" file0	string		P4		image/x-portable-bitmap#					PGM "rawbits" file0	string		P5		image/x-portable-greymap#					PPM "rawbits" file0	string		P6		image/x-portable-pixmap# NIFF (Navy Interchange File Format, a modification of TIFF)# [GRR:  this *must* go before TIFF]0	string		IIN1		image/x-niff# TIFF and friends#					TIFF file, big-endian0	string		MM		image/tiff#					TIFF file, little-endian0	string		II		image/tiff# possible GIF replacements; none yet released!# (Greg Roelofs, newt@uchicago.edu)## GRR 950115:  this was mine ("Zip GIF"):#					ZIF image (GIF+deflate alpha)0	string		GIF94z		image/unknown## GRR 950115:  this is Jeremy Wohl's Free Graphics Format (better):#					FGF image (GIF+deflate beta)0	string		FGF95a		image/unknown## GRR 950115:  this is Thomas Boutell's Portable Bitmap Format proposal# (best; not yet implemented):#					PBF image (deflate compression)0	string		PBF		image/unknown# GIF0	string		GIF		image/gif# JPEG images0	beshort		0xffd8		image/jpeg# PC bitmaps (OS/2, Windoze BMP files)  (Greg Roelofs, newt@uchicago.edu)0	string		BM		image/bmp#>14	byte		12		(OS/2 1.x format)#>14	byte		64		(OS/2 2.x format)#>14	byte		40		(Windows 3.x format)#0	string		IC		icon#0	string		PI		pointer#0	string		CI		color icon#0	string		CP		color pointer#0	string		BA		bitmap array0	string		\x89PNG		image/png0	string		FWS		application/x-shockwave-flash0	string		CWS		application/x-shockwave-flash#------------------------------------------------------------------------------# lisp:  file(1) magic for lisp programs## various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)0	string	;;			text/plain	8bit# Emacs 18 - this is always correct, but not very magical.0	string	\012(			application/x-elc# Emacs 190	string	;ELC\023\000\000\000	application/x-elc#------------------------------------------------------------------------------# mail.news:  file(1) magic for mail and news## There are tests to ascmagic.c to cope with mail and news.0	string		Relay-Version: 	message/rfc822	7bit0	string		#!\ rnews	message/rfc822	7bit0	string		N#!\ rnews	message/rfc822	7bit0	string		Forward\ to 	message/rfc822	7bit0	string		Pipe\ to 	message/rfc822	7bit0	string		Return-Path:	message/rfc822	7bit0	string		Path:		message/news	8bit0	string		Xref:		message/news	8bit0	string		From:		message/rfc822	7bit0	string		Article 	message/news	8bit#------------------------------------------------------------------------------# msword: file(1) magic for MS Word files## Contributor claims:# Reversed-engineered MS Word magic numbers#0	string		\376\067\0\043			application/msword0	string		\333\245-\0\0\0			application/msword# disable this one because it applies also to other# Office/OLE documents for which msword is not correct. See PR#2608.#0	string		\320\317\021\340\241\261	application/msword#------------------------------------------------------------------------------# printer:  file(1) magic for printer-formatted files## PostScript0	string		%!		application/postscript0	string		\004%!		application/postscript# Acrobat# (due to clamen@cs.cmu.edu)0	string		%PDF-		application/pdf#------------------------------------------------------------------------------# sc:  file(1) magic for "sc" spreadsheet#38	string		Spreadsheet	application/x-sc#------------------------------------------------------------------------------# tex:  file(1) magic for TeX files## XXX - needs byte-endian stuff (big-endian and little-endian DVI?)## From <conklin@talisman.kaleida.com># Although we may know the offset of certain text fields in TeX DVI# and font files, we can't use them reliably because they are not# zero terminated. [but we do anyway, christos]0	string		\367\002	application/x-dvi#0	string		\367\203	TeX generic font data#0	string		\367\131	TeX packed font data#0	string		\367\312	TeX virtual font data#0	string		This\ is\ TeX,	TeX transcript text	#0	string		This\ is\ METAFONT,	METAFONT transcript text# There is no way to detect TeX Font Metric (*.tfm) files without# breaking them apart and reading the data.  The following patterns# match most *.tfm files generated by METAFONT or afm2tfm.#2	string		\000\021	TeX font metric data#2	string		\000\022	TeX font metric data#>34	string		>\0		(%s)# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)#0	string		\\input\ texinfo	Texinfo source text#0	string		This\ is\ Info\ file	GNU Info text# correct TeX magic for Linux (and maybe more)# from Peter Tobias (tobias@server.et-inf.fho-emden.de)#0	leshort		0x02f7		application/x-dvi# RTF - Rich Text Format0	string		{\\rtf		application/rtf#------------------------------------------------------------------------------# animation:  file(1) magic for animation/movie formats## animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)#						MPEG file0	string		\000\000\001\263	video/mpeg## The contributor claims:#   I couldn't find a real magic number for these, however, this#   -appears- to work.  Note that it might catch other files, too,#   so BE CAREFUL!## Note that title and author appear in the two 20-byte chunks# at decimal offsets 2 and 22, respectively, but they are XOR'ed with# 255 (hex FF)! DL format SUCKS BIG ROCKS.##						DL file version 1 , medium format (160x100, 4 images/screen)0	byte		1			video/unknown0	byte		2			video/unknown# Quicktime video, from Linus Walleij <triad@df.lth.se># from Apple quicktime file format documentation.4   string      moov        video/quicktime4   string      mdat        video/quicktime
 |