- Convert tuimail repo to Cargo workspace with tuimail and proton-bridge members - Add proton-bridge binary crate with config, SRP 6a, and auth modules - Implement ProtonMail SRP 6a exactly matching go-srp: - Little-endian bigints throughout - expandHash = SHA512(data||0..3) producing 256 bytes - k, u, M1, M2 all via expandHash with 256-byte normalised inputs - Password hashing v3/v4: bcrypt($2y$, salt+proton) + expandHash(output||N) - Authenticate against Proton API (auth/info → auth/v4), verify server proof - Persist session (UID, access/refresh tokens) to session.json - Add bridge.toml and session.json to .gitignore (contain credentials/tokens) - Add PROTON.md with full build plan for the mini-bridge Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
16 lines
459 B
TOML
16 lines
459 B
TOML
[package]
|
|
name = "proton-bridge"
|
|
version = "0.1.0"
|
|
edition = "2024"
|
|
|
|
[dependencies]
|
|
tokio = { version = "1", features = ["net", "io-util", "rt-multi-thread", "macros"] }
|
|
reqwest = { version = "0.12", default-features = false, features = ["json", "native-tls"] }
|
|
serde = { version = "1.0", features = ["derive"] }
|
|
serde_json = "1.0"
|
|
toml = "1.0"
|
|
sha2 = "0.10"
|
|
num-bigint = "0.4"
|
|
base64 = "0.22"
|
|
rand = "0.8"
|
|
pwhash = "0.3" # bcrypt with caller-supplied salt
|