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

Expected release #1

Open
radumamy opened this issue May 26, 2021 · 15 comments
Open

Expected release #1

radumamy opened this issue May 26, 2021 · 15 comments
Labels
good first issue Good for newcomers

Comments

@radumamy
Copy link

Hi,

Could you please advise when you'll be publishing the first release?
Thank you.

@Jiab77
Copy link
Owner

Jiab77 commented May 29, 2021

Hi @radumamy,

Thanks a lot for your interest into my project, it's very much appreciated :)

So far, I was first focusing on the desktop version where I need to build the base with electron and the clamscan library written in NodeJS.

For now the desktop version is only scanning the folder from where it is loaded on boot without no real interface written yet.

But I can probably try to write a minimal PHP version that you could easily setup on a web server 🤔 I'm open to suggestions!

In this case, I'd probably create a separate project, let's say clamav-web if the name is not already taken and host all the backend code in PHP first and then later in NodeJS if possible and keep the clamav-webui project to host the frontend code for both clamav-web and clamav-desktop...

I'm pretty busy with my daily job actually but I'll try my best to release something in the coming weeks 😉

Please, feel free to put here some visual interface suggestions if you already have some in mind, it will be much appreciated!

@Jiab77 Jiab77 added the good first issue Good for newcomers label May 29, 2021
@Jiab77
Copy link
Owner

Jiab77 commented May 29, 2021

@radumamy, the name clamav-web was available so I've created the clamav-web project to host the backend code as said previously.

@nephaste
Copy link

+1 for a php version ... missing on Qnap NAS ... following this project as well

@radumamy
Copy link
Author

@Jiab77
Thanks for setting this up. I am personally looking for an End Point protection dashboard for Linux/Unix, similar to MS ATP. The dashboard would use clamav as the agent running on end points/instances, so multiple instances could be monitored. In the future more agents/modules could be added (e.g. rkhunter) for a complete security solution. That might be a lot to ask, but there is definitely something like this missing in the open source community.

@Jiab77
Copy link
Owner

Jiab77 commented May 29, 2021

@radumamy, You're very welcome, I'm very happy to see that some of my projects can be interesting for someone else!

Thanks a lot for your suggestions, I've checked the dashboards and I see what you mean. I think I can try to make something similar but as I'm not the best coder neither I hope some others will be interested to contribute and improve this project too.

About the monitoring part, maybe it would be better to create monitoring plugins for ClamAV and/or RKHunter that could be used in Netdata as everything is already built and you could also use it to monitor many other things in your infra.

But the idea to manage several ClamAV instances is not bad at all! I'll keep it in mind when building the project structure. 👍🏽

Anyway, you're right it's a lot of work but I'll try my best to make it even if I'm already pretty busy with my daily job 😅

@Jiab77
Copy link
Owner

Jiab77 commented May 29, 2021

@nephaste, thanks a lot for your input about Qnap NAS's! Do you mean you would integrate it in the NAS or in the dashboard? or make it running as a Docker container for example?

Anyway, many thanks for your interest for my project too as well! Keep watching it, you guys gave me some nice ideas and energies 😁

@nephaste
Copy link

nephaste commented May 30, 2021

@nephaste, thanks a lot for your input about Qnap NAS's! Do you mean you would integrate it in the NAS or in the dashboard? or make it running as a Docker container for example?

Anyway, many thanks for your interest for my project too as well! Keep watching it, you guys gave me some nice ideas and energies 😁

Thank you... I am third part developper for Qnap .. and also working for Qnap as support engineer in France... I already built (cross compiled) clamav (full) for Qnap ... but only binaries .. and lazy script ... config file must already be setup by user in SSH (or winSCP)

https://www.qnapclub.eu/fr/qpkg/1091

it is just missing a cool webinterface... i always searched for someting like that which can be simply installed on embedded PHP Apache server (else language shouldnt be a problem... Python3, Go , Java ... ) never found something who can fit in the NAS ..

@Jiab77
Copy link
Owner

Jiab77 commented May 30, 2021

@nephaste, Thanks a lot for having shared me your project based on ClamAV for Qnap. As I like develop minimalist things without complicated structure, I should be able to make something that would be compatible with your existing work.

I've planned to handle both, binary scan and socket scan, so you would be able to run scans by pointing on the clamscan binary location or the clamd socket path.

I saw some other PHP / ClamAV implementation that was allowing to connect to a remote clamd instance but I have no idea if that would really useful or not so I'll probably ask for creating an issues if people would like to have it added into the project.

@Jiab77
Copy link
Owner

Jiab77 commented Jun 2, 2021

