Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/transitive-bullshit/sms-number-verifier

Allows you to spoof SMS number verification.
https://github.com/transitive-bullshit/sms-number-verifier

2-factor activation authentication otp phone-number pin sms verification

Last synced: 3 days ago
JSON representation

Allows you to spoof SMS number verification.

Awesome Lists containing this project

README

        

# sms-number-verifier

> Allows you to spoof SMS number verification.

[![NPM](https://img.shields.io/npm/v/sms-number-verifier.svg)](https://www.npmjs.com/package/sms-number-verifier) [![Build Status](https://travis-ci.com/transitive-bullshit/sms-number-verifier.svg?branch=master)](https://travis-ci.com/transitive-bullshit/sms-number-verifier) [![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)

- 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`.

```bash
npm install --save sms-number-verifier
```

## Usage

```js
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:

- [smsreceivefree](https://smsreceivefree.com/)

The following providers provide paid, virtual numbers:

- [plivo](https://www.plivo.com/)

The following providers provide paid, physical numbers:

- [getsmscode](http://www.getsmscode.com/)

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

## API

### [SMSNumberVerifier](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L19-L103)

Main entrypoint for verifying numbers via SMS OTP.

Type: `function (provider, opts)`

- `provider` **([string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) | OTPProvider)** Name of built-in provider or an instance
of a custom provider.
- `opts` **[object](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object)** Config options for provider (optional, default `{}`)

* * *

#### [provider](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L35-L35)

Underlying OTP provider.

Type: OTPProvider

* * *

#### [getNumber](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L40-L60)

Type: `function (opts)`

- `opts` (optional, default `{}`)

* * *

#### [getAuthCodes](https://github.com/transitive-bullshit/sms-number-verifier/blob/10f8836f814c178a3def0245750f045dc3e72dc1/index.js#L65-L98)

Type: `function (opts)`

- `opts`

## Todo

- [ ] support country selection
- [ ] support more providers
- paid
- [ ]
- [ ]
- [ ] twilio
- [ ] [plivo](https://plivo.com)
- [ ] [nexmo](https://www.nexmo.com/pricing)
- anonymous / free
- [ ]
- [ ]
- [ ]
- [ ] [trash mobile](https://www.spoofbox.com/en/tool/trash-mobile)
- [ ] [misc](https://drfone.wondershare.com/message/receive-message-online.html)
- [aggregate](https://www.reddit.com/r/privacytoolsIO/comments/8bz1j6/receive_anonymous_sms_online_without_giving_away/)
- how can you tell if a number has been banned?

## Related

- [parse-otp-message](https://github.com/transitive-bullshit/parse-otp-message) - Parses OTP messages for a verification code and service provider.
- [getsmscode](https://github.com/transitive-bullshit/getsmscode) - API client for [getsmscode.com](http://www.getsmscode.com/).

## 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](https://github.com/transitive-bullshit)

Support my OSS work by following me on twitter twitter