gitextract_umi_osjx/ ├── .dockerignore ├── .github/ │ └── workflows/ │ ├── build-agent-and-release.yml │ ├── codeql.yml │ ├── docker-publish.yml │ ├── e2e.yml │ ├── go-lint.yml │ └── lint.yaml ├── .gitignore ├── Caddyfile ├── Dockerfile.agent ├── Dockerfile.api ├── Dockerfile.frontend ├── LICENSE ├── README.md ├── agent/ │ ├── .gitignore │ ├── build.sh │ ├── example_config.json │ ├── go.mod │ ├── go.sum │ ├── install.sh │ ├── internal/ │ │ ├── config/ │ │ │ └── config.go │ │ ├── handler/ │ │ │ ├── file.go │ │ │ ├── handler.go │ │ │ ├── heartbeat.go │ │ │ ├── job.go │ │ │ ├── run.go │ │ │ └── run_windows.go │ │ ├── hashcat/ │ │ │ ├── constants.go │ │ │ ├── constants_windows.go │ │ │ └── hashcat.go │ │ ├── installer/ │ │ │ ├── hashcat_install.go │ │ │ ├── installer.go │ │ │ ├── register.go │ │ │ ├── template.service │ │ │ ├── utils.go │ │ │ └── utils_windows.go │ │ ├── lockfile/ │ │ │ ├── lockfile.go │ │ │ └── lockfile_dummy.go │ │ ├── util/ │ │ │ ├── backoff.go │ │ │ └── util.go │ │ ├── version/ │ │ │ └── version.go │ │ └── wswrapper/ │ │ └── wswrapper.go │ └── main.go ├── api/ │ ├── .air.toml │ ├── .dockerignore │ ├── Dockerfile.dev │ ├── build.sh │ ├── go.mod │ ├── go.sum │ ├── internal/ │ │ ├── accesscontrol/ │ │ │ └── accesscontrol.go │ │ ├── attacksharder/ │ │ │ └── attacksharder.go │ │ ├── auth/ │ │ │ ├── header_auth_middleware.go │ │ │ ├── mfa.go │ │ │ ├── mfa_webauthn.go │ │ │ ├── middleware.go │ │ │ ├── session.go │ │ │ └── session_inmemory.go │ │ ├── config/ │ │ │ ├── config.go │ │ │ └── config_migration.go │ │ ├── controllers/ │ │ │ ├── account.go │ │ │ ├── admin.go │ │ │ ├── agent.go │ │ │ ├── agent_handler.go │ │ │ ├── attack.go │ │ │ ├── attack_template.go │ │ │ ├── attackjob.go │ │ │ ├── auth.go │ │ │ ├── auth_credentials.go │ │ │ ├── auth_oidc.go │ │ │ ├── config.go │ │ │ ├── controllers.go │ │ │ ├── e2e.go │ │ │ ├── hashcat.go │ │ │ ├── hashlist.go │ │ │ ├── listfiles.go │ │ │ ├── listfiles_upload.go │ │ │ ├── potfile.go │ │ │ ├── project.go │ │ │ └── users.go │ │ ├── db/ │ │ │ ├── agent.go │ │ │ ├── attack_template.go │ │ │ ├── config.go │ │ │ ├── db.go │ │ │ ├── job.go │ │ │ ├── keyspace_cache.go │ │ │ ├── listfiles.go │ │ │ ├── potfile.go │ │ │ ├── project.go │ │ │ └── user.go │ │ ├── filerepo/ │ │ │ └── filerepo.go │ │ ├── fleet/ │ │ │ ├── agent.go │ │ │ ├── fleet.go │ │ │ ├── handle_jobs_events.go │ │ │ └── state_reconcilition.go │ │ ├── hashcathelpers/ │ │ │ └── hashcathelpers.go │ │ ├── resources/ │ │ │ ├── gen_hash_info.sh │ │ │ ├── hash_info.json │ │ │ └── resources.go │ │ ├── roles/ │ │ │ └── roles.go │ │ ├── util/ │ │ │ ├── password_strength.go │ │ │ ├── request_validator.go │ │ │ └── util.go │ │ ├── version/ │ │ │ └── version.go │ │ └── webserver/ │ │ ├── logger.go │ │ └── webserver.go │ └── main.go ├── common/ │ ├── go.mod │ ├── go.sum │ └── pkg/ │ ├── apitypes/ │ │ ├── account.go │ │ ├── admin.go │ │ ├── admin_config.go │ │ ├── agent.go │ │ ├── agent_handler.go │ │ ├── apitypes.go │ │ ├── attack.go │ │ ├── attack_template.go │ │ ├── auth.go │ │ ├── config.go │ │ ├── hashcat.go │ │ ├── hashlist.go │ │ ├── job.go │ │ ├── listfiles.go │ │ ├── potfile.go │ │ ├── project.go │ │ └── user.go │ ├── hashcattypes/ │ │ ├── attackmode.go │ │ ├── hashcattypes.go │ │ └── hashinfo.go │ └── wstypes/ │ ├── job.go │ └── wstypes.go ├── docker-compose.dev.yml ├── docker-compose.prod.yml ├── e2e/ │ ├── api/ │ │ ├── .gitignore │ │ ├── .prettierrc.json │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── tests/ │ │ │ ├── _api.spec.ts │ │ │ ├── _helpers.ts │ │ │ ├── admin_authz.ts │ │ │ ├── dummyRequests.ts │ │ │ ├── hashlists.ts │ │ │ ├── projects.ts │ │ │ ├── setup.ts │ │ │ ├── unauth.ts │ │ │ └── user_provisioning_auth.ts │ │ └── tsconfig.json │ ├── browser/ │ │ ├── .gitignore │ │ ├── package.json │ │ ├── playwright.config.ts │ │ └── tests/ │ │ ├── adduser.spec.ts │ │ ├── auth.config.ts │ │ ├── auth.setup.ts │ │ └── initial.setup.ts │ └── docker-compose.test.yml ├── frontend/ │ ├── .gitignore │ ├── .prettierrc.json │ ├── .vscode/ │ │ └── extensions.json │ ├── Dockerfile.dev │ ├── README.md │ ├── env.d.ts │ ├── eslint.config.ts │ ├── index.html │ ├── package.json │ ├── postcss.config.js │ ├── src/ │ │ ├── App.vue │ │ ├── api/ │ │ │ ├── account.ts │ │ │ ├── admin.ts │ │ │ ├── agent.ts │ │ │ ├── attackTemplate.ts │ │ │ ├── auth.ts │ │ │ ├── config.ts │ │ │ ├── hashcat.ts │ │ │ ├── index.ts │ │ │ ├── listfiles.ts │ │ │ ├── potfile.ts │ │ │ ├── project.ts │ │ │ ├── types.ts │ │ │ └── users.ts │ │ ├── components/ │ │ │ ├── Admin/ │ │ │ │ ├── AgentConfig.vue │ │ │ │ ├── AuthConfig.vue │ │ │ │ ├── GeneralConfig.vue │ │ │ │ └── UsersTable.vue │ │ │ ├── AttackConfigDetails.vue │ │ │ ├── AttackDetailsModal/ │ │ │ │ ├── Overview.vue │ │ │ │ └── index.vue │ │ │ ├── AttackTemplateCreator.vue │ │ │ ├── AttackTemplateEditor.vue │ │ │ ├── AttackTemplateSetCreator.vue │ │ │ ├── AttackTemplateSetEditor.vue │ │ │ ├── CheckboxSet.vue │ │ │ ├── ConfirmModal.vue │ │ │ ├── EmptyTable.vue │ │ │ ├── FileUpload.vue │ │ │ ├── HashesInput.vue │ │ │ ├── HrOr.vue │ │ │ ├── IconButton.vue │ │ │ ├── InfoTip.vue │ │ │ ├── Modal.vue │ │ │ ├── PageLoading.vue │ │ │ ├── PaginationControls.vue │ │ │ ├── ProjectShare.vue │ │ │ ├── SearchableDropdown.vue │ │ │ ├── TimeSinceDisplay.vue │ │ │ └── Wizard/ │ │ │ ├── AttackSettings.vue │ │ │ ├── HashlistInputs.vue │ │ │ ├── JobWizard.vue │ │ │ ├── ListSelect.vue │ │ │ └── MaskInput.vue │ │ ├── composables/ │ │ │ ├── useApi.ts │ │ │ ├── useAttackSettings.ts │ │ │ ├── useHashesInput.ts │ │ │ ├── usePagination.ts │ │ │ ├── useToastError.ts │ │ │ └── useWizardHashDetect.ts │ │ ├── layouts/ │ │ │ └── default.vue │ │ ├── main.ts │ │ ├── pages/ │ │ │ ├── Account.vue │ │ │ ├── Agents.vue │ │ │ ├── AttackTemplates.vue │ │ │ ├── HashSearch.vue │ │ │ ├── Hashlist.vue │ │ │ ├── Listfiles.vue │ │ │ ├── Login.vue │ │ │ ├── LoginOIDCCallback.vue │ │ │ ├── Utilisation.vue │ │ │ ├── Wizard.vue │ │ │ ├── admin/ │ │ │ │ ├── Agents.vue │ │ │ │ ├── Configuration.vue │ │ │ │ └── Users.vue │ │ │ └── projects/ │ │ │ ├── index.vue │ │ │ └── project.vue │ │ ├── router/ │ │ │ └── index.ts │ │ ├── stores/ │ │ │ ├── activeAttacks.ts │ │ │ ├── adminConfig.ts │ │ │ ├── agents.ts │ │ │ ├── attackTemplates.ts │ │ │ ├── auth.ts │ │ │ ├── config.ts │ │ │ ├── listfiles.ts │ │ │ ├── projects.ts │ │ │ ├── resources.ts │ │ │ └── users.ts │ │ ├── styles.css │ │ └── util/ │ │ ├── decodeHex.ts │ │ ├── exportHashlist.ts │ │ ├── formatDeviceName.ts │ │ ├── hashcat.ts │ │ ├── icons.ts │ │ ├── sleep.ts │ │ ├── units.ts │ │ └── util.ts │ ├── tailwind.config.js │ ├── tsconfig.json │ ├── tsconfig.node.json │ └── vite.config.ts ├── go.work ├── go.work.sum ├── hack/ │ ├── cloc.sh │ ├── dev.sh │ ├── static_check.sh │ ├── tag_release.sh │ └── ts_types_codegen.sh ├── install_server.sh └── renovate.json