Giter VIP home page Giter VIP logo

antaeus's Introduction

Antaeus - IPFS Gateway with hostname rewriting

aegir js-standard-style Coverage Status Dependency Status CircleCI

The giant then reached out the hands in haste Whose mighty grip was felt by Hercules And took my guide. Feeling himself embraced, Virgil looked down and said: "Come closer, please: It's your turn." Inferno, Canto 31

Antaeus is a node webserver that wraps the IPFS daemon. It allows you to define a mapping from a hostname to an IPFS address, so that you can serve a website from IPFS on a root domain name.

Install

Antaeus requires the ipfs client and daemon to be installed and running. It is packaged as an npm module:

$ npm install -g antaeus

This will install a command line program antaeus that can be used to start the webserver:

$ antaeus start --port 8080 --dnsConfig dnsMapping.json

The dns mapping file is a json map from hostnames to ipfs addresses:

{
  "www.example.com": "/ipfs/QmWATWQ7fVPP2EFGu71UkfnqhYXDYH566qy47CnJDgvs8u"
}

Once started, you will need to modify your hosts file to test the mapping in the browser. You can test with curl more directly by setting the appropriate hostname:

$ curl -H 'Host: www.example.com' localhost:8080 # Hello World

The dns mapping file can be loaded from ipfs itself. The dnsConfig option accepts an ipfs address:

$ ipfs add dnsMapping.json
added QmeUrP9wiBxBv9GA7D22F8n5gNok4uMmBeZWkarmAwBJHD dnsMapping.json
$ antaeus start --port 8080 --dnsConfig QmeUrP9wiBxBv9GA7D22F8n5gNok4uMmBeZWkarmAwBJHD

Development

The main entry point is src/index.js, so to start the server for development run:

$ nodemon src/index test/exampleDNSConfig.json

To run the tests:

$ npm test

To lint the code:

$ npm run lint

To get the test coverage:

$ npm run coverage

License

MIT

antaeus's People

Contributors

kanej avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.