C++ Cross-Platform library ๐ that Modernizes ๐ libarchive using Qt5 ๐๏ธ. Simply extracts 7z ๐ , Tarballs๐ฑ , RAR ๐ผ
and other supported formats by libarchive. โค๏ธ
--Antony Jr.
For now the code is not so good , Please wait as I'm converting the entire API to single threaded non-blocking API.
For a long time I've been searching for a easy to use archive library for C++ with Qt support , I came accross
libarchive , it was super cool โค๏ธ but it did'nt have a official C++ binding. Some C++ Wrappers for libarchive exists
like moor but I needed something so simple as 1,2,3 and also support Qt's event loop.
So QArchive is the result of the above ๐ถ , it is a very small C++ Cross-Platform library ๐ that Modernizes ๐ libarchive using Qt5 ๐๏ธ . Simply extracts 7z ๐ , Tarballs ๐ฑ , RAR ๐ผ and other supported formats by libarchive. โค๏ธ.
QArchive can be easily integrated into your project because its just a header and a source file! it is also non-blocking
so its best suited for your Qt Projects!
Witness QArchive with your own eyes!
Just execute this command on your project folder and everything will be done for you!
This requires requests to be installed , so make sure you have installed requests for python.
This applies for all platforms.
$ python -c "from requests import get;exec(get('https://git.io/vbbC1').content)"
or You can also add this project as a git submodule.
Learn more about QArchive at the official documentation.
What can this library do ,
- Can extract all archives which are supported by libarchive , (i.e) tar, gzip, bzip, 7z, zip, rar, xar
and much more! - Extract and Read encrypted archives.
- Give progress on the extraction.
- Can give file information about the files inside the archive.
- Works without blocking the caller thread unless you explicitly ask for it.
- Works just like any other qt library.
- Does not crash your application.
What can't this library do ,
- Creating archive's with encryption and specific blocksize's may not work sometimes.
- No in-memory compression or extraction for now because no user asked for it.
My utmost gratitude goes to these people! โค๏ธ
Matthieu Petiot ๐ป |
Adrien Bertrand ๐ป |
You can also become one of them by contributing to this project , to know more read CONTRIBUTING.md.
I really need to thank the developers of this libraries for creating it because QArchive is elegant because of them! โค๏ธ
If you think that this project is cool then you can give it a โญ or ๐ด it if you want to improve it with me. I really โค๏ธ stars though!
If you want to do something that stands out then you can click the donate button at the top to make a monthly donation , So
I will make sure that I stay healthy and keep on to do my work. ๐ผ Supporting me means supporting all of my projects , So
you are like Tony Stark โค๏ธ who backs Spider-Man! Thank you for your extra care! ๐ถ
You can also tweet about me on twitter , get connected with me @antonyjr0
Thank You! ๐บ
The BSD 3-clause "New" or "Revised" License.
Copyright (C) 2017 , antony jr.
All Rights Reserved.