Skip to content

Installation

James P edited this page Oct 8, 2026 · 1 revision

Installation

Requirements

Build machine

  • Go 1.26+
  • gcc (the server uses the CGO SQLite driver)
  • make

Server host

  • Linux (tested), reachable by browsers and every worker
  • Read access to your wordlist and rules directories

Worker hosts

  • hashcat installed with working GPU drivers
  • The same rule files as the server (same file names)
  • Network access to the server
  • For NFS mode: the shared wordlist directory mounted locally

1. Build

git clone https://github.com/waffl3ss/HashTasker.git
cd HashTasker/Server
make build

Outputs Server/hashtasker-server and Worker/hashtasker-worker. Pre-built binaries may also be available on the Releases page.

2. Install the Server

sudo mkdir -p /opt/HashTaskerGo
cd HashTasker/Server
sudo cp hashtasker-server hashmodes.txt changelog.md config.yaml.example /opt/HashTaskerGo/
cd /opt/HashTaskerGo
sudo cp config.yaml.example config.yaml

Edit config.yaml. At minimum set:

  • server.session_key -- openssl rand -hex 32
  • admin.password -- a strong password
  • database.password -- any non-default value (required even though SQLite is used)
  • server.wordlists_path and server.rulesets_path

See Server Configuration for every option.

The server reads config.yaml, hashmodes.txt, and changelog.md from its working directory and creates hashtasker.db and uploads/ there.

Run under systemd

sudo cp HashTasker/Server/hashtasker-server.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now hashtasker-server
sudo journalctl -u hashtasker-server -f

Look for Starting server on 0.0.0.0:<port>. Browse to the server and log in as the configured admin.

3. Install Each Worker

sudo mkdir -p /opt/HashTaskerGo
sudo cp HashTasker/Worker/hashtasker-worker HashTasker/Worker/worker.json.example /opt/HashTaskerGo/
cd /opt/HashTaskerGo
sudo cp worker.json.example worker.json

Edit worker.json: server_url, a unique hostname, hashcat_path, rulesets_path, and (for NFS mode) wordlists_path. See Worker Configuration.

sudo cp HashTasker/Worker/hashtasker-worker.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now hashtasker-worker

The worker appears on the dashboard within one check-in interval.

4. Smoke Test

  1. Confirm every worker shows online on the dashboard (and green NFS if using NFS mode).
  2. Create a small job: a few MD5 hashes (mode 0) against a small wordlist.
  3. Watch the job details page; each worker should show progress and the job should complete.

Rulesets

Rules are passed to hashcat as <worker rulesets_path>/<file name>, so the server and every worker must have the same rule file names. The paths themselves can differ.

Clone this wiki locally