twerp
twerp copied to clipboard
Twerp is the telephone hackers toolkit. It's also a command-line app for Twilio, written in Python
README
Twerp is the telephone hackers toolkit.
Legal Notice: Crank calls are only legal if they are funny in some states.
Twerp is also:
-
A tool that will revolutionize crank calling (only legal from California to the French parts of Canada. Note: IANALBISEEOC (I am not a lawyer but I've seen every episode of Cops).
-
Your own Phone Company. From the command-line!
-
A command-line interface for the Twilio API
Features:
- Buy phone numbers from the command-line in the U.S., toll free and wherever Twilio sells them
- Manage Twilio accounts: create new sub-accounts, list, rename accouts
- Make phone calls from the command-line
- Conrtol call flow from the command-line using stateless TwiML transactions (no web app necessary)
- Command-line driven conference calls
- Send and receive SMS text messages
- Read your Twilio logs from the command-line
- Modify the flow of calls or conferences in progress with a curses based comand-line interface
- Do lots of stuff without going to your dashboard on the twilio.com website
TODO:
- Plugin system based on Python entry_points
- Plugin to launch Bottle web app and localtunnel.com it!
- Plugin for Phox Flask webapp
- Create API for using alternate interfaces such as urwid to make complete SMS or phone app GUIs.
- Make an entire website about what I could do with Twilio+Twerp.
.. contents::
Installation
pip install twerp
Configure twerp
~/.twerprc
ACCOUNT_SID=a902830980980980ff987yada
AUTH_TOKEN=98798asdfas9df87sadf987yada
CALLERID=+12135551212
Usage::
Usage: twerp [options]
Options:
-h, --help show this help message and exit
--version Show twerp version and exit.
-v, --verbose Show more output stuff.
--debug Show debugging information.
-q, --quiet Show less output.
Common options:
These options can be used for both SMS and voice calls.
-c CALLERID, --callerid=CALLERID
Phone number you are calling from or texting from.
-i, --interactive Go into interactive command-line mode after dialing
(voice or conferences).
Voice call options:
Place phone calls, execute TWIML.
-d +12135551212,+14155551212, --dial=+12135551212,+14155551212
List of numbers to dial, comma-separated.
-y Say something., --say=Say something.
Use with --dial to say something.
-u URL of TWIML, --url=URL of TWIML
URL of TWIML to pass call with --call
-b +12135551212, --buy=+12135551212
Buy a specific phone number listed with -x or -a
-a AREA CODE, --area-code=AREA CODE
Search for phone number to purchase by area code. Use
-b to purchase from these results.
-x CONTAINS, --contains=CONTAINS
Search for phone number to purchase by numbers or
letters it contains.
Conference (voice) options:
These options can be used for voice conference calls.
-f +12135551212,+14155551212, --conference=+12135551212,+14155551212
Start conference with list of numbers to dial, comma-
separated.
-o ROOM, --room=ROOM
Room to join for voice conference.
-e, --conferences Show conferences in-progress.
-p, --conference-participants
Show participants for all conferences in-progress.
SMS options:
Send and reveive SMS text messages.
-m <TXT MSG>, --message=<TXT MSG>
Send SMS text message
-s +12135551212,+14155551212, --sms=+12135551212,+14155551212
Send SMS text message to list of numbers.
-l, --list-sms Show incoming SMS messages.
Reporting options:
List your Twilio phone numbers and information about each.
-n, --notifications
Show notifications from Twilio API (error messages and
warnings).
-r, --numbers Show all my Twilio phone numbers. Use -Nv for detailed
info on each number.
--sid=SID Show log for given SID
Applications:
Twilio Application information.
--applications Show all my Twilio Applications.
Accounts:
Twilio account and sub-account management
--list-accounts
List all Twilio accounts and sub-accounts.
--create-sub-account=NAME
Create sub-account named 'NAME'
--rename-sub-account=NAME
Rename account or sub-account using 'NAME'
Interactive Mode
The Prompt
The prompt will have part of the SID if a call is in progress:
twerp (CA3abc...) >>
If you hang up a call, for example, there will be no SID, so the prompt will look like this:
twerp (...) >>
Interactive Mode Commands
- list - List all calls in progress, ringing or queued
- hangup - Hang up call associated with SID shown in prompt
- nuke - Hang up all calls associated with account. ALL OF THEM!
- forward
- Redirect current call to another phone number - url <URL> - Redirect flow of call to TwiML at a URL
- info [<SID>] - Show info for current SID or SID given
- sid <SID> - Change the current SID associated with interactive-mode
Installation
pip install twerp
Development
- We're on Freenode #twerp
- We're on Twitter @TwerpForTwilio
- We're on Github https://github.com/cakebread/twerp
- We're on continuous integration a la Jenkins http://cakebread.info:8080
- Fork it, phone it.
See http://blog.cakebread.info/