Skip to content

Latest commit

 

History

History
128 lines (111 loc) · 3.64 KB

README.md

File metadata and controls

128 lines (111 loc) · 3.64 KB

MIMESniffer

codecov Go Report Card GoDoc

A MIME type sniffer for Go.

MIMESniffer implements the algorithm described at here and uses the file signatures (aka magic numbers) listed here to determine the MIME type of the given data. So it can be used as an alternative for the http.DetectContentType.

Features

  • Extremely easy to use
  • Quite fast
  • Supports a wide range of MIME types
    • application/epub+zip
    • application/font-sfnt
    • application/font-woff
    • application/msword
    • application/octet-stream
    • application/ogg
    • application/pdf
    • application/postscript
    • application/rtf
    • application/vnd.ms-cab-compressed
    • application/vnd.ms-excel
    • application/vnd.ms-fontobject
    • application/vnd.ms-powerpoint
    • application/vnd.openxmlformats-officedocument.presentationml.presentation
    • application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
    • application/vnd.openxmlformats-officedocument.wordprocessingml.document
    • application/wasm
    • application/x-7z-compressed
    • application/x-bzip2
    • application/x-compress
    • application/x-deb
    • application/x-executable
    • application/x-google-chrome-extension
    • application/x-gzip
    • application/x-lzip
    • application/x-msdownload
    • application/x-nintendo-nes-rom
    • application/x-rar-compressed
    • application/x-rpm
    • application/x-shockwave-flash
    • application/x-sqlite3
    • application/x-tar
    • application/x-unix-archive
    • application/x-xz
    • application/zip
    • audio/aac
    • audio/aiff
    • audio/amr
    • audio/basic
    • audio/m4a
    • audio/midi
    • audio/mpeg
    • audio/ogg
    • audio/wave
    • audio/x-flac
    • audio/x-wav
    • font/collection
    • font/otf
    • font/ttf
    • font/woff2
    • font/woff
    • image/bmp
    • image/gif
    • image/jp2
    • image/jpeg
    • image/png
    • image/tiff
    • image/vnd.adobe.photoshop
    • image/vnd.microsoft.icon
    • image/webp
    • image/x-canon-cr2
    • text/html; charset=utf-8
    • text/plain; charset=utf-16be
    • text/plain; charset=utf-16le
    • text/plain; charset=utf-8
    • text/xml; charset=utf-8
    • video/avi
    • video/mp4
    • video/mpeg
    • video/quicktime
    • video/webm
    • video/x-flv
    • video/x-m4v
    • video/x-matroska
    • video/x-ms-wmv
    • video/x-msvideo

Installation

Open your terminal and execute

$ go get github.com/aofei/mimesniffer

done.

The only requirement is the Go, at least v1.5.

Community

If you want to discuss MIMESniffer, or ask questions about it, simply post questions or ideas here.

Contributing

If you want to help build MIMESniffer, simply follow this to send pull requests here.

License

This project is licensed under the Unlicense.

License can be found here.