{"id":19272275,"url":"https://github.com/sdslabs/bruter","last_synced_at":"2025-04-21T22:31:18.040Z","repository":{"id":53396277,"uuid":"242812716","full_name":"sdslabs/bruter","owner":"sdslabs","description":"brute but stronger","archived":false,"fork":false,"pushed_at":"2022-08-04T21:11:11.000Z","size":10,"stargazers_count":11,"open_issues_count":5,"forks_count":0,"subscribers_count":12,"default_branch":"master","last_synced_at":"2024-07-04T12:48:19.103Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sdslabs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-02-24T18:35:13.000Z","updated_at":"2023-12-11T12:50:07.000Z","dependencies_parsed_at":"2022-08-23T16:10:30.727Z","dependency_job_id":null,"html_url":"https://github.com/sdslabs/bruter","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fbruter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fbruter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fbruter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sdslabs%2Fbruter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sdslabs","download_url":"https://codeload.github.com/sdslabs/bruter/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223881289,"owners_count":17219262,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-09T20:36:05.206Z","updated_at":"2024-11-09T20:36:05.939Z","avatar_url":"https://github.com/sdslabs.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bruter\n\nA rule based string bruteforcer. Similar to [brute](https://pypi.org/project/brute/) but more versatile.\n\n## Overview\n\nBruter provides a callback based bruteforce interface. Mainly a single function `brute` is exported:\n\n```python\nbrute(fmt, callback=None, symbols={})\n```\n\n- `fmt`: The string to be plugged variables into\n- `callback`: This is the function which will be called for every terminal value\n- `symbols`: This is a `dict` which maps symbols (which are strings) to a list of values\n\n## Example\n\n```python\nfrom bruter import brute\n\ndef printer(x):\n\tprint(x)\n\nsymbols = {\n\t'H': ['a', 'b', 'c'],\n\t'L': ['x', 'y'],\n\t'X': ['1', '2']\n}\n\nbrute(\"hello \u003cH\u003e \u003cL\u003e \u003cX\u003e\", printer, symbols)\n\n```\n\nThis one gives you output --\n\n```\nhello a x 1\nhello a x 2\nhello a y 1\nhello a y 2\nhello b x 1\nhello b x 2\nhello b y 1\nhello b y 2\nhello c x 1\nhello c x 2\nhello c y 1\nhello c y 2\n```\n\nYou can also use the predefined strings inside the `string` module in Python 3 for defining symbols\n\n```python\nfrom bruter import brute\nimport string\n\ndef printer(x):\n\tprint(x)\n\nsymbols = {\n\t'H': string.ascii_lowercase\n}\n\nbrute(\"hello \u003cH\u003e\", printer, symbols)\n\n```\nwhich gives output --\n\n```\nhello a\nhello b\nhello c\nhello d\nhello e\nhello f\nhello g\nhello h\nhello i\nhello j\nhello k\nhello l\nhello m\nhello n\nhello o\nhello p\nhello q\nhello r\nhello s\nhello t\nhello u\nhello v\nhello w\nhello x\nhello y\nhello z\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fbruter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsdslabs%2Fbruter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsdslabs%2Fbruter/lists"}