Commit Graph

352 Commits

Author SHA1 Message Date
Justin Bollinger cabefe5b26 refactor: add optional dev dependencies and mypy configuration
- Add optional [dev] dependency group with mypy, ruff, pytest, and type stubs
- Include types-requests, types-beautifulsoup4, and types-openpyxl
- Add mypy config to exclude submodule directories
- Update GitHub workflow to install with optional dev dependencies
- Remove --ignore-missing-imports flag from mypy for stricter type checking
2026-02-06 09:34:38 -05:00
Justin Bollinger 16f92a0f71 fix: resolve mypy import-untyped errors for requests library 2026-02-06 09:31:17 -05:00
Justin Bollinger b1cf4d3e43 ruff fixes 2026-02-06 09:29:13 -05:00
Justin Bollinger 14ce2cb300 ruff fixes 2026-02-06 09:14:33 -05:00
Justin Bollinger b52d856d7b download wordlists testing 2026-02-05 17:36:46 -05:00
Justin Bollinger b16c3a1d26 fixed wordlist download and unit testing for live api 2026-02-05 16:32:17 -05:00
Justin Bollinger c1d5658dd6 automatic hash_id detection via api for hashview hashes and updated tests. 2026-02-05 15:39:08 -05:00
Justin Bollinger 092b63f82c automatic hash_id detection via api for hashview hashes 2026-02-05 14:56:27 -05:00
Justin Bollinger 0c0690e2ef lots of refactoring around the menues and building out test cases 2026-02-05 13:52:06 -05:00
Justin Bollinger c049065924 Update hashview API flow and tests 2026-02-04 15:48:19 -05:00
Justin Bollinger d23fcd079d updated gitignore to ignore expanded files 2026-02-04 12:53:57 -05:00
Justin Bollinger 9101e8fe5d updated output path 2026-02-03 21:50:40 -05:00
Justin Bollinger 65d11a8024 fixed issue with argument parsing when using uv run vs an installed uv tool 2026-02-03 20:40:00 -05:00
Justin Bollinger 328c0ba676 rule download fixes from hashmob 2026-02-03 20:05:44 -05:00
Justin Bollinger 70334f0024 rule download fixes from hashmob 2026-02-03 19:44:58 -05:00
Justin Bollinger f33ca19107 expanded tests and hashview menu changes 2026-02-03 19:28:45 -05:00
Justin Bollinger 6bb5cb6526 Merge branch 'main' of https://github.com/trustedsec/hate_crack 2026-02-03 17:21:43 -05:00
Justin Bollinger d68bf287e4 updated formatting to take account terminal width 2026-02-03 17:10:00 -05:00
Justin Bollinger 3d37b08fe0 updated formatting to take account terminal width 2026-02-03 17:07:26 -05:00
Justin Bollinger b9668bf8ed updated formatting to take account terminal width 2026-02-03 17:05:27 -05:00
Justin Bollinger 7b9f1bc7c9 updated formatting to take account terminal width 2026-02-03 17:01:57 -05:00
Justin Bollinger ece18e33b7 fixed menu option by number 2026-02-03 14:53:57 -05:00
Justin Bollinger 6740c993e5 fixed pathing issue with hybrid 2026-02-02 16:06:55 -05:00
Justin Bollinger 7265c00022 fixed pathing issue with hybrid 2026-02-02 15:56:16 -05:00
Justin Bollinger 090a90837d updated formatting for rules listing 2026-02-02 13:22:41 -05:00
Justin Bollinger ee375cfbd7 fixed menu pytest options that failed after updating them 2026-02-02 13:18:12 -05:00
Justin Bollinger e3b05c96dd fixed menu pytest options that failed after updating them 2026-02-02 13:16:20 -05:00
Justin Bollinger 6165556779 possible fix for hashonly 2026-02-02 13:12:35 -05:00
Justin Bollinger f9888d2c1a fixed wordlist directory issue when using tools 2026-02-02 12:50:57 -05:00
Justin Bollinger e81c19e9fb updated Makefile to enhance uninstall 2026-02-02 12:39:55 -05:00
Justin Bollinger 0431d10e26 fixed wordlist display 2026-02-02 12:39:24 -05:00
Justin Bollinger c9eb55dc7a updated formatting for the output of wordlists and standardizing 2026-02-02 12:30:06 -05:00
Justin Bollinger de3c87fd47 config file location issues 2026-02-02 11:53:12 -05:00
Justin Bollinger 76b982a856 makefile asset issues 2026-02-01 23:49:19 -05:00
Justin Bollinger 7568fdf0bf uv toll uninstall fix 2026-02-01 23:46:46 -05:00
Justin Bollinger 6013d7ba8b updated Makefile submodule 2026-02-01 23:39:02 -05:00
Justin Bollinger 5e86581956 updated Makefile submodule 2026-02-01 23:37:03 -05:00
Justin Bollinger 8e6a95d676 updated Makefile submodule 2026-02-01 23:35:20 -05:00
Justin Bollinger c7877baa23 fixed pathing issue 2026-02-01 23:18:54 -05:00
Justin Bollinger 5f43b6cd80 fixed pathing issue 2026-02-01 23:16:19 -05:00
Justin Bollinger 495346f378 fixed pathing issue 2026-02-01 23:11:40 -05:00
Justin Bollinger 847aec9a67 fixed pathing issue 2026-02-01 22:43:44 -05:00
Justin Bollinger 23134be3a0 Revert ancestor asset lookup 2026-02-01 22:41:42 -05:00
Justin Bollinger 4402d3175b Fix uv tool asset lookup 2026-02-01 22:32:24 -05:00
Justin Bollinger 42469f3563 fixed pathing issues and automatic building of files due to relative paths 2026-02-01 22:19:28 -05:00
Justin Bollinger 6d6565701e Remove automatic make execution in ensure_binary
Instead of automatically running 'make' when binaries are missing,
now provides clear instructions for users to manually build utilities.

