@tempicolabs/sdk v4.5.0
It is the SDK for Tempico Labs API using in node.js and the browser. It is written in clean ES6 Javascript. You can try SDK in the browser or on RunKit. If you need CLI it's here (@tempicolabs/cli)
SDK Features:
- Me - Returns an information about IP you are connecting from
- IP - Get information about IP address including organisation, GeoData & other
- Hash - Returns an information about particular sha256 or md5 hash you are interested in.
- DNS - Get IPv4/IPv6 addresses using domain name
- Port Scan - Scan ports of a given host
- Email Leaks - Returns an information about known account compromises linked to provided email
Install
To install TmLabs for use in node or the browser with require('@tempicolabs/sdk')
, run:
npm i @tempicolabs/sdk --save
Or alternatively using Yarn, run:
yarn add @tempicolabs/sdk
SDK contain:
dist/tmlabs.umd.js
- Standard UMD package for node.js
dist/tmlabs.es.js
- ES6 Package for node.js using import
dist/tmlabs.js
- Unminified browser version
dist/tmlabs.min.js
- Minified browser version
src/*
- Sources. Javascript ES2016
Tempico Labs API Documentation
Read the full API Documentation.
Usage
Try SDK in browser or on RunKit.
SDK contain these methods:
- ip
- hash
- scan
- dns
- me
- email/leaks
- account/status
- status
const answer = await new TmLabs.fetch('[method_name]', {params})
It is a wrapper for API. It uses fetch-ponyfill for HTTP requests and create-hash for hashing.
In the browser
<script src="https://cdn.jsdelivr.net/npm/@tempicolabs/sdk@latest/dist/tmlabs.min.js"></script>
<script>
var TmLabs = new TmLabs.default(); // or new TmLabs.TmLabs()
TmLabs.on('error', function(error, command){
console.error('[ SDK ERROR ]', error);
});
TmLabs.on('response', function(command, response){
console.info('response', response);
console.log('balanceRemaining', command.balanceRemaining); // return Remaining Balance
});
TmLabs.on('command', function(args, command){ // on command start
console.log('command', command)
});
TmLabs.fetch('dns', {
domain: 'google.com'
}).then(function(answer){
var ips = answer.content[Object.keys(answer.content)[0]];// because response will be in 'google.com' key
console.log('Google.com IPs', ips) // get array of one completed command
return TmLabs.fetch('ip', {
ip: ips[0]
})
}).then(function(answer){
console.info('google ip info', answer.content) // get info about google ip address
console.log('History after IP command', TmLabs.history) // get array of two completed commands
});
console.log('History with pending requests', TmLabs.history) // get array of two pending commands
</script>
In Node.js
SDK also works in node.js, using the same npm package!
var TmLabs = require('@tempicolabs/sdk').default
TmLabs.on('error', function (error, command) {
console.error(error);
});
TmLabs.on('response', function (response, command) {
console.log('response', response);
console.log('balanceRemaining', command.balanceRemaining); // return Remaining Balance
});
TmLabs.fetch('dns', {
domain: 'google.com'
}).then(function (response) {
console.log('after then response', response)
})
** You can use bundled version dist/tmlabs.umd.js
Package also contain FetchCommand Class for customizing fetch data from API. For example in ES6:
import { FetchCommand } from '@tempicolabs/sdk'
(async function() {
const command = new FetchCommand({
method: 'ip'
})
command.on('error', (error, command) => {
console.error(error);
});
command.on('response', (response, command) => {
console.log('response object', response);
console.log('response code', command.status); // same as response.status. return status code, for example 200
});
const response = await command.run({ // this response also goes to command.on('response') EventHandler if no error exists
ipaddr: '173.194.122.233' // google ip address. using alias(ipaddr)
})
console.log(response) // API response. same as command.content
})();
** You can use bundled version in dist/tmlabs.es.js
for ES6
More examples you can find here
License
MIT. Copyright (c) Maxim Maximov and Tempico Labs, LLC.