You want Upspin. I want Upspin. But Upspin never went anywhere (it’s at least 7 years old… ever heard of it?), and I personally believe that it was because it’s a royal PITA to set up, and because the tutorial had instructions that expected you to be using GCS. If you wanted to do everything on your LAN, it was even harder.
It’s got all the of the features you mention, and it’s really the only system that does what it does; I really did try in the early days to get it running, and failed. It still has the caveat:
Upspin has rough edges, and is not yet suitable for non-technical users.
and, at 7 years old, if it hasn’t gotten anywhere yet, I think it never will. Commits trickle in, but there’s really no significant progress in usability.
Read the mission statement. It’s glorious. And then wallow in despair that nothing else does this, and it’s a zombie project.
(“They” =~ “We”, sigh)