Commit Graph

372 Commits

Author SHA1 Message Date
Justin Bollinger
efc25c335a Apply ruff formatting fixes
- Fix line length and formatting in hate_crack/api.py
- Fix line wrapping and f-string formatting in hate_crack/attacks.py
- Apply code style improvements in hate_crack/main.py
- Format test files for consistency
- All changes applied via 'ruff check --fix'
2026-02-09 20:08:51 -05:00
Justin Bollinger
e40080676e Add menu option 91 for rule analysis using HashcatRosetta 2026-02-09 20:02:52 -05:00
Justin Bollinger
80106f1aa4 Update HashcatRosetta submodule to latest version with rule analysis features 2026-02-09 19:58:58 -05:00
Justin Bollinger
a89c7c3fce Add HashcatRosetta as a submodule for rule analysis functionality 2026-02-09 19:58:04 -05:00
Justin Bollinger
90696278d3 added debug options 2026-02-09 14:30:37 -05:00
Justin Bollinger
1fab01d444 updated documentation 2026-02-06 19:51:48 -05:00
Justin Bollinger
210a4006f5 removed extended expander 2026-02-06 19:37:39 -05:00
Justin Bollinger
0683c86c54 fingerprint: select expander length and optionally run hybrid on expanded 2026-02-06 16:44:11 -05:00
Justin Bollinger
59cbad7890 working loopback mode with tests 2026-02-06 15:06:25 -05:00
Justin Bollinger
40172c8df9 updated loopback logic and added testing 2026-02-06 14:37:37 -05:00
Justin Bollinger
4f51ce7379 updated loopback logic and added testing 2026-02-06 14:36:15 -05:00
Justin Bollinger
75f39123f1 Remove badge status explanations from README
Removed explanations for badge statuses in the README.
2026-02-06 09:51:28 -05:00
Justin Bollinger
45c78d6a7c ci: add individual badges for each Python version (3.9-3.14)
- Create separate workflow files for Python 3.9, 3.10, 3.11, 3.12, 3.13, 3.14
- Each Python version gets its own status badge
- Easily track which version(s) are failing tests
- Update README to display all 6 Python version badges
- Badges are clickable and link to individual workflow results
- Maintain pytest.yml as combined multi-version workflow
2026-02-06 09:50:32 -05:00
Justin Bollinger
d34aae8cb2 ci: split tests workflow into separate ruff, mypy, and pytest workflows
- Create individual workflow files for ruff, mypy, and pytest
- Each workflow has its own status badge for independent monitoring
- Ruff badge shows code quality status
- Mypy badge shows type checking status
- Pytest badge shows multi-version testing status
- Update README with all three badges and clear status documentation
- Remove combined tests.yml in favor of granular workflows
2026-02-06 09:49:30 -05:00
Justin Bollinger
74857f061e ci: add multi-version Python testing and status banners
- Separate lint job for ruff and mypy checks on Python 3.13
- Add pytest matrix strategy to test Python 3.9 through 3.14
- Add GitHub Actions status badge to README
- Document CI/CD pipeline and what each check does
- Include pass/fail criteria for linting, type checking, and testing
- Link to Actions tab for detailed workflow results
2026-02-06 09:46:26 -05:00
Justin Bollinger
605ec28fd7 test: improve live test to skip gracefully when server unavailable
- Add server reachability check before attempting connection
- Test skips if Hashview server is not available on localhost:5000
- Prevents test failures when HASHVIEW_TEST_REAL env var is set but server isn't running
- Allows test to succeed when Docker/server is available and configured
2026-02-06 09:43:49 -05:00
Justin Bollinger
742529962a test: improve live test to skip gracefully when server unavailable
- Add server reachability check before attempting connection
- Test skips if Hashview server is not available on localhost:5000
- Prevents test failures when HASHVIEW_TEST_REAL env var is set but server isn't running
- Allows test to succeed when Docker/server is available and configured
2026-02-06 09:43:23 -05:00
Justin Bollinger
56dd272e75 test: update CLI menu test strings to match recent changes
The Hashview menu has been updated:
- Old: 'Available Customers'
- New: 'What would you like to do?'

Updated test to check for the current menu text that displays
when using the --hashview flag.
2026-02-06 09:39:07 -05:00
Justin Bollinger
e51d1f7c59 build: add dev-install and dev-reinstall targets to Makefile
- Add 'make dev-install' to install project with [dev] dependencies
- Add 'make dev-reinstall' to uninstall and reinstall with dev deps
- Convenient way for developers to get linters and type checkers
2026-02-06 09:36:50 -05:00
Justin Bollinger
907be19d24 docs: add Development section to README
- Document how to install dev dependencies
- Provide commands for running ruff and mypy locally
- Include pre-push hook example for automated checks
- List all included dev dependencies
- Help contributors run checks before pushing
2026-02-06 09:35:20 -05:00
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