Crates.io | unarc-rs |
lib.rs | unarc-rs |
version | 0.4.1 |
source | src |
created_at | 2024-05-16 21:15:10.364726 |
updated_at | 2024-05-20 06:05:03.53766 |
description | Library for handling & extracting ARC, ZOO, SQZ and HYP archives. |
homepage | https://github.com/mkrueger/unarc-rs |
repository | https://github.com/mkrueger/unarc-rs |
max_upload_size | |
id | 1242481 |
size | 330,023 |
A library for rust which supports reading of ARC, ARJ, ZOO, SQ/SQ2/QQQ, SQZ, .Z (unix compress) and HYP files. This library was written for my bbs project as part of the file analyzation.
This library contains outdated decompression algorithms. I didn't bother to write the compression for those. I don't need them for my project. Nor do I think they're worth implementing - at least for me. I'll take PRs.
(In case I overlook the issues/PRs here contact me on https://github.com/mkrueger/icy_board or per mail)
As part of my bbs project this is finished for now - got a much bigger extend than planed. However there is always stuff to do:
Supported compression methods:
Not supported: Crushed & Distilled
ARC was #1 in the BBS scene before "the patent thing" and ZIP overtook.
Currently it's enough for me - I tried to find a LZW implementation that works but they need some tweaks to work with ARC. Unfortunately the ARC implementations I found were GPL/LGPL and I want a MIT/Apache library so I can't just port these over.
Supported compression methods:
Notes: That should cover all compressiom methods
This library was written for my bbs project as part of the file analyzation. ARJ was popular in the BBS scene in the 90' before RAR showed up.
All advanced ARJ features are not supported like multiple archives, password protection etc. The scope is limited to what I need. Feel free to add features you need. (In case I overlook the issues/PRs here contact me on https://github.com/mkrueger/icy_board or per mail)
Compression method 0, 1 & 2 are supported - should cover all methods.
I wrongly assumed that SQZ == SQ - after implementing squeeze for arc I recognized my error so I threw in the old SQ format even if it's 1 file only. I added support for the SQ2 format as well. These both don't have a real extension it's either Q as 2nd char or .SQ/.SQ2/.QQQ Both formats should be fully supported - there is only one compression method.
Here are the compression formats where the compression isn't supported (only 'store' methods). But archives can be opened & analyzed.
Only method 0 (Store) supported It's hard do find infos for that but I suppose they use Squeeze compression as ARC does in method 1
Only method 0 (Store) supported It's hard do find infos for that - does anyone know which compression Hyper uses?
Only contains 1 file. It's a simple LZW compression. Need that as part of a mail exchange standard.
MIT or Apache-2.0 but I don't really care :)