viper-framework / viper

Binary analysis and management framework
Other
1.54k stars 353 forks source link

Should we split up different components? #767

Open botherder opened 4 years ago

botherder commented 4 years ago

As I go through the code-base, I can't help but feeling it is cluttered. I am wondering if it could make sense to try to separate essential components of the software.

For example, I'm thinking:

  1. Maintain the current repository for the essential core and CLI.
  2. Move all modules to a dedicated repository, and a command to the CLI to pull module updates. This (similarly to how we've done with Cuckoo), might also help reducing the need to regularly update the software itself and be more flexible on the packaging and distribution.
  3. Move the web interface to a dedicated repository.

Thoughts?

emdel commented 4 years ago

I totally agree with you. We should have the essential core and the CLI core and I would say some core modules. Additional modules should go to the 'community' repository and the final user decides what to do.

Rafiot commented 4 years ago

This is a good approach, the problem being to decide what core and what isn't.

And definitely the web interface should be a dedicated repository, it will also be a lot easier to maintain issues related to it.

botherder commented 4 years ago

I did a first attempt at this and it is committed now. Now modules are located at: https://github.com/viper-framework/viper-modules/ And the web interface is located at: https://github.com/viper-framework/viper-web/

I uploaded a package of the viper core to PyPi, as viper-framework, so it can now be installed with pip3 install viper-framework. I also added an update-modules command that is just a first draft (it needs a lot of work), which pulls modules from git.

botherder commented 4 years ago

@Rafiot I could use your help fixing up the repositories there and the installation of various dependencies.

Rafiot commented 4 years ago

I'll try to get some work done on that this week (the 3 weeks after that will be difficult).

Rafiot commented 4 years ago

That should be fixed now.