Hacker News new | ask | show | jobs
Show HN: 789-Zip – A native macOS app for 7-Zip (github.com)
25 points by akshaykalose 661 days ago
9 comments

That name would really fit a retro computing port for classic Mac. Given that the last few major releases of classic Mac OS were 7, 8 and 9. I glanced at the title and thought it could be that... Getting old I guess.

Edit: wow, I looked at the repo and there is no source, just points at a release download. I would call that straight up abuse of GitHub.

Hmm... I get where you're coming from. But, I'm currently hosting a 2.5MB .dmg file and a 1.6MB video. I wouldn't call that abusing GitHub. I could probably host these files on any free provider (ex. Cloudflare Pages, ...) GitHub provides free private repos and also 1GB free LFS file hosting.

I also have another open source repo with several releases at ~40MB per release.

If the repo starts to get really large, then yes, I should host it somewhere else. But, putting it into perspective, I just released an initial MVP, and the repo size is less than 5MB in total.

> I would call that straight up abuse of GitHub.

This is really inflammatory. GitHub explicitly allows publishing release artifacts without source - if GitHub considered this abuse they could make it so compilation had to occur as a github action such that the artifact is guaranteed to be compiled from the source as it exists within the repo. As it is users can push any old binary up and claim that it was built with the code in the repo.

https://docs.github.com/en/repositories/releasing-projects-o...

It's a social convention, not an enforced rule - if one sees a github link, the expectation it's an open source project, or at least source-available. Having closed source project hosted there breaks this expectation.
If you're working in a private repo for your closed source company or whatever then fine. Maybe also you pay GitHub for that.

If the repo is public, it's highly suspicious that you're serving malware. Even if not, it doesn't match a sensible git workflow. You wouldn't run a private repo with a README and no source code with some binary links. That's not a sensible way to do any project, open or not.

One of the recurring actions I need to keep helping other non-technical folks with in macOS is zipping with password. IF you can add that, it could become very useful for a lot of folks.

edit: Just found MacZip as another nice alternative that does it all. Would wish I could look at the code for security purposes.

There is also peazip, but it looks very "windowsy".

https://peazip.github.io/peazip-macos.html

Yes, I plan to add support for decrypting and encrypting archives with a password!
Keka is a macOS app which implements AES protection for zip and 7z. Open source and AppStore.
I'll second Keka -- the best tool there is for Mac zip capability.
Use a standard MacOS toolbar for your toolbar instead of rolling your own, it looks out of place.

Think more MacOS style would also instead of having that weird modal toggle at the top between creating and opening just have dragging to the dock icon or File>Open opens one, and File>New creates a blank one.

I initially designed those buttons to be familiar for users coming over from Windows, but I agree, I'll be redesigning it and moving buttons to the toolbar to make it fit in more with the macOS design language (and potentially give configuration options in the Settings).

The toggle is actually a native SwiftUI Picker in the toolbar. Adding command options and dragging and dropping on the dock icon is on the roadmap!

Yeah I know its a standard control I mean more the idea of using that control to toggle opening or new document behavior isn't what it was designed for.

> I initially designed those buttons to be familiar for users coming over from Windows

I'd suggest leaning more into MacOS as they're on MacOS so they wanna use things that feel like MacOS right? The default MacOS toolbar controls work and look really nice.

I don’t think YemuZip is open-source but I have been using it for the longest time I remember - decades! It just works.

https://www.yellowmug.com/yemuzip/

Oh interesting, I haven't heard of that one before! Although, it looks like this is only for creating zip files.

789-Zip will be able to create multiple types of formats and will also allow editing (renaming, adding in files one by one, renaming, moving, and deleting) within the Finder view.

Do the Github TOS allow the hosting of closed-source binaries?
As far as I can tell there's nothing about GitHub that discourages using it as a place to host releases of proprietary software, it's not as if GitHub itself is floss, why would they impose that requirement on its users?

