Intergalactic is a client-side gateway to the IPFS distributed web.
This repository has been archived on 2023-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Dan f6ad1010bc Link to IPFS. 2017-12-24 22:18:13 -08:00
src Make every base hash its own origin, effectively. 2017-12-23 22:30:47 -08:00
.babelrc Initial import. 2017-12-05 22:09:58 -08:00
.eslintrc Initial import. 2017-12-05 22:09:58 -08:00
.gitignore Got basic IPFS file contents load and rendering working. 2017-12-09 23:06:25 -08:00
README.md Link to IPFS. 2017-12-24 22:18:13 -08:00
index.html Service worker for intercepting URLs and loading them from IPFS. 2017-12-20 21:21:49 -08:00
package.json Upgrade js-ipfs version and add support for 404 pages. 2017-12-21 22:16:53 -08:00
server.js Initial import. 2017-12-05 22:09:58 -08:00
webpack.config.js Service worker for intercepting URLs and loading them from IPFS. 2017-12-20 21:21:49 -08:00

README.md

Intergalactic

Intergalactic is a client-side gateway to the IPFS distributed web. After the initial page load and bootstrapping, it pulls content from IPFS peers entirely in your browser.

Motivation

Intergalactic brings the distributed web to anyone with a web browser. Web developers and content producers, simply publish your content through IPFS, and then bring it to your users with Intergalactic. All without downloads, software installation, or running IPFS yourself.

How It Works

Intergalactic automatically installs a JavaScript service worker in your browser that intercepts requests to IPFS multihash URLs, and fetches their content from the IPFS network before rendering in the browser. In other words, Intergalactic serves as a translation layer between HTTP and IPFS without needing to go through a central server.

Additionally, Intergalactic treats each IPFS base hash as its own separate origin. This helps avoid cross-site request forgery among IPFS pages, even if they're all served on the same domain.

Installation

npm install

TODO

Usage

Development

First, run the following from your copy of Intergalactic's source code:

node server.js

Then, enter a URL like http://localhost:3000/ipfs/<hash> into your web browser, where <hash> is the IPFS hash of some content on the network.

If the corresponding content is loadable, it will load and render in your browser.

Open your browser's web console to see what's going on and debug any issues loading content.

Production

TODO

Compatibility

So far, this is only tested in Firefox 57 on Linux. If you have success or issues on other browsers, please let me know.