# Project Directory **Generated:** 2026-01-26 **Purpose:** Comprehensive directory of all active and completed projects **Source:** CATALOG_PROJECTS.md, CATALOG_SESSION_LOGS.md --- ## Table of Contents 1. [Active Development Projects](#active-development-projects) - [GuruRMM](#gururmm) - [GuruConnect](#guruconnect) - [MSP Toolkit (Rust)](#msp-toolkit-rust) - [Website2025](#website2025) 2. [Production/Operational Projects](#productionoperational-projects) - [Dataforth DOS Test Machines](#dataforth-dos-test-machines) - [MSP Toolkit (PowerShell)](#msp-toolkit-powershell) - [Cloudflare WHM DNS Manager](#cloudflare-whm-dns-manager) - [ClaudeTools API](#claudetools-api) 3. [Troubleshooting Projects](#troubleshooting-projects) - [Seafile Microsoft Graph Email Integration](#seafile-microsoft-graph-email-integration) 4. [Completed Projects](#completed-projects) - [WHM DNS Cleanup](#whm-dns-cleanup) 5. [Reference Projects](#reference-projects) - [Autocode Remix](#autocode-remix) - [Claude Settings](#claude-settings) --- ## Active Development Projects ### GuruRMM #### Status **Active Development** - Phase 1 MVP #### Purpose Custom RMM (Remote Monitoring and Management) system for MSP operations #### Technologies - **Server:** Rust + Axum - **Agent:** Rust (cross-platform) - **Dashboard:** React + Vite + TypeScript - **Database:** PostgreSQL 16 - **Communication:** WebSocket - **Authentication:** JWT #### Repository https://git.azcomputerguru.com/azcomputerguru/gururmm #### Infrastructure - **Server:** 172.16.3.20 (Jupiter/Unraid) - Container deployment - **Build Server:** 172.16.3.30 (Ubuntu 22.04) - Cross-platform builds - **External URL:** https://rmm-api.azcomputerguru.com - **Internal URL:** http://172.16.3.20:3001 - **Database:** gururmm-db container (172.16.3.20:5432) #### Key Components - **Agent:** Rust-based monitoring agent (Windows/Linux/macOS) - **Server:** Rust + Axum WebSocket server - **Dashboard:** React + Vite web interface - **Tray:** System tray application (planned) #### Features Implemented - Real-time metrics (CPU, RAM, disk, network) - WebSocket-based agent communication - JWT authentication - Cross-platform support (Windows/Linux) - Auto-update system for agents - Temperature metrics (CPU/GPU) - Policy system (Client → Site → Agent) - Authorization system (multi-tenant) #### Features Planned - Remote commands execution - Patch management - Alerting system - ARM architecture support - Additional OS versions - System tray implementation #### CI/CD Pipeline - **Webhook URL:** http://172.16.3.30/webhook/build - **Webhook Secret:** gururmm-build-secret - **Build Script:** /opt/gururmm/build-agents.sh - **Build Log:** /var/log/gururmm-build.log - **Trigger:** Push to main branch - **Builds:** Linux (x86_64) and Windows (x86_64) agents - **Deploy Path:** /var/www/gururmm/downloads/ #### Clients & Sites | Client | Site | Site Code | API Key | |--------|------|-----------|---------| | Glaztech Industries | SLC - Salt Lake City | DARK-GROVE-7839 | grmm_Qw64eawPBjnMdwN5UmDGWoPlqwvjM7lI | | AZ Computer Guru | Internal | SWIFT-CLOUD-6910 | (internal) | #### Credentials - **Dashboard Login:** admin@azcomputerguru.com / GuruRMM2025 - **Database:** gururmm / 43617ebf7eb242e814ca9988cc4df5ad - **JWT Secret:** ZNzGxghru2XUdBVlaf2G2L1YUBVcl5xH0lr/Gpf/QmE= - **Entra SSO App ID:** 18a15f5d-7ab8-46f4-8566-d7b5436b84b6 - **Client Secret:** gOz8Q~J.oz7KnUIEpzmHOyJ6GEzYNecGRl-Pbc9w #### Progress - [x] Phase 0: Server skeleton (Axum WebSocket) - [x] Phase 1: Basic agent (system metrics collection) - [x] Phase 2: Dashboard (React web interface) - [x] Authentication system (JWT) - [x] Auto-update mechanism - [x] CI/CD pipeline with webhooks - [x] Policy system (hierarchical) - [x] Authorization system (multi-tenant) - [ ] Remote commands - [ ] Patch management - [ ] Alerting - [ ] System tray #### Key Files - `docs/FEATURE_ROADMAP.md` - Complete feature roadmap with priorities - `tray/PLAN.md` - System tray implementation plan - `session-logs/2025-12-15-build-server-setup.md` - Build server setup - `session-logs/2025-12-20-v040-build.md` - Version 0.40 build --- ### GuruConnect #### Status **Planning/Early Development** #### Purpose Remote desktop solution (ScreenConnect alternative) for GuruRMM integration #### Technologies - **Agent:** Rust (Windows remote desktop agent) - **Server:** Rust + Axum (relay server) - **Dashboard:** React (web viewer, integrate with GuruRMM) - **Protocol:** Protocol Buffers - **Communication:** WebSocket (WSS) - **Encoding:** H264 (hardware), VP9 (software) #### Architecture ``` Dashboard (React) ↔ WSS ↔ GuruConnect Server (Rust) ↔ WSS ↔ Agent (Rust) ``` #### Key Components - **Agent:** Windows remote desktop agent (DXGI capture, input injection) - **Server:** Relay server (Rust + Axum) - **Dashboard:** Web viewer (React, integrate with GuruRMM) - **Protocol:** Protocol Buffers for efficiency #### Encoding Strategy - **LAN (<20ms RTT):** Raw BGRA + Zstd + dirty rects - **WAN + GPU:** H264 hardware encoding - **WAN - GPU:** VP9 software encoding #### Infrastructure - **Server:** 172.16.3.30 (GuruRMM build server) - **Database:** PostgreSQL (guruconnect / gc_a7f82d1e4b9c3f60) - **Static Files:** /home/guru/guru-connect/server/static/ - **Binary:** /home/guru/guru-connect/target/release/guruconnect-server #### Security - TLS for all connections - JWT auth for dashboard - API key auth for agents - Audit logging #### Progress - [x] Architecture design - [x] Database setup - [x] Server skeleton - [ ] Agent DXGI capture implementation - [ ] Agent input injection - [ ] Protocol Buffers integration - [ ] Dashboard integration with GuruRMM - [ ] Testing and optimization #### Related Projects - RustDesk reference at ~/claude-projects/reference/rustdesk/ --- ### MSP Toolkit (Rust) #### Status **Active Development** - Phase 2 #### Purpose Integrated CLI for MSP operations connecting multiple platforms with automatic documentation and time tracking #### Technologies - **Language:** Rust - **Runtime:** async/tokio - **Encryption:** AES-256-GCM (ring crate) - **Rate Limiting:** governor crate - **CLI:** clap - **HTTP:** reqwest #### Integrated Platforms - **DattoRMM:** Remote monitoring - **Autotask PSA:** Ticketing and time tracking - **IT Glue:** Documentation - **Kaseya 365:** M365 management - **Datto EDR:** Endpoint security #### Key Features - Unified CLI for all MSP platforms - Automatic documentation to IT Glue - Automatic time tracking to Autotask - AES-256-GCM encrypted credential storage - Workflow automation - Rate limiting for API calls #### Architecture ``` User Command → Execute Action → [Success] → Workflow: ├─→ Document to IT Glue ├─→ Add note to Autotask ticket └─→ Log time to Autotask ``` #### Configuration - **File Location:** ~/.config/msp-toolkit/config.toml - **Credentials:** Encrypted with AES-256-GCM #### Progress - [x] Phase 1: Core CLI structure - [ ] Phase 2: Core integrations - [ ] DattoRMM client implementation - [ ] Autotask client implementation - [ ] IT Glue client implementation - [ ] Workflow system implementation - [ ] Phase 3: Advanced features - [ ] Phase 4: Testing and documentation #### Key Files - `CLAUDE.md` - Complete development guide - `README.md` - User documentation - `ARCHITECTURE.md` - System architecture and API details --- ### Website2025 #### Status **Active Development** #### Purpose Company website rebuild for Arizona Computer Guru MSP #### Technologies - HTML, CSS, JavaScript (clean static site) - Apache (cPanel) #### Infrastructure - **Server:** ix.azcomputerguru.com (cPanel/Apache) - **Production:** https://www.azcomputerguru.com (WordPress - old) - **Dev (original):** https://dev.computerguru.me/acg2025/ (WordPress) - **Working copy:** https://dev.computerguru.me/acg2025-wp-test/ (WordPress test) - **Static site:** https://dev.computerguru.me/acg2025-static/ (Active development) #### File Paths on Server - **Dev site:** /home/computergurume/public_html/dev/acg2025/ - **Working copy:** /home/computergurume/public_html/dev/acg2025-wp-test/ - **Static site:** /home/computergurume/public_html/dev/acg2025-static/ - **Production:** /home/azcomputerguru/public_html/ #### Business Information - **Company:** Arizona Computer Guru - **Tagline:** "Any system, any problem, solved" - **Phone:** 520.304.8300 - **Service Area:** Statewide (Tucson, Phoenix, Prescott, Flagstaff) - **Services:** Managed IT, network/server, cybersecurity, remote support, websites #### Design Features - CSS Variables for theming - Mega menu dropdown with blur overlay - Responsive breakpoints (1024px, 768px) - Service cards grid layout - Fixed header with scroll-triggered shrink #### SSH Access - **Method 1:** ssh root@ix.azcomputerguru.com - **Method 2:** ssh claude-temp@ix.azcomputerguru.com - **Password (claude-temp):** Gptf*77ttb #### Progress - [x] Design system (CSS Variables) - [x] Fixed header with mega menu - [x] Service cards layout - [ ] Complete static site pages (services, about, contact) - [ ] Mobile optimization - [ ] Content migration from old WordPress site - [ ] Testing and launch #### Key Files - `CLAUDE.md` - Development notes and SSH access - `static-site/` - Clean static rebuild --- ## Production/Operational Projects ### Dataforth DOS Test Machines #### Status **Production** - 90% complete, operational #### Purpose SMB1 proxy system for ~30 legacy DOS test machines at Dataforth Corporation #### Technologies - **NAS:** Netgear ReadyNAS (SMB1) - **Server:** Windows Server 2022 (AD2) - **DOS:** DOS 6.22 - **Language:** QuickBASIC (test software), PowerShell (sync scripts) #### Problem Solved Crypto attack disabled SMB1 on production servers; deployed NAS as SMB1 proxy to maintain connectivity to legacy DOS test machines #### Infrastructure | System | IP | Purpose | Credentials | |--------|-----|---------|-------------| | D2TESTNAS | 192.168.0.9 | NAS/SMB1 proxy | admin / Paper123!@#-nas | | AD2 | 192.168.0.6 | Production server | INTRANET\sysadmin / Paper123!@# | | UDM | 192.168.0.254 | Gateway | root / Paper123!@#-unifi | #### Key Features - **Bidirectional sync** every 15 minutes (NAS ↔ AD2) - **PULL:** Test results from DOS machines → AD2 → Database - **PUSH:** Software updates from AD2 → NAS → DOS machines - **Remote task deployment:** TODO.BAT - **Centralized software management:** UPDATE.BAT #### Sync System - **Script:** C:\Shares\test\scripts\Sync-FromNAS.ps1 - **Log:** C:\Shares\test\scripts\sync-from-nas.log - **Status:** C:\Shares\test\_SYNC_STATUS.txt - **Scheduled:** Windows Task Scheduler (every 15 min) #### DOS Machine Management - **Software deployment:** Place files in TS-XX\ProdSW\ on NAS - **One-time commands:** Create TODO.BAT in TS-XX\ root (auto-deletes after run) - **Central management:** T:\UPDATE TS-XX ALL (from DOS) #### Test Database - **URL:** http://192.168.0.6:3000 #### SSH Access - **Method:** ssh root@192.168.0.9 (ed25519 key auth) #### Engineer Access - **SMB:** \\192.168.0.9\test - **SFTP:** Port 22 - **User:** engineer / Engineer1! #### Machines Status - **Working:** TS-27, TS-8L, TS-8R (tested operational) - **Pending:** ~27 DOS machines need network config updates #### Project Time ~11 hours implementation #### Progress - [x] NAS deployment and configuration - [x] SMB1 share setup - [x] Bidirectional sync system - [x] TODO.BAT and UPDATE.BAT implementation - [x] Testing with 3 DOS machines - [ ] Datasheets share creation on AD2 (BLOCKED - waiting for Engineering) - [ ] Update network config on remaining ~27 DOS machines - [ ] DattoRMM monitoring integration - [ ] Future: VLAN isolation, modernization planning #### Key Files - `PROJECT_INDEX.md` - Quick reference guide - `README.md` - Complete project overview - `CREDENTIALS.md` - All passwords and SSH keys - `NETWORK_TOPOLOGY.md` - Network diagram and data flow - `REMAINING_TASKS.md` - Pending work and blockers - `SYNC_SCRIPT.md` - Sync system documentation - `DOS_BATCH_FILES.md` - UPDATE.BAT and TODO.BAT details #### Repository https://git.azcomputerguru.com/azcomputerguru/claude-projects (dataforth-dos folder) #### Implementation Date 2025-12-14 --- ### MSP Toolkit (PowerShell) #### Status **Production** - Web-hosted scripts #### Purpose PowerShell scripts for MSP technicians, web-accessible for remote execution #### Technologies - PowerShell - Web hosting (www.azcomputerguru.com/tools/) #### Access Methods - **Interactive menu:** `iex (irm azcomputerguru.com/tools/msp-toolkit.ps1)` - **Direct execution:** `iex (irm azcomputerguru.com/tools/Get-SystemInfo.ps1)` - **Parameterized:** `iex (irm azcomputerguru.com/tools/msp-toolkit.ps1) -Script systeminfo` #### Available Scripts - Get-SystemInfo.ps1 - System information report - Invoke-HealthCheck.ps1 - Health diagnostics - Create-LocalAdmin.ps1 - Create local admin account - Set-StaticIP.ps1 - Configure static IP - Join-Domain.ps1 - Join Active Directory - Install-RMMAgent.ps1 - Install RMM agent #### Configuration Files (JSON) - applications.json - presets.json - scripts.json - themes.json - tweaks.json #### Deployment - **Script:** deploy.bat uploads to web server - **Server:** ix.azcomputerguru.com - **SSH:** claude@ix.azcomputerguru.com #### Key Files - `README.md` - Usage and deployment guide - `msp-toolkit.ps1` - Main launcher - `scripts/` - Individual PowerShell scripts - `config/` - Configuration files --- ### Cloudflare WHM DNS Manager #### Status **Production** #### Purpose CLI tool and WHM plugin for managing Cloudflare DNS from cPanel/WHM servers #### Technologies - **CLI:** Bash - **WHM Plugin:** Perl - **API:** Cloudflare API #### Components - **CLI Tool:** `cf-dns` bash script - **WHM Plugin:** Web-based interface #### Features - List zones and DNS records - Add/delete DNS records - One-click M365 email setup (MX, SPF, DKIM, DMARC, Autodiscover) - Import new zones to Cloudflare - Email DNS verification #### CLI Commands - `cf-dns list-zones` - Show all zones - `cf-dns list example.com` - Show records - `cf-dns add example.com A www 192.168.1.1` - Add record - `cf-dns add-m365 clientdomain.com tenantname` - Add M365 records - `cf-dns verify-email clientdomain.com` - Check email DNS - `cf-dns import newclient.com` - Import zone #### Installation - **CLI:** Copy to /usr/local/bin/, create ~/.cf-dns.conf - **WHM:** Run install.sh from whm-plugin/ directory #### Configuration - **File:** ~/.cf-dns.conf - **Required:** CF_API_TOKEN #### WHM Access Plugins → Cloudflare DNS Manager #### Key Files - `docs/README.md` - Complete documentation - `cli/cf-dns` - CLI script - `whm-plugin/cgi/addon_cloudflareDNS.cgi` - WHM interface - `whm-plugin/lib/CloudflareDNS.pm` - Perl module --- ### ClaudeTools API #### Status **Production Ready** - Phase 5 Complete #### Purpose MSP work tracking system with encrypted credential storage and infrastructure management #### Technologies - **Framework:** FastAPI (Python) - **Database:** MariaDB 10.6.22 - **Encryption:** AES-256-GCM (Fernet) - **Authentication:** JWT (Argon2 password hashing) - **Migrations:** Alembic #### Infrastructure - **Database:** 172.16.3.30:3306 (RMM Server) - **API Server:** http://172.16.3.30:8001 (production) - **Database Name:** claudetools - **User:** claudetools - **Password:** CT_e8fcd5a3952030a79ed6debae6c954ed #### API Endpoints (95+) - Core Entities: `/api/machines`, `/api/clients`, `/api/projects`, `/api/sessions`, `/api/tags` - MSP Work: `/api/work-items`, `/api/tasks`, `/api/billable-time` - Infrastructure: `/api/sites`, `/api/infrastructure`, `/api/services`, `/api/networks`, `/api/firewall-rules`, `/api/m365-tenants` - Credentials: `/api/credentials`, `/api/credential-audit-logs`, `/api/security-incidents` #### Database Structure - **Tables:** 38 tables (fully migrated) - **Phases:** 0-5 complete #### Security - **Authentication:** JWT tokens - **Password Hashing:** Argon2 - **Encryption:** AES-256-GCM for credentials - **Audit Logging:** All credential operations logged #### Encryption Key - **Location:** D:\ClaudeTools\.env (or shared-data/.encryption-key) - **Key:** 319134ddb79fa44a6751b383cb0a7940da0de0818bd6bbb1a9c20a6a87d2d30c #### JWT Secret - **Secret:** NdwgH6jsGR1WfPdUwR3u9i1NwNx3QthhLHBsRCfFxcg= #### Progress - [x] Phase 0: Database setup - [x] Phase 1: Core entities - [x] Phase 2: Session tracking - [x] Phase 3: Work tracking - [x] Phase 4: Core API endpoints - [x] Phase 5: MSP work tracking, infrastructure, credentials - [ ] Phase 6: Advanced features (optional) - [ ] Phase 7: Additional entities (optional) #### Key Files - `SESSION_STATE.md` - Complete project history and status - `credentials.md` - Infrastructure credentials - `test_api_endpoints.py` - Phase 4 tests - `test_phase5_api_endpoints.py` - Phase 5 tests #### API Documentation http://172.16.3.30:8001/api/docs (Swagger UI) --- ## Troubleshooting Projects ### Seafile Microsoft Graph Email Integration #### Status **Partial Implementation** - Troubleshooting #### Purpose Custom Django email backend for Seafile using Microsoft Graph API #### Technologies - **Platform:** Seafile Pro 12.0.19 - **Backend:** Python/Django - **API:** Microsoft Graph API #### Infrastructure - **Server:** 172.16.3.21 (Saturn/Unraid) - Container: seafile - **Migrated to:** Jupiter (172.16.3.20) on 2025-12-27 - **URL:** https://sync.azcomputerguru.com #### Problem - Direct Django email sending works (tested) - Password reset from web UI fails (seafevents background process issue) - Seafevents background email sender not loading custom backend properly #### Architecture - **Synchronous (Django send_mail):** Uses EMAIL_BACKEND setting - WORKING - **Asynchronous (seafevents worker):** Not loading custom path - BROKEN #### Files on Server - **Custom backend:** /shared/custom/graph_email_backend.py - **Config:** /opt/seafile/conf/seahub_settings.py - **Seafevents:** /opt/seafile/conf/seafevents.conf #### Azure App Registration - **Tenant:** ce61461e-81a0-4c84-bb4a-7b354a9a356d - **App ID:** 15b0fafb-ab51-4cc9-adc7-f6334c805c22 - **Client Secret:** rRN8Q~FPfSL8O24iZthi_LVJTjGOCZG.DnxGHaSk - **Sender:** noreply@azcomputerguru.com - **Permission:** Mail.Send (Application) #### SSH Access root@172.16.3.21 (old) or root@172.16.3.20 (new Jupiter location) #### Pending Tasks - [ ] Fix seafevents background email sender (move backend to Seafile Python path) - [ ] OR disable background sender, rely on synchronous email - [ ] Test password reset functionality #### Key Files - `README.md` - Status, problem description, testing commands --- ## Completed Projects ### WHM DNS Cleanup #### Status **Completed** - One-time project #### Purpose WHM DNS cleanup and recovery project #### Key Files - `WHM-DNS-Cleanup-Report-2025-12-09.md` - Cleanup report - `WHM-Recovery-Data-2025-12-09.md` - Recovery data #### Completion Date 2025-12-09 --- ## Reference Projects ### Autocode Remix #### Status **Reference/Development** #### Purpose Fork/remix of Autocoder project #### Contains Multiple Versions - Autocode-fork/ - Original fork - autocoder-master/ - Master branch - Autocoder-2.0/ - Version 2.0 - Autocoder-2.0 - Copy/ - Backup copy #### Key Files - `CLAUDE.md` files in each version - `ARCHITECTURE.md` - System architecture - `.github/workflows/ci.yml` - CI/CD configuration --- ### Claude Settings #### Status **Configuration** #### Purpose Claude Code settings and configuration #### Key Files - `settings.json` - Claude Code settings --- ## Project Statistics ### By Status - **Active Development:** 4 (GuruRMM, GuruConnect, MSP Toolkit Rust, Website2025) - **Production/Operational:** 4 (Dataforth DOS, MSP Toolkit PS, Cloudflare WHM, ClaudeTools API) - **Troubleshooting:** 1 (Seafile Email) - **Completed:** 1 (WHM DNS Cleanup) - **Reference:** 2 (Autocode Remix, Claude Settings) ### By Technology - **Rust:** 3 (GuruRMM, GuruConnect, MSP Toolkit Rust) - **PowerShell:** 2 (MSP Toolkit PS, Dataforth DOS sync) - **Python:** 2 (ClaudeTools API, Seafile Email) - **Bash:** 1 (Cloudflare WHM) - **Perl:** 1 (Cloudflare WHM) - **JavaScript/TypeScript:** 2 (GuruRMM Dashboard, Website2025) - **DOS Batch:** 1 (Dataforth DOS) ### By Infrastructure - **Self-Hosted Servers:** 6 (Jupiter, Saturn, Build Server, pfSense, WebSvr, IX) - **Containers:** 4 (GuruRMM, Gitea, NPM, Seafile) - **Databases:** 5 (PostgreSQL x2, MariaDB x2, MySQL x1) --- **Last Updated:** 2026-01-26 **Source Files:** CATALOG_PROJECTS.md, CATALOG_SESSION_LOGS.md **Status:** Complete import from claude-projects catalogs