/sms-number-verifier

Allows you to spoof SMS number verification.

Primary LanguageJavaScript

sms-number-verifier

Allows you to spoof SMS number verification.

NPM Build Status JavaScript Style Guide

  • meant for automated systems that need to bypass SMS number verification
  • handles hundreds of known services (wechat, google, facebook, whatsapp, uber, twitter, etc...)
  • thorough test suite
  • great for bots...

Install

This module requires node >= 8.

npm install --save sms-number-verifier

Usage

const SMSNumberVerifier = require('sms-number-verifier')

const smsVerifier = new SMSNumberVerifier('getsmscode', {
  username: '...',
  token: '...'
})

// fetch a number to use for a new verification request
const number = await smsVerifier.getNumber({ service: 'google' })

// give number to third-party service such as google...
// third-party service sends SMS code to the given number

// check for valid codes received via SMS from the google service
const codes = await smsVerifier.getAuthCodes({ number, service: 'google' })
// codes = [ '584125' ]

Note: there may be multiple auth codes returned since the SMS numbers being used are publicly shared. We filter the results down to only those codes that could possibly be associated with your request, and most of the time you will only receive one code back. In the case of multiple codes, we recommend you try the codes in-order (the most recently received code will be first).

Note: there may be variable amounts of latency between giving your number to the service and the SMS code being received. If no valid codes are returned, it is recommended that you retry request.getAuthCodes with an exponential timeout.

Providers

The following providers provide free, virtual numbers:

The following providers provide paid, virtual numbers:

The following providers provide paid, physical numbers:

We highly recommend that you use the getsmscode provider, as virtual numbers (VOIP) are rejected by many popular OTP services, such as Microsoft and Google.

API

Main entrypoint for verifying numbers via SMS OTP.

Type: function (provider, opts)

  • provider (string | OTPProvider) Name of built-in provider or an instance of a custom provider.
  • opts object Config options for provider (optional, default {})

Underlying OTP provider.

Type: OTPProvider


Type: function (opts)

  • opts (optional, default {})

Type: function (opts)

  • opts

Todo

Related

Disclaimer

Using this software to violate the terms and conditions of any third-party service is strictly against the intent of this software. By using this software, you are acknowledging this fact and absolving the author or any potential liability or wrongdoing it may cause. This software is meant for testing and experimental purposes only, so please act responsibly.

License

MIT © Travis Fischer

Support my OSS work by following me on twitter twitter