You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Luke Childs
471feae181
|
8 years ago | |
---|---|---|
src | 8 years ago | |
test | 8 years ago | |
.gitignore | 8 years ago | |
.travis.yml | 8 years ago | |
LICENSE | 8 years ago | |
README.md | 8 years ago | |
package.json | 8 years ago |
README.md
onionoo-node-client
Node.js client library for the Tor Onionoo API
Promise based client library for the Tor Onionoo API. Includes DB agnostic caching.
Install
npm install --save onionoo
Usage
const Onionoo = require('onionoo');
const onionoo = new Onionoo();
// Get top 10 relays
const query = {
limit: 10,
running: true,
order: '-consensus_weight'
};
onionoo.summary(query).then(response => {
console.log(response.body)
// {
// version:'3.1',
// relays_published:'2016-12-23 09:00:00',
// relays:[
// [Object],
// [Object],
// [Object],
// [Object],
// [Object],
// [Object],
// [Object],
// [Object],
// [Object],
// [Object]
// ],
// bridges_published:'2016-12-23 07:41:03',
// bridges:[]
// }
});
You can override the default options when instantiating a new Onionoo
instance:
const Onionoo = require('onionoo');
const onionoo = new Onionoo({
baseUrl: 'https://onionoo.torproject.org',
endpoints: [
'summary',
'details',
'bandwidth',
'weights',
'clients',
'uptime'
],
cache: {
store: 'memory',
max: 500
}
});
Cache Stores
This module makes use of node-cache-manager
to support multiple cache stores. By default we store cached responses in memory. You can easily disable the cache or use a more scalable cache store such as Redis by using node-cache-manager
's store engine modules.
Disable cache:
const Onionoo = require('onionoo');
const onionoo = new Onionoo({
cache: false
});
Use persistent Redis cache:
const Onionoo = require('onionoo');
const redisStore = require('cache-manager-redis');
const onionoo = new Onionoo({
cache: {
store: redisStore
}
});
License
MIT © Luke Childs