Skip to content
This repository has been archived by the owner on Mar 25, 2022. It is now read-only.

Making ipfs.io gateway writable #105

Closed
jbenet opened this issue Oct 31, 2015 · 10 comments
Closed

Making ipfs.io gateway writable #105

jbenet opened this issue Oct 31, 2015 · 10 comments

Comments

@jbenet
Copy link
Member

jbenet commented Oct 31, 2015

0.3.9 was just released, and it carried @mildred + @cryptix's patch to make the gateway writable.

I would like to make ipfs.io/api offer a writable portion, so that applications can be built against that as they would any other web service. This is mostly a crutch until the protocol is deployed in end user browsers + devices. But it likely will be useful for a long time as that way systems with HTTP support can easily add things to IPFS.

Concerns:

  • how long to cache things (ideally should cache >10m, may be up to luck).
  • should rate limit uploads (per IP addr) to prevent DOSing the system. (prob something like 100MB?)
  • should have denylists in place

Once this is in place, things like IPFSBin and ipfs.pics could be just frontend webapps (+ pinning)

@victorb
Copy link
Member

victorb commented Nov 3, 2015

Question regarding this. If the content is only stored for 10m (or really, less than permanent), I'm not sure people are gonna be using this exclusively because they want to be able to make sure that the content stays on the site.

If I'm gonna be able to remove any IPFS daemon or backend from IPFSBin, I need to store content permanently, and it doesn't seem like this solves that really. Maybe I'm misunderstanding.

Pinging @cloutier (ipfs.pics) to have another opinion about this.

@davidar
Copy link
Member

davidar commented Nov 3, 2015

@victorbjelkholm I may be wrong, but I suspect that the idea is that the gateway will only be used for getting content into the IPFS network, and then it's up to some other node to make sure it's stored permanently.

@jbenet
Copy link
Member Author

jbenet commented Nov 3, 2015

@victorbjelkholm

  1. write through ipfs.io
  2. pin with a pinning service (like openipfs, other ipfs-cluster things, etc)

@jbenet
Copy link
Member Author

jbenet commented Nov 3, 2015

need a way to force --pin=false for all ops on the gateway. another option is to blow out all pins periodically that are not from a special separate list.

@cryptix
Copy link
Contributor

cryptix commented Nov 3, 2015

@jbenet: need a way to force --pin=false for all ops on the gateway.

How would you like to set this? Config option oder flag on 'ipfs daemon' ?

(edit: maybe come over to ipfs/kubo#1917 for the specifics)

@cloutier
Copy link

cloutier commented Nov 3, 2015

@didiercf has made a working prototype of our backup system that pins every picture from our server to our local computers. Right now it requests hashes to our database, but it could be made to work directly with the ipfs api. It wasn't super high in our priority list, but if people are interested, we could release its source code sooner.

@victorbjelkholm I think it would be a good idea to keep our nodes running anyway. It would be more resilient to keep them and use ipfs.io only as a failover.

@jbenet are you talking about an IP denylist or a content deny list? We have a list of hashes we banned. We could release that, maybe not as is (it would be a bit counterproductive) but maybe as a variant of the bloom filter. If multiple lists agree on a hash, ipfs could automaticaly refuse to store it. This could be abused a lot though.

@ion1
Copy link

ion1 commented Nov 3, 2015

@cloutier:

A bloom filter-only solution sounds scary. They should only be used as an optimization step before checking against actual hashes (which are expected to identify data uniquely, not just probabilistically).

An alternative to publishing a list of hashes for all censored content is to publish the hashes of the hashes. You are not pointing to the content directly but checking a known hash against the list is easy.

@ghost ghost added the solarnet label Nov 9, 2015
@daviddias daviddias mentioned this issue Nov 10, 2015
42 tasks
@ghost ghost mentioned this issue Nov 16, 2015
53 tasks
@jbenet
Copy link
Member Author

jbenet commented Nov 23, 2015

I would like to put https://github.com/jbenet/http2ipfs-web on ipfs.io -- what do we need to finish this issue? just enabling it?

@ghost ghost mentioned this issue Nov 30, 2015
14 tasks
@ghost
Copy link

ghost commented Dec 3, 2015

I'd like to get ipfs/kubo#1917 and pin=false before making ipfs.io writable

@jbenet
Copy link
Member Author

jbenet commented Dec 3, 2015

@lgierth 👍

@ghost ghost mentioned this issue Dec 7, 2015
@ghost ghost added gateway and removed solarnet labels Nov 3, 2016
@ghost ghost closed this as completed Aug 6, 2018
This issue was closed.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants