Files
Modrinth-plus/apps/labrinth/Cargo.toml

137 lines
3.5 KiB
TOML
Raw Normal View History

2020-05-09 22:11:48 -07:00
[package]
name = "labrinth"
version = "2.7.0"
authors = ["geometrically <jai@modrinth.com>"]
edition = "2024"
license = "AGPL-3.0"
2020-05-09 22:11:48 -07:00
# This seems redundant, but it's necessary for Docker to work
[[bin]]
name = "labrinth"
path = "src/main.rs"
2020-05-09 22:11:48 -07:00
[dependencies]
actix-web = "4.10.2"
2024-01-14 12:36:11 -05:00
actix-rt = "2.9.0"
actix-multipart = "0.7.2"
actix-cors = "0.7.1"
actix-ws = "0.3.0"
2024-01-14 12:36:11 -05:00
actix-files = "0.6.5"
prometheus = "0.13.4" # Locked on 0.13 until actix updates to 0.14
actix-web-prom = { version = "0.9.0", features = ["process"] }
tracing = "0.1.41"
tracing-actix-web = "0.7.18"
console-subscriber = "0.4.1"
tokio = { version = "1.35.1", features = ["sync", "rt-multi-thread"] }
tokio-stream = "0.1.14"
2024-01-14 12:36:11 -05:00
futures = "0.3.30"
futures-util = "0.3.30"
async-trait = "0.1.70"
dashmap = "6.1.0"
lazy_static = "1.4.0"
2020-06-26 22:35:20 -07:00
meilisearch-sdk = "0.28.0"
rust-s3 = { version = "0.35.1", default-features = false, features = ["fail-on-err", "tags", "tokio-rustls-tls"] }
reqwest = { version = "0.12.15", features = ["json", "multipart"] }
hyper = { version = "1.6", features = ["full"] }
hyper-tls = "0.6.0"
hyper-util = "0.1.11"
2020-06-26 22:35:20 -07:00
serde = { version = "1.0", features = ["derive"] }
Commonized networking (#3310) * Fix not being able to connect to local friends socket * Start basic work on tunneling protocol and move some code into a common crate * Commonize message serialization logic * Serialize Base62Ids as u64 when human-readability is not required * Move ActiveSockets tuple into struct * Make CI run when rust-common is updated CI is currently broken for labrinth, however * Fix theseus-release.yml to reference itself correctly * Implement Labrinth side of tunneling * Implement non-friend part of theseus tunneling * Implement client-side except for socket loop * Implement the socket loop Doesn't work though. Debugging time! * Fix config.rs * Fix deadlock in labrinth socket handling * Update dockerfile * switch to workspace prepare at root level * Wait for connection before tunneling in playground * Move rust-common into labrinth * Remove rust-common references from Actions * Revert "Update dockerfile" This reverts commit 3caad59bb474ce425d0b8928d7cee7ae1a5011bd. * Fix Docker build * Rebuild Theseus if common code changes * Allow multiple connections from the same user * Fix test building * Move FriendSocketListening and FriendSocketStoppedListening to non-panicking TODO for now * Make message_serialization macro take varargs for binary messages * Improve syntax of message_serialization macro * Remove the ability to connect to a virtual socket, and disable the ability to listen on one * Allow the app to compile without running labrinth * Clippy fix * Update Rust and Clippy fix again --------- Co-authored-by: Jai A <jaiagr+gpg@pm.me>
2025-02-28 12:52:47 -06:00
serde_json = "1.0"
serde_with = "3.0.0"
chrono = { version = "0.4.26", features = ["serde"] }
yaserde = "0.12.0"
yaserde_derive = "0.12.0"
rand = "0.8.5" # Locked on 0.8 until argon2 updates to 0.9
rand_chacha = "0.3.1" # Locked on 0.3 until we can update rand to 0.9
bytes = "1.4.0"
base64 = "0.22.1"
sha1 = { version = "0.10.6", features = ["std"] }
sha2 = "0.10.9"
hmac = "0.12.1"
argon2 = { version = "0.5.0", features = ["std"] }
murmur2 = "0.1.0"
bitflags = "2.4.0"
hex = "0.4.3"
zxcvbn = "3.1.0"
2023-07-08 22:07:11 -07:00
totp-rs = { version = "5.0.2", features = ["gen_secret"] }
url = "2.4.0"
urlencoding = "2.1.2"
2020-06-26 22:35:20 -07:00
zip = "2.6.1"
2020-06-26 22:35:20 -07:00
itertools = "0.14.0"
2021-01-27 14:38:18 +01:00
validator = { version = "0.20.0", features = ["derive"] }
2024-01-14 12:36:11 -05:00
regex = "1.10.2"
censor = "0.3.0"
2024-01-14 12:36:11 -05:00
spdx = { version = "0.10.3", features = ["text"] }
dotenvy = "0.15.7"
thiserror = "2.0.12"
Commonized networking (#3310) * Fix not being able to connect to local friends socket * Start basic work on tunneling protocol and move some code into a common crate * Commonize message serialization logic * Serialize Base62Ids as u64 when human-readability is not required * Move ActiveSockets tuple into struct * Make CI run when rust-common is updated CI is currently broken for labrinth, however * Fix theseus-release.yml to reference itself correctly * Implement Labrinth side of tunneling * Implement non-friend part of theseus tunneling * Implement client-side except for socket loop * Implement the socket loop Doesn't work though. Debugging time! * Fix config.rs * Fix deadlock in labrinth socket handling * Update dockerfile * switch to workspace prepare at root level * Wait for connection before tunneling in playground * Move rust-common into labrinth * Remove rust-common references from Actions * Revert "Update dockerfile" This reverts commit 3caad59bb474ce425d0b8928d7cee7ae1a5011bd. * Fix Docker build * Rebuild Theseus if common code changes * Allow multiple connections from the same user * Fix test building * Move FriendSocketListening and FriendSocketStoppedListening to non-panicking TODO for now * Make message_serialization macro take varargs for binary messages * Improve syntax of message_serialization macro * Remove the ability to connect to a virtual socket, and disable the ability to listen on one * Allow the app to compile without running labrinth * Clippy fix * Update Rust and Clippy fix again --------- Co-authored-by: Jai A <jaiagr+gpg@pm.me>
2025-02-28 12:52:47 -06:00
either = "1.13"
2024-10-16 15:57:44 -07:00
sqlx = { version = "0.8.2", features = [
"runtime-tokio-rustls",
"postgres",
"chrono",
"macros",
"migrate",
"rust_decimal",
"json",
] }
2024-01-14 12:36:11 -05:00
rust_decimal = { version = "1.33.1", features = [
"serde-with-float",
"serde-with-str",
] }
redis = { version = "0.29.5", features = ["tokio-comp", "ahash", "r2d2"] } # Locked on 0.29 until deadpool-redis updates to 0.30
deadpool-redis = "0.20.0"
clickhouse = { version = "0.13.2", features = ["uuid", "time"] }
uuid = { version = "1.2.2", features = ["v4", "fast-rng", "serde"] }
maxminddb = "0.26.0"
flate2 = "1.0.25"
tar = "0.4.38"
sentry = { version = "0.37.0", default-features = false, features = ["backtrace", "contexts", "debug-images", "panic", "rustls", "reqwest"] }
sentry-actix = "0.37.0"
image = "0.25.6"
color-thief = "0.2.2"
webp = "0.3.0"
woothee = "0.13.0"
lettre = "0.11.3"
derive-new = "0.7.0"
rust_iso3166 = "0.1.11"
async-stripe = { version = "0.41.0", features = ["runtime-tokio-hyper-rustls"] }
rusty-money = "0.4.1"
json-patch = "4.0.0"
ariadne = { path = "../../packages/ariadne" }
clap = { version = "4.5", features = ["derive"] }
iana-time-zone = "0.1.61"
[target.'cfg(target_os = "linux")'.dependencies]
tikv-jemallocator = { version = "0.6.0", features = ["profiling", "unprefixed_malloc_on_supported_platforms"] }
tikv-jemalloc-ctl = { version = "0.6.0", features = ["stats"] }
jemalloc_pprof = { version = "0.7.0", features = ["flamegraph"] }
[dev-dependencies]
actix-http = "3.4.0"
[build-dependencies]
dotenv-build = "0.1.1"
chrono = "0.4.38"
iana-time-zone = "0.1.60"