mimesniffer
mimesniffer copied to clipboard
A MIME type sniffer for Go.
MIMESniffer
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
- Two functions
- 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
-
- Zero third-party dependencies
Installation
Open your terminal and execute
$ go get github.com/aofei/mimesniffer
done.
The only requirement is the Go, at least v1.13.
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 MIT License.
License can be found here.