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

[Idea] Self-Update client mechanism #41

Open
dzervas opened this issue Feb 24, 2017 · 6 comments
Open

[Idea] Self-Update client mechanism #41

dzervas opened this issue Feb 24, 2017 · 6 comments

Comments

@dzervas
Copy link
Contributor

dzervas commented Feb 24, 2017

I just wanted to note down the idea for the implementation of client self-update.

What I thought is that you download the new client, replace the client file on the fly (it's already loaded into memory) and from main you destroy the Client object, re-import the new client and execute its main function (or object).

I dummy-tested it and it worked - I'll implement it as soon as I find time to do so.

@dzervas
Copy link
Contributor Author

dzervas commented Feb 24, 2017

BTW: We can do that with the plugins too, so that the file remains one but we just append plugin code in the client file (file size is less of a problem vs scattered files).

@panagiks
Copy link
Owner

For the client plugins I'm currently testing zero disk interaction plugins as an anti-forensics measure so for a while at least don't spend too much time on the client plugins.

If the update mechanism works it will be awesome, it's been bugging me for a while now ...

@panagiks
Copy link
Owner

I have made a PoC plugin system for the Client that has a smaller code footprint than the one currently in use and has zero disk interaction. If everything goes well I'll have a complete system uploaded until Monday noon. Having said that I'd suggest yo emphasize on the update mechanism for the client and not the plugins (not the client ones at least) since non-persistent plugins will be (nearly) always up to date.

@dzervas
Copy link
Contributor Author

dzervas commented Feb 27, 2017

That's nice - after looking my client plugin code again, I don't like it either.
About the self-updating, I don't know when I'll start implementing it. I'll let you know when I start.

@panagiks
Copy link
Owner

There was nothing wrong with the previous plugin system (it had a couple of pros against the one I am developing, namely consistency with the Server plugins and persistence) it's just that I think it would be thematically beneficial to have a more anti-forensics approach.

Take your time with the update mechanism :)

@panagiks
Copy link
Owner

Just a note here too. The Zero Disk Interaction plugin system referenced above is ready and is in the v0.4.0_rc branch. I'll try to document the plugin creation asap and hopefully before 15 May 2017, the target date for testing, documenting and releasing v0.4.0 (if no major blockers are discovered in the meantime). I have included an example plugin (client Geolocation) that should be used as a general guide as the actual system may change until the release.

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

No branches or pull requests

2 participants