pocket-relay 0.2.0

Pocket Relay Server
[workspace.package]

version = "0.2.0"

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"



[package]

name = "pocket-relay"

description = "Pocket Relay Server"

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

readme = "README.md"

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

# Glob to ensure resources is included 

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



version.workspace = true

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 = "^0.8"

# Blaze SSLv3 async TCPStream implementation

blaze-ssl-async = "^0.3"



# Isolated database crate

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



# 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.4"



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

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



# .env file loader

dotenvy = "0.15"



# Library for obtaining the local IP address of the device

local-ip-address = "0.5.0"



# 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"]



[dependencies.regex]

version = "1"

default-features = false

features = ["std"]



# Logging provider 

[dependencies.log4rs]

version = "1.2.0"

default-features = false

features = [

    "gzip",

    "console_appender",

    "rolling_file_appender",

    "compound_policy",

    "fixed_window_roller",

    "size_trigger",

]



[profile.release]

strip = true

lto = true