Today, I’m excited to present to you a new software that will decentralize how you interact with the Internet Computer: The Local IC HTTP Proxy. This solution is designed to establish a fully decentralized and verifiable communication channel with dApps, opening new doors for seamless interaction with the network.
What is the local IC HTTP Proxy?
The Local IC HTTP Proxy is a proof-of-concept application that allows your local system to act as a proxy for communicating with the Internet Computer. It harnesses the power of certification and completely bypasses the usage of the Boundary Node’s HTTP Gateway that has been the existing approach up until now.
As shown on Figure 2, the HTTP Gateway with the IC HTTP Proxy enabled is completely moved to your local device, this shifts remote connections to exclusively be utilizing the API Boundary Nodes that are also being decentralized in the near future as explained on this post.
How Does It Work?
Instead of a remote server that typically acts as an intermediary between your system and the Internet Computer, the local IC HTTP Proxy places this power in your hands. The proxy runs locally, providing a direct and decentralized channel to communicate with dApps running on the Internet Computer.
The proxy implements the IC HTTP Gateway Protocol, translating the default HTTP requests into the expected api calls to the canister. Also, it leverages the _canister-id
DNS TXT records available for custom domains to determine what canister that domain is serving. This way, your requests and data get processed directly by the API Boundary Node and all the HTTP transformation and verification happen locally in the proxy.
Last but certainly not least, it terminates TLS locally for dApp domains so that you can completely avoid the existing centralized Certificate Authorities.
How to start the Proxy?
After the proxy is installed in your system (currently supports Windows and MacOSX), launch the application and a taskbar item will appear, by clicking it you can simply start and all your HTTP IC connections will be made secure through it.
What happens to my non IC network connections while running the Proxy?
The IC HTTP Proxy only cares about Internet Computer network connections, for all others it does a passthrough not handling them in any way.
What’s the Benefit?
The implications of this approach are wide-ranging:
Decentralization: The key principle of blockchain technology, decentralization, is strengthened by eliminating the need for centralized servers for communication (as mentioned above API Boundary Nodes are also being decentralized in the near future).
Enhanced Performance: The system efficiency is optimized as the service worker no longer needs to be loaded, which improves the time to load dApps on the first visit.
Greater Control: By allowing your system to communicate directly with the API Boundary Node, you have increased control over your network interactions and can bypass centralized Certificate Authorities for the remote implementations of the IC HTTP Gateway Protocol.
Call to Action: Try it yourself!
As this is still experimental, I’m inviting you to be part of this testing phase. Your feedback is of utmost importance to both me and the entire Trust team, as it will significantly influence the future development of this project. Be it a bug report, a feature suggestion, or even a success story, we are eager to hear it all.
You can download the Local IC HTTP Proxy from the releases page and start exploring. For tech-savvy users interested in diving deep into the software codebase and building from scratch, our comprehensive documentation serves as an essential guide. Remember to share your feedback in this thread.
Let’s embrace the future of decentralized communication together! We look forward to your active participation.