SSL MOON is a product, not a library, so it is oriented on running as a standalone service.
SSL MOON is a service for batch checking domains hosting web servers for potential misconfigurations or security issues. This service does not aim to make intrusive checks like port scanning or application of common known exploits, instead it aims to access and analyze it in the way the user would interact.
For future, this project aims to both have graphs for overview of the health of hosts (and more graph related data) and a notifications system. This project will be forever open-source and hopefully it can become a project showcasing a real-world product written in elixir.
Currently, this product is not in a complete v1 yet, so expect breaking changes, bugs, missing documentation.
SSL MOON aims to be easily self-hosted solution for monitoring a batch of domains that are important for you. Originally this project was aimed to be used by government of Moldova, however due to the lack of funding, it is still requires some time investment until it will become useful for end-users.
I would love if this project had more real-world traction, so if you have such a use-case, feel free to contact me for information on how you can self-host (the documentation on this topic is still missing).
The following technologies are powering this project:
- Phoenix + Liveview - for all the web interaction;
- Oban - for persistent job execution, configurable both for postgres and sqlite;
- Ecto - validation of data structures and interaction with the database;
- Tailwind + DaisyUI - for a decent UI that is easy to build.
All feedback is welcome, be it constructive or otherwise.
There is still a lot of work that needs to be done on this project and you can be a part of it indifferently of your skill level, previously this project was developed by 2 elixir juniors guided by me. If you want to contribute, but don’t know where to start, send me a PM, I will gladly assist and answer all the questions related to the project.