{"id":24377825,"url":"https://github.com/ravencentric/nzb-rs","last_synced_at":"2025-03-12T12:43:44.489Z","repository":{"id":273074416,"uuid":"916652537","full_name":"Ravencentric/nzb-rs","owner":"Ravencentric","description":"A spec compliant parser for NZB files","archived":false,"fork":false,"pushed_at":"2025-03-10T11:57:13.000Z","size":135,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-10T12:51:00.472Z","etag":null,"topics":["nzb","parser","usenet"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/nzb-rs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Ravencentric.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","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-01-14T14:15:33.000Z","updated_at":"2025-03-10T11:57:12.000Z","dependencies_parsed_at":"2025-01-18T14:32:49.483Z","dependency_job_id":"b51520b9-9b55-4276-95e7-d85204d2a8fb","html_url":"https://github.com/Ravencentric/nzb-rs","commit_stats":null,"previous_names":["ravencentric/nzb-rs"],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ravencentric%2Fnzb-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ravencentric%2Fnzb-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ravencentric%2Fnzb-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ravencentric%2Fnzb-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ravencentric","download_url":"https://codeload.github.com/Ravencentric/nzb-rs/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243222182,"owners_count":20256220,"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":["nzb","parser","usenet"],"created_at":"2025-01-19T06:17:06.843Z","updated_at":"2025-03-12T12:43:44.482Z","avatar_url":"https://github.com/Ravencentric.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"nzb-rs\n========\n\n[![Tests](https://img.shields.io/github/actions/workflow/status/Ravencentric/nzb-rs/tests.yml?label=tests)](https://github.com/Ravencentric/nzb-rs/actions/workflows/tests.yml)\n[![Latest Version](https://img.shields.io/crates/v/nzb-rs)](https://crates.io/crates/nzb-rs)\n[![Documentation](https://docs.rs/nzb-rs/badge.svg)](https://docs.rs/nzb-rs)\n![License](https://img.shields.io/crates/l/nzb-rs)\n\n`nzb-rs` is a [spec](https://sabnzbd.org/wiki/extra/nzb-spec) compliant parser for [NZB](https://en.wikipedia.org/wiki/NZB) files.\n\n## Installation\n\n`nzb-rs` is available on [crates.io](https://crates.io/crates/nzb-rs), so you can simply use [cargo](https://github.com/rust-lang/cargo) to install it.\n\n```console\ncargo add nzb-rs\n```\n\nOptional features:\n\n- `serde`: Enables serialization and deserialization via [serde](https://crates.io/crates/serde).\n\n## Example\n\n```rust\nuse nzb_rs::{Nzb, ParseNzbError};\n\nfn main() -\u003e Result\u003c(), ParseNzbError\u003e {\n    let xml = r#\"\n        \u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n        \u003c!DOCTYPE nzb PUBLIC \"-//newzBin//DTD NZB 1.1//EN\" \"http://www.newzbin.com/DTD/nzb/nzb-1.1.dtd\"\u003e\n        \u003cnzb\n            xmlns=\"http://www.newzbin.com/DTD/2003/nzb\"\u003e\n            \u003cfile poster=\"John \u0026lt;nzb@nowhere.example\u0026gt;\" date=\"1706440708\" subject=\"[1/1] - \u0026quot;Big Buck Bunny - S01E01.mkv\u0026quot; yEnc (1/2) 1478616\"\u003e\n                \u003cgroups\u003e\n                    \u003cgroup\u003ealt.binaries.boneless\u003c/group\u003e\n                \u003c/groups\u003e\n                \u003csegments\u003e\n                    \u003csegment bytes=\"739067\" number=\"1\"\u003e9cacde4c986547369becbf97003fb2c5-9483514693959@example\u003c/segment\u003e\n                    \u003csegment bytes=\"739549\" number=\"2\"\u003e70a3a038ce324e618e2751e063d6a036-7285710986748@example\u003c/segment\u003e\n                \u003c/segments\u003e\n            \u003c/file\u003e\n        \u003c/nzb\u003e\n        \"#;\n    let nzb = Nzb::parse(xml)?;\n    println!(\"{:#?}\", nzb);\n    assert_eq!(nzb.file().name(), Some(\"Big Buck Bunny - S01E01.mkv\"));\n    Ok(())\n}\n```\n\n## Safety\n\n- This library must not panic. Any panic should be considered a bug and reported.\n- This library uses [`roxmltree`](https://crates.io/crates/roxmltree) for parsing the NZB. `roxmltree` is written entirely in safe Rust, so by Rust's guarantees the worst that a malicious NZB can do is to cause a panic.\n\n## License\n\nLicensed under either of\n\n * Apache License, Version 2.0\n   ([LICENSE-APACHE](https://github.com/Ravencentric/nzb-rs/blob/main/LICENSE-APACHE) or \u003chttps://www.apache.org/licenses/LICENSE-2.0\u003e)\n * MIT license\n   ([LICENSE-MIT](https://github.com/Ravencentric/nzb-rs/blob/main/LICENSE-MIT) or \u003chttps://opensource.org/license/MIT\u003e)\n\nat your option.\n\n## Contribution\n\nUnless you explicitly state otherwise, any contribution intentionally submitted\nfor inclusion in the work by you, as defined in the Apache-2.0 license, shall be\ndual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravencentric%2Fnzb-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fravencentric%2Fnzb-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fravencentric%2Fnzb-rs/lists"}