[package] name = "zero4rs" version = "1.3.0" edition = "2021" build = "build.rs" authors = ["keesh.zhang"] description = "zero4rs is a powerful, pragmatic, and extremely fast web framework for Rust\n" homepage = "https://github.com/chunhui2001/zero4rs" documentation = "https://docs.rs/zero4rs" readme = "README.md" keywords = ["actix-web", "rust", "restful", "zero4rs"] categories = [ "web-programming", "web-programming::http-server", "rust-patterns", ] license = "MIT/Apache-2.0" repository = "https://github.com/chunhui2001/zero4rs" default-run = "zero4rs" include = ["**/*.rs", "Cargo.toml"] [lib] # We could use any path here, but we are following the community convention # We could specify a library name using the `name` field. If unspecified, # cargo will default to `package.name`, which is what we want. path = "src/lib.rs" # Notice the double square brackets: it's an array in TOML's syntax. # We can only have one library in a project, but we can have multiple binaries! # If you want to manage multiple libraries in the same repository # have a look at the workspace feature - we'll cover it later on. [[bin]] path = "src/main.rs" name = "zero4rs" [[bin]] path = "src/bin/awsv2.rs" name = "awsv2" [[bin]] path = "src/bin/awss3.rs" name = "awss3" [[bin]] path = "src/bin/youtube_dl.rs" name = "youtube-dl" [dependencies] rustc_version = "0.4.0" cargo-manifest = "0.14.0" clap = { version = "4.5.4", features = ["derive", "wrap_help"] } log = "0.4.21" log4rs = { version = "1.3.0", features = [ "rolling_file_appender", "compound_policy", "size_trigger", "fixed_window_roller", "gzip", ] } http = "1.1.0" mime = "0.3.17" awc = "3.5.0" envy = "0.4.2" dotenv = "0.15.0" dotenv_codegen = "0.15.0" config = "0.14.0" chrono = { version = "0.4.38", features = ["serde"] } chrono-tz = "0.9.0" num = "0.4.3" image = { version= "0.25.1"} crossbeam = "0.8.4" regex = "1.10.4" lazy-regex = "3.1.0" cached = "0.51.3" once_cell = "1.19.0" moka = { version = "0.12.7", features = ["future", "sync"] } human_bytes = { version = "0.4.3", features = ["fast"] } derive_more = { version = "1.0.0-beta.6", features = ["from", "display", "deref"] } anyhow = "1.0.86" serde = { version = "1.0.203", features = ["derive"] } serde_json = "1.0.117" serde_urlencoded = "0.7.1" serde_yaml = "0.9.34" serde_any = "0.5.0" serde_with = "3.8.1" serde_json_lodash = "0.1.16" bytes = { version = "1.6.0" } tera = "1.20.0" lazy_static = "1.4.0" pin-project-lite = "0.2.14" validator = { version = "0.18", features = ["derive"] } openssl = { version = "0.10" } futures = "0.3.30" futures-core = { version = "0.3.30" } futures-util = { version = "0.3.30" } uuid = { version = "1.8.0", features = ["v7", "serde"] } time = { version = "0.3.36", default-features = false, features = [ "formatting", ] } tokio = { version = "1.38.0", features = ["full"] } tokio-stream = "0.1.15" actix = "0.13.3" actix-http = "3.7.0" actix-proxy = "0.2.0" actix-server = "2.3.0" actix-codec = "0.5" actix-web = { version = "4.6.0", features = ["openssl", "rustls"] } actix-web-actors = "4.3.0" actix-web-lab = "0.20.2" actix-service = { version = "2.0.2" } actix-utils = { version = "3.0.1" } actix-cors = { version = "0.7.0" } actix-files = { version = "0.6.5" } actix-rt = "2.9.0" actix-extensible-rate-limit = "0.3.1" # actix-web-validator = { git = "https://github.com/chunhui2001/actix-web-validator.git", rev = "refs/tags/5.2.0" } actix-web-validator5 = { version = "1.0.0" } actix-session = { version = "0.9.0", features = [ "cookie-session", "redis-rs-tls-session", ] } actix-middleware-etag = "0.3.0" actix-multipart = "0.6.1" serde-querystring-actix = "0.2.0" sqlx = { version = "0.7.4", default-features = false, features = [ "runtime-async-std-native-tls", "macros", "postgres", "mysql", "chrono", "json", "uuid", "bigdecimal", ] } secrecy = { version = "0.8.0", features = ["serde"] } unicode-segmentation = "1.11.0" reqwest = { version = "0.12.4", default-features = false, features = [ "json", "rustls-tls", "stream", "blocking" ] } base64 = "0.22.1" rand = { version = "0.8.5", features = ["std_rng"] } thiserror = "1.0.61" sha3 = "0.10.8" argon2 = "0.5.3" urlencoding = "2.1.3" htmlescape = "0.3.1" hmac = { version = "0.12.1", features = ["std"] } sha2 = "0.10.8" hex = "0.4.3" actix-web-flash-messages = { version = "0.4.2", features = ["cookies"] } byte-unit = "5.1.4" log-mdc = "0.1.0" thread-id = "4.2.1" async-stream = "0.3.5" uaparser = "0.6.3" captcha = "0.0.9" redis = { version = "0.25.4", features = [ "aio", "connection-manager", "r2d2", "async-std-native-tls-comp", "cluster", "sentinel", "async-std-comp", "cluster-async", ] } async-fred-session = "0.1.5" rdkafka = { version = "0.36.2", features = ["cmake-build"] } sasl2-sys = { version = "0.1.22", features = ["vendored"] } parking_lot = "0.12.3" derivative = "2.2.0" actix-request-identifier = "4.2.0" cron = "0.12.1" strum = { version = "0.26.2", features = ["derive"] } strum_macros = "0.26.3" rayon = "1.10.0" mongodb = { version = "2.8.2", features = ["tokio-runtime"] } mongodb-gridfs = { version = "0.2.7", features = ["tokio-runtime"] } async-std = { version = "1.12.0" } md5 = "0.7.0" encoding_rs = "0.8.34" encoding_rs_io = "0.1.7" query_map = {version = "0.7.0", features = ["url-query"]} form_urlencoded = "1.2.1" jsonwebtoken = "9.3.0" multimap = "0.10.0" url = "2.5.0" env_logger = "0.11.3" # https://async-graphql.github.io/async-graphql/zh-CN/index.html async-graphql = { version = "7.0.5", features = ["bson", "chrono"] } async-graphql-actix-web = "7.0.5" bson = "2.10.0" elasticsearch = "8.5.0-alpha.1" handlebars = "5.1.2" tungstenite = { version = "0.23.0", features = ["native-tls"] } tokio-tungstenite = { version = "0.23.0", features = ["native-tls"] } futures-channel = "0.3.30" rustflake = "0.1.1" bigdecimal = { version = "0.4.3", features = ["serde"] } rust_decimal = { version = "1.35.0", features = ["serde"] } ethnum = "1.5.0" zookeeper-client = "0.8.0" juniper = "0.16.1" sqlx-mysql = "0.7.4" sqlx-core = "0.7.4" rustube = { version = "0.6.0", features = ["download", "std", "callback"] } indicatif = "0.17.8" fern = { version = "0.6.2", features = ["colored"] } bitflags = "2.5.0" csv = "1.3.0" csv-core = "0.1.11" mime_guess = "2.0.4" typed-builder = "0.18.2" harsh = "0.2.2" aes = "0.7.5" #aes = "0.8.4" cbc = "0.1.2" block-modes = "0.8.1" # block_modes = { git = "https://github.com/RustCrypto/block-modes.git" } cookie = "0.18.1" bytestring = "1.3.1" deadpool = "0.12.1" deadpool-lapin = "0.12.1" aws-sdk-s3 = "1.32.0" aws-config = "1.5.0" struct-merge = "0.1.1" prefixed-api-key = "=0.2.0" smallvec = "1.13.2" sequoia-openpgp = "1.20.0" nettle = "7.4.0" ed25519-dalek = "2.1.1" alphaid = "0.2.0" chksum-md5 = "0.0.0" actix-ws = "0.2.5" qrcode = { version = "0.14.0" } rqrr = "0.7.1" sha1 = "0.10.6" indexmap = "2.2.6" google_maps2 = { version="3.5.2", features = [ "directions", "distance_matrix", "elevation", "geocoding", "time_zone", "autocomplete", "roads", "places", "enable-reqwest", # "reqwest/default-tls", # "reqwest/gzip", "enable-reqwest-middleware", # # rust_decimal features: # "rust_decimal/serde", ] }