Hi guys!

I did some progress on the following projects:

All of them are used to compose the backend and frontend architecture. I'm still having to document how to deploy everything but it's pretty simple for now 😉

I'll keep you updated on each progress.

@nephaste
Copy link

nephaste commented Jun 3, 2021

thank you very much ...

@radumamy
Copy link
Author

radumamy commented Jun 3, 2021

Thank you. Looking forward to some documentation to install it and begin testing.

@Jiab77
Copy link
Owner

Jiab77 commented Jun 10, 2021

Hi guys, thanks a lot for your support! @radumamy, I'll write a minimal documentation once I get a minimal working prototype.

For now, the web server I'm using is basically the embedded web server in PHP this way but it can be easily replaced by apache or nginx or any other web servers as long as it can handle .htaccess files or skipping them as the embedded web server in PHP is doing.

I prefer not give you a precise date because I don't really know when I'll have enough time and energy along my daily job to give you something already functional. 🤞🏽 for this weekend, otherwise for the end of this month.

@Jiab77
Copy link
Owner

Jiab77 commented Jun 15, 2021

Hi guys, here are some progress samples so that you know why I'm pretty silent 😅

  • Test code:
<?php
require 'clamd.php';
$options = [
    'debug' => true,
    'driver' => 'local', // 'local' or 'remote'
    'path' => '/var/run/clamav/clamd.ctl'
];
$clamd = new ClamAV($options);
switch ($f3->get('PATTERN')) {
    case '/test/ping':
        echo ' -- Ping: ' . $clamd->ping() . PHP_EOL;
        break;

    case '/test/reload':
        echo ' -- Reload: ' . $clamd->reload() . PHP_EOL;
        break;

    case '/test/scan':
        echo ' -- Test: <a href="' . str_replace('@file', base64_encode('/path/to/folder/file'), $f3->get('REALM')) . '">Test file</a><br>' . PHP_EOL;
        echo ' -- Test: <a href="' . str_replace('@file', base64_encode('/path/to/folder/'), $f3->get('REALM')) . '">Test folder</a><br>' . PHP_EOL;
        break;

    case '/test/scan/@file':
        // echo ' -- Scan: ' . $clamd->multiscan('/path/to/folder/file') . PHP_EOL;
        echo ' -- Scan: ' . $clamd->multiscan(base64_decode($params['file'])) . PHP_EOL;
        break;

    case '/test/shutdown':
        echo ' -- Shutdown: ' . $clamd->shutdown() . PHP_EOL;
        break;

    case '/test/stats':
        echo ' -- Stats: ' . $clamd->stats() . PHP_EOL;
        break;

    case '/test/version':
        echo ' -- Version: ' . $clamd->version() . PHP_EOL;
        break;
    
    default:
        # code...
        break;
}
  • Test results:
    • /test/scan/@file:
Execute command: MULTISCAN /path/to/folder/ -- Scan: /path/to/folder/Quickstart Guide _ ipstack API.pdf: Access denied. ERROR
--
&nbsp; | /path/to/folder/Microsoft_Toolkit/Windows_Loader_v2.2.2.zip: Win.Malware.Aa93a15d-6745814-0 FOUND
&nbsp; | /path/to/folder/android-things-setup-utility/quickstart-temp: File path check failure: Permission denied. ERROR
&nbsp; | /path/to/folder/Telegram Desktop/Windows_Loader_v2.2.2.zip: Win.Malware.Aa93a15d-6745814-0 FOUND
&nbsp; | /path/to/folder/Telegram Desktop/Cloud-Archives/chats/chat_019/files/Windows_Loader_v2.2.2.zip: Win.Malware.Aa93a15d-6745814-0 FOUND

I should have something functional but pretty ugly visually soon.

@radumamy
Copy link
Author

radumamy commented Mar 7, 2022

Hi @Jiab77. Sorry to trouble you. I was wondering if this is still going ahead? Many thanks.

@Jiab77
Copy link
Owner

Jiab77 commented Jun 27, 2024

@radumamy, thanks a lot for your comment! I really would love to have time to focus on this project but unfortunately I can't 😞 However you can stil expect a release at some point as I keep this project in my todolist.

To be honest, after having seen Cisco dropping the support of their clamav interface called Immunet, I've questioned myself if that was not he right time to focus on this project 🤔

But the main problem remain the same: how to sustain myself while I'm focusing on the development?
And the answers are: find a support or do something else on side 😅

So I can't really tell you when will be released the first version but I can tell you that the idea behind this project and the will to make it are not dead.

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

No branches or pull requests

3 participants