{"id":17311268,"url":"https://github.com/rakshasa/rbedit","last_synced_at":"2026-03-09T17:37:41.530Z","repository":{"id":46321329,"uuid":"429981701","full_name":"rakshasa/rbedit","owner":"rakshasa","description":"Dependency-Free Bencode Editor","archived":false,"fork":false,"pushed_at":"2022-10-20T21:21:28.000Z","size":434,"stargazers_count":48,"open_issues_count":4,"forks_count":4,"subscribers_count":7,"default_branch":"master","last_synced_at":"2025-04-04T09:05:42.814Z","etag":null,"topics":["bencode","bencode-parser","bencoder","bittorrent","torrent","torrent-files"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rakshasa.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":"2021-11-20T01:39:10.000Z","updated_at":"2025-03-01T01:25:35.000Z","dependencies_parsed_at":"2022-09-02T01:51:28.594Z","dependency_job_id":null,"html_url":"https://github.com/rakshasa/rbedit","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/rakshasa/rbedit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rakshasa%2Frbedit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rakshasa%2Frbedit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rakshasa%2Frbedit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rakshasa%2Frbedit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rakshasa","download_url":"https://codeload.github.com/rakshasa/rbedit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rakshasa%2Frbedit/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30304782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-09T17:35:44.120Z","status":"ssl_error","status_checked_at":"2026-03-09T17:35:43.707Z","response_time":61,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bencode","bencode-parser","bencoder","bittorrent","torrent","torrent-files"],"created_at":"2024-10-15T12:39:58.473Z","updated_at":"2026-03-09T17:37:41.503Z","avatar_url":"https://github.com/rakshasa.png","language":"Go","readme":"rbEdit\n======\n\nA statically compiled and dependency-free Bencode editor in Go, useful for command line use and scripts.\n\n\nQuick Start\n-----------\n\n```bash\n# Compile:\n./scripts/build.sh\n\n# Compile for darwin arch:\nTARGET_OS=darwin ./scripts/build.sh\n\n# Compile for linux arch:\nTARGET_OS=linux ./scripts/build.sh\n```\n\nThe only build requirement is Docker and the binary has no runtime dependencies.\n\n```bash\n./build/rbedit announce get --input ./test.torrent\n```\n\nPrint announce url.\n\n```bash\n./build/rbedit announce put --input ./test.torrent --inplace http://example.com/announce\n```\n\nChange announce url.\n\n```bash\n./build/rbedit get --input ./test.torrent info length\n```\n\nGet value of the `length` entry in the `info` map.\n\n```bash\n./build/rbedit put --input ./test.torrent --inplace --bencode d3:bari2e3:bazi3e3:fooi1ee foo-info\n```\n\nWrite a custom bencoded object to `foo-info` entry in the torrent root.\n\n\nBatch Operations\n----------------\n\nGenerate 10,000 torrents with unique info hashes:\n\n```bash\n$ RBEDIT_PATH=./build/rbedit-darwin-amd64 COUNT=10000 ./scripts/generate-torrents.sh /tmp/slackware-14.2-install-d1.torrent /tmp/slackware-torrents\nGenerating torrent test files\n\nRBEDIT_PATH: ./build/rbedit\nCOUNT: 10000\nSRC-TORRENT: /tmp/slackware-14.2-install-d1.torrent\nDEST-DIR: /tmp/slackware-torrents\nPREFIX-DEPTH: 1\n\ngenerating..................................\n\nFinished generating 10000 torrents\n\n$ find /tmp/slackware-torrents -type f | wc -l\n   10000\n\n# du -h -d0 /tmp/slackware-torrents\n273M    /Users/rakshasa/tmp/slackware-torrents/\n```\n\nCheck the announce url of all 10,000 torrents:\n\n```bash\n$ time ./build/rbedit-darwin-amd64 announce get --input \u003c(find /tmp/torrents -type f) --batch | tail -n3\nhttp://trackers.transamrit.net:8082/announce\nhttp://trackers.transamrit.net:8082/announce\nhttp://trackers.transamrit.net:8082/announce\n\nreal    0m0.523s\nuser    0m0.375s\nsys     0m0.374s\n```\n\nReplace the announce urls and overwrite the source files for all 10,000 torrents:\n\n```bash\n$ time ./build/rbedit-darwin-amd64 announce put --input \u003c(find /tmp/torrents -type f) --batch --inplace http://new.example.com/announce\n\nreal    0m2.672s\nuser    0m0.841s\nsys     0m1.858s\n```\n\nVerify the announce urls were changed:\n\n```bash\n$ ./build/rbedit-darwin-amd64 announce get --input \u003c(find /tmp/torrents -type f) --batch | tail -n3\nhttp://new.example.com/announce\nhttp://new.example.com/announce\nhttp://new.example.com/announce\n```\n\n\nDonate to rTorrent development\n------------------------------\n\n * [Paypal](https://paypal.me/jarisundelljp)\n * [Patreon](https://www.patreon.com/rtorrent)\n * [SubscribeStar](https://www.subscribestar.com/rtorrent)\n * Bitcoin: 1MpmXm5AHtdBoDaLZstJw8nupJJaeKu8V8\n * Etherium: 0x9AB1e3C3d8a875e870f161b3e9287Db0E6DAfF78\n * Litecoin: LdyaVR67LBnTf6mAT4QJnjSG2Zk67qxmfQ\n * Cardano: addr1qytaslmqmk6dspltw06sp0zf83dh09u79j49ceh5y26zdcccgq4ph7nmx6kgmzeldauj43254ey97f3x4xw49d86aguqwfhlte\n","funding_links":["https://paypal.me/jarisundelljp","https://www.patreon.com/rtorrent"],"categories":["Go"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frakshasa%2Frbedit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frakshasa%2Frbedit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frakshasa%2Frbedit/lists"}