# ByteGeist Toolbox ## Project Description ByteGeist Toolbox is a lightweight website and network diagnostics app that combines a website status checker, DNS lookup, SSL certificate checker, and HTTP headers checker in one plain HTML, CSS, JavaScript, Node.js, and Express application. ## Key Features - Website status checks with status code, response time, redirects, final URL, and timestamp. - DNS lookups for A, AAAA, CNAME, MX, TXT, and NS records. - SSL certificate inspection with issuer, subject, validity dates, trust status, TLS protocol, cipher, resolved address, and SHA-256 fingerprint. - HTTP response header inspection with common security-header presence indicators and raw header output. - Responsive browser interface for desktop, tablet, and phone widths. ## Security Work - Restricted URL checks to HTTP and HTTPS. - Blocked URL credentials and nonstandard ports. - Validated DNS resolution before outbound requests. - Blocked loopback, private, link-local, local, reserved, and related non-public address ranges. - Revalidated redirect destinations before following them. - Added redirect limits, network timeouts, rate limiting, and safe client-facing errors. - Used Node APIs for network work without shell execution. ## Testing Work - Uses Node's built-in test runner. - Current automated test count: 62 tests. - Covers hostname validation, URL security checks, DNS helpers, SSL helper logic, HTTP header analysis, and public-network integration behavior. - Current full test suite requires internet access. ## Deployment Architecture - Node.js and Express app served from a Docker container. - Production port: `3001`. - Docker Compose service: `bytegeist-toolbox`. - Reverse proxy: Nginx Proxy Manager over the external `nginx-proxy-manager_default` Docker network. - Public site: `https://toolbox.casko.dev`. ## Technologies Used - HTML - CSS - JavaScript - Node.js - Express - Docker - Docker Compose - Node test runner ## Resume Entry ByteGeist Toolbox - Built and prepared a production-ready Node.js diagnostics toolbox with four public website inspection tools, SSRF-resistant outbound request validation, Docker deployment, and automated test coverage. ## Resume Bullets - Built a lightweight Express application providing website status, DNS, SSL certificate, and HTTP header inspection tools. - Implemented outbound request controls to block private, loopback, link-local, reserved, local, credentialed, and nonstandard-port destinations. - Added redirect revalidation, redirect limits, network timeouts, rate limiting, and safe client-facing error handling. - Designed a responsive plain HTML, CSS, and JavaScript interface without adding frontend frameworks. - Wrote and maintained 62 automated tests with coverage for validation, network helper logic, and integration behavior. - Containerized the app with Docker and Docker Compose for deployment behind Nginx Proxy Manager. - Documented release, deployment, security controls, limitations, and production verification steps for v1.0.0. ## LinkedIn Project Description ByteGeist Toolbox is a lightweight Node.js and Express diagnostics app for checking website status, DNS records, SSL certificates, and HTTP headers. I prepared the project for a v1.0.0 release with Docker deployment docs, SSRF-resistant request validation, rate limiting, responsive UI checks, and 62 automated tests. ## Skills Demonstrated - Node.js backend development - Express routing and middleware - Secure outbound request validation - DNS, HTTP, and TLS diagnostics - Docker deployment - Automated testing - Responsive frontend implementation - Release documentation