proof of concept of something like git-lfs but for records to declare where blobs >100MB is hosted
1 1 0

Clone this repository

https://tangled.org/nekomimi.pet/pds-lfs
git@knot.gaze.systems:nekomimi.pet/pds-lfs

For self-hosted knots, clone URLs may differ based on your setup.

README.md

pds-lfs#

git-lfs works in two ways. One is that it simply declares where files will be hosted. Its derived from the origin remote. For github as an example, it would be https://github.com/foo/bar.git/info/lfs. Then files, when commited to the repo, are tracked as pointers to how they're stored on the LFS remote.

Here is an example of the pointer

version https://git-lfs.github.com/spec/v1
oid sha256:4d7a214614ab2935c943f9e0ff69d22eadbb8f32b1258daaa5e2ca24d17e2393
size 12345678

This is what gets tracked in Git's history.

I propose a similar system for atproto records to use to define where blobs larger than 100MB are hosted. People can declare a com.pds-lfs.host record declaring a pds-lfs server (or alternatively just ipfs://). And then a com.pds-lfs.pointer with fields like

{
  "$type": "com.lfs.pds.pointer",
  "cid": "bafybeifzrx7dbmdrorwzye4f3w6slbm6a4pchoexwhfgbgqjh7fwkwvyyq",
  "mime": "image/png",
  "size": 206868,
  "filename": "ljtw.png",
  "updatedAt": "2025-08-17T19:49:10.154Z"
}

I initially wanted it to be IPFS first and only, but IPFS is a complete PITA to work with. An issue with centralized pds-lfs servers is that theyre truly not in control of the user, and I would have to figure out how to do cross user auth that a user can then attest that they own the blob uploaded to a pds-lfs server. Leaving this up to garner ideas.