Giter VIP home page Giter VIP logo

phone-captcha's Introduction

Phone Call Captcha

Super simple application for filtering robocalls with an audio based captcha.

Build

A random 4-digit code is played to the caller, which then must be entered in on their keypad for the call to connect. After the caller has successfully entered the code, they are whitelisted, and are not required to enter a code on subsequent calls.

This app uses the Twilio programmable voice API.

Setup

git clone git://github.com/brendan-myers/phone-captcha.git
cd phone-captcha
npm install

Twilio

A Twilio account and number capable of making calls are required.

From the Twilio console, configure the hook for incoming calls to point to the /voice endpoint of this application.

Twilio setup

(Optional) Google Cloud Datastore

By default, the caller whitelist is stored in memory. If you would like whitelist to persist, you will need a Google Cloud Platform account.

Environment variables

The application expects an environment variable containing the number to forward successful calls to.

export OUTBOUND_NUMBER=xxxxxxxxxxxx

(Optional) If using Google Cloud Datastore, you will need to set the WHITELIST_LOCATION=GOOGLE_CLOUD environment variable, and provide the project ID and the key json file.

export WHITELIST_LOCATION=GOOGLE_CLOUD
export GOOGLE_CLOUD_PROJECT=xxxxxxxxxxxx
export GOOGLE_CLOUD_KEY=xxxxxxxxxxxx.json

Run

node .

or

OUTBOUND_NUMBER=xxxxxxxxxxxx WHITELIST_LOCATION=GOOGLE_CLOUD GOOGLE_CLOUD_PROJECT=xxxxxxxxxxxx GOOGLE_CLOUD_KEY=xxxxxxxxxxxx.json node .

TODO

  • Tests
  • Code cleanup
  • Implement saving whitelist to disk

phone-captcha's People

Contributors

brendan-myers avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.