cc24-hub
Der neue Hub für CC24. Ein Framework für diverse Forensik-Tools und Übersicht über die verfügbaren Anwendungen auf der Plattform. DISCLAIMER: Vibe-Coding von Anthropic Claude 4 Sonnet.
Features
- Performance: Sub-2 second load times, sub-500ms filtering
 - YAML-Driven Content: Easy tool management through simple file edits
 - Dark/Light Themes: Automatic system detection with manual override
 - Service Monitoring: Real-time status via Uptime Kuma integration
 - Mobile Responsive: Works on all device sizes
 - Zero Dependencies: No external CDNs or cloud services
 
Quick Start
Prerequisites
- Node.js 16+
 - npm or yarn
 
Installation
- 
Clone the repository
git clone https://git.cc24.dev/mstoeck3/cc24-hub cd cc24-hub - 
Install dependencies
npm install - 
Start development server
npm start - 
Build for production
npm run build 
The site will be available at http://localhost:8080 and files will be generated in _site/.
Project Structure
dfir-tools-hub/
├── src/
│   ├── _data/                 # YAML data files
│   │   ├── tools.yaml         # Tools database
│   │   └── services.yaml      # Service monitoring config
│   ├── _includes/             # Shared template components
│   ├── _layouts/              # Page layout templates
│   │   └── base.njk           # Base layout
│   ├── js/                    # Client-side JavaScript
│   │   ├── search.js          # Search and filtering
│   │   ├── theme.js           # Theme management
│   │   ├── modal.js           # Tool detail modal
│   │   └── status.js          # Status page logic
│   ├── scss/                  # Sass stylesheets
│   │   └── main.scss          # Main stylesheet
│   ├── about/
│   │   └── index.njk          # About page
│   ├── privacy/
│   │   └── index.njk          # Privacy page
│   ├── status/
│   │   └── index.njk          # Status page
│   └── index.njk              # Home page
├── .eleventy.js               # Eleventy configuration
├── package.json               # Dependencies and scripts
└── README.md                  # This file
Content Management
Adding Tools
Edit src/_data/tools.yaml to add or modify tools:
tools:
  - id: new-tool                    # Unique identifier
    name: "Tool Name"               # Display name
    description: "Brief description of the tool"
    domains:                        # Forensic domains
      - "Filesystem Forensics"
      - "Network Forensics"
    phases:                         # DFIR phases
      - "Data Collection"
      - "Analysis"
    platforms:                      # Supported platforms
      - "Linux"
      - "Windows"
      - "macOS"
    skillLevel: "Intermediate"      # Beginner|Intermediate|Advanced
    accessType: "CLI"               # CLI|GUI|Web|SaaS
    url: "https://example.com"      # Project homepage
    tags:                           # Search tags
      - "tag1"
      - "tag2"
    type: "FOSS"                    # FOSS|SaaS
Configuring Services
Edit src/_data/services.yaml for service monitoring:
# Uptime Kuma Configuration
uptimeKuma:
  enabled: true                     # Enable/disable integration
  apiUrl: "https://status.lab.local/api"
  apiKey: "your-api-key"           # Optional API key
  refreshInterval: 30000           # Refresh every 30 seconds
# Static service definitions
services:
  - id: service-id
    name: "Service Name"
    description: "Service description"
    url: "https://service.lab.local"
    category: "Analysis Tools"
    status: "operational"           # operational|degraded|maintenance|down
    uptime: "99.9%"
    responseTime: "245ms"
DFIR Methodology
Tools are organized according to the standard DFIR framework:
Domains
- Filesystem Forensics: File system analysis and recovery
 - Network Forensics: Network traffic and protocol analysis
 - Memory Forensics: RAM and memory artifact analysis
 - Live Forensics: Real-time system analysis
 - Malware Analysis: Malicious software examination
 - Cryptocurrency: Blockchain and crypto investigations
 
Phases
- Data Collection: Evidence acquisition and preservation
 - Examination: Data extraction and parsing
 - Analysis: Evidence correlation and interpretation
 - Reporting: Documentation and timeline creation
 
Service Status Integration
Uptime Kuma Setup
- 
Install Uptime Kuma on your network
 - 
Configure monitors for your DFIR services
 - 
Enable API access in Uptime Kuma settings
 - 
Update configuration in
src/_data/services.yaml:uptimeKuma: enabled: true apiUrl: "https://your-uptime-kuma.local/api" apiKey: "your-api-key" 
Development
Available Scripts
npm start- Start development server with live reloadnpm run build- Build production sitenpm run debug- Build with debug informationnpm run clean- Clean build directory
Customization
Themes
- Modify color variables in 
src/scss/main.scss - Supports CSS custom properties for dynamic theming
 - Automatic dark mode detection with manual override
 
Search and Filtering
- Client-side search for instant results
 - Multi-criteria filtering (domain + phase + search term)
 - Matrix view for comprehensive tool overview
 
Performance Optimization
- Static site generation for fast loading
 - Minimal JavaScript footprint
 - Local asset bundling (no CDNs)
 - Optimized CSS with utility classes
 
Deployment
Static Hosting
Build and deploy to any static host:
npm run build
# Upload _site/ contents to your web server
Docker
Create a Dockerfile:
FROM node:18-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npm run build
FROM nginx:alpine
COPY --from=builder /app/_site /usr/share/nginx/html
EXPOSE 80
Self-Hosted Services
For lab environments, consider deploying alongside:
- Timesketch: Timeline analysis platform
 - MISP: Threat intelligence sharing
 - Neo4j: Graph database for relationships
 
Browser Support
Features gracefully degrade in older browsers.
Contributing
Tool Submissions
- Fork the repository
 - Add tool information to 
src/_data/tools.yaml - Test locally with 
npm start - Submit a pull request
 
Issue Reporting
Report bugs or suggest features via GitHub Issues.
Development Guidelines
- Maintain sub-500ms search performance
 - Test across major browsers
 - Follow existing code style
 - Update documentation for changes
 
License
BSD-3-Clause License - see LICENSE file for details.
Acknowledgments
- NIST SP 800-86 for DFIR methodology framework
 - Eleventy static site generator
 - Uptime Kuma for service monitoring
 - Open source DFIR community
 
Troubleshooting
Common Issues
Build fails with Sass errors
npm install --save-dev sass@latest
Search not working
- Check browser console for JavaScript errors
 - Ensure 
window.toolsDatais populated - Verify YAML syntax in tools.yaml
 
Uptime Kuma integration failing
- Check network connectivity to API endpoint
 - Verify API key permissions
 - Review browser network tab for CORS issues
 
Performance issues
- Ensure tools.yaml isn't excessively large (>1000 tools)
 - Check for JavaScript errors blocking execution
 - Verify efficient CSS selectors
 
Getting Help
- Check the troubleshooting section above
 - Review GitHub Issues for similar problems
 - Open a new issue with:
- Browser and version
 - Error messages
 - Steps to reproduce