Archive file support

This commit is contained in:
2019-12-13 10:53:51 -05:00
parent 9778acda77
commit be23201210
40 changed files with 879 additions and 434 deletions

View File

@@ -20,7 +20,7 @@ enum mime {
application_freeloader=655372,
application_futuresplash=655373,
application_groupwise=655374,
application_gzip=655375,
application_gzip=655375 | 0x08000000,
application_hta=655376,
application_i_deas=655377,
application_iges=655378,
@@ -82,342 +82,346 @@ enum mime {
application_vnd_xara=655434,
application_vocaltec_media_desc=655435,
application_vocaltec_media_file=655436,
application_winhelp=655437,
application_wordperfect=655438,
application_wordperfect6_0=655439,
application_wordperfect6_1=655440,
application_x_123=655441,
application_x_7z_compressed=655442,
application_x_aim=655443,
application_x_apple_diskimage=655444,
application_x_arc=655445,
application_x_archive=655446,
application_x_atari_7800_rom=655447,
application_x_authorware_bin=655448,
application_x_authorware_map=655449,
application_x_authorware_seg=655450,
application_x_avira_qua=655451,
application_x_bcpio=655452,
application_x_bittorrent=655453,
application_x_bsh=655454,
application_x_bytecode_python=655455,
application_x_bzip=655456,
application_x_bzip2=655457,
application_x_cbr=655458,
application_x_cbz=655459 | 0x40000000,
application_x_cdlink=655460,
application_x_chat=655461,
application_x_chrome_extension=655462,
application_x_cocoa=655463,
application_x_conference=655464,
application_x_coredump=655465,
application_x_cpio=655466,
application_x_dbf=655467,
application_x_dbt=655468,
application_x_debian_package=655469,
application_x_deepv=655470,
application_x_director=655471,
application_x_dmp=655472,
application_x_dosdriver=655473,
application_x_dosexec=655474,
application_x_dvi=655475,
application_x_elc=655476,
application_warc=655437,
application_winhelp=655438,
application_wordperfect=655439,
application_wordperfect6_0=655440,
application_wordperfect6_1=655441,
application_x_123=655442,
application_x_7z_compressed=655443 | 0x10000000,
application_x_aim=655444,
application_x_apple_diskimage=655445,
application_x_arc=655446 | 0x10000000,
application_x_archive=655447,
application_x_atari_7800_rom=655448,
application_x_authorware_bin=655449,
application_x_authorware_map=655450,
application_x_authorware_seg=655451,
application_x_avira_qua=655452,
application_x_bcpio=655453,
application_x_bittorrent=655454,
application_x_bsh=655455,
application_x_bytecode_python=655456,
application_x_bzip=655457,
application_x_bzip2=655458 | 0x08000000,
application_x_cbr=655459,
application_x_cbz=655460 | 0x40000000,
application_x_cdlink=655461,
application_x_chat=655462,
application_x_chrome_extension=655463,
application_x_cocoa=655464,
application_x_conference=655465,
application_x_coredump=655466,
application_x_cpio=655467,
application_x_dbf=655468,
application_x_dbt=655469,
application_x_debian_package=655470,
application_x_deepv=655471,
application_x_director=655472,
application_x_dmp=655473,
application_x_dosdriver=655474,
application_x_dosexec=655475,
application_x_dvi=655476,
application_x_elc=655477,
application_x_empty=1,
application_x_envoy=655478,
application_x_esrehber=655479,
application_x_excel=655480,
application_x_executable=655481,
application_x_font_gdos=655482,
application_x_font_pf2=655483,
application_x_font_pfm=655484,
application_x_font_sfn=655485,
application_x_font_ttf=655486 | 0x20000000,
application_x_freelance=655487,
application_x_gamecube_rom=655488,
application_x_gdbm=655489,
application_x_gettext_translation=655490,
application_x_git=655491,
application_x_gsp=655492,
application_x_gss=655493,
application_x_gtar=655494,
application_x_gzip=655495,
application_x_hdf=655496,
application_x_helpfile=655497,
application_x_httpd_imap=655498,
application_x_ima=655499,
application_x_innosetup=655500,
application_x_internett_signup=655501,
application_x_inventor=655502,
application_x_ip2=655503,
application_x_java_applet=655504,
application_x_java_commerce=655505,
application_x_java_image=655506,
application_x_java_jmod=655507,
application_x_java_keystore=655508,
application_x_kdelnk=655509,
application_x_koan=655510,
application_x_latex=655511,
application_x_livescreen=655512,
application_x_lotus=655513,
application_x_lz4=655514,
application_x_lz4_json=655515,
application_x_lzh=655516,
application_x_lzh_compressed=655517,
application_x_lzx=655518,
application_x_mach_binary=655519,
application_x_mach_executable=655520,
application_x_magic_cap_package_1_0=655521,
application_x_mathcad=655522,
application_x_maxis_dbpf=655523,
application_x_meme=655524,
application_x_midi=655525,
application_x_mif=655526,
application_x_mix_transfer=655527,
application_x_mobipocket_ebook=655528,
application_x_ms_compress_szdd=655529,
application_x_ms_pdb=655530,
application_x_ms_reader=655531,
application_x_msaccess=655532,
application_x_navi_animation=655533,
application_x_navidoc=655534,
application_x_navimap=655535,
application_x_navistyle=655536,
application_x_nes_rom=655537,
application_x_netcdf=655538,
application_x_newton_compatible_pkg=655539,
application_x_nintendo_ds_rom=655540,
application_x_object=655541,
application_x_omc=655542,
application_x_omcdatamaker=655543,
application_x_omcregerator=655544,
application_x_pagemaker=655545,
application_x_pcl=655546,
application_x_pgp_keyring=655547,
application_x_pixclscript=655548,
application_x_pkcs7_certreqresp=655549,
application_x_pkcs7_signature=655550,
application_x_project=655551,
application_x_qpro=655552,
application_x_rar=655553,
application_x_rpm=655554,
application_x_sdp=655555,
application_x_sea=655556,
application_x_seelogo=655557,
application_x_setupscript=655558,
application_x_shar=655559,
application_x_sharedlib=655560,
application_x_shockwave_flash=655561,
application_x_snappy_framed=655562,
application_x_sprite=655563,
application_x_sqlite3=655564,
application_x_sv4cpio=655565,
application_x_sv4crc=655566,
application_x_tar=655567,
application_x_tbook=655568,
application_x_terminfo=655569,
application_x_terminfo2=655570,
application_x_tex_tfm=655571,
application_x_texinfo=655572,
application_x_ustar=655573,
application_x_visio=655574,
application_x_vnd_audioexplosion_mzz=655575,
application_x_vnd_ls_xpix=655576,
application_x_vrml=655577,
application_x_wais_source=655578,
application_x_wine_extension_ini=655579,
application_x_wintalk=655580,
application_x_world=655581,
application_x_wri=655582,
application_x_x509_ca_cert=655583,
application_x_xz=655584,
application_x_zip=655585,
application_x_zstd=655586,
application_xml=655587,
application_zip=655588,
application_zlib=655589,
audio_it=458982,
audio_make=458983,
audio_mid=458984,
audio_midi=458985,
audio_mp4=458986,
audio_mpeg=458987,
audio_ogg=458988,
audio_s3m=458989,
audio_tsp_audio=458990,
audio_tsplayer=458991,
audio_vnd_qcelp=458992,
audio_voxware=458993,
audio_x_aiff=458994,
audio_x_flac=458995,
audio_x_gsm=458996,
audio_x_hx_aac_adts=458997,
audio_x_jam=458998,
audio_x_liveaudio=458999,
audio_x_m4a=459000,
audio_x_midi=459001,
audio_x_mod=459002,
audio_x_mp4a_latm=459003,
audio_x_mpeg_3=459004,
audio_x_mpequrl=459005,
audio_x_nspaudio=459006,
audio_x_pn_realaudio=459007,
audio_x_psid=459008,
audio_x_realaudio=459009,
audio_x_twinvq=459010,
audio_x_twinvq_plugin=459011,
audio_x_voc=459012,
audio_x_wav=459013,
audio_xm=459014,
font_otf=327943 | 0x20000000,
font_sfnt=327944 | 0x20000000,
font_woff=327945 | 0x20000000,
font_woff2=327946 | 0x20000000,
image_cmu_raster=524555,
image_fif=524556,
image_florian=524557,
image_g3fax=524558,
image_gif=524559,
image_heic=524560,
image_ief=524561,
image_jpeg=524562,
image_jutvision=524563,
image_naplps=524564,
image_pict=524565,
image_png=524566,
image_svg=524567 | 0x80000000,
image_svg_xml=524568 | 0x80000000,
image_tiff=524569,
image_vnd_adobe_photoshop=524570 | 0x80000000,
image_vnd_djvu=524571 | 0x80000000,
image_vnd_fpx=524572,
image_vnd_microsoft_icon=524573,
image_vnd_rn_realflash=524574,
image_vnd_rn_realpix=524575,
image_vnd_wap_wbmp=524576,
image_vnd_xiff=524577,
image_webp=524578,
image_wmf=524579,
image_x_3ds=524580,
image_x_cmu_raster=524581,
image_x_cur=524582,
image_x_dwg=524583,
image_x_eps=524584,
image_x_exr=524585,
image_x_gem=524586,
image_x_icns=524587,
image_x_icon=524588 | 0x80000000,
image_x_jg=524589,
image_x_jps=524590,
image_x_ms_bmp=524591,
image_x_niff=524592,
image_x_pcx=524593,
image_x_pict=524594,
image_x_portable_bitmap=524595,
image_x_portable_graymap=524596,
image_x_portable_pixmap=524597,
image_x_quicktime=524598,
image_x_rgb=524599,
image_x_tga=524600,
image_x_tiff=524601,
image_x_win_bitmap=524602,
image_x_xcf=524603 | 0x80000000,
image_x_xpixmap=524604 | 0x80000000,
image_x_xwindowdump=524605,
message_news=196926,
message_rfc822=196927,
model_vnd_dwf=65856,
model_vnd_gdl=65857,
model_vnd_gs_gdl=65858,
model_vrml=65859,
model_x_pov=65860,
text_PGP=590149,
text_asp=590150,
text_css=590151,
text_html=590152,
text_javascript=590153,
text_mcf=590154,
text_pascal=590155,
text_plain=590156,
text_richtext=590157,
text_rtf=590158,
text_scriplet=590159,
text_tab_separated_values=590160,
text_troff=590161,
text_uri_list=590162,
text_vnd_abc=590163,
text_vnd_fmi_flexstor=590164,
text_vnd_wap_wml=590165,
text_vnd_wap_wmlscript=590166,
text_webviewhtml=590167,
text_x_Algol68=590168,
text_x_asm=590169,
text_x_audiosoft_intra=590170,
text_x_awk=590171,
text_x_bcpl=590172,
text_x_c=590173,
text_x_c__=590174,
text_x_component=590175,
text_x_diff=590176,
text_x_fortran=590177,
text_x_java=590178,
text_x_la_asf=590179,
text_x_lisp=590180,
text_x_m=590181,
text_x_m4=590182,
text_x_makefile=590183,
text_x_ms_regedit=590184,
text_x_msdos_batch=590185,
text_x_objective_c=590186,
text_x_pascal=590187,
text_x_perl=590188,
text_x_php=590189,
text_x_po=590190,
text_x_python=590191,
text_x_ruby=590192,
text_x_sass=590193,
text_x_scss=590194,
text_x_server_parsed_html=590195,
text_x_setext=590196,
text_x_sgml=590197,
text_x_shellscript=590198,
text_x_speech=590199,
text_x_tcl=590200,
text_x_tex=590201,
text_x_uil=590202,
text_x_uuencode=590203,
text_x_vcalendar=590204,
text_x_vcard=590205,
text_xml=590206,
video_MP2T=393599,
video_animaflex=393600,
video_avi=393601,
video_avs_video=393602,
video_mp4=393603,
video_mpeg=393604,
video_quicktime=393605,
video_vdo=393606,
video_vivo=393607,
video_vnd_rn_realvideo=393608,
video_vosaic=393609,
video_webm=393610,
video_x_amt_demorun=393611,
video_x_amt_showrun=393612,
video_x_atomic3d_feature=393613,
video_x_dl=393614,
video_x_dv=393615,
video_x_fli=393616,
video_x_flv=393617,
video_x_isvideo=393618,
video_x_jng=393619 | 0x80000000,
video_x_m4v=393620,
video_x_matroska=393621,
video_x_mng=393622,
video_x_motion_jpeg=393623,
video_x_ms_asf=393624,
video_x_msvideo=393625,
video_x_qtc=393626,
video_x_sgi_movie=393627,
x_epoc_x_sisx_app=721308,
application_x_envoy=655479,
application_x_esrehber=655480,
application_x_excel=655481,
application_x_executable=655482,
application_x_font_gdos=655483,
application_x_font_pf2=655484,
application_x_font_pfm=655485,
application_x_font_sfn=655486,
application_x_font_ttf=655487 | 0x20000000,
application_x_freelance=655488,
application_x_gamecube_rom=655489,
application_x_gdbm=655490,
application_x_gettext_translation=655491,
application_x_git=655492,
application_x_gsp=655493,
application_x_gss=655494,
application_x_gtar=655495,
application_x_gzip=655496,
application_x_hdf=655497,
application_x_helpfile=655498,
application_x_httpd_imap=655499,
application_x_ima=655500,
application_x_innosetup=655501,
application_x_internett_signup=655502,
application_x_inventor=655503,
application_x_ip2=655504,
application_x_java_applet=655505,
application_x_java_commerce=655506,
application_x_java_image=655507,
application_x_java_jmod=655508,
application_x_java_keystore=655509,
application_x_kdelnk=655510,
application_x_koan=655511,
application_x_latex=655512,
application_x_livescreen=655513,
application_x_lotus=655514,
application_x_lz4=655515 | 0x08000000,
application_x_lz4_json=655516,
application_x_lzh=655517,
application_x_lzh_compressed=655518,
application_x_lzip=655519 | 0x08000000,
application_x_lzma=655520 | 0x08000000,
application_x_lzop=655521 | 0x08000000,
application_x_lzx=655522,
application_x_mach_binary=655523,
application_x_mach_executable=655524,
application_x_magic_cap_package_1_0=655525,
application_x_mathcad=655526,
application_x_maxis_dbpf=655527,
application_x_meme=655528,
application_x_midi=655529,
application_x_mif=655530,
application_x_mix_transfer=655531,
application_x_mobipocket_ebook=655532,
application_x_ms_compress_szdd=655533,
application_x_ms_pdb=655534,
application_x_ms_reader=655535,
application_x_msaccess=655536,
application_x_navi_animation=655537,
application_x_navidoc=655538,
application_x_navimap=655539,
application_x_navistyle=655540,
application_x_nes_rom=655541,
application_x_netcdf=655542,
application_x_newton_compatible_pkg=655543,
application_x_nintendo_ds_rom=655544,
application_x_object=655545,
application_x_omc=655546,
application_x_omcdatamaker=655547,
application_x_omcregerator=655548,
application_x_pagemaker=655549,
application_x_pcl=655550,
application_x_pgp_keyring=655551,
application_x_pixclscript=655552,
application_x_pkcs7_certreqresp=655553,
application_x_pkcs7_signature=655554,
application_x_project=655555,
application_x_qpro=655556,
application_x_rar=655557 | 0x10000000,
application_x_rpm=655558,
application_x_sdp=655559,
application_x_sea=655560,
application_x_seelogo=655561,
application_x_setupscript=655562,
application_x_shar=655563,
application_x_sharedlib=655564,
application_x_shockwave_flash=655565,
application_x_snappy_framed=655566,
application_x_sprite=655567,
application_x_sqlite3=655568,
application_x_sv4cpio=655569,
application_x_sv4crc=655570,
application_x_tar=655571 | 0x10000000,
application_x_tbook=655572,
application_x_terminfo=655573,
application_x_terminfo2=655574,
application_x_tex_tfm=655575,
application_x_texinfo=655576,
application_x_ustar=655577,
application_x_visio=655578,
application_x_vnd_audioexplosion_mzz=655579,
application_x_vnd_ls_xpix=655580,
application_x_vrml=655581,
application_x_wais_source=655582,
application_x_wine_extension_ini=655583,
application_x_wintalk=655584,
application_x_world=655585,
application_x_wri=655586,
application_x_x509_ca_cert=655587,
application_x_xz=655588 | 0x08000000,
application_x_zip=655589,
application_x_zstd=655590 | 0x08000000,
application_xml=655591,
application_zip=655592 | 0x10000000,
application_zlib=655593,
audio_it=458986,
audio_make=458987,
audio_mid=458988,
audio_midi=458989,
audio_mp4=458990,
audio_mpeg=458991,
audio_ogg=458992,
audio_s3m=458993,
audio_tsp_audio=458994,
audio_tsplayer=458995,
audio_vnd_qcelp=458996,
audio_voxware=458997,
audio_x_aiff=458998,
audio_x_flac=458999,
audio_x_gsm=459000,
audio_x_hx_aac_adts=459001,
audio_x_jam=459002,
audio_x_liveaudio=459003,
audio_x_m4a=459004,
audio_x_midi=459005,
audio_x_mod=459006,
audio_x_mp4a_latm=459007,
audio_x_mpeg_3=459008,
audio_x_mpequrl=459009,
audio_x_nspaudio=459010,
audio_x_pn_realaudio=459011,
audio_x_psid=459012,
audio_x_realaudio=459013,
audio_x_twinvq=459014,
audio_x_twinvq_plugin=459015,
audio_x_voc=459016,
audio_x_wav=459017,
audio_xm=459018,
font_otf=327947 | 0x20000000,
font_sfnt=327948 | 0x20000000,
font_woff=327949 | 0x20000000,
font_woff2=327950 | 0x20000000,
image_cmu_raster=524559,
image_fif=524560,
image_florian=524561,
image_g3fax=524562,
image_gif=524563,
image_heic=524564,
image_ief=524565,
image_jpeg=524566,
image_jutvision=524567,
image_naplps=524568,
image_pict=524569,
image_png=524570,
image_svg=524571 | 0x80000000,
image_svg_xml=524572 | 0x80000000,
image_tiff=524573,
image_vnd_adobe_photoshop=524574 | 0x80000000,
image_vnd_djvu=524575 | 0x80000000,
image_vnd_fpx=524576,
image_vnd_microsoft_icon=524577,
image_vnd_rn_realflash=524578,
image_vnd_rn_realpix=524579,
image_vnd_wap_wbmp=524580,
image_vnd_xiff=524581,
image_webp=524582,
image_wmf=524583,
image_x_3ds=524584,
image_x_cmu_raster=524585,
image_x_cur=524586,
image_x_dwg=524587,
image_x_eps=524588,
image_x_exr=524589,
image_x_gem=524590,
image_x_icns=524591,
image_x_icon=524592 | 0x80000000,
image_x_jg=524593,
image_x_jps=524594,
image_x_ms_bmp=524595,
image_x_niff=524596,
image_x_pcx=524597,
image_x_pict=524598,
image_x_portable_bitmap=524599,
image_x_portable_graymap=524600,
image_x_portable_pixmap=524601,
image_x_quicktime=524602,
image_x_rgb=524603,
image_x_tga=524604,
image_x_tiff=524605,
image_x_win_bitmap=524606,
image_x_xcf=524607 | 0x80000000,
image_x_xpixmap=524608 | 0x80000000,
image_x_xwindowdump=524609,
message_news=196930,
message_rfc822=196931,
model_vnd_dwf=65860,
model_vnd_gdl=65861,
model_vnd_gs_gdl=65862,
model_vrml=65863,
model_x_pov=65864,
text_PGP=590153,
text_asp=590154,
text_css=590155,
text_html=590156,
text_javascript=590157,
text_mcf=590158,
text_pascal=590159,
text_plain=590160,
text_richtext=590161,
text_rtf=590162,
text_scriplet=590163,
text_tab_separated_values=590164,
text_troff=590165,
text_uri_list=590166,
text_vnd_abc=590167,
text_vnd_fmi_flexstor=590168,
text_vnd_wap_wml=590169,
text_vnd_wap_wmlscript=590170,
text_webviewhtml=590171,
text_x_Algol68=590172,
text_x_asm=590173,
text_x_audiosoft_intra=590174,
text_x_awk=590175,
text_x_bcpl=590176,
text_x_c=590177,
text_x_c__=590178,
text_x_component=590179,
text_x_diff=590180,
text_x_fortran=590181,
text_x_java=590182,
text_x_la_asf=590183,
text_x_lisp=590184,
text_x_m=590185,
text_x_m4=590186,
text_x_makefile=590187,
text_x_ms_regedit=590188,
text_x_msdos_batch=590189,
text_x_objective_c=590190,
text_x_pascal=590191,
text_x_perl=590192,
text_x_php=590193,
text_x_po=590194,
text_x_python=590195,
text_x_ruby=590196,
text_x_sass=590197,
text_x_scss=590198,
text_x_server_parsed_html=590199,
text_x_setext=590200,
text_x_sgml=590201,
text_x_shellscript=590202,
text_x_speech=590203,
text_x_tcl=590204,
text_x_tex=590205,
text_x_uil=590206,
text_x_uuencode=590207,
text_x_vcalendar=590208,
text_x_vcard=590209,
text_xml=590210,
video_MP2T=393603,
video_animaflex=393604,
video_avi=393605,
video_avs_video=393606,
video_mp4=393607,
video_mpeg=393608,
video_quicktime=393609,
video_vdo=393610,
video_vivo=393611,
video_vnd_rn_realvideo=393612,
video_vosaic=393613,
video_webm=393614,
video_x_amt_demorun=393615,
video_x_amt_showrun=393616,
video_x_atomic3d_feature=393617,
video_x_dl=393618,
video_x_dv=393619,
video_x_fli=393620,
video_x_flv=393621,
video_x_isvideo=393622,
video_x_jng=393623 | 0x80000000,
video_x_m4v=393624,
video_x_matroska=393625,
video_x_mng=393626,
video_x_motion_jpeg=393627,
video_x_ms_asf=393628,
video_x_msvideo=393629,
video_x_qtc=393630,
video_x_sgi_movie=393631,
x_epoc_x_sisx_app=721312,
};
char *mime_get_mime_text(unsigned int mime_id) {switch (mime_id) {
case application_arj: return "application/arj";
@@ -832,6 +836,10 @@ case audio_x_hx_aac_adts: return "audio/x-hx-aac-adts";
case application_x_chrome_extension: return "application/x-chrome-extension";
case image_heic: return "image/heic";
case image_x_gem: return "image/x-gem";
case application_x_lzma: return "application/x-lzma";
case application_warc: return "application/warc";
case application_x_lzip: return "application/x-lzip";
case application_x_lzop: return "application/x-lzop";
default: return NULL;}}
GHashTable *mime_get_ext_table() {GHashTable *ext_table = g_hash_table_new(g_str_hash, g_str_equal);
g_hash_table_insert(ext_table, "arj", (gpointer)application_arj);
@@ -1337,6 +1345,10 @@ g_hash_table_insert(ext_table, "z", (gpointer)application_zlib);
g_hash_table_insert(ext_table, "pf2", (gpointer)application_x_font_pf2);
g_hash_table_insert(ext_table, "jmod", (gpointer)application_x_java_jmod);
g_hash_table_insert(ext_table, "heic", (gpointer)image_heic);
g_hash_table_insert(ext_table, "lzma", (gpointer)application_x_lzma);
g_hash_table_insert(ext_table, "warc", (gpointer)application_warc);
g_hash_table_insert(ext_table, "lz", (gpointer)application_x_lzip);
g_hash_table_insert(ext_table, "lzo", (gpointer)application_x_lzop);
return ext_table;}
GHashTable *mime_get_mime_table() {GHashTable *mime_table = g_hash_table_new(g_str_hash, g_str_equal);
g_hash_table_insert(mime_table, "application/arj", (gpointer)application_arj);
@@ -1751,5 +1763,9 @@ g_hash_table_insert(mime_table, "audio/x-hx-aac-adts", (gpointer)audio_x_hx_aac_
g_hash_table_insert(mime_table, "application/x-chrome-extension", (gpointer)application_x_chrome_extension);
g_hash_table_insert(mime_table, "image/heic", (gpointer)image_heic);
g_hash_table_insert(mime_table, "image/x-gem", (gpointer)image_x_gem);
g_hash_table_insert(mime_table, "application/x-lzma", (gpointer)application_x_lzma);
g_hash_table_insert(mime_table, "application/warc", (gpointer)application_warc);
g_hash_table_insert(mime_table, "application/x-lzip", (gpointer)application_x_lzip);
g_hash_table_insert(mime_table, "application/x-lzop", (gpointer)application_x_lzop);
return mime_table;}
#endif