mirror of
https://github.com/narrrl/proton-sdk-rs.git
synced 2026-11-03 16:41:26 +01:00
added license, author, metadata
This commit is contained in:
1 parent
20fe359162
commit
b9742e122a
7 files changed
+124
-5
No files matched your search
+7
-3
@@ -4,10 +4,14 @@ members = ["crates/proton-sdk", "crates/proton-drive-sdk"]
|
|||||||
|
|
||||||
[workspace.package]
|
[workspace.package]
|
||||||
version = "0.1.0"
|
version = "0.1.0"
|
||||||
edition = "2021"
|
edition = "2024"
|
||||||
license = "MIT"
|
license = "MIT"
|
||||||
repository = "https://github.com/ProtonDriveApps/sdk"
|
repository = "https://github.com/narrrl/proton-sdk-rs"
|
||||||
rust-version = "1.80"
|
homepage = "https://github.com/narrrl/proton-sdk-rs"
|
||||||
|
rust-version = "1.96"
|
||||||
|
authors = ["Nils Pukropp <contact@narl.io>"]
|
||||||
|
keywords = ["proton", "drive", "openpgp", "encryption", "sdk"]
|
||||||
|
categories = ["api-bindings", "cryptography", "filesystem"]
|
||||||
|
|
||||||
[workspace.dependencies]
|
[workspace.dependencies]
|
||||||
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "fs", "io-util", "time"] }
|
tokio = { version = "1", features = ["rt-multi-thread", "macros", "sync", "fs", "io-util", "time"] }
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
The MIT License
|
||||||
|
|
||||||
|
This project (proton-sdk-rs) is an independent, unofficial pure-Rust port of the
|
||||||
|
Proton Drive SDK (https://github.com/ProtonDriveApps/sdk). It is a derivative
|
||||||
|
work: the protocol behavior and cryptographic design are reimplemented from the
|
||||||
|
upstream MIT-licensed C# reference. It is not affiliated with or endorsed by
|
||||||
|
Proton AG.
|
||||||
|
|
||||||
|
Copyright (c) 2025-2026 Proton AG (original Proton Drive SDK)
|
||||||
|
Copyright (c) 2026 Nils Pukropp (Rust port)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
@@ -40,7 +40,11 @@ and does the OpenPGP crypto directly. The canonical reference is the upstream
|
|||||||
Not yet implemented: cross-volume move (needs `NewShareID` + re-signing),
|
Not yet implemented: cross-volume move (needs `NewShareID` + re-signing),
|
||||||
sharing, signature-verification *enforcement* (it is non-fatal metadata).
|
sharing, signature-verification *enforcement* (it is non-fatal metadata).
|
||||||
|
|
||||||
Crypto paths have offline round-trip tests
|
All crypto paths have offline round-trip tests, and the read/write surface
|
||||||
|
(upload/download round-trips, AEAD + streaming + thumbnails, enumeration,
|
||||||
|
folder/node ops, move, and the event feed) is covered by a **live integration
|
||||||
|
test suite** validated against a real Proton account — see
|
||||||
|
`crates/proton-drive-sdk/tests/live_*.rs`.
|
||||||
|
|
||||||
## Workspace
|
## Workspace
|
||||||
|
|
||||||
@@ -110,6 +114,21 @@ cargo build # 0 warnings / 0 errors
|
|||||||
cargo test # offline crypto + derivation round-trip tests
|
cargo test # offline crypto + derivation round-trip tests
|
||||||
```
|
```
|
||||||
|
|
||||||
|
The `crates/proton-drive-sdk/tests/live_*.rs` suite runs the read/write surface
|
||||||
|
against a real account. These tests are `#[ignore]`d by default (they need
|
||||||
|
credentials) and each cleans up after itself. With `.env` (`username` /
|
||||||
|
`password`) and `PROTON_TOTP_SECRET` set:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# all live tests, single-threaded (shared test account)
|
||||||
|
PROTON_TOTP_SECRET=... cargo test -p proton-drive-sdk --test 'live_*' \
|
||||||
|
-- --ignored --nocapture --test-threads=1
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: AEAD upload (SEIPDv2) is **server-gated** behind the
|
||||||
|
`DriveCryptoEncryptBlocksWithPgpAead` feature flag; that test no-ops when the
|
||||||
|
flag is off for the account.
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
MIT, matching upstream. The MIT license covers this source only; use of Proton's
|
MIT, matching upstream. The MIT license covers this source only; use of Proton's
|
||||||
|
|||||||
@@ -5,10 +5,16 @@ version.workspace = true
|
|||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
repository.workspace = true
|
repository.workspace = true
|
||||||
|
homepage.workspace = true
|
||||||
|
authors.workspace = true
|
||||||
|
keywords.workspace = true
|
||||||
|
categories.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
readme = "../../README.md"
|
||||||
|
documentation = "https://docs.rs/proton-drive-sdk"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
proton-sdk = { path = "../proton-sdk" }
|
proton-sdk = { path = "../proton-sdk", version = "0.1.0" }
|
||||||
tokio.workspace = true
|
tokio.workspace = true
|
||||||
reqwest.workspace = true
|
reqwest.workspace = true
|
||||||
serde.workspace = true
|
serde.workspace = true
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
The MIT License
|
||||||
|
|
||||||
|
This project (proton-sdk-rs) is an independent, unofficial pure-Rust port of the
|
||||||
|
Proton Drive SDK (https://github.com/ProtonDriveApps/sdk). It is a derivative
|
||||||
|
work: the protocol behavior and cryptographic design are reimplemented from the
|
||||||
|
upstream MIT-licensed C# reference. It is not affiliated with or endorsed by
|
||||||
|
Proton AG.
|
||||||
|
|
||||||
|
Copyright (c) 2025-2026 Proton AG (original Proton Drive SDK)
|
||||||
|
Copyright (c) 2026 Nils Pukropp (Rust port)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
@@ -5,7 +5,13 @@ version.workspace = true
|
|||||||
edition.workspace = true
|
edition.workspace = true
|
||||||
license.workspace = true
|
license.workspace = true
|
||||||
repository.workspace = true
|
repository.workspace = true
|
||||||
|
homepage.workspace = true
|
||||||
|
authors.workspace = true
|
||||||
|
keywords.workspace = true
|
||||||
|
categories.workspace = true
|
||||||
rust-version.workspace = true
|
rust-version.workspace = true
|
||||||
|
readme = "../../README.md"
|
||||||
|
documentation = "https://docs.rs/proton-sdk"
|
||||||
|
|
||||||
[dependencies]
|
[dependencies]
|
||||||
tokio.workspace = true
|
tokio.workspace = true
|
||||||
|
|||||||
@@ -0,0 +1,28 @@
|
|||||||
|
The MIT License
|
||||||
|
|
||||||
|
This project (proton-sdk-rs) is an independent, unofficial pure-Rust port of the
|
||||||
|
Proton Drive SDK (https://github.com/ProtonDriveApps/sdk). It is a derivative
|
||||||
|
work: the protocol behavior and cryptographic design are reimplemented from the
|
||||||
|
upstream MIT-licensed C# reference. It is not affiliated with or endorsed by
|
||||||
|
Proton AG.
|
||||||
|
|
||||||
|
Copyright (c) 2025-2026 Proton AG (original Proton Drive SDK)
|
||||||
|
Copyright (c) 2026 Nils Pukropp (Rust port)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
Reference in new issue
Block a user