Big improvements on the proxy design.
It now automates all key management for users that want that. With mTLS between servers, and they automatically generate keys for users. And users can use manual key input as well, if they have accounts with people who use it more P2P. This combines best of two worlds, user friendliness for those who want that, and true P2P (without reliance on central certificate authorities and such) for those who want that.
https://gitlab.com/bipedaljoe/proxyIt runs my C single-user instance for each user. I modified the C server so that it can run in "local" mode (makes proxy easier to build). This lets same implementation be used for stand-alone as well as for "federated" multi-user setup (with auto-key exchange...)
The proxy has a HTTP API. It is very easy to build the web server that interacts with it, and from there anyone can build front end UI.
Fully automated key management (becoming dependent on certificate authority...) is even easier than adding a PKI layer (although that is also possible) and with symmetric key only at the actual "nodes" all approaches are supported. Most people would probably prefer the fully automated approach, P2P people might prefer either PKI or just setting one symmetric key per relationship (which is also very easy to do, friends do not change that often, neither should trustlines).
The proxy is not finished, but the overall architecture is there. I have had AI build most of it (while I build the C server myself since it is more important). The C server is 100% finished. It also adds swarm redistribution on top of Ripple, and people can opt-in to use that by setting their "trust index" above 0, or just keep "trust index" at 0 and use Ripple normally. My priority has been a very robust "node" (the C server) and then some very user friendly layer on top of that and I think this proxy design is very user friendly and very easy to build.
This all seems to be aligned with the original vision for a Ripple Inter Server Protocol. With the "reserve payment attack" problem solved this spring, 19 years after the "gradual penalty" idea was first described by Ryan in 2006, it seems like it could be quite easy to finish a perfect proxy implementation, that can use the already well-built C server, and then people can build their own web-server to interact with it very easily. A robust foundation makes it easy. I have backed up my Resilience C server to Ethereum indexed to private key "resilience" as well (sha256 hash of "resilience"...)
If anyone wants to collaborate on perfecting the proxy (or work on web-app/UI part) it would be great. The proxy will probably just be around 1500 lines of code. It is very light weight, as is the C server (2500 lines of code incl. sha256...) You have my email...
Peace, Johan