This gives users more control and makes the build process explicit.
Users will see: 'Please build the utilities by running: cd <dir> && make'
2026-02-01 22:10:58 -05:00
Justin Bollinger e2775b1e53 Add regression tests for asset path separation
Tests now verify that hashcat-utils are loaded from hate_crack repo
even when hcatPath points to a different directory (like /opt/hashcat).

Why previous tests didn't catch this bug:
- config.json.example has hcatPath = "" (empty)
- Code has fallback: hcatPath = config.get('hcatPath', '') or hate_path
- So hcatPath accidentally defaulted to hate_path during testing
- This masked the bug where utilities incorrectly used hcatPath

Added tests that would have caught this:
- test_hashcat_utils_uses_hate_path_not_hcat_path
- test_config_with_explicit_hashcat_path
- test_readme_documents_correct_usage

Also added code comment documenting the fallback behavior.
2026-02-01 22:06:52 -05:00
Justin Bollinger 52f8d5ee8b Fix asset path resolution: separate hashcat and hate_crack locations
BREAKING CHANGE: Corrected understanding of hcatPath configuration

- hcatPath should point to hashcat binary location (or omit if in PATH)
- hashcat-utils and princeprocessor are located in hate_crack repo
- Changed code to use hate_path for utilities instead of hcatPath
- Updated error messages to guide users correctly
- Updated README with correct configuration examples
- Asset discovery now properly uses HATE_CRACK_HOME environment variable

This fixes the issue where users had hcatPath pointing to hashcat
installation but the code was looking there for hashcat-utils.
2026-02-01 22:05:27 -05:00
Justin Bollinger 33a20d2540 Improve error handling for misconfigured hcatPath
- Add directory existence check in ensure_binary() before attempting make
- Provide clear error message when build directory doesn't exist
- Add troubleshooting section to README.md explaining common hcatPath mistakes
- Add tests for invalid hcatPath scenario and installed tool execution
- Helps users distinguish between hashcat path and hate_crack path

Fixes issue where users set hcatPath to hashcat installation directory
instead of hate_crack repository directory, causing confusing errors.
2026-02-01 22:02:35 -05:00
Justin Bollinger 83cf6146a2 issue executing hate_crack from make install outside of the install directory 2026-02-01 21:54:33 -05:00