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

Plugins system #308

Closed
OscarAkaElvis opened this issue Oct 4, 2019 · 2 comments
Closed

Plugins system #308

OscarAkaElvis opened this issue Oct 4, 2019 · 2 comments
Assignees
Milestone

Comments

@OscarAkaElvis
Copy link
Collaborator

OscarAkaElvis commented Oct 4, 2019

What is this?

A plugins system is under development now. It will be an ambitious new feature for future v10.0 . The idea is to create a system for the community to give them the ability to create custom content for airgeddon.

How it will work?

It will be based on a system of prehooking, overriding and posthooking functions. Users will be able to change the behavior of airgeddon rewriting new code for some parts.

How can a plugin be done?

We'll provide documentation, a template to do it and an already created plugin to be used as example, so don't worry... Links at the Wiki are available but still under construction:

Plugins System
Plugins Development

Do I need how to develop?

Sure, in the end, the plugin developer is going to program his/her own code. Just need to locate the function or functions of the airgeddon script on which you would like to change stuff and then "hook" them to change the behavior of the program to perform custom stuff.

What can be done using a plugin?

Anything. You can design simple plugins just to change colors, or to add a new custom menu option for example. As we said, an example plugin for the documentation will be created, it will provide the ability to install missing dependencies automatically for some Linux distributions (Parrot, Kali and probably BlackAarch, the uniques as far as I know which provide all the needed packages on their repositories).

This could be a solution for the recurrent issue opening for the damn RTL88xx chipset family. As we know, the drivers for these chipsets are not very good and airgeddon is messed up with them due the wrong output because they are not following the standards. Output is different for these cards and "dirty" coding is needed to fix this specific behavior. It was discussed many times at airgeddon issues that we (the staff) are not going to perform custom modifications only for one family of chipsets, so the plugins system could be a solution for this. Anybody could create a plugin to face this problem and "dirty" code could be out of the airgeddon project as a workaround.

Where to store the plugins?

airgeddon will not store your plugins. Only the example plugin will be on this repository. The idea is that the users will be able to store them on their own repositories. We'll provide links to external plugins from our Wiki if we think they deserve to be there. The section is still under construction:

Plugins Hall of Fame

To be there just contact the staff by Discord, IRC, mail or by any other channel as is explained at Contact Wiki section. Please, don't open an issue to present a plugin. If you do that, it will never be linked by us.

If you want some support for plugin development maybe you can try better at IRC or at airgeddon's Discord channel. Here is the Public Invitation Link

Of course we are not responsible of the content of the external plugins developed by third parties.

When will this be available?

Soon. It's milestoned for v10.0 . There is a created branch where we are already working on it. Give us a breath while trying to do our best 🐙

@OscarAkaElvis
Copy link
Collaborator Author

This is completely done. It will be released as expected on next v10.0. Closing.

@OscarAkaElvis
Copy link
Collaborator Author

This feature was released today! plugins system go live!

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

No branches or pull requests

3 participants