Check out their acceptable use policy, they are concerned with worse evils than proprietary software: https://docs.github.com/en/site-policy/acceptable-use-polici...

Why would GitHub even care?
Amazing, I've been looking for something like this for a long time

Does it or will it support zstd?

I've recently learned about this new compression while making the app. I'll look into adding support for it!
When is zstd good to use?
There's a podcast with the creator courtesy of corecursive, it's a good story.

"in the final comparison, ZStandard beat ZLib in every way. At the same compression ratio, it compresses three to five times faster .at the same compression speed, it results in files that are 10 to 15% smaller. And besides all this, it can decompress twice as fast regardless of compression speed. The only thing even close to ZStandard is Brotli from Google."

https://corecursive.com/data-compression-yann-collet/#

Oh wow
On the compression side ZSTD is good all around. It'll give similar results at the ultra high compression side as LZMA in terms of ratio and speed but also scales to be a fantastic choice if you just want to pipe something through at a few hundred mbps and still get decent compression. ZSTD is also much cleaner in its multithreading scaling in terms of memory usage and the like.

On the decompression side ZSTD is absolutely blazing in comparison to LZMA. Decompression requirements also don't scale based in compression settings (i.e. doing some ultra super duper compression of a big file places no more memory requirement on the client doing the decompression later).

In short, ZSTD is great because it can be your reliable go-to regardless of your particularly use case. For more detail check out https://gregoryszorc.com/blog/2017/03/07/better-compression-...

This is neat, but I don't see the source code on your GitHub -- should I?

What UI framework are you using? The headline says native, but the toolbar looks unusual for a Mac app.

I really liked the animated transition into a list after you dropped the zip file!

I usually open-source everything, but this app is currently closed-source. Everything related to viewing and unarchiving is free and I plan to make creating archives and renaming/moving/deleting files within the archive paid. (The lifetime license is currently 80% off during development, check in the Settings of the app.)

I'm using SwiftUI + AppKit in XCode to make the app. The toolbar is just a row of big native buttons :D. I initially designed it to be familiar to Windows users & 7-Zip. But, after actually playing with 7-Zip recently, I think it can be unintuitive at times (ex. the extract/copy/move buttons can all unarchive and the button to create an archive is labeled "Add"), so I plan to modify it. I'm also planning on adding customization options to move these buttons to the native macOS toolbar so it can fit in better with the macOS design langauge.

Thanks I spent quite some time playing around with that animation! It is also fully coded in SwiftUI.

You should not host on GitHub without source.
Is this your opinion or is there something in ToS ?

GitHub allows private repos, proprietary licenses, and releases explicitly allow publishing a binary, so, why not use github? it's free.

Apart from the abuse of GitHub, are you sure the current form of distribution complies with the 7zip license?
Yes, I checked this, 7zip has a GNU LGPL license.
More directly: I believe you are in violation of the LGPL 2.1 license 7zip uses, though it'd be easy to fix.

I think the easiest to follow explanation of the requirements for this case is https://softwareengineering.stackexchange.com/a/86146/332347

> The headline says native

Native can mean many things, like "not a web-app".

The app is only 6.5MB in size :). Not sure how small Electron or Tauri apps can get these days.
Source code seems to be an archive on the releases page right now.
There is no source code in those archives just a README file
Which contains the README (as the other two files have been added afterwards).
Is there any other MacOS archival app that lets one look at the contents before extracting (like WinRAR, say) without resorting to the terminal?
That's one of the main reasons I made 789-Zip! :D
Possible with the command line (Homebrew and Macports).
doesn't Keka already support 7-zip (as well as lieky any other format you may encounter)?
Yes, Keka and The Unarchiver are other free options, but they don't support previewing the contents of the archive and dragging out only the things you want to extract.

I'm also going to be adding features to update the archive so you can just drag and drop new files into the archive in addition to renaming files and moving them around inside of the archive (and deleting files).