{"id":14359338,"url":"https://github.com/meithecatte/bashfuck","last_synced_at":"2025-10-31T22:30:25.859Z","repository":{"id":253667463,"uuid":"844161465","full_name":"meithecatte/bashfuck","owner":"meithecatte","description":"Write any bash with only the punctuation characters","archived":false,"fork":false,"pushed_at":"2024-08-19T12:34:54.000Z","size":4,"stargazers_count":83,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-02-07T02:58:08.391Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meithecatte.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-08-18T15:12:42.000Z","updated_at":"2024-12-03T08:24:42.000Z","dependencies_parsed_at":"2024-08-27T13:09:27.329Z","dependency_job_id":null,"html_url":"https://github.com/meithecatte/bashfuck","commit_stats":null,"previous_names":["meithecatte/bashfuck"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meithecatte%2Fbashfuck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meithecatte%2Fbashfuck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meithecatte%2Fbashfuck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meithecatte%2Fbashfuck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meithecatte","download_url":"https://codeload.github.com/meithecatte/bashfuck/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238909465,"owners_count":19550843,"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-08-27T13:02:11.497Z","updated_at":"2025-10-31T22:30:25.805Z","avatar_url":"https://github.com/meithecatte.png","language":"Shell","readme":"## bashfuck\n\nbashfuck is a dialect of bash where you only use the ASCII special characters.\nNo letters, no numbers.\n\nTo help you with your bashfuck journeys, this repository includes a handy\nutility: a bashfuck encoder.\n\n```\n$ bash bashfuck.sh\nusage: bash bashfuck.sh source.sh output.sh\n```\n\n## Limitations\n\n- depends on the precise wording of bash error messages, and as such doesn't work if your locale is set to something other than English\n- unfortunately, there is no bashfuck-compliant way to capture the stderr of a command directly to a variable. As a workaround, bashfuck first writes it into a file, and then reads this back. By default, this file is `._.` in the current working directory. Note that if this file exists, it will be overwritten.\n- I think the decoding code I wrote might be quadratic. Shouldn't be too hard to fix. PRs welcome!\n\n## How it works\n\nI don't really feel like writing this section right now. Go forth, human! Examine the cursed artifact! You'll certainly learn something about bash that you didn't know before.\n\nIf you want a hint, take a look at `encoder-payload.sh` — though note that, due to the self-reference, this won't work properly when not itself encoded.\n\n## Other considerations\n\n- please make sure to observe [the terms of the license](./LICENSE)\n- join us in `##bash-crimes` on libera.chat\n","funding_links":[],"categories":["Shell"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeithecatte%2Fbashfuck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeithecatte%2Fbashfuck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeithecatte%2Fbashfuck/lists"}