No description
Find a file
2025-03-28 09:58:38 +01:00
src/object_multi_proxy ruff format 2024-09-26 00:54:42 +02:00
.gitignore ahhhhh 2024-06-19 09:48:00 +02:00
.python-version a start 2024-05-10 23:23:19 +02:00
CHANGELOG add README.txt and CHANGELOG 2024-09-14 17:54:46 +02:00
config.example.toml add header reporting source 2024-09-07 11:50:46 +02:00
COPYING add BSD 2-clause 2025-03-28 09:58:38 +01:00
pyproject.toml fix uv version caching 2025-03-28 09:33:15 +01:00
README.markdown move README.txt to README.markdown 2024-09-26 00:57:20 +02:00
uv.lock bump deps 2024-09-22 07:54:10 +02:00

object_multi_proxy serves files over HTTP from two or more S3-compatible or B2-compatible object storage services layered on each other like an union filesystem, with the ability to writeback files served from lower layers onto higher layers

its purpose is to enable soft migration between services and buckets without moving all files in one go


caveat emptor:

  • it is extremely barebones and not particularly optimized. it expects to sit behind a caching proxy. it's hardcoded to send forever caching headers

  • it does not support range requests. use nginx's proxy_force_ranges

  • if a file is deleted from the top layer but still exists in a lower layer, it will be served from that lower layer again (and written back to the top layer if configured to do so)

  • files are buffered into memory fully before being written back and served


this is an extremely purpose built piece of software and I can promise no support for it. regardless, send patches and bug reports to codl@codl.fr