Hashtopolis for NS8 – distributed hashcat / password recovery (community module, hobby project)

Hi all,

another hobby project from my repository: Hashtopolis packaged for NethServer 8.

What is Hashtopolis?

Hashtopolis is a multi-platform client-server tool for distributing hashcat tasks to multiple computers. Its main development goals are portability, robustness, multi-user support and management of multiple groups.

In practice: you run the Hashtopolis server on your NS8 node, register one or more agent machines (each with its own GPUs), and the server splits a cracking task across all of them. It is meant for authorized password recovery and security testing β€” e.g. auditing the strength of your own password hashes.

Documentation: https://docs.hashtopolis.org

Why self-host it?

  • Your data stays on your server. Hashes, wordlists and rules never leave your infrastructure.
  • Use your own hardware. Combine several GPU machines into one job; no cloud, no per-hash fees.
  • Multi-user / multi-group. Suitable for a team with separate access.

NS8 integration

The module runs three rootless containers:

  • hashtopolis-backend β€” official hashtopolis/backend image (PHP API server and agent endpoints)
  • hashtopolis-frontend β€” official hashtopolis/frontend image (Angular web UI)
  • hashtopolis-db β€” a dedicated mysql:8.0 database, data kept in the hashtopolis-db named volume

Backend and database share one pod; the frontend runs as a separate container because it also listens on port 80.

Traefik publishes everything on a single host name:

  • https://<host>/ β†’ Angular frontend
  • https://<host>/api β†’ backend API and agent communication (higher priority)

Agents connect to the same /api URL.

Installation

Wiki page: ns8:applications:hashtopolis [NethServer & NethSecurity]

The easiest way is via the Software Center: add my repository as described on the Tebbiworld repository wiki page with this URL (see the NS8 manual for how to add software repositories):

https://raw.githubusercontent.com/tebbiworld/ns8-huginn/repomd/ns8/updates/

Alternatively via CLI on the NS8 cluster leader:

add-module ghcr.io/tebbiworld/hashtopolis:latest 1

Configure (replace the host name):

api-cli run module/hashtopolis1/configure-module --data '{
  "host": "hashtopolis.example.org",
  "lets_encrypt": true,
  "http2https": true
}'

Read back the configuration, including the generated initial admin password and the agent URL:

api-cli run module/hashtopolis1/get-configuration --data '{}'

Log in at https://hashtopolis.example.org with user admin and the returned password, then change it immediately.

Note on agents

The server ships no cracking hardware itself β€” you install the Hashtopolis agent on your GPU machines separately. On Windows, hashcat.exe from the official hashcat.net Windows archive must be placed manually. A per-task detail worth knowing: use a single rule file per task; multiple -r rule flags cause hashcat to fail.

Important disclaimer

This is a private hobby project, built for my own needs and shared as-is. No warranty, no guaranteed support, use at your own risk. It is an unofficial, community-built package, not affiliated with or endorsed by the Hashtopolis project. Only use it against hashes you are authorized to test. The module pulls the upstream open-source components at runtime (Hashtopolis GPL-3.0-or-later, plus MySQL under its own license). The module’s own code is GPL-3.0-or-later.

Repo & documentation: GitHub - tebbiworld/ns8-hashtopolis: NethServer 8 module for Hashtopolis Β· GitHub

Feedback and bug reports are welcome via GitHub issues, but please don’t expect enterprise-level maintenance.

Have fun with it!

1 Like