Multi-Hoster-Upload-2/src-tauri/Cargo.toml
Claude c97c6b9469 Port Doodstream and VOE uploaders to Rust
- Doodstream: login_ajax + sess_id scrape from /?op=upload page +
    upload_server + multipart upload + XFS-style fn field + filecode
    extraction. Skips OTP path (v1 still has the full flow).
  - VOE: login page CSRF scrape + POST /login + fresh CSRF from
    /file-upload + /engine/delivery-node for CDN server + baseline
    my-files snapshot + multipart upload + file-list polling fallback
    when response is empty.

Both wire into the existing dispatcher (hosters::upload_file) and
pick up the same rotation/classifier layer as the other uploaders.

Release build clean: exe 7.0 MB, NSIS 2.5 MB, MSI 3.4 MB.
2026-04-20 17:14:09 +02:00

70 lines
1.6 KiB
TOML

[package]
name = "multi-hoster-upload"
version = "2.0.0"
description = "Multi-hoster file uploader"
edition = "2021"
default-run = "multi-hoster-upload"
rust-version = "1.77"
[build-dependencies]
tauri-build = { version = "2", features = [] }
[dependencies]
tauri = { version = "2", features = [] }
tauri-plugin-shell = "2"
tauri-plugin-dialog = "2"
tauri-plugin-opener = "2"
tauri-plugin-fs = "2"
tokio = { version = "1", features = ["full"] }
tokio-util = { version = "0.7", features = ["io", "io-util"] }
futures = "0.3"
futures-util = "0.3"
async-stream = "0.3"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "json", "multipart", "stream", "gzip", "cookies"] }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
serde_with = "3"
thiserror = "2"
anyhow = "1"
aes-gcm = { version = "0.10", features = ["std"] }
pbkdf2 = { version = "0.12", features = ["simple"] }
sha2 = "0.10"
hmac = "0.12"
rand = "0.8"
base64 = "0.22"
uuid = { version = "1", features = ["v4", "serde"] }
chrono = { version = "0.4", features = ["serde"] }
regex = "1"
once_cell = "1"
parking_lot = "0.12"
dashmap = "6"
bytes = "1"
mime_guess = "2"
urlencoding = "2"
percent-encoding = "2"
serde_urlencoded = "0.7"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt"] }
tracing-appender = "0.2"
scraper = "0.20"
[target.'cfg(windows)'.dependencies]
windows = { version = "0.58", features = ["Win32_Foundation", "Win32_Security_Cryptography", "Win32_System_Memory"] }
[profile.release]
panic = "abort"
codegen-units = 1
lto = true
opt-level = "s"
strip = true