Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding support for RAR 5.0 format #35

Open
DoggoKt opened this issue Aug 29, 2024 · 1 comment
Open

Adding support for RAR 5.0 format #35

DoggoKt opened this issue Aug 29, 2024 · 1 comment

Comments

@DoggoKt
Copy link

DoggoKt commented Aug 29, 2024

Hey, I really like this projcet and I've studied a bunch of the RAR format lately. I've tried using your package on a rar5 file and realized it didn't work because, well, there's a few main changes in parsing 5.0 files. The spec is https://www.rarlab.com/technote.htm, but honestly reading the unrar source is a little easier.

  1. CRC-32 instead of CRC-16, meaning the CRC parts of headers are 4 bytes, not 2 anymore.
  2. The order is different. They kept the "old" rar4.0 order in the signature aka magic bytes for obvious reasons.
  3. There is not a fixed size for anything except for the CRC signatures - you read seven bits from a byte, and the top one says if to read more or not. Not difficult to implement, just very different.
  4. The signature is one more byte longer (not the fixed string, anymore, there's an extra 0x01)

This is not a feature request, more of an announcement that I'll be adding the support for it. It should be also automatically detectable from the first 7 bytes due to different signatures. As said, kudos to you, really cool projet and good work. I'll try to work on it as much as I can. Not that interested in making it browser-ready, but I've thought about adding stremio support (with a similar system to rar-http).

@1313
Copy link
Collaborator

1313 commented Aug 31, 2024

Cool, thanks for letting me know, should be fairly simple to write a new set of header parsers. I'm afraid I don't have the time at the moment but feel free to submit a PR and I can guide you on the way.

Thanks for the kind words 🤘

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants