Firefox Extension for NetInf - PowerPoint PPT Presentation

firefox extension for netinf n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Firefox Extension for NetInf PowerPoint Presentation
Download Presentation
Firefox Extension for NetInf

play fullscreen
1 / 10
Firefox Extension for NetInf
80 Views
Download Presentation
zandra
Download Presentation

Firefox Extension for NetInf

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Firefox Extension for NetInf Jeff Thompson ICNRG meeting @ IETF-88 November 3, 2013

  2. The sites who say “ni !” Firefox Extension for NetInf - Jeff Thompson

  3. Overview • Introduction • Apache support • Firefox extension • Demo: NetInf.org in NetInf • Self-reference problem • Conclusion/future work Firefox Extension for NetInf - Jeff Thompson

  4. Introduction • RFC 6920 “Naming Things with Hashes” • ni://authority/sha-256;hashhttp://authority/.well-known/ni/sha-256/hash • Use Apache RewiteMap on authority to redirect a hash URL to silently return the actual file • Use a Firefox extension to redirect an ni: URI to fetch the http: well-known URL • http://sourceforge.net/projects/niprotocol/ Firefox Extension for NetInf - Jeff Thompson

  5. Apache support • In the authority virtual host config:RewriteMapsha-256-map txt:/<root>/.well-known/ni/sha-256/sha-256-map.txt • In .well-known/ni/sha-256/.htaccess:RewriteRule ^([^\.]+)$ ${sha-256-map:$1|/unrecognized-hash} [PT] • In .well-known/ni/sha-256/sha-256-map.txt:<hash> <path to actual file> • To make sha-256-map.txt:python make-sha-256-map.py Firefox Extension for NetInf - Jeff Thompson

  6. Firefox extension • Tools > Add-ons > Install Add-on From Filehttp://sourceforge.net/p/niprotocol/code/ci/master/tree/firefox/ni-protocol.xpi • Handle newChannel for ni: protocol • Get authority from the parent page URL • Convert ni:///sha-256;hash http://authority/.well-known/ni/sha-256/hash • Use nsIHttpProtocolHandlernewChannel(url) • Silent HTTP transfer conveys the MIME type • TODO: Check and report hash mismatch Firefox Extension for NetInf - Jeff Thompson

  7. Demo: NetInf.org in NetInf • ni://nuvl.org/sha-256;QlpcCikO_8ENuJf0VXFTFhzqlbTdB6fzprIuJetUNb8 Firefox Extension for NetInf - Jeff Thompson

  8. Self-reference problem • http://netinfo.org/index.html:<a href="index.html">NetInf</a> • In NetInf: ni:///sha-256;XYZ<a href="ni:///sha-256;XYZ">NetInf</a> • Cannot put hash XYZ in file referenced by XYZ • Possible solutions • Use frames (not good for URL bar. not general) • Load entire web site HTML, show/hide sections • JavaScript: Load sha-256-map.txt and substitute hashes • or put the map link in the URL query, dynamically pass it on:ni:///sha-256;XYZ?map=sha-256;ABC<a href="http://netinfo.org/index.html"> <a href="ni:///sha-256;XYZ?map=sha-256;ABC"> Firefox Extension for NetInf - Jeff Thompson

  9. Conclusion/future work • Bootstrap ni web sites using HTTP server • Actual web pages are fully “ni ready” • Future work • Check and report hash mismatch • Tool support to convert existing web sites • Solutions to self-reference problem Firefox Extension for NetInf - Jeff Thompson

  10. ni ! Firefox Extension for NetInf - Jeff Thompson