{"id":20083576,"url":"https://github.com/shlima/fortune","last_synced_at":"2025-05-06T01:31:22.905Z","repository":{"id":153157050,"uuid":"628357429","full_name":"shlima/fortune","owner":"shlima","description":"☠️ bitcoin rich address miner, steal bitcoins by checking private keys for balance (bundled dataset)","archived":false,"fork":false,"pushed_at":"2023-04-18T16:14:09.000Z","size":650,"stargazers_count":70,"open_issues_count":0,"forks_count":19,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-09T06:35:01.545Z","etag":null,"topics":["bitcoin","brainwallet","bruteforce","btc","cracker","crypto","cryptocurrency","wallet"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shlima.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-04-15T17:38:05.000Z","updated_at":"2025-04-08T22:03:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"bd3b3ef0-9af8-4032-9b9d-8443b477b598","html_url":"https://github.com/shlima/fortune","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shlima%2Ffortune","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shlima%2Ffortune/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shlima%2Ffortune/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shlima%2Ffortune/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shlima","download_url":"https://codeload.github.com/shlima/fortune/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252604271,"owners_count":21775076,"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":["bitcoin","brainwallet","bruteforce","btc","cracker","crypto","cryptocurrency","wallet"],"created_at":"2024-11-13T15:47:49.374Z","updated_at":"2025-05-06T01:31:22.872Z","avatar_url":"https://github.com/shlima.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fortune\n\n[![Test](https://github.com/shlima/fortune/actions/workflows/test.yml/badge.svg)](https://github.com/shlima/fortune/actions/workflows/test.yml)\n\nCracker of bitcoin addresses (p2pkh private keys) by brute forcing \nand brain forcing (includes dataset of **323,156** wallets with non-zero balance).\n\nNotifies you in Telegram about the process and\nfound (guessed) keys.\n\n![btc cracker telegram screenshot](/docs/screenshot.webp?raw=true)\n\n### Docker\n```bash\ndocker run ghcr.io/shlima/fortune --workers 2 --heartbit-sec 1 bruteforce\ndocker run ghcr.io/shlima/fortune --workers 2 --heartbit-sec 1 brainforce --pass-shuffle 3434\n```\n\n## Arguments\n| Argument          | Description                                                                                                                                                                         |\n|-------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| file              | dataset file with bitcoin rich addresses (each compressed or uncompressed public address on a new line). Dataset is currently bundled with the `fortune` docker image |\n| workers           | number of workers for parallel execution                                                                                                                                            |\n| night             | night or silent mode (reduced CPU usage)                                                                                                                                            |\n| heartbit-sec      | print status each N seconds to STDOUT                                                                                                                                               |\n| telegram-ping-sec | send status each N seconds to telegram                                                                                                                                              |\n| telegram-token    | token of the telegram bot                                                                                                                                                           |\n| telegram-channel  | @channel name for the notifications (bot should be added as an administrator)                                                                                                       |\n\n## Command line\n```\nNAME:\n   fortune - bitcoin wallet cracker\n\nUSAGE:\n   fortune [global options] command [command options] [arguments...]\n\nVERSION:\n   0.1\n\nCOMMANDS:\n   bruteforce  run bruteforce against the dataset of rich addresses\n   random      prints random address from the dataset files\n   generate    random bitcoin address\n   brain       generate brain wallet (based on a password as a first argument) and check it's current balance online\n   brainforce  run bruteforce with alphabetical passwords permutations against the dataset of rich addresses\n   help, h     Shows a list of commands or help for one command\n\nGLOBAL OPTIONS:\n   --file value [ --file value ]  dataset file with rich addresses (each compressed or uncompressed public address on a new line) (default: \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_1.txt\", \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_10.txt\", \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_100.txt\", \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_1000.txt\", \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_10000.txt\", \"addresses/Bitcoin/2023/04/p2pkh_Rich_Max_100000.txt\") [$FILE]\n   --workers value                number of workers for parallel execution (default: 1) [$WORKERS]\n   --night                        night or silent mode (reduced CPU usage) (default: false) [$NIGHT]\n   --test-address value           address to test dataset before running brute force (default: \"1LQoWist8KkaUXSPKZHNvEyfrEkPHzSsCd\") [$TEST_ADDRESS]\n   --heartbit-sec value           print status each N seconds to STDOUT (default: 10) [$HEARTBEAT_SEC]\n   --telegram-ping-sec value      send status each N seconds to telegram (default: 3600) [$TELEGRAM_PING_SEC]\n   --telegram-token value         token of the telegram bot [$TELEGRAM_TOKEN]\n   --telegram-channel value       @channel name for the notifications (bot should be added as an administrator) [$TELEGRAM_CHANNEL]\n   --help, -h                     show help\n   --version, -v                  print the version\n\nCOPYRIGHT:\n   © github.com/shlima/fortune\n```\n\n## Brain wallets\n\nTo find a key from a rich bitcoin brain wallet using brute force method, \nyou can use the command `brainforce`\n\n```bash\nfortune brainforce \n  --pass-length 5  # password length \n  --pass-alphabet english-lower # one of \"digits\", \"symbols\", \"english-lower\", \n                                # or \"english-upper\" (can take many arguments)\n  --pass-alphabet abc # any characters without separator\n  --pass-state \"\" # the end state from the previous run \n                  # (to continue instead of starting all over again)                \n  --pass-shuffle 0 # shuffle the alphabet before run \n                   # (argument is a seed for random, 0 means no shuffle)\n```\n\n## Examination\n\nIn order to check the correctness of the notifications,\nas well as the correctness of the rich addresses dataset files,\nrun the `bruteforce` command with the public address in the \ndataset as an argument.\n\nThis will create a key gen mock and allow you to check if \nthe address exists in the dataset:\n\n```bash\nfortune bruteforce 1LQoWist8KkaUXSPKZHNvEyfrEkPHzSsCd\n```\n\nTo check the notification of a successful detection of a \nbrain wallet, you can also mock the password base key \ngenerator:\n\n```bash\n# 1) generate a brain bitcoin address with password \"foo\"\nfortune brain foo\n\n# 1) copy one of public address of the brain wallet and \n#    mock the data set by adding this address as the first \n#    command argument\nfortune brainforce --pass-length 3 --pass-alphabet fo 1LEH8BEZgC4onZ4GLm8UpZ3vXGAr6LYKST\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshlima%2Ffortune","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshlima%2Ffortune","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshlima%2Ffortune/lists"}