Since nix queries each narinfo from all substituters (binary cache) sequentially (but indeed concurrently for multiple narinfo files), I made this substituter proxy to concurrently query narinfo files from all substituters and cache the best route in memory for subsequent nar file streaming, with advanced features such as substituter’s health dectection and private substituter support. The proxy server requires no local storage and is pretty lightweight.
ncro seems to predate this
Appreciate the pointer. I’m genuinely glad ncro exists and is getting attention now. The more people thinking about this problem space, the better for the Nix ecosystem.
When I started working on my own approach, I wasn’t aware of ncro, and from what I can tell it wasn’t widely visible at that time. The work came directly out of a practical need I kept hitting, and a particular idea I wanted to try. There’s no claim of novelty or priority, and certainly no intention to diminish anyone else’s effort.
Different projects can grow out of the same general problem independently, and that’s not a bad thing. Often that means different trade-offs, different design instincts, and different maintenance stories — even when feature sets overlap. Having more than one actively maintained option tends to make the whole space healthier, not more fragmented.
I’m sharing this not because I think it’s “better” or “first”, but because it’s something I built to solve a real pain point, and I hope it might be useful to others who prefer its particular shape.
eh, I’d consider ncro and your project essentially contemporaneous, I wouldn’t worry about it. Third-party experimentation is part of the nix ecosystem these days and it seems good for people to scratch their own itch