{"id":49952685,"url":"https://github.com/blackh8t/hmm","last_synced_at":"2026-05-17T20:12:55.925Z","repository":{"id":358514372,"uuid":"1241695595","full_name":"Blackh8t/hmm","owner":"Blackh8t","description":"A terminal-first helper toolkit for Linux web servers running NGINX, Apache, Certbot, PHP, and common service/process diagnostics.","archived":false,"fork":false,"pushed_at":"2026-05-17T18:44:10.000Z","size":60,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-17T19:55:19.701Z","etag":null,"topics":["apache","certbot","cli-tools","hosts","linux","nginx","open-ports","php","ports","ssl","supertool","vhost"],"latest_commit_sha":null,"homepage":"https://github.com/Blackh8t/hmm/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Blackh8t.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-17T17:48:36.000Z","updated_at":"2026-05-17T17:59:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/Blackh8t/hmm","commit_stats":null,"previous_names":["blackh8t/hmm"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/Blackh8t/hmm","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blackh8t%2Fhmm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blackh8t%2Fhmm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blackh8t%2Fhmm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blackh8t%2Fhmm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Blackh8t","download_url":"https://codeload.github.com/Blackh8t/hmm/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Blackh8t%2Fhmm/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33153666,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T09:28:26.183Z","status":"ssl_error","status_checked_at":"2026-05-17T09:27:52.702Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apache","certbot","cli-tools","hosts","linux","nginx","open-ports","php","ports","ssl","supertool","vhost"],"created_at":"2026-05-17T20:12:54.921Z","updated_at":"2026-05-17T20:12:55.909Z","avatar_url":"https://github.com/Blackh8t.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# hmm — VHost + SSL + Port Toolkit\n\nA terminal-first helper toolkit for Linux web servers running NGINX, Apache, Certbot, PHP, and common service/process diagnostics.\n\nThis fork/continuation adds a cleaner single-key interface, improved terminal visuals, process-aware port inspection, simplified log viewing, wildcard SSL helpers, and a basic user process manager.\n\n![HMM UI Screenshot](https://raw.githubusercontent.com/Blackh8t/hmm/main/hmm-ui.png)\n---\n\n## Credit / Attribution\n\nOriginal project credit goes to:\n\n**Blackh8t**  \nhttps://github.com/Blackh8t/hmm\n\nCredit where it is due.\n\nThe attribution notice in the script must not be removed from copies, forks, redistributed versions, installer scripts, modified builds, or derivative works.\n\n---\n\n## Features\n\n### Single-Key Menu\n\n- Select tools with one key.\n- No Enter required for main menu selections.\n- Clears the screen between tools so each result is readable.\n- Returns to the menu after each action.\n\n### Improved Terminal UI\n\n- Bold menu options.\n- Bold feature names.\n- Green bold prompt line at the bottom.\n- Clear visual separation between sections.\n- Status, success, warning, and error messages use distinct colours.\n\n### SSL / Certbot Tools\n\n- Rebuild wildcard SSL certificates.\n- Supports manual DNS challenge.\n- Supports Cloudflare DNS plugin.\n- Supports DigitalOcean DNS plugin.\n- Supports AWS Route53 DNS plugin.\n- Repair existing Certbot certificates from discovered NGINX vhosts.\n- Reloads NGINX and Apache where available.\n\n### Port Inspection\n\n#### Port Stalker\n\nShows listening TCP/UDP services with:\n\n- Protocol\n- Port\n- Local bind address\n- PID\n- Process name\n\n#### Port Sniffer\n\nShows externally-bound services with:\n\n- Protocol\n- Port\n- External exposure status\n- PID\n- Process name\n- Local bind address\n\nThis helps quickly identify whether services are listening locally only or exposed on `0.0.0.0`, `[::]`, `*`, or the public IP.\n\n### User Process Manager\n\nA simplified process list for the current user.\n\n- Shows top user-owned processes.\n- Single-letter selection.\n- Sends `TERM` first.\n- Offers `KILL` if the process remains alive.\n- Avoids forcing destructive action by default.\n\n### Domain Scanner\n\nScans NGINX vhost files from:\n\n- `/etc/nginx/sites-enabled`\n- `/etc/nginx/sites-available`\n\nFilters out common placeholders like `_`, `localhost`, and wildcards.\n\n### PHP Option Checker\n\n- Scans PHP files under `/var/www` by default.\n- Lists detected `require`, `require_once`, `include`, and `include_once` references.\n- Lists currently loaded PHP CLI modules when PHP is installed.\n\n### Log Viewer\n\n- Finds common NGINX, Apache, and system log files.\n- Lets you choose a log from a numbered list.\n- Remembers the last opened log.\n- Lets you choose how many lines to display.\n\n### Debug Terminal\n\nOpens a child shell with helper aliases:\n\n```bash\nports\nnginx-test\nnginx-reload\napache-test\ncerts\nlogs-nginx\n```\n\nType `exit` to return to `hmm`.\n\n### System Health Snapshot\n\nDisplays a quick system overview:\n\n- Hostname\n- Uptime\n- Current user\n- Disk usage\n- Memory usage\n- NGINX / Apache / Certbot service status where available\n\n---\n\n## Install\n\nClone or copy the script, then make it executable:\n\n```bash\nchmod +x hmm_fixed.sh\n./hmm_fixed.sh\n```\n\nTo install globally from inside the tool, select:\n\n```text\ni\n```\n\nOr manually install:\n\n```bash\nsudo cp hmm_fixed.sh /usr/local/bin/hmm\nsudo chmod +x /usr/local/bin/hmm\nhmm\n```\n\n---\n\n## Configuration\n\nThe tool stores lightweight user settings at:\n\n```bash\n~/.hmmrc\n```\n\nCurrently stored values:\n\n```bash\nCERT_EMAIL=\"admin@example.com\"\nLAST_LOG_FILE=\"/var/log/nginx/error.log\"\n```\n\nThe config reader only loads known keys and does not execute arbitrary shell code from the config file.\n\n---\n\n## Environment Overrides\n\nYou can override default paths with environment variables:\n\n```bash\nHMM_CONFIG_FILE=\"$HOME/.custom-hmmrc\"\nHMM_SITES_ENABLED=\"/etc/nginx/sites-enabled\"\nHMM_SITES_AVAILABLE=\"/etc/nginx/sites-available\"\nHMM_WEBROOT=\"/var/www\"\n```\n\nExample:\n\n```bash\nHMM_WEBROOT=\"/srv/www\" ./hmm_fixed.sh\n```\n\n---\n\n## Requirements\n\nRecommended packages:\n\n```bash\nsudo apt update\nsudo apt install -y iproute2 certbot curl procps coreutils findutils\n```\n\nOptional packages depending on use:\n\n```bash\nsudo apt install -y nginx apache2 php-cli python3-certbot-nginx python3-certbot-apache\n```\n\nFor DNS wildcard SSL modes, install the relevant Certbot plugin:\n\n```bash\nsudo apt install -y python3-certbot-dns-cloudflare\nsudo apt install -y python3-certbot-dns-digitalocean\nsudo apt install -y python3-certbot-dns-route53\n```\n\nPackage names may vary by distro.\n\n---\n\n## Safety Notes\n\nThis tool is designed for server administration. Some actions can affect live services.\n\nUse care with:\n\n- Certificate rebuilds\n- Web server reloads\n- Process termination\n- Running with sudo/root privileges\n\nThe process manager sends `TERM` first and only offers `KILL` after the process remains active.\n\n---\n\n## Suggested Git Commit Message\n\n```text\nImprove hmm UI, SSL tooling, port/process inspection, and attribution\n\n- Add single-key menu flow with clean screen transitions\n- Add bold menu choices and green bold prompt styling\n- Add process names and PIDs to port inspection tools\n- Add simplified user process list with safe kill workflow\n- Add wildcard SSL rebuild helper with DNS challenge modes\n- Add Certbot repair wizard from discovered NGINX vhosts\n- Add log viewer, debug shell, and system health snapshot\n- Harden config loading by avoiding arbitrary source execution\n- Add mandatory attribution to Blackh8t original hmm project\n```\n\n---\n\n## License / Attribution Notice\n\nThis continuation keeps visible attribution to the original project:\n\n**Blackh8t / hmm**  \nhttps://github.com/Blackh8t/hmm\nadmin@securenode.io\n\n\nDo not remove the attribution block from the script or redistributed copies.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackh8t%2Fhmm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fblackh8t%2Fhmm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fblackh8t%2Fhmm/lists"}