Host, backup, and share hyperdrive archives
MIT License
Zero config server and API for hypercore-archiver.
Built with:
npm install -g hyperarchiver
hyperarchiver --dir archives
This starts two servers, one for HTTP access and one for Dat Network access.
--dir
./add
./<archive-key>
Once the server is running, you can add archives (make sure you are hosting them over Dat). Send a POST request with YOUR_DAT_KEY
:
curl -X POST -H "Content-Type: application/json" -d '{"key":"YOUR_DAT_KEY"}' http://127.0.0.1:8080/add
See all the options by running with the --help
option:
hyperarchiver --help
/add
: add a new archiveSend a POST request to /add
with a JSON object, {"key": "YOUR_DAT_KEY"}
, to add a new archive.
hyperarchiver will connect to the archive over Dat, copy it, and serve it over Dat and HTTP.
/remove
: remove an archiveSend a POST request to /remove
with a JSON object, {"key": "YOUR_DAT_KEY"}
, to remove a new archive.
hyperarchiver stop serving the archive and remove it from the database.
/status
: hyperarchiver statusSend a GET request to /status
to view the hyperarchiver status.
/<archive-key>
View metadata for an archive that has been added.
/<archive-key>/<file>
View a file in an archive.
var hyperarchiver = Hyperarchiver(opts)
Create a hypercore-archiver
and attach the archiver-server
and archiver-api
. Hyperarchiver doesn't do much besides glue those three modules together.
opts = {
dir: 'archives', // required
swarm: true, // join dat swarm.
archiveHttp: true, // serve archives over http
datPort: 3282, // port for dat swarm
}
hyperarchiver.api
is archiver-api
hyperarchiver.dat
is archiver-server
hyperarchiver.archiver
is hypercore-archiver
See cli.js
for example usage.
MIT