GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Add upload verification tokens and ghost file rollback by pwnorbitals · Pull Request #5 · rclone/Proton-API-Bridge

Conversation

@pwnorbitals

@pwnorbitals pwnorbitals commented Mar 19, 2026

Copy link
Copy Markdown

Summary

Fixes two issues with Proton Drive uploads:

  • 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.
  • Ghost file rollback on upload failure: When block upload (step 2) or revision commit (step 3) fails, 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.

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

  • Upload a small text file to Proton Drive via rclone
  • Upload a file larger than 4 MB (multi-block)
  • Simulate a block upload failure and verify the draft is cleaned up (no ghost entry)
  • Verify replace_existing_draft=true handles corrupted active links

Made with the help of Claude Opus 4.6 (claude-opus-4-6)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Chris de Claverie @claude
Add upload verification tokens and ghost file rollback
b9e7e82
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 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

No reviews

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

1 participant

@pwnorbitals
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.