pocket-relay 0.3.3

Pocket Relay Server
[workspace.package]

edition = "2021"

license = "MIT"

authors = ["Jacobtread <jacobtread@gmail.com>"]

repository = "https://github.com/PocketRelay/ServerRust"



[workspace]

members = [".", "database"]



[workspace.dependencies]

# Serde for serialization mostly in the HTTP server but also

# used elsewhere to do define custom serialization

serde = { version = "1", features = ["derive"] }



# Logging facade

log = "0.4"



[workspace.dependencies.chrono]

version = "0.4"

default-features = false

features = ["std", "serde"]



[package]

name = "pocket-relay"

version = "0.3.3"

description = "Pocket Relay Server"

repository = "https://github.com/PocketRelay/Server"

readme = "README.md"

keywords = ["EA", "PocketRelay", "MassEffect"]

# Glob to ensure resources is included 

include = ["src/**/*"]



edition.workspace = true

license.workspace = true

authors.workspace = true



[features]

default = ["database-sqlite"]

database-sqlite = ["database/sqlite"]

database-mysql = ["database/mysql"]



[dependencies]

log = { workspace = true }

serde = { workspace = true }



# Blaze packet system 

blaze-pk = "1"

# Blaze SSLv3 async TCPStream implementation

blaze-ssl-async = "^0.3"



# Isolated database crate

database = { path = "database", package = "pocket-relay-database", version = "^0.3" }



# Resource embedding using debug-embed to always resolve relative to the Cargo.toml file

rust-embed = { version = "6.4.2", features = ["debug-embed"] }



# Password hashing

argon2 = "0.5"



base64ct = { version = "1.5", features = ["alloc"] }

flate2 = { version = "1", features = ["zlib"], default-features = false }

ring = "0.16"



# .env file loader

dotenvy = "0.15"



# Library for obtaining the local IP address of the device

local-ip-address = "0.5"



thiserror = "1"

validator = { version = "0.16", features = ["derive"] }



interlink = "0.1"

tokio-util = { version = "0.7", features = ["codec"] }

futures = "0.3"



# Tokio async runtime

[dependencies.tokio]

version = "1"

features = [

    "fs",

    "macros",

    "net",

    "parking_lot",

    "rt-multi-thread",

    "signal",

    "sync",

]



# Axum web framework

[dependencies.axum]

version = "0.6.1"

default-features = false

features = ["http1", "json", "query", "tokio"]



# HTTP Client

[dependencies.reqwest]

version = "0.11.12"

default-features = false

features = ["json", "rustls-tls"]



# Logging provider 

[dependencies.log4rs]

version = "1.2.0"

default-features = false

features = ["console_appender", "file_appender"]



[patch.crates-io]

local-ip-address = { git = "https://github.com/jacobtread/local-ip-address.git" }



[profile.release]

strip = true

lto = true



# The profile that 'cargo dist' will build with

[profile.dist]

inherits = "release"

lto = "thin"