Notes: Any Interest In A Proxy IPFS Node

Created on 3 Dec 2016  路  5Comments  路  Source: ipfs/notes

Would there by any interest in a Proxy IPFS Node. The idea is that it will have a local blockstore but most everything else will be forwarded to another IPFS node that the user has control over.

It will work as follows:

  • When a block is requested first the local blockstore is checked, if it is not available than the proxy will make an API request to the real node for the block.
  • When a block is added it will (by default) first be added to the local blockstore and then added via the block API to the real node. An extra option might be provided to only add a file locally.
  • Pinning will likely work in a similar manor.
  • Anything not involving blocks will just be forward to the real API.

Blocks in the Proxy are not visible to the IPFS network in general.

My use case will be as follows:

  • I don't want to keep an IPFS node running on my home computer but have an IPFS node running on a VPS. I have been using ssh to forwarded the ports, but this setup does not allow any local caching. An IPFS proxy will solve this.

Another possible use case:

  • Currently IPFS provides zero anonymity, anybody can discover what context you have been reading based on what is on your IPFS node. Several users could share an IPFS node and each access the node through a proxy to provide some degree on anonymity, it may still be clear what the group of users accessed, but not what each individual users accessed.

However, my use case is the motivating factor.

Thoughs?

Most helpful comment

This should be possible to accomplish with the upcoming circuit relay, where a node can put itself to be accessed over one or more relays, but no more. If the peers you're proxyng/relaying are in a private net, then you can effectively have a gateway relay peer that will be forwarding traffic to your private network, one relay can serve many peers. So its pretty much what you're looking for.

All 5 comments

_(Not exactly what you described, but it is something you could set up with currently available tools)_

If you are okay with using IPFS over HTTP Gateway, you could just set up local Squid or more lightweight Polipo to provide a local HTTP cache of IPFS assets fetched from HTTP2IPFS Gateway running on your VPS.

diagram

I was just thinking about how handy this would be. Basically a "tee-internet" that would allow you to save assets in a location (or multiple if you like redundancy) that has more storage that your local browsing terminal might have. This would be particularly pertinent on Chromebooks or mobile devices with their limited local storage, so you could browse through an AWS/GCE/Azure IPFS proxy and keep the "history" of your browsing for future reference.

This should be possible to accomplish with the upcoming circuit relay, where a node can put itself to be accessed over one or more relays, but no more. If the peers you're proxyng/relaying are in a private net, then you can effectively have a gateway relay peer that will be forwarding traffic to your private network, one relay can serve many peers. So its pretty much what you're looking for.

Hopefully there are some examples of this in the documentation to make it easier to setup for schools/non-profits/etc where the "IT" folks who want to enable this awesome technology might not be super network savvy.

Was this page helpful?
0 / 5 - 0 ratings