If you're interested in a simpler, blossom-based alternative to IPFS:
https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-ts
https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-rs
LLMs running on webgpu in browser https://chat.webllm.ai/
Hashtree is very simple, it's just blossom + "this is how you define directories and chunk files". Merkle roots are saved in nostr events so you can have npub/path directories whose content you can edit. Files.iris.to supports nip-34 pull requests and issues. You could use it as one remote even if you also use grasp.
You could link them by their nhash if clients supported them. I'll add support to iris.to soon.
They're merkle trees on blossom. Kind 30078 event with ["d", "videos/videoname"], content: merkleRoot points to them. I might actually just make ["d", "videos"] which would contain all your vids in the same merkle tree dir, less event fetching.
I mean video.iris.to videos have no viewable url
They have no url that can be viewed in other apps, this comes from chunked & encrypted blossom-like hashtree-ts https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-ts

https://video.iris.to/ - full of quality content
If you have a YouTube channel, please back it up with https://github.com/yt-dlp/yt-dlp and upload the whole directory!
I guess i should make a nostr note & media backup tool as well.
Yes, you can press the "fork" button in files.iris.to to make a public version of your secret repo
nostr:nprofile1qqsy2ga7trfetvd3j65m3jptqw9k39wtq2mg85xz2w542p5dhg06e5qppemhxue69uhkummn9ekx7mp0qy2hwumn8ghj7un9d3shjtnyv9kh2uewd9hj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z75uptz7 I considered using blossom, in fact I even wrote some code. nostr:nevent1qqsg9w72dve9myu29swk7w9wapqncndnhe98dmfrrd8cjd26fy3lsgsprdmhxue69uhhg6r9vehhyetnwshxummnw3erztnrdakj7q3q5qydau2hjma6ngxkl2cyar74wzyjshvl65za5k5rl69264ar2exsxpqqqqr9zufx4r0 I thought the most efficent approach would be to store git packs as blossom blobs. I havent studied your code but from the documentation you are somehow using 2mb chunks? I can see how its naturaly evolved from your 'files' usecase.
Initial clone from a git pack would be faster than fetching each object separately. But packs change hash whenever anything is added, so you'd lose the deduplication that the hashtree filesystem provides: same object in two repos would be stored twice.
I just installed ngit, trying it out. Git's native sync is faster than requesting every object by its blossom content hash. On the other hand, git-remote-htree doesnt require git servers, just blossom or webrtc peers.
Sha256 would be nice, but this is just a git remote helper. Choice of hash algorithm depends on how you init your git repo: git init --object-format=sha256. It stores the .git dir structure (with sha1 blob filenames by default) on blossom.
Can you try it out?
nostr:note1wae4dhs2dmvqgz8rzh4umk5rk0t39ucghlvd35rua22vcnv293cq5xfesu

Need help testing git on blossom:
---
Install rust:
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Install git-remote-htree:
cargo install git-remote-htree
Add htree remote to your repo & push
git remote add htree htree://self/your-repo-name
git push htree master
Try cloning a repo:
git clone htree://npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-rs
Web interface for browsing repos:
https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-rs
---
Added support for encrypted repos:
git remote add htree-secret htree://self/your-secret-repo#link-visible
It replaces #link-visible with #k=randomkey xor key which is required to read the repo.
Encrypted to your nsec only
git remote add htree-secret htree://self/your-secret-repo#private
Hashtree

Ah yes it's on files.iris.to but not the main iris.to app yet


No more GitHub β publish your git repos on Blossom:
---
cargo install hashtree-cli
cd your_repo
# self is an auto-generated nostr identity (nsec) in ~/.hashtree/keys
git remote add htree htree://self/your_repo
git push htree master
clone:
git clone htree://npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-rs
view at files.iris.to e.g. https://files.iris.to/#/npub1xndmdgymsf4a34rzr7346vp8qcptxf75pjqweh8naa8rklgxpfqqmfjtce/hashtree-rs
---
Vibe coded this in 3 weeks, using Claude Opus 4.5, along with
https://docs.iris.to collaborative docs editor
https://video.iris.to decentralized youtube
https://files.iris.to decentralized filesharing
https://meet.iris.to decentralized video calls
I believe AI will be actually good for freedom tech: soon everyone will have the resources to create the software they need, not just big tech.
https://github.com/mmalmi/hashtree-ts - it's basically blossom with directories and file chunking.
* Merkle tree roots published on nostr, so you can have npub/path addressed directories whose content you can update.
* Chunks are encrypted by default (Freenet style CHK content hash key encryption).
* Peers request chunks over WebRTC with Freenet style privacy preserving HTL hops-to-live algorihtm.
* HTTP blossom servers used as fallback.
I also have github replacement on hashtree in the works: https://files.iris.to/#/npub1g53mukxnjkcmr94fhryzkqutdz2ukq4ks0gvy5af25rgmwsl4ngq43drvk/repos/hashtree-ts

New version of https://docs.iris.to - collaborative docs editor on Nostr & blossom is here, should be much more reliable now.

Watching King of the Hill S01E01 πΏ
Good point. It generates a random npub for you. There should be extension login option (double tap avatar or profile -> switch account) but I'll add nsec as well.
Halp me get better content onto the home page https://video.iris.to

Everyone is connected to everyone: that only scales to a few participants
Code is the spec π¬ https://github.com/irislib/meet using ephemeral 25050 evts to do signaling. Sending participant profile as rumor over datachannel. Chat messages sent over peer datachannels, unsigned.
Vibing https://meet.iris.to

Fixed graph-api.iris.to, now it's able to serve crazy big graph snapshots again. This graph is 30MB serialized, with 300K users and 12M follow relationships. 
nostr:npub1lr2zzf989mvf393y0tv39ara6a4vddkd6y87z784up9vl6ks6j3qtudl6a will have to sing Queen at the next Rockamoto

Nostr is down

When servers are needed, instead of DNS bound APIs we'll be able to use double ratchet or MLS channels soonβ’.
Nostr apps should be served over Nostr, independently of DNS, CAs and host servers. Nostr app env can provide key management, relay connections and event storage without every app having to duplicate. Ideally, this would happen on the browser or even OS level.
nostr:note1205kts0atv8zs275as3hn6ejlscgdlzng63x0pyq8x8c2mry38jqql69j8
Tauri version of this would be interesting. Independent of DNS + CA + host server, doesn't update without the user knowing. Could use native keystore outside the browser renderer.
Parent web app could run relay conns & event storage and child apps could communicate with it over postMessage
I did not find source code for 44billion.net. Is there a spec for this "napp" packaging?
On the other hand, if you don't have an extension, it's safer to give your nsec to only 1 website instead of 10...