Skip to content

riandycandra/NoxLog

Repository files navigation

🕵️ Noxlog

Noxlog is a silent, universal application monitoring and version logging service. It scans your installed software, categorizes them by purpose, and sends beautifully styled HTML email reports whenever a change is detected (new installs or version updates).

Designed to be run as a recurring background service (cronjob), Noxlog ensures you always have a clear, automated pulse on your software environment without any manual effort.


✨ Key Features

  • 🔍 Intelligent Scanning: Retrieves all non-system applications and their precise versions.
  • 🏷️ Auto-Categorization: Automatically groups apps into categories like Development, DevOps, Productivity, and Communication.
  • 🔔 Delta Notifications: Only sends email reports when changes are detected (reduces inbox noise).
  • 📧 Premium HTML Reports: Receive sleek, modern email reports with status badges and full inventory tables.
  • 🌐 OS-Aware Branding: Automatically adapts its visual identity (logos/icons) based on the host operating system.
  • 💾 Historical Tracking: Maintains a local installed_apps.json to track state changes over time.

🚀 Getting Started

1. Prerequisites

  • Node.js (v16+)
  • macOS (Universal support coming soon)

2. Installation

You can install Noxlog locally for development or globally to use the CLI command anywhere.

Global Installation (Recommended):

npm install -g @riandycandra/noxlog

Local Development:

git clone https://github.com/riandycandra/Noxlog.git
cd noxlog
npm install

3. Configuration

When using the global noxlog command, the tool looks for configuration and saves history in your current working directory.

  1. Create a .env file in the folder where you intend to run your scans:

    # Create .env in your current folder
    touch .env
  2. Edit .env with your SMTP credentials to enable email alerts:

  • EMAIL_HOST: Your SMTP server (e.g., smtp.gmail.com)
  • EMAIL_PORT: SMTP port (e.g., 465 or 587)
  • EMAIL_SECURE: Use SSL/TLS (true for 465, false for 587)
  • EMAIL_USER: Your email address
  • EMAIL_PASS: Your app-specific password
  • EMAIL_TO: Recipient address

Tip

If you are setting up an automated task (like Cron or Task Scheduler), ensure the command is executed within the folder containing your .env file so it can load your settings correctly.

4. Usage

Run a manual scan using the global command:

noxlog

Export results to a specific format:

# Export to Excel
noxlog -o xlsx

# Export to Markdown
noxlog -o md

# Export to HTML
noxlog -o html

# Show help
noxlog --help

# Show version
noxlog --version

🛠️ Roadmap (TODO)

  • Windows Support: Implement wmic or Get-ItemProperty scanners for Windows environments.
  • Linux Support: Add support for dpkg, rpm, and snap package managers.
  • Dashboard UI: A local web interface to visualize software trends over time.
  • Export Options: Support for Excel, Markdown, or HTML export formats.
  • Slack/Discord Integration: Send change alerts directly to chat channels.
  • Dependency Audit: Integrate security vulnerability scanning for installed versions.
  • Global CLI: Convert the project into an NPM package to support npx noxlog or global noxlog commands.

📄 License

This project is licensed under the ISC License - see the LICENSE file for details.


Generated with 🕵️ by Noxlog.

About

Silent, universal application monitoring and version logging service.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors