Coral version 2 progress report
We’re getting close! I know, I know … I haven’t shown my CodeCanyon Application line up any love for the last few years. What can I say? It’s been a rough few years for everyone. However, from here on out, I will finally have time to complete a lot of work on both Coral and Firefly. As you can see from the screenshot, the interface has had a complete overhaul; This is a branding decision on my end. All future products will use the same UI/UX kit which I am calling: Atmos. The whole thing is being built from the ground up as I build both apps. The goal is to move to a unified interface to speed up development time on my end. Most of the development time gets sucked into designing unique interfaces. With Atmos, I’ll actually be able to reuse components and get the actual code done faster.
The idea behind this update, and my larger brand redesign in general, is a focus on simplicity and relevant information. With the new interface, everything is neatly organized into functional areas giving you access to the things you need, and keeping confusion and useless controls hidden away in a powerful, fully-functional, command line interface. Another benefit of this move is page load times. I’ve cut all CSS and Javascript libraries out, and I am building everything from scratch using vanilla JS and a lot of flexbox!
Monitors and Scans
With this update, monitors have been greatly simplified. Most of the obscure controls have been tucked away in system configuration, leaving only the relevant stuff to keep you focused and informed. Scans now come in two types:
- Quick
- Comprehensive
Optimization takes place under the hood, so all you need to do is: “set it and forget it.” As you can see in the screenshot, I am doing a lot of testing with common CMS and eCommerce applications to assist in preventing false warnings. When you initialize a repository, Coral will attempt to identify common signature files in each CMS to tailor the scanning and warning systems to that particular application. This will greatly enhance Coral’s ability to check common places someone might try to hide in or use as a pivot point.
Additionally, you can now scan individual files for a closer look at suspicious items. Notifications have also been overhauled to be more informative and logically grouped to give you a better understanding of why Coral is notifying you and what those results mean as a whole. There is also detailed documentation built in to the application, with hyperlinks throughout, to provide you with the relevant information you need to be a Coral ninja!
Simpler Monitor Creation
I have blended a lot of the original design decisions from version one, with a more intuitive feel, to make setting up a monitored path as easy as possible. You have a bird’s eye view of your file-system by interacting with the folders or you can type in a path in the test field. Everything is synchronized, responsive, and very quick! By default, Coral will limit your scanning scope to the /var/www/html directory. You can change this in the configuration as you like.
D-Lang CLI: Blazingly fast
As mentioned in the previous article, I will be distributing a D-Lang binary for x86 systems as an alternative to the PHP engine. This isn’t a knock against PHP in any way - Coral is fast regardless. It’s just a personal project I am using to explore options for future projects. The D-Lang CLI will be available to download for free here on the site for registered users.
Better Cron Options
Cron is the tried and true way to schedule jobs on any Linux system. With this update, I am making scheduling those cron jobs a lot easier. In version one you had to set jobs for each monitor; Not anymore! In version two you have the option to schedule your scans in bulk using the web interface. You do all the scheduling using a nice interactive GUI and set a cron job to run on a single file every minute. That file then looks at the configuration you have provided and determines when to scan your system.
Plugins
As part of my push to a more modular application structure, I am opening up most, if not all, of my upcoming applications’ functionality using a modular plugin system. This is going to be super easy thanks to CodeIgniter’s help. I will be documenting the how-tos here on the learning site as the system matures. Anyone will be able to hook into the core systems and extend the application’s features. This is also a means for me to offer those extra features for a small cost. I mean, developing these applications takes a lot of time and I make next to nothing for doing it!
I will be opening up the official plugin store here on the site when Coral releases (hopefully by November if testing goes well). All plugins come with the same business-friendly MIT license, giving you full flexibility to use, adapt, and profit from your investment as you see fit! I’m really excited to be actively working on PHP applications again! I’ll put out more info as we get closer to release.