{"id":25932431,"url":"https://github.com/kadircy/rdd","last_synced_at":"2026-02-12T08:31:03.252Z","repository":{"id":279417373,"uuid":"938738667","full_name":"kadircy/rdd","owner":"kadircy","description":"simple library to interact with `dd` tool in Rust","archived":false,"fork":false,"pushed_at":"2025-03-02T11:55:01.000Z","size":34,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-27T09:39:31.021Z","etag":null,"topics":["dd","filesystem","iso","library","linux","rust"],"latest_commit_sha":null,"homepage":"https://docs.rs/rdd/latest/rdd/","language":"Rust","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/kadircy.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":"2025-02-25T12:29:34.000Z","updated_at":"2025-03-02T11:55:04.000Z","dependencies_parsed_at":"2025-02-25T13:35:45.750Z","dependency_job_id":"84a760a9-58e3-44cd-b94c-264d9559f1fd","html_url":"https://github.com/kadircy/rdd","commit_stats":null,"previous_names":["kadircy/rdd"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/kadircy/rdd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadircy%2Frdd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadircy%2Frdd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadircy%2Frdd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadircy%2Frdd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kadircy","download_url":"https://codeload.github.com/kadircy/rdd/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kadircy%2Frdd/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29361818,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-12T01:03:07.613Z","status":"online","status_checked_at":"2026-02-12T02:00:06.911Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["dd","filesystem","iso","library","linux","rust"],"created_at":"2025-03-04T00:37:37.807Z","updated_at":"2026-02-12T08:31:03.237Z","avatar_url":"https://github.com/kadircy.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# `rdd`\n![Crates.io License](https://img.shields.io/crates/l/rdd)\n![Crates.io Version](https://img.shields.io/crates/v/rdd)\n![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/kadircy/rdd/rust.yml)\n\n`rdd` is a simple Rust library to interact with the `dd` command-line tool. It provides an easy way to configure and execute `dd` commands from Rust, with options like input and output files, block sizes, and more.\n\n## Installation\nAdd `rdd` to your `Cargo.toml`:\n\n```toml\n[dependencies]\nrdd = \"0.1\"\n```\n\n## Usage\n```rust\nuse rdd::Dd;\n\nfn main() {\n    // Create a new Dd instance with the 'dd' binary path\n    let mut dd = Dd::new(\"dd\");\n\n    // Set input and output files\n    dd.input(\"./test.iso\");\n    dd.output(\"./copied.iso\");\n\n    // Set block size (bs)\n    dd.bs(\"4M\");\n\n    // Run the 'dd' command and handle the result\n    match dd.spawn() {\n        Ok(output) =\u003e println!(\"DD command output: {}\", output),\n        Err(e) =\u003e eprintln!(\"Error: {:?}\", e),\n    }\n}\n```\n\n## Options\nYou can set these options for the `dd` command:\n\n- **Block size (`bs`)**: `dd.bs(\"4M\");`\n- **Conversion block size (`cbs`)**: `dd.cbs(\"1M\");`\n- **Count**: `dd.count(100);`\n- **Seek**: `dd.seek(10);`\n- **Skip**: `dd.skip(10);`\n- **Status**: `dd.status(\"progress\");`\n- **Conversion (`conv`)**: `dd.conv(\"noerror,sync\");`\n- **Input block size (`ibs`)**: `dd.ibs(\"512K\");`\n- **Output block size (`obs`)**: `dd.obs(\"64K\");`\n- **Flags (`iflag`, `oflag`)**: `dd.iflag(\"direct\"); dd.oflag(\"sync\");`\n\n## Contributing\nContributions are welcome! If you’d like to contribute, please follow these steps:\n\n1. Fork the repository.\n2. Create a new branch `git checkout -b feature-branch`.\n3. Make your changes and commit them `git commit -am 'Add new feature'`.\n4. Push to your fork `git push origin feature-branch`.\n5. Open a pull request to the main repository.\n\nPlease make sure your code follows the style and guidelines of the project and passes all the tests. You can format codebase, lint it and run tests with this commands:\n\n```bash\ncargo fmt    # format\ncargo clippy # lint\ncargo test   # test\n```\n\n## License\nThis project is licensed under the MIT License. See the [LICENSE](./LICENSE) file for details.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadircy%2Frdd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkadircy%2Frdd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkadircy%2Frdd/lists"}