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

Official RARLAB binaries + Create RAR files! #295

Open
TCB13 opened this Issue Oct 1, 2018 · 10 comments

Comments

2 participants
@TCB13

TCB13 commented Oct 1, 2018

Hello, many thanks for this great App, I've been using it for a while and as we all know it lacks the ability to create RAR files. I believe this restriction is due to legal issues related to RARLAB's products, however I'm going to point a few things.

  • Keka already uses RARLAB code but "Modified by aONe for use in Keka";
  • Archiver for Mac has the ability to create RAR files using the RARLAB's official, unmodified binary;
  • RAR command line tools use whatever license is installed on the system - no need to send anything built in;

Why can't we have nice things on Keka as well? ;) Let me show you how Archiver does it to avoid legal issues:

captura de ecra 2018-10-01 as 12 00 18
captura de ecra 2018-10-01 as 12 00 35
captura de ecra 2018-10-01 as 12 00 50

They shift the responsibility of the RAR licensing from themselves to the final user, provide the license agreement and all that stuff. They avoid App Store issues by downloading it later as an extra. A solution like this would greatly improve Keka without having to deal with extra stuff. The final user is supposed to have a valid RAR license installed on their home folder or some other alternative places where RARLAB's search.

The other advantage of using official RAR binaries is a faster integration of new RAR versions. RARLAB's binaries output is very stable, it hasn't changed for years, however there have been a lot of optimizations under the hood. Without the need for a custom version it would be faster to get updates.

@issuelabeler issuelabeler bot added the rar label Oct 1, 2018

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

Thanks a lot for the feedback @TCB13!

About the modified binary, it just uses a few patches so updating to newer versions is very quick. Usually is more about knowing when they're released.

About RAR compression, I've already contacted with RARLAB and they did not gave permission to bundle the binary. Using an external binary is not allowed in sandbox, so I'm not sure what Archiver does there. Is that app sandboxed?

@aonez aonez self-assigned this Oct 1, 2018

@aonez aonez added this to the Look at milestone Oct 1, 2018

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

Relative to #123

@TCB13

This comment has been minimized.

TCB13 commented Oct 1, 2018

Using an external binary is not allowed in sandbox, so I'm not sure what Archiver does there. Is that app sandboxed?

Yeah you're correct @aonez it doesn't work with the App Store version, my bad, however, from their FAQ:

Please note that Archiver only supports creating RAR archives in our direct download version. The Mac App Store's sandboxing rules prohibit use of the RAR plugin.

So we could still have it on the non App Store version? In a similar fashion to Archiver.

@TCB13

This comment has been minimized.

TCB13 commented Oct 1, 2018

Archiver places the RARLAB's binaries at: /Users/TCB13/Library/Application Support/com.incrediblebee.Archiver3

captura de ecra 2018-10-01 as 12 26 06

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

Archiver places the RARLAB's binaries at...

I was just looking at this 😂. So the web version is not sandboxed and can use it. I'm currently sandboxing both MAS and WEB versions so the development works for both. Maybe in the future sandbox will be required for all macOS apps.

Anyway maybe I should give an non-sandboxed alternative download. This makes me think about the issues I'm having in the Apple Store review process for asking file access support to the user, and how some users will be happy with no sandbox at all for some applications.

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

I forgot to mention that RAR compression was developed for Keka 1.1.0, but sandbox killed that development. You can still try (and use) this in Keka-1.1.0-rc.1.

@TCB13

This comment has been minimized.

TCB13 commented Oct 1, 2018

Anyway maybe I should give an non-sandboxed alternative download. This makes me think about the issues I'm having in the Apple Store review process for asking file access support to the user, and how some users will be happy with no sandbox at all for some applications.

I believe Keka's permission system is very, very well implemented. The preferences allow users to control in an easy and transparent way what Keka has access to and this is very good, however I would give up the sandbox for a version that could use RARLAB's binaries.

If you consider this "non-sandboxed alternative" please note one thing where Archiver fails: Archiver always downloads some old version of RAR CLI tools and stores them at /Users/TCB13/Library/Application Support/com.incrediblebee.Archiver3. In a better implementation, before downloading, it should check if the system already has the binaries installed at /usr/local/bin/ and other common paths and use them.
Looks like this was already done in the right way: https://github.com/aonez/Keka/wiki/Rar-compression

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

I believe Keka's permission system is very, very well implemented. The preferences allow users to control in an easy and transparent way what Keka has access to and this is very good

Thanks a lot for that :)

downloads some old version of RAR CLI tools

Noticed that, 5.00 version, but since your screenshot had 2018 version thought it was just my case.

The rc.1 version (and newer, although inactive in sandbox) uses the user installed binaries, so no problem there. Implementing the download will be the improvement in Keka, was suggester in #295.

@TCB13

This comment has been minimized.

TCB13 commented Oct 1, 2018

Noticed that, 5.00 version, but since your screenshot had 2018 version thought it was just my case.

I replaced the binaries myself due a to a bug where the old version would crash with some RAR files protected by password. But as you saw, by default it uses a very old version.

The fact the I could replace the binaries without issues just proves that the CLI tools output is very stable.

@aonez

This comment has been minimized.

Owner

aonez commented Oct 1, 2018

Just for the record, this was the capture of the downloaded by Archiver:

screen shot 2018-10-01 at 13 37 02

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment