censorship-no-archive / ceno1

(Deprecated PoC) Innovative censorship evading technology based on p2p distributed caching network
https://censorship.no
GNU Affero General Public License v3.0
58 stars 14 forks source link

Make CeNO proxy as reliable and fast as FProxy #280

Open vmon opened 8 years ago

vmon commented 8 years ago

In any feed/page which has been successfully inserted by CeNo Bridge in Freenet distributed storage is retrievable by FProxy with 100% (as much as I have tested) success, while CeNo proxy is failing the majority of time to retrieve those pages. And when it does find them it is much slower, than FProxy.

Try the experience yourself, the content is the same it is CENO content.

  1. Get a b64 of url that successfully has been inserted by ceno-freenet bridge from CENO.log.
  2. Try CENOBox to go to that url. It will take 10min till it loads.
  3. Use another url, paste it with the public key in fproxy, it takes less than a min or two to load.
  4. Use another url, use ceno to browse the url, wait 5min, nothing will happen. give the url to fproxy, it loads in 1min at the same time it will be loaded in CENO window as well.

I have at least repeated this experience more than 10 times. fproxy is consistently significantly faster than ceno proxy. There is some reason that the fproxy request of the same resource is replied much faster than the CENO requests.

It is probably because FProxy is using active request to retrieve the content if it doesn't find it offers the option of using passive request.

CeNO proxy, in contrast, make a passive request from the begining. And as it truned out passive request is far less efficient and reliable than active request.

A solution is to make CeNo proxy to act like FProxy, make an active request if it fails, then make a passive request.