Add upload verification tokens and ghost file rollback#5
Open
pwnorbitals wants to merge 1 commit intorclone:masterfrom
Open
Add upload verification tokens and ghost file rollback#5pwnorbitals wants to merge 1 commit intorclone:masterfrom
pwnorbitals wants to merge 1 commit intorclone:masterfrom
Conversation
Fixes two issues with Proton Drive uploads: 1. Per-block verification tokens (fixes Code=200501 upload failures): Proton's API now requires calling the verification endpoint before uploading blocks and including a Verifier.Token per block computed by XORing the verification code with the first 32 bytes of each encrypted block. Also passes VolumeID in the block upload request. 2. Ghost file rollback on upload failure: When block upload fails (step 2) or revision commit fails (step 3), the draft link is now permanently deleted via DeleteChildren to prevent ghost entries that block future uploads with the same filename. Also handles corrupted active links in handleRevisionConflict by deleting them when replace_existing_draft is enabled. Depends on: rclone/go-proton-api#<PR> (verification endpoint support) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes two issues with Proton Drive uploads:
Verifier.Tokenper block, computed by XORing the verification code with the first 32 bytes of each encrypted block. Also passesVolumeIDin the block upload request.DeleteChildrento prevent ghost entries that block future uploads with the same filename. Also handles corrupted active links inhandleRevisionConflictby deleting them whenreplace_existing_draftis enabled.Context
Since late 2025, Proton has been rolling out a breaking change to their block upload API. This PR implements the client-side changes needed in the API bridge. See rclone/rclone#8870 and forum discussion.
Depends on rclone/go-proton-api#7 (verification endpoint support).
Test plan
replace_existing_draft=truehandles corrupted active linksMade with the help of Claude Opus 4.6 (claude-opus-4-6)