Magazi is a content distribution platform that gates access to files using ATProtocol (Bluesky) identity and cryptographic proofs.
download.ngerakines.me/
atprotocol
appview
atprotocol-attestations
1[package]
2name = "magazi"
3version = "0.1.0"
4edition = "2024"
5
6[dependencies]
7# Web framework
8axum = { version = "0.8" }
9axum-extra = { version = "0.12", features = ["cookie-signed", "cookie-private", "typed-header"] }
10tower = "0.5"
11tower-http = { version = "0.6", features = ["trace", "set-header", "limit"] }
12
13# Async runtime
14tokio = { version = "1", features = ["macros", "fs", "sync", "net", "rt-multi-thread"] }
15
16# ATProtocol crates
17atproto-client = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
18atproto-oauth = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
19atproto-attestation = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
20atproto-identity = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
21atproto-record = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
22atproto-xrpcs = { git = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" }
23
24# HTTP client
25reqwest = { version = "0.12", features = ["json"] }
26
27# Serialization
28serde = { version = "1", features = ["derive"] }
29serde_json = "1"
30
31# Templating
32minijinja = "2"
33minijinja-embed = "2.7"
34
35# Cryptography
36base64 = "0.22"
37p256 = { version = "0.13", features = ["ecdsa", "pkcs8", "pem"] }
38
39# URL encoding
40urlencoding = "2"
41
42# MIME type guessing
43mime_guess = "2"
44mimetype-detector = "0.3"
45
46# Streaming file reads
47tokio-util = { version = "0.7", features = ["io"] }
48
49# Time for cookies
50time = "0.3"
51
52# Time
53chrono = { version = "0.4", features = ["serde"] }
54
55# Async traits
56async-trait = "0.1"
57
58# Error handling
59anyhow = "1"
60thiserror = "1"
61
62# Logging
63tracing = "0.1"
64tracing-subscriber = { version = "0.3", features = ["env-filter"] }
65
66# UUID for nonces
67uuid = { version = "1", features = ["v4"] }
68
69# Caching
70moka = { version = "0.12", features = ["future"] }
71
72# CID generation
73cid = "0.11"
74multihash-codetable = { version = "0.1", features = ["sha2"] }
75
76# JSONLogic rule evaluation
77datalogic-rs = "4"
78
79[build-dependencies]
80minijinja-embed = "2.7"