antaeus v0.8.0
Antaeus - IPFS Gateway with hostname rewriting
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 antaeusThis will install a command line program antaeus that can be used to start the webserver:
$ antaeus start --port 8080 --dnsConfig dnsMapping.jsonThe 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 WorldThe 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 QmeUrP9wiBxBv9GA7D22F8n5gNok4uMmBeZWkarmAwBJHDDevelopment
The main entry point is src/index.js, so to start the server for development run:
$ nodemon src/index test/exampleDNSConfig.jsonTo run the tests:
$ npm testTo lint the code:
$ npm run lintTo get the test coverage:
$ npm run coverageLicense
MIT