diff --git a/Cargo.lock b/Cargo.lock index 7833d30..8726946 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -114,12 +114,24 @@ dependencies = [ "tracing", ] +[[package]] +name = "base16ct" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" + [[package]] name = "base64" version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" +[[package]] +name = "base64ct" +version = "1.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2af50177e190e07a26ab74f8b1efbfe2ef87da2116221318cb1c2e82baf7de06" + [[package]] name = "bitflags" version = "2.13.0" @@ -135,6 +147,15 @@ dependencies = [ "generic-array", ] +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + [[package]] name = "bumpalo" version = "3.20.3" @@ -180,6 +201,12 @@ dependencies = [ "windows-link", ] +[[package]] +name = "const-oid" +version = "0.9.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c2459377285ad874054d797f3ccebf984978aa39129f6eafde5cdc8315b612f8" + [[package]] name = "core-foundation-sys" version = "0.8.7" @@ -195,6 +222,18 @@ dependencies = [ "libc", ] +[[package]] +name = "crypto-bigint" +version = "0.5.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dc92fb57ca44df6db8059111ab3af99a63d5d0f8375d9972e319a379c6bab76" +dependencies = [ + "generic-array", + "rand_core 0.6.4", + "subtle", + "zeroize", +] + [[package]] name = "crypto-common" version = "0.1.7" @@ -223,6 +262,16 @@ version = "0.1.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "092966b41edc516079bdf31ec78a2e0588d1d0c08f78b91d8307215928642b2b" +[[package]] +name = "der" +version = "0.7.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e7c1832837b905bbfb5101e07cc24c8deddf52f93225eee6ead5f4d63d53ddcb" +dependencies = [ + "const-oid", + "zeroize", +] + [[package]] name = "digest" version = "0.10.7" @@ -230,7 +279,9 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ "block-buffer", + "const-oid", "crypto-common", + "subtle", ] [[package]] @@ -244,6 +295,39 @@ dependencies = [ "syn", ] +[[package]] +name = "ecdsa" +version = "0.16.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ee27f32b5c5292967d2d4a9d7f1e0b0aed2c15daded5a60300e4abb9d8020bca" +dependencies = [ + "der", + "digest", + "elliptic-curve", + "rfc6979", + "signature", + "spki", +] + +[[package]] +name = "elliptic-curve" +version = "0.13.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5e6043086bf7973472e0c7dff2142ea0b680d30e18d9cc40f267efbf222bd47" +dependencies = [ + "base16ct", + "crypto-bigint", + "digest", + "ff", + "generic-array", + "group", + "pkcs8", + "rand_core 0.6.4", + "sec1", + "subtle", + "zeroize", +] + [[package]] name = "equivalent" version = "1.0.2" @@ -266,6 +350,16 @@ version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f1f227452a390804cdb637b74a86990f2a7d7ba4b7d5693aac9b4dd6defd8d6" +[[package]] +name = "ff" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c0b50bfb653653f9ca9095b427bed08ab8d75a137839d9ad64eb11810d5b6393" +dependencies = [ + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "find-msvc-tools" version = "0.1.9" @@ -383,6 +477,7 @@ checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "typenum", "version_check", + "zeroize", ] [[package]] @@ -423,6 +518,17 @@ dependencies = [ "r-efi 6.0.0", ] +[[package]] +name = "group" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0f9ef7462f7c099f518d754361858f86d8a07af53ba9af0fe635bbccb151a63" +dependencies = [ + "ff", + "rand_core 0.6.4", + "subtle", +] + [[package]] name = "h2" version = "0.4.15" @@ -454,6 +560,15 @@ version = "0.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc0fef456e4baa96da950455cd02c081ca953b141298e41db3fc7e36b1da849c" +[[package]] +name = "hmac" +version = "0.12.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" +dependencies = [ + "digest", +] + [[package]] name = "http" version = "1.4.2" @@ -720,6 +835,20 @@ dependencies = [ "wasm-bindgen", ] +[[package]] +name = "k256" +version = "0.13.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6e3919bbaa2945715f0bb6d3934a173d1e9a59ac23767fbaaef277265a7411b" +dependencies = [ + "cfg-if", + "ecdsa", + "elliptic-curve", + "once_cell", + "sha2", + "signature", +] + [[package]] name = "lazy_static" version = "1.5.0" @@ -788,17 +917,20 @@ checksum = "88904434abc2901f197fe8cc55f0445e7ded921dba5911dad2e2b39b48e663c4" [[package]] name = "meta-feeder-sdk" -version = "1.9.0" -source = "git+https://github.com/worph/meta-feeder-sdk?tag=v1.9.0#01cc4e15a5284c9f3de1b2758ecee1679b002026" +version = "1.10.0" +source = "git+https://gitea-watch.nsl.sh/metastar/meta-feeder-sdk?tag=v1.10.0#f804d3adb19cc657cd15645e6ad134c767d30b33" dependencies = [ "anyhow", "async-trait", "axum", "base64", + "bs58", "bytes", "futures", "hyper", + "k256", "libc", + "rand_core 0.6.4", "redb", "regex", "reqwest", @@ -896,6 +1028,16 @@ version = "0.2.17" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "a89322df9ebe1c1578d689c92318e070967d1042b512afbe49518723f4e6d5cd" +[[package]] +name = "pkcs8" +version = "0.10.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f950b2377845cebe5cf8b5165cb3cc1a5e0fa5cfa3e1f7f55707d8fd82e0a7b7" +dependencies = [ + "der", + "spki", +] + [[package]] name = "potential_utf" version = "0.1.5" @@ -1006,7 +1148,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha", - "rand_core", + "rand_core 0.9.5", ] [[package]] @@ -1016,7 +1158,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", ] [[package]] @@ -1116,6 +1267,16 @@ dependencies = [ "webpki-roots", ] +[[package]] +name = "rfc6979" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f8dd2a808d456c4a54e300a23e9f5a67e122c3024119acbfd73e3bf664491cb2" +dependencies = [ + "hmac", + "subtle", +] + [[package]] name = "ring" version = "0.17.14" @@ -1202,6 +1363,20 @@ version = "1.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "94143f37725109f92c262ed2cf5e59bce7498c01bcc1502d7b9afe439a4e9f49" +[[package]] +name = "sec1" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d3e97a565f76233a6003f9f5c54be1d9c5bdfa3eccfb189469f11ec4901c47dc" +dependencies = [ + "base16ct", + "der", + "generic-array", + "pkcs8", + "subtle", + "zeroize", +] + [[package]] name = "serde" version = "1.0.228" @@ -1304,6 +1479,16 @@ dependencies = [ "libc", ] +[[package]] +name = "signature" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "77549399552de45a898a580c1b41d445bf730df867cc44e6c0233bbc4b8329de" +dependencies = [ + "digest", + "rand_core 0.6.4", +] + [[package]] name = "slab" version = "0.4.12" @@ -1326,6 +1511,16 @@ dependencies = [ "windows-sys 0.61.2", ] +[[package]] +name = "spki" +version = "0.7.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d91ed6c858b01f942cd56b37a94b3e0a1798290327d1236e4d9cf4eaca44d29d" +dependencies = [ + "base64ct", + "der", +] + [[package]] name = "stable_deref_trait" version = "1.2.1" diff --git a/feeder-plugin/tribler-feeder/Cargo.toml b/feeder-plugin/tribler-feeder/Cargo.toml index 493ae86..68f7d21 100644 --- a/feeder-plugin/tribler-feeder/Cargo.toml +++ b/feeder-plugin/tribler-feeder/Cargo.toml @@ -25,7 +25,7 @@ name = "tribler-feeder" path = "src/main.rs" [dependencies] -meta-feeder-sdk = { git = "https://github.com/worph/meta-feeder-sdk", tag = "v1.9.0" } +meta-feeder-sdk = { git = "https://gitea-watch.nsl.sh/metastar/meta-feeder-sdk", tag = "v1.10.0" } tokio = { version = "1.40", features = ["full"] } axum = { version = "0.7", features = ["json"] } diff --git a/feeder-plugin/tribler-feeder/src/discovery.rs b/feeder-plugin/tribler-feeder/src/discovery.rs index 04ddb43..fd4820e 100644 --- a/feeder-plugin/tribler-feeder/src/discovery.rs +++ b/feeder-plugin/tribler-feeder/src/discovery.rs @@ -199,6 +199,7 @@ fn build_seed_record( fields.insert("movieYear".to_string(), y.to_string()); } DiscoveryRecord { + claims: Vec::new(), upstream_id: "prowlarr".to_string(), record_id: format!("tmdb:{seg}:{}", hit.tmdbid), fields, diff --git a/feeder-plugin/tribler-feeder/src/enrich.rs b/feeder-plugin/tribler-feeder/src/enrich.rs index 2ac63a1..cd5b407 100644 --- a/feeder-plugin/tribler-feeder/src/enrich.rs +++ b/feeder-plugin/tribler-feeder/src/enrich.rs @@ -929,6 +929,7 @@ pub(crate) async fn enrich_one_streaming( wire_set.remove("posterPath"); if !wire_set.is_empty() || !remove.is_empty() { events.push(GatewaySearchEvent::EnrichPatch { + claims: Vec::new(), record_id: record_id.clone(), set: wire_set, remove, @@ -951,6 +952,7 @@ pub(crate) async fn enrich_one_streaming( let mut set = BTreeMap::new(); set.insert("poster_url".to_string(), url); events.push(GatewaySearchEvent::EnrichPatch { + claims: Vec::new(), record_id: record_id.clone(), set, remove: vec!["posterPath".to_string()], diff --git a/feeder-plugin/tribler-feeder/src/tribler/mod.rs b/feeder-plugin/tribler-feeder/src/tribler/mod.rs index 80392f3..ac91857 100644 --- a/feeder-plugin/tribler-feeder/src/tribler/mod.rs +++ b/feeder-plugin/tribler-feeder/src/tribler/mod.rs @@ -490,6 +490,7 @@ impl TriblerPlugin { hash_kind: HashKind::BtV1File, bytes: None, record: Some(DiscoveryRecord { + claims: Vec::new(), upstream_id: "tribler".to_string(), record_id: record_id.to_string(), fields, @@ -997,6 +998,7 @@ impl FeederPlugin for TriblerPlugin { 0, torrent_name.clone(), DiscoveryRecord { + claims: Vec::new(), upstream_id: "tribler".to_string(), record_id: record_id.to_string(), fields: bibrec.clone(), @@ -1423,6 +1425,7 @@ fn into_discovery_record(item: TriblerItem) -> Option { // post-resolve, so the parsed fields land alongside it. Some(DiscoveryRecord { + claims: Vec::new(), upstream_id: "tribler".to_string(), record_id: infohash, fields, @@ -1488,6 +1491,7 @@ fn build_file_record( fields.remove(k); } DiscoveryRecord { + claims: Vec::new(), upstream_id: "tribler".to_string(), record_id: record_id.to_string(), fields, @@ -1502,6 +1506,7 @@ fn build_pack_record(bibrec: &BTreeMap, record_id: &str) -> Disc fields.remove("season"); fields.remove("episode"); DiscoveryRecord { + claims: Vec::new(), upstream_id: "tribler".to_string(), record_id: record_id.to_string(), fields,