This is a simple file archiver (no compression) written in C++ in my free time just for fun (almost not practically useful).
Named after my favourite character in iDOLM@STER Hoshii Miki.
- Extension:
mka
(stands for MikiArchive) - Structure:
- First
8 bytes
: Signal to validate the file formatMIKIMIKI
. - Next
2 bytes
: number of files being archived =n
. - Next
4 bytes
: chunk size. - Within next
n
blocks:- First
2 bytes
: size of the filename =m
. - Next
m
bytes: the filename. - Next
8 bytes
: the filesize =s
. - Next
s
bytes: file content.
- First
- First
-e file_name
: extract fromfile_name
.-a file_list
: make an archive fromfile_list
. Must specify-o
.-d directory
: make an archive fromdirectory
. Must specify-o
.-o file_name
: save the archive asfile_name
(when used with-a
and-d
).-o directory
: extract todirectory
(when used with-e
).--chunksize
: specify the chunk size.
# Make an archive named myarchive.mka from file1.docx, file2.exe and file3.cpp
$ mk -a file1.docx file2.exe file3.cpp -o myarchive.mka
# Make an archive named myarchive2.mka from mydirectory
$ mk -d mydirectory p -o myarchive2.mka
# Extract myarchive.mka to myoutputdir
$ mk -e myarchive.mka -o myoutputdir
- Simply run
make
command in the repository directory. - Recommended to use only on *nix. Tested on macOS Mojave.