โ† BACK TO DASHBOARD

๐Ÿ“– HELP & DOCS

๐Ÿ” Quick Navigation

๐Ÿ“ฐ News Feeds

What it does: A full-page news aggregator pulling live stories from Reddit, Hacker News, CISA advisories, Krebs on Security, and LWN.net โ€” filtered and sorted for sysadmins. Available at /news.html or via the ๐Ÿ“ฐ News link in the top navigation.

Category Tabs

Eight feed categories, each pulling from different sources:

Story Cards

Toolbar Controls

Right Sidebar

Typical workflow:
1. Open News โ†’ Security tab
2. Drag the score slider to 50+ to filter noise
3. Disable Reddit toggle to focus on CISA / Krebs advisories
4. Click a Trending Tag like "vulnerability" to narrow further
5. Hover a story โ†’ click OPEN or COMMENTS
๐Ÿ’ก Tip: Reddit feeds are fetched directly from Reddit's public JSON API โ€” no account needed. Hacker News uses the Algolia search API filtered to tech/sysadmin keywords with 10+ points. Weekly threads and meta posts (e.g. "Moronic Monday") are automatically filtered out.

๐ŸŒ CIDR Calculator

What it does: Calculates IP address ranges, subnet masks, and network information from CIDR notation.

How to use:

Example:
Input: 10.0.0.0/8
โ†’ Network: 10.0.0.0 | First: 10.0.0.1 | Last: 10.255.255.254
โ†’ Broadcast: 10.255.255.255 | Usable Hosts: 16,777,214
๐Ÿ’ก Tip: Common CIDR blocks: /24 = 256 IPs, /16 = 65,536 IPs, /8 = 16.7M IPs

โฐ Cron Generator

What it does: Generates cron expressions for scheduling tasks on Linux/Unix systems.

How to use:

Examples:
0 2 * * * = Every day at 2:00 AM
*/15 * * * * = Every 15 minutes
0 9 * * 1-5 = Weekdays at 9:00 AM
0 0 1 * * = First day of every month at midnight
๐Ÿ’ก Tip: Use * for "any", */n for "every n", and 1-5 for ranges.

๐Ÿ” JWT Decoder

What it does: Decodes JSON Web Tokens (JWT) to view header and payload information.

How to use:

JWT Format:
eyJhbGc...header.eyJzdWI...payload.SflKxw...signature
๐Ÿ’ก Tip: This tool only DECODES tokens โ€” no validation or signature verification.

๐Ÿ“ Base64 Encoder/Decoder

What it does: Encodes text to Base64 or decodes Base64 back to plain text.

How to use:

Text: "Hello World" โ†’ Base64: SGVsbG8gV29ybGQ=
๐Ÿ’ก Tip: Useful for encoding credentials, debugging API responses, or handling binary data.

๐Ÿ”’ Hash Generator

What it does: Generates cryptographic hashes (MD5, SHA-1, SHA-256) from text input.

How to use:

๐Ÿ’ก Tip: Use for file integrity checks, password verification (compare hashes), or debugging.

๐ŸŽจ Color Converter

What it does: Converts colors between HEX, RGB, and HSL formats.

How to use:

HEX: #FF5733 | RGB: rgb(255, 87, 51) | HSL: hsl(9, 100%, 60%)

๐Ÿ“‹ Regex Tester

What it does: Tests regular expressions against sample text with live match highlighting, capture group extraction, find-and-replace, and one-click Python export.

How to use:

Common patterns:
\d{3}-\d{3}-\d{4} = US phone number
[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,} = email
\b(?:\d{1,3}\.){3}\d{1,3}\b = IPv4 address
#[0-9a-fA-F]{6} = hex color code
Python Export example:
import re
pattern = re.compile(r'\d{3}-\d{3}-\d{4}', re.UNICODE)
for m in pattern.finditer(text):
    print(f"Match: {m.group()!r} at pos {m.start()}โ€“{m.end()}")
๐Ÿ’ก Tip: Use the Python Export tab to instantly convert a tested pattern into production-ready code. Send it to the Scratchpad to build up a library of validated patterns.

๐Ÿ”‘ Chmod Calculator

What it does: Converts Linux file permissions between symbolic notation (rwxr-xr-x) and octal notation (755), and explains what each permission means.

How to use:

Common permission sets:
755 โ†’ rwxr-xr-x (owner full, group/others read+execute) โ€” scripts, binaries
644 โ†’ rw-r--r-- (owner read+write, others read-only) โ€” config files
600 โ†’ rw------- (owner only, private) โ€” SSH keys, secrets
777 โ†’ rwxrwxrwx (everyone full access) โ€” avoid in production
๐Ÿ’ก Tip: SSH private keys should always be chmod 600 or SSH will refuse to use them.

๐Ÿ“„ YAML Validator / Formatter

What it does: Validates YAML syntax, formats/pretty-prints YAML, and converts YAML to JSON.

How to use:

Common YAML pitfalls caught:
โ€ข Tabs instead of spaces (YAML requires spaces)
โ€ข Missing colons after keys
โ€ข Inconsistent indentation levels
โ€ข Unquoted strings with special characters (:, #, &, *)
๐Ÿ’ก Tip: Paste Kubernetes manifests, Docker Compose files, Ansible playbooks, or CI/CD config to validate before deploying.

๐ŸŒ€ Curl Builder

What it does: Generates curl commands from a visual form โ€” choose method, URL, headers, auth, body, and options without memorizing flags.

How to use:

Example output:
curl -X POST https://api.example.com/v1/users \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer eyJhbGci..." \
  -d '{"name":"alice","role":"admin"}'
๐Ÿ’ก Tip: Use this when testing REST APIs, webhooks, or debugging HTTP endpoints. The verbose flag (-v) shows request/response headers which is invaluable for debugging auth issues.

๐Ÿ Scripts Library

What it does: Provides 50+ ready-to-use Python scripts for common sysadmin tasks.

How to use:

Categories:

๐Ÿ’ก Tip: All scripts are production-ready and include error handling. Review before running on production systems.

๐Ÿ Python Sandbox

What it does: Runs real Python entirely in your browser using Pyodide (WebAssembly). No server, no installs, no data leaves your machine. Scripts run in a background Web Worker so even infinite loops can't freeze the page.

How to use:

Test Scripts

Copy and paste these directly into the editor to verify everything is working.

Test 1 โ€” Subnet Matcher

Tests the built-in ipaddress module. Checks a list of IPs against a VPC subnet โ€” a real sysadmin task.

import ipaddress
vpc_subnet = ipaddress.ip_network('10.0.0.0/16')
test_ips = ['10.0.5.12', '192.168.1.5', '10.0.250.99', '172.16.0.1', '10.1.0.5', '8.8.8.8']
print(f"Scanning for IPs inside {vpc_subnet}...\n")
print("-" * 35)
for ip_str in test_ips:
    ip = ipaddress.ip_address(ip_str)
    if ip in vpc_subnet:
        print(f"[MATCH] {ip} belongs to VPC.")
    else:
        print(f"[IGNORED] {ip} is external.")

Test 2 โ€” JSON Alert Cruncher

Tests JSON parsing. Simulates taking a raw API response from a monitoring tool and extracting only the servers that need attention.

import json
raw_data = """
{"fleet": [
  {"hostname": "web-01", "status": "healthy", "uptime_days": 45},
  {"hostname": "db-01", "status": "critical", "uptime_days": 412},
  {"hostname": "cache-01", "status": "healthy", "uptime_days": 12},
  {"hostname": "web-02", "status": "warning", "uptime_days": 85}
]}
"""
data = json.loads(raw_data)
print("=== SERVER ACTION REPORT ===\n")
for server in data['fleet']:
    if server['status'] in ['critical', 'warning']:
        print(f"โš ๏ธ ALERT: {server['hostname']} is {server['status'].upper()}")
        if server['uptime_days'] > 365:
            print(f" -> Note: Hasn't rebooted in over a year ({server['uptime_days']} days).")

Test 3 โ€” Kill Switch Stress Test

Proves the Web Worker isolation works. Run this, watch it loop, then hit โน KILL SCRIPT. Without the Worker this would permanently freeze the browser tab.

import time
print("Starting an infinite loop...")
print("Hit the red KILL SCRIPT button to stop it!")
print("-" * 40)
counter = 1
while True:
    print(f"Loop {counter}: still running...")
    counter += 1
    time.sleep(0.5)
๐Ÿ’ก Tip: Use ๐Ÿ“ UPLOAD FILE to load real log files, then parse them with open('auth.log'). The file is written into Pyodide's virtual filesystem โ€” your actual file never leaves your browser.

๐ŸŒ World Clock

What it does: Displays current time in multiple timezones for managing global teams.

How to use:

Dallas HQ     02:34 PM CST โ˜€๏ธ
London Team   07:34 PM GMT ๐ŸŒ™
Mumbai Dev    01:04 AM IST ๐ŸŒ™
๐Ÿ’ก Tip: Export your config and save it somewhere. Import to restore after clearing browser cache.

๐Ÿ“ Scratchpad

What it does: A quick notepad for pasting logs, IP lists, commands, or temporary notes. Auto-saves as you type.

How to use:

๐Ÿ’ก Tip: Content persists across page refreshes but clears when you clear browser cache.

๐Ÿ’ป Command Library

What it does: A searchable, filterable card library of Linux and sysadmin commands โ€” each with a description, copy-ready example, risk rating, Dashboard send, and a Pipeline Tray for chaining commands together with |. Powered by Fuse.js for fast fuzzy matching.

Search

Category Filters

25 colour-coded categories โ€” click a pill to filter, click again (or click All) to clear. Categories include:

Command Cards

Each card shows:

Card Actions

Recently Viewed Bar

Pipeline Tray

Pipeline example โ€” find top memory-consuming processes:
ps aux โž• Pipe โ†’ sort -rk 4 โž• Pipe โ†’ head -20

Result copied from tray:
ps aux | sort -rk 4 | head -20
Flag tooltip example:
Command: rm -rf /tmp/cache
Hover -r โ†’ tooltip: "Recursive โ€” delete directories and their contents"
Hover -f โ†’ tooltip: "Force โ€” no prompts, ignore nonexistent files"
๐Ÿ’ก Tip: Use the Pipeline Tray to build complex one-liners without memorising syntax. Search for each step ("sort", "grep", "awk"), Pipe them in order, then copy the assembled command. Pay attention to red CRITICAL cards โ€” commands like rm -rf, dd, and mkfs are marked because they are irreversible.

๐Ÿ“Š Log Parser

What it does: Parses, filters, and analyses log files from NGINX, Apache, Syslog, Docker/Kubernetes, and JSON structured logs โ€” live in your browser. Generates ready-to-copy grep, awk, and one-liner shell commands based on your active filters.

How to use:

Filter examples:
Status: 5xx โ†’ shows only server errors
IP: 192.168.* โ†’ wildcard match on a subnet
URL: /api/* โ†’ all API endpoint hits
Method: POST โ†’ write requests only
Generated command example:
grep -E ' (5[0-9]{2}) ' access.log | grep '192\.168\.' | grep '/api/'
๐Ÿ’ก Tip: Use โ†’ All to Scratchpad to capture your exact filter + commands as a timestamped audit entry. Useful for incident response documentation.

๐Ÿ” Security Header Tester

What it does: Analyses the HTTP security headers of any URL, assigns a security grade (A+ to F), and generates ready-to-paste NGINX and Apache config snippets to fix any missing headers.

Headers Checked:

How to use:

NGINX remediation output example:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header Content-Security-Policy "default-src 'self'; ..." always;
add_header X-Content-Type-Options "nosniff" always;
๐Ÿ’ก Tip: Most browsers block cross-origin HEAD requests (CORS). If the test falls back to Recommendation Mode, the tool still generates accurate remediation config โ€” use Browser DevTools โ†’ Network tab to verify the actual response headers live.

โš™๏ธ Systemd Service Generator

What it does: Generates production-ready .service files for Linux systemd with a live preview that updates as you type. Covers all three sections: [Unit], [Service], and [Install].

Quick Templates:

How to use:

Installation steps (auto-generated):
sudo cp webapp.service /etc/systemd/system/webapp.service
sudo systemctl daemon-reload
sudo systemctl enable webapp
sudo systemctl start webapp
sudo systemctl status webapp
๐Ÿ’ก Tip: Use Type=notify with daemons that support sd_notify() โ€” systemd will wait for the ready signal before marking the service as active. Use Type=simple for everything else.

๐ŸŒ DNS Propagation Checker

What it does: Queries 12 global DNS resolvers using DNS-over-HTTPS (DoH) directly from your browser to check whether a DNS record has propagated worldwide. Detects inconsistencies and shows per-server response times.

DNS Servers Queried:

Record Types Supported:

How to use:

Dashboard audit snippet example:
[DNS PROPAGATION AUDIT] โ€” 14 Jul 2025, 09:41
Domain: example.com | Type: A | Status: โœ“ Fully propagated
Checked: 12/12 Successful: 4 Failed: 8 Unique results: 1

โ”€โ”€ CLI Verification โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
dig @1.1.1.1 example.com A
nslookup -type=A example.com 8.8.8.8
๐Ÿ’ก Tip: Most resolvers block browser-based DoH queries (CORS). Only Cloudflare reliably responds. Failed cards mean CORS is blocking the query โ€” not that your DNS is broken. Use the generated dig / nslookup CLI commands for authoritative checking, or visit WhatsmyDNS.net for server-side verification.

๐Ÿ’ก General Tips

Dark Mode

Click the ๐ŸŒ™/๐ŸŒž button in the top-right corner to toggle between dark and light themes. Your preference is saved automatically and synced across all pages.

Keyboard Shortcuts

Browser Compatibility

Works best in Chrome 80+, Firefox 75+, Safari 13+, Edge 80+.

Privacy

Data Persistence

Settings (dark mode, world clock, scratchpad) are saved to localStorage. They clear if you clear browser cache, use incognito mode, or switch browsers/devices. Use the World Clock export feature to preserve your timezone list.

โ“ Still Need Help?

If you encounter issues or have questions not covered here:

โ† BACK TO DASHBOARD