parent
3f8c28b26f
commit
290acf6acc
7 changed files with 72 additions and 52 deletions
80
Cargo.lock
generated
80
Cargo.lock
generated
|
@ -4,15 +4,15 @@ version = 3
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "activitypub_federation"
|
name = "activitypub_federation"
|
||||||
version = "0.2.0"
|
version = "0.2.2"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "446e75aefabf78ed9cc7e175f0d90c74f478086fb9bc571a9614fb0b7cbe35d4"
|
checksum = "690ed975ab70b883b4f0776f60fd7f23a7484a49f4257e7672e64d0990e95771"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"activitypub_federation_derive",
|
"activitypub_federation_derive",
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"background-jobs",
|
"background-jobs 0.13.0",
|
||||||
"base64",
|
"base64",
|
||||||
"chrono",
|
"chrono",
|
||||||
"derive_builder 0.11.2",
|
"derive_builder 0.11.2",
|
||||||
|
@ -479,8 +479,18 @@ version = "0.12.0"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "5c301b3ccb60fa2aadb4da111e27b257ddc4f0509848c43c85764dc14f7a49a3"
|
checksum = "5c301b3ccb60fa2aadb4da111e27b257ddc4f0509848c43c85764dc14f7a49a3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"background-jobs-actix",
|
"background-jobs-actix 0.12.0",
|
||||||
"background-jobs-core",
|
"background-jobs-core 0.12.0",
|
||||||
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "background-jobs"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "793a813f9145c5f3a27b8dcd834c0927de68bbd60d53a369e5894f3cc5759020"
|
||||||
|
dependencies = [
|
||||||
|
"background-jobs-actix 0.13.0",
|
||||||
|
"background-jobs-core 0.13.0",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
|
@ -493,7 +503,7 @@ dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"async-mutex",
|
"async-mutex",
|
||||||
"async-trait",
|
"async-trait",
|
||||||
"background-jobs-core",
|
"background-jobs-core 0.12.0",
|
||||||
"num_cpus",
|
"num_cpus",
|
||||||
"serde",
|
"serde",
|
||||||
"serde_json",
|
"serde_json",
|
||||||
|
@ -504,6 +514,27 @@ dependencies = [
|
||||||
"uuid 0.8.2",
|
"uuid 0.8.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "background-jobs-actix"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "8660626a2d8781b50cbe0e3b63d8e2a7e08a90e80fa2bca8e8cc19deff72ebf4"
|
||||||
|
dependencies = [
|
||||||
|
"actix-rt",
|
||||||
|
"anyhow",
|
||||||
|
"async-mutex",
|
||||||
|
"async-trait",
|
||||||
|
"background-jobs-core 0.13.0",
|
||||||
|
"num_cpus",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"thiserror",
|
||||||
|
"tokio",
|
||||||
|
"tracing",
|
||||||
|
"tracing-futures",
|
||||||
|
"uuid 1.1.2",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "background-jobs-core"
|
name = "background-jobs-core"
|
||||||
version = "0.12.0"
|
version = "0.12.0"
|
||||||
|
@ -523,6 +554,25 @@ dependencies = [
|
||||||
"uuid 0.8.2",
|
"uuid 0.8.2",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "background-jobs-core"
|
||||||
|
version = "0.13.0"
|
||||||
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
|
checksum = "48e78e842fe2ae461319e3d1843c12e301630e65650332b02032ac70b0dfc66f"
|
||||||
|
dependencies = [
|
||||||
|
"actix-rt",
|
||||||
|
"anyhow",
|
||||||
|
"async-trait",
|
||||||
|
"event-listener",
|
||||||
|
"serde",
|
||||||
|
"serde_json",
|
||||||
|
"thiserror",
|
||||||
|
"time 0.3.14",
|
||||||
|
"tracing",
|
||||||
|
"tracing-futures",
|
||||||
|
"uuid 1.1.2",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "base64"
|
name = "base64"
|
||||||
version = "0.13.0"
|
version = "0.13.0"
|
||||||
|
@ -2189,7 +2239,7 @@ dependencies = [
|
||||||
"actix-web",
|
"actix-web",
|
||||||
"actix-web-actors",
|
"actix-web-actors",
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"background-jobs",
|
"background-jobs 0.12.0",
|
||||||
"chrono",
|
"chrono",
|
||||||
"diesel",
|
"diesel",
|
||||||
"lemmy_api_common",
|
"lemmy_api_common",
|
||||||
|
@ -2570,9 +2620,9 @@ checksum = "e82dad04139b71a90c080c8463fe0dc7902db5192d939bd0950f074d014339e1"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl"
|
name = "openssl"
|
||||||
version = "0.10.41"
|
version = "0.10.42"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "618febf65336490dfcf20b73f885f5651a0c89c64c2d4a8c3662585a70bf5bd0"
|
checksum = "12fc0523e3bd51a692c8850d075d74dc062ccf251c0110668cbd921917118a13"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags",
|
"bitflags",
|
||||||
"cfg-if",
|
"cfg-if",
|
||||||
|
@ -2602,9 +2652,9 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf"
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "openssl-sys"
|
name = "openssl-sys"
|
||||||
version = "0.9.75"
|
version = "0.9.76"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "e5f9bd0c2710541a3cda73d6f9ac4f1b240de4ae261065d309dbe73d9dceb42f"
|
checksum = "5230151e44c0f05157effb743e8d517472843121cf9243e8b81393edb5acd9ce"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"autocfg",
|
"autocfg",
|
||||||
"cc",
|
"cc",
|
||||||
|
@ -3829,18 +3879,18 @@ dependencies = [
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror"
|
name = "thiserror"
|
||||||
version = "1.0.35"
|
version = "1.0.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "c53f98874615aea268107765aa1ed8f6116782501d18e53d08b471733bea6c85"
|
checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"thiserror-impl",
|
"thiserror-impl",
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "thiserror-impl"
|
name = "thiserror-impl"
|
||||||
version = "1.0.35"
|
version = "1.0.37"
|
||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f8b463991b4eab2d801e724172285ec4195c650e8ec79b149e6c2a8e6dd3f783"
|
checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"proc-macro2 1.0.43",
|
"proc-macro2 1.0.43",
|
||||||
"quote 1.0.21",
|
"quote 1.0.21",
|
||||||
|
|
|
@ -22,7 +22,7 @@ lemmy_db_views_moderator = { version = "=0.16.5", path = "../db_views_moderator"
|
||||||
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
||||||
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
||||||
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
||||||
activitypub_federation = "0.2.0"
|
activitypub_federation = { version = "0.2.2" }
|
||||||
diesel = "2.0.0"
|
diesel = "2.0.0"
|
||||||
bcrypt = "0.13.0"
|
bcrypt = "0.13.0"
|
||||||
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
||||||
|
|
|
@ -16,7 +16,7 @@ lemmy_db_views = { version = "=0.16.5", path = "../db_views", features = ["full"
|
||||||
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
||||||
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
||||||
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
||||||
activitypub_federation = "0.2.0"
|
activitypub_federation = { version = "0.2.2" }
|
||||||
bcrypt = "0.13.0"
|
bcrypt = "0.13.0"
|
||||||
serde_json = { version = "1.0.85", features = ["preserve_order"] }
|
serde_json = { version = "1.0.85", features = ["preserve_order"] }
|
||||||
serde = { version = "1.0.145", features = ["derive"] }
|
serde = { version = "1.0.145", features = ["derive"] }
|
||||||
|
|
|
@ -20,7 +20,7 @@ lemmy_db_views = { version = "=0.16.5", path = "../db_views", features = ["full"
|
||||||
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
lemmy_db_views_actor = { version = "=0.16.5", path = "../db_views_actor", features = ["full"] }
|
||||||
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
lemmy_api_common = { version = "=0.16.5", path = "../api_common", features = ["full"] }
|
||||||
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
lemmy_websocket = { version = "=0.16.5", path = "../websocket" }
|
||||||
activitypub_federation = "0.2.0"
|
activitypub_federation = { version = "0.2.2" }
|
||||||
diesel = "2.0.0"
|
diesel = "2.0.0"
|
||||||
activitystreams-kinds = "0.2.1"
|
activitystreams-kinds = "0.2.1"
|
||||||
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
chrono = { version = "0.4.22", features = ["serde"], default-features = false }
|
||||||
|
|
|
@ -2,7 +2,7 @@ use crate::fetcher::post_or_comment::PostOrComment;
|
||||||
use activitypub_federation::{
|
use activitypub_federation::{
|
||||||
core::signatures::PublicKey,
|
core::signatures::PublicKey,
|
||||||
traits::{Actor, ApubObject},
|
traits::{Actor, ApubObject},
|
||||||
InstanceSettingsBuilder,
|
InstanceSettings,
|
||||||
LocalInstance,
|
LocalInstance,
|
||||||
};
|
};
|
||||||
use anyhow::Context;
|
use anyhow::Context;
|
||||||
|
@ -34,13 +34,14 @@ static CONTEXT: Lazy<Vec<serde_json::Value>> = Lazy::new(|| {
|
||||||
fn local_instance(context: &LemmyContext) -> &'static LocalInstance {
|
fn local_instance(context: &LemmyContext) -> &'static LocalInstance {
|
||||||
static LOCAL_INSTANCE: OnceCell<LocalInstance> = OnceCell::new();
|
static LOCAL_INSTANCE: OnceCell<LocalInstance> = OnceCell::new();
|
||||||
LOCAL_INSTANCE.get_or_init(|| {
|
LOCAL_INSTANCE.get_or_init(|| {
|
||||||
let settings = InstanceSettingsBuilder::default()
|
let settings = InstanceSettings::builder()
|
||||||
.http_fetch_retry_limit(context.settings().federation.http_fetch_retry_limit)
|
.http_fetch_retry_limit(context.settings().federation.http_fetch_retry_limit)
|
||||||
.worker_count(context.settings().federation.worker_count)
|
.worker_count(context.settings().federation.worker_count)
|
||||||
.debug(context.settings().federation.debug)
|
.debug(context.settings().federation.debug)
|
||||||
// TODO No idea why, but you can't pass context.settings() to the verify_url_function closure
|
// TODO No idea why, but you can't pass context.settings() to the verify_url_function closure
|
||||||
// without the value getting captured.
|
// without the value getting captured.
|
||||||
.verify_url_function(|url| check_apub_id_valid(url, &SETTINGS))
|
.verify_url_function(|url| check_apub_id_valid(url, &SETTINGS))
|
||||||
|
.http_signature_compat(true)
|
||||||
.build()
|
.build()
|
||||||
.expect("configure federation");
|
.expect("configure federation");
|
||||||
LocalInstance::new(
|
LocalInstance::new(
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
[package]
|
|
||||||
name = "lemmy_apub_lib"
|
|
||||||
version = "0.16.3"
|
|
||||||
edition = "2021"
|
|
||||||
description = "A link aggregator for the fediverse"
|
|
||||||
license = "AGPL-3.0"
|
|
||||||
homepage = "https://join-lemmy.org/"
|
|
||||||
documentation = "https://join-lemmy.org/docs/en/index.html"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
lemmy_utils = { version = "=0.16.3", path = "../utils" }
|
|
||||||
lemmy_apub_lib_derive = { version = "=0.16.3", path = "../apub_lib_derive" }
|
|
||||||
chrono = { version = "0.4.19", default-features = false }
|
|
||||||
serde = { version = "1.0.136", features = ["derive"] }
|
|
||||||
async-trait = "0.1.53"
|
|
||||||
url = { version = "2.2.2", features = ["serde"] }
|
|
||||||
serde_json = { version = "1.0.79", features = ["preserve_order"] }
|
|
||||||
anyhow = "1.0.56"
|
|
||||||
reqwest = { version = "0.11.10", features = ["json"] }
|
|
||||||
reqwest-middleware = "0.1.5"
|
|
||||||
tracing = "0.1.32"
|
|
||||||
base64 = "0.13.0"
|
|
||||||
openssl = "0.10.38"
|
|
||||||
once_cell = "1.10.0"
|
|
||||||
http = "0.2.6"
|
|
||||||
sha2 = "0.10.2"
|
|
||||||
actix-web = { version = "4.0.1", default-features = false }
|
|
||||||
http-signature-normalization-actix = { version = "0.6.1", default-features = false, features = ["server", "sha-2"] }
|
|
||||||
http-signature-normalization-reqwest = { version = "0.5.0", default-features = false, features = ["sha-2", "middleware"] }
|
|
||||||
background-jobs = "0.12.0"
|
|
||||||
diesel = { version = "2.0.0-rc.0", features = ["chrono"] }
|
|
|
@ -24,7 +24,7 @@ url = { version = "2.3.1", features = ["serde"] }
|
||||||
strum = "0.24.1"
|
strum = "0.24.1"
|
||||||
strum_macros = "0.24.3"
|
strum_macros = "0.24.3"
|
||||||
serde_json = { version = "1.0.85", features = ["preserve_order"], optional = true }
|
serde_json = { version = "1.0.85", features = ["preserve_order"], optional = true }
|
||||||
activitypub_federation = { version = "0.2.0", optional = true }
|
activitypub_federation = { version = "0.2.2", optional = true }
|
||||||
lemmy_utils = { version = "=0.16.5", path = "../utils", optional = true }
|
lemmy_utils = { version = "=0.16.5", path = "../utils", optional = true }
|
||||||
bcrypt = { version = "0.13.0", optional = true }
|
bcrypt = { version = "0.13.0", optional = true }
|
||||||
diesel = { version = "2.0.0", features = ["postgres","chrono","r2d2","serde_json"], optional = true }
|
diesel = { version = "2.0.0", features = ["postgres","chrono","r2d2","serde_json"], optional = true }
|
||||||
|
|
Loading…
Reference in a new issue