npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

dat-http-proxy

v1.0.1

Published

A tool for replicating dats stored at static http/s web addresses

Downloads

6

Readme

dat-http-proxy

A tool for replicating dats stored at static http/s web addresses.

Don’t know what a dat is? Learn more here.

Why

Dat is awesome, but at the moment it can become expensive if you are storing large datasets on a VPS. This tool helps you cheaply add redundancy to your peer to peer network by enabling you to serve multiple read-only dat archives from static web hosts.

With this library you can setup one server with minimal storage and serve any number of large dats that are stored elsewhere.

Note: If you are only storing small dats - look at Hashbase.io. It is a great service which at the moment offers a free tier for dats up to 100MB.

Install

To use as a CLI utility

npm dat-http-proxy -g

or to use from within another project

npm dat-http-proxy --save

Usage

Command Line Interface

To replicate a single url:

dat-http-proxy [url]

To manage multiple urls:

To use as a cli you need to create a file called url-feeds containing a list of urls.

For example:

http://dats.metadada.xyz/openaustralia/senate_debates/
http://dats.metadada.xyz/openaustralia/representatives_debates/
http://dats.metadada.xyz/openaustralia/members/

Then simply run dat-http-proxy from the command line. If you modify the url-feeds file, the dat-http-proxy process will update live adding or removing connections to the url.

Note: At the moment this application will fail hard if you pass a malformed url.

API

Simply import the package into your project.

// es6
import httpProxy from 'dat-http-proxy'
// commonjs
var httpProxy = require('dat-http-proxy')

var dats = httpProxy.all()

Return all loaded dat archives. Explicitly ignores those loading or scheduled for removal.

var urls = httpProxy.urls()

Returns all the urls currently being served. Explicitly ignores those loading or scheduled for removal.

var dat = httpProxy.add(url)

Attempts to load a url as a dat archive and begins serving it. Returns a promise which resolves to a dat instance.

httpProxy.remove(url)

Removes the url and closes the associated dat archive.