Erol Ozcan 2e2a50cc44 zoho: rate limit repeated listings of the same folder
WorkDrive throttles its listing API (GET files/{id}/files) PER
folder, independently of the overall request rate: at most ~19
listings of one folder are allowed in any rolling ~60s window and
the 20th returns F7008 with a ~300s Retry-After (measured live -
every observed trip landed exactly on the 20th listing inside a
window). fstests re-lists the same working directory after almost
every sub-operation, which is why the integration suite could not
pass.

Add a per-folder listing limiter with a true per-window cap: each
window starts with --zoho-list-folder-burst listings passing
back-to-back (the burst re-arms at every window boundary, so a
sync re-listing one directory a few times never waits), the rest
of the budget is spaced evenly across the window, and a sliding
log of recent listings guarantees no rolling window ever exceeds
--zoho-list-folder-limit (default 19) per --zoho-list-folder-window
(default 60s) for any traffic pattern. The registry is
process-wide and keyed by region+folder id so every Fs instance
shares one budget per physical folder; idle entries are evicted
after a window, which is lossless because Zoho's window has also
cleared by then.

Defaults were validated against the live service: bursts of 4-6
under the 19-per-60s cap ran clean while an over-cap probe tripped
F7008 exactly at the 20th listing, and a full test_all -backends
zoho run passes cleanly.

Fixes #9570
2026-07-05 12:28:52 +01:00
2026-05-01 14:06:11 +01:00
2026-04-11 15:27:05 +01:00
2026-05-15 20:12:47 +02:00
2025-08-22 11:42:51 +01:00
2026-05-01 15:56:56 +01:00
2026-05-01 15:56:56 +01:00
2026-05-01 15:56:56 +01:00
2020-10-28 18:16:23 +00:00
2026-05-01 15:56:56 +01:00
2019-09-29 11:05:10 +01:00
2026-05-01 14:06:11 +01:00
2026-06-22 15:18:26 +01:00
2026-05-01 17:15:20 +01:00

rclone logo

rclone logo

Website | Documentation | Download | Contributing | Changelog | Installation | Forum

Build Status Go Report Card GoDoc Docker Pulls

Rclone

Rclone ("rsync for cloud storage") is a command-line program to sync files and directories to and from different cloud storage providers.

Storage providers

  • 1Fichier 📄
  • Akamai Netstorage 📄
  • Alibaba Cloud (Aliyun) Object Storage System (OSS) 📄
  • Amazon S3 📄
  • ArvanCloud Object Storage (AOS) 📄
  • Bizfly Cloud Simple Storage 📄
  • Backblaze B2 📄
  • Box 📄
  • Ceph 📄
  • China Mobile Ecloud Elastic Object Storage (EOS) 📄
  • Citrix ShareFile 📄
  • Cloudflare R2 📄
  • Cloudinary 📄
  • Cubbit DS3 📄
  • DigitalOcean Spaces 📄
  • Digi Storage 📄
  • Dreamhost 📄
  • Drime 📄
  • Dropbox 📄
  • Enterprise File Fabric 📄
  • Exaba 📄
  • Fastly Object Storage 📄
  • Fastmail Files 📄
  • FileLu 📄
  • Filen 📄
  • Files.com 📄
  • FlashBlade 📄
  • FTP 📄
  • GoFile 📄
  • Google Cloud Storage 📄
  • Google Drive 📄
  • Google Photos 📄
  • HDFS (Hadoop Distributed Filesystem) 📄
  • Hetzner Object Storage 📄
  • Hetzner Storage Box 📄
  • HiDrive 📄
  • Hitachi Content Platform (HCP) 📄
  • HTTP 📄
  • Huawei Cloud Object Storage Service(OBS) 📄
  • Huawei Drive 📄
  • iCloud Drive 📄
  • ImageKit 📄
  • Internet Archive 📄
  • Internxt 📄
  • Jottacloud 📄
  • IBM COS S3 📄
  • Impossible Cloud 📄
  • Intercolo Object Storage 📄
  • IONOS Cloud 📄
  • Koofr 📄
  • Leviia Object Storage 📄
  • Liara Object Storage 📄
  • Linkbox 📄
  • Linode Object Storage 📄
  • Magalu Object Storage 📄
  • Mail.ru Cloud 📄
  • Memset Memstore 📄
  • MEGA 📄
  • MEGA S4 Object Storage 📄
  • Memory 📄
  • Microsoft Azure Blob Storage 📄
  • Microsoft Azure Files Storage 📄
  • Microsoft OneDrive 📄
  • Minio 📄
  • Nextcloud 📄
  • Blomp Cloud Storage 📄
  • OpenDrive 📄
  • OpenStack Swift 📄
  • Oracle Cloud Storage 📄
  • Oracle Object Storage 📄
  • Outscale 📄
  • OVHcloud Object Storage (Swift) 📄
  • OVHcloud Object Storage (S3-compatible) 📄
  • ownCloud 📄
  • pCloud 📄
  • Petabox 📄
  • PikPak 📄
  • Pixeldrain 📄
  • premiumize.me 📄
  • put.io 📄
  • Proton Drive 📄
  • QingStor 📄
  • Qiniu Cloud Object Storage (Kodo) 📄
  • Rabata Cloud Storage 📄
  • Quatrix 📄
  • Rackspace Cloud Files 📄
  • RackCorp Object Storage 📄
  • rsync.net 📄
  • Scaleway 📄
  • Seafile 📄
  • Seagate Lyve Cloud 📄
  • SeaweedFS 📄
  • Selectel Object Storage 📄
  • Servercore Object Storage 📄
  • SFTP 📄
  • Shade 📄
  • SMB / CIFS 📄
  • Spectra Logic 📄
  • Storj 📄
  • SugarSync 📄
  • Synology C2 Object Storage 📄
  • Tencent Cloud Object Storage (COS) 📄
  • Uloz.to 📄
  • US3 Object Storage 📄
  • Wasabi 📄
  • WebDAV 📄
  • Yandex Disk 📄
  • Zadara Object Storage 📄
  • Zoho WorkDrive 📄
  • Zata.ai 📄
  • The local filesystem 📄

Please see the full list of all storage providers and their features

Virtual storage providers

These backends adapt or modify other storage providers

  • Alias: rename existing remotes 📄
  • Archive: read archive files 📄
  • Cache: cache remotes (DEPRECATED) 📄
  • Chunker: split large files 📄
  • Combine: combine multiple remotes into a directory tree 📄
  • Compress: compress files 📄
  • Crypt: encrypt files 📄
  • Hasher: hash files 📄
  • Union: join multiple remotes to work together 📄

Features

  • MD5/SHA-1 hashes checked at all times for file integrity
  • Timestamps preserved on files
  • Partial syncs supported on a whole file basis
  • Copy mode to just copy new/changed files
  • Sync (one way) mode to make a directory identical
  • Bisync (two way) to keep two directories in sync bidirectionally
  • Check mode to check for file hash equality
  • Can sync to and from network, e.g. two different cloud accounts
  • Optional large file chunking (Chunker)
  • Optional transparent compression (Compress)
  • Optional encryption (Crypt)
  • Optional FUSE mount (rclone mount)
  • Multi-threaded downloads to local disk
  • Can serve local or remote files over HTTP/WebDAV/FTP/SFTP/DLNA

Installation & documentation

Please see the rclone website for:

Downloads

License

This is free software under the terms of the MIT license (check the COPYING file included in this package).

Description
No description provided
Readme 435 MiB
Languages
Go 98.5%
Shell 0.4%
Python 0.4%
HTML 0.3%
JavaScript 0.2%
Other 0.1%