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

Plugin Support #213

Closed
hyblocker opened this issue Sep 14, 2022 · 11 comments
Closed

Plugin Support #213

hyblocker opened this issue Sep 14, 2022 · 11 comments
Labels
archived duplicate This issue or pull request already exists enhancement New feature or request suggestion

Comments

@hyblocker
Copy link

One of the major compelling features 7-Zip offers is the ability to extend it with 3rd party plugins. Given NanaZip is a fork of 7-Zip, allowing the 3rd party plugins should be relatively easy as most of the code required to implement this should already be present in the codebase.

Currently, it is difficult to extend NanaZip's functionality due to the fact that the directory an application is located at when downloaded from the Microsoft Store is read-only, and most users are most likely unwilling or unable to go through the tedious process of taking ownership of the directory to gain write access.

Would searching for plugins from somewhere else be a viable solution given this? Say for example searching at %APPDATA%\NanaZip.

@MouriNaruto MouriNaruto added suggestion enhancement New feature or request labels Sep 15, 2022
@driver1998
Copy link

Traditional UWPs does not allow loading DLLs from outside the package, but I guess Centennial apps can.

@driver1998
Copy link

One possible use case might be #210.

@Goforcereloaded
Copy link

Goforcereloaded commented Oct 9, 2022

I'm using asar plugin, I tried to take the ownership of WindowsApps folder on latest W11 build to test if plugin was working and it did not work, can't write anything.

An official support for plugins would be great.

@MouriNaruto MouriNaruto added this to the NanaZip 3.x milestone Feb 4, 2023
@AndromedaMelody AndromedaMelody removed this from the NanaZip 3.x milestone Mar 12, 2023
@modz2014
Copy link

modz2014 commented Sep 5, 2023

the plugins need to be included into the msix package for this work

@uhuntu
Copy link

uhuntu commented Nov 5, 2023

@MouriNaruto can you explain to me in front of page, that said the plan "Try to create isolated and portable plugin infrastructure based on 64-bit RISC-V Unprivileged ISA Specification. Runtime Project: https://github.com/ChaosAIOfficial/RaySoul", what did it said and what it is meaning. It is hard for me to understand how come a plugin system that build on RISC-V ?

And the "plugin" word in that sentence is really meaning the word "plugin" for 7zip etc. ? The why I am interesting in it is of course I would like to build a "plugin" for NanaZip.

@MouriNaruto
Copy link
Member

@uhuntu

Because I think the portability of the plugin is important. (For example, if the developer builds a plugin, there is only one CPU target version in most cases. People who need plugins will meet the issue when they change the CPU like from x64 to ARM64. We need a solution for solving the issue to bring users a universal experience.)

Kenji Mouri

@modz2014
Copy link

@MouriNaruto are there plugin support going to happen is there somewhere i can reach out to as im trying to plan on adding plugin in support but i would like to send you my example if this is possible please

@modz2014
Copy link

modz2014 commented Feb 4, 2025

@hyblocker @uhuntu i have created a pull request here #562

@MouriNaruto
Copy link
Member

Currently, NanaZip doesn't accept any plugin-related PRs because many design issues need to be considered first.

But we always welcome to merge builtin codec PRs if it's decoupled from 7-Zip mainline's source code definitions a.k.a. uses https://github.com/M2Team/NanaZip/blob/main/NanaZip.Specification/NanaZip.Specification.SevenZip.h.

Kenji Mouri

@MouriNaruto
Copy link
Member

I also have received some suggestions about introducing the format plugin support for NanaZip. But I need to consider a lot before that because I'm the author of https://github.com/M2TeamArchived/NSudo which made me learn a lot and I know the security isolation is important for plugin host. I want to reduce the attacking surface to reduce the abuse via malicious things. Also, the portability is important, which makes me try to pay attention to the WebAssembly with the customized interfaces provided by the plugin host.

I mentioned that in https://github.com/M2Team/NanaZip/releases/tag/5.0.1250.0

Kenji Mouri

@MouriNaruto
Copy link
Member

Closed. Continue in #563.

Kenji Mouri

@MouriNaruto MouriNaruto added duplicate This issue or pull request already exists archived labels Feb 4, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
archived duplicate This issue or pull request already exists enhancement New feature or request suggestion
Projects
None yet
Development

No branches or pull requests

7 participants