tttfi

Middleware for IFTTT.

  • Owner: kamikat/tttfi
  • Platform:
  • License::
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

TTTFI

npm

Middleware for IFTTT.

Usage

TTTFI picks up data from IFTTT webhook, pass data through scripts and send output of script back to IFTTT.

STEP1 Prepare scripts:

Let's write a simple hello world in shell (you can find that in samples folder).

#!/bin/sh

# Read body from stdin
read NAME

# Print response to IFTTT
cat << EOF
{"value1": "Hello, $NAME!"}
EOF

STEP2 Run docker image:

docker run -e API_KEY=<your-ifttt-key> \
           -e SECRET_TOKEN=<secret-token> \
           -v `pwd`/samples:/opt/bin \
           -p 3001:3001 \
           --name tttfi \
           kamikat/tttfi

NOTE: Pick up a random string as your SECRET_TOKEN.

STEP3 Setup trigger:

  1. Create a webhook trigger https://ifttt.com/create/if-maker_webhooks?sid=1
  2. Set Event Name to hello (name of the script)
  3. Choose any action service
  4. Click Add ingredient and select Value1 on any field of the service that supports it

Test your configuration by sending some data using curl

echo 'world', curl -XPOST -d- https://your-domain.com/hello/secret/<secret-token>

STEP4 Setup action:

  1. Create trigger with any service https://ifttt.com/create (Telegram for example)
  2. Choose Webhooks service to create an action
  3. Set the url (for example https://your-domain.com/hello/secret/<secret-token>)
  4. Set Method to POST and Content Type to text/plain (the hello event requires simple text)
  5. Add any ingredient to body

Scripting with Python/Perl/Go...

Scripts written in python or other platform can failed to start because they're not installed in container.

Add required package after start the container:

docker exec tttfi apk --no-cache add <package-name>

Or run tttfi natively (see next section)

Native server

TTTFI can run natively on *nix with ES6 compatible Node.js.

npm install -g tttfi

Run TTTFI:

PATH=<path-to-scripts>:$PATH API_KEY=<your-ifttt-key> SECRET_TOKEN=<secret-token> tttfi

Be careful that it executes ANYTHING in your $PATH with correct secret token.

License

(The MIT License)

Main metrics

Overview
Name With Ownerkamikat/tttfi
Primary LanguageJavaScript
Program languageJavaScript (Language Count: 1)
Platform
License:
所有者活动
Created At2017-07-17 15:44:12
Pushed At2017-07-18 01:23:16
Last Commit At2017-07-18 08:57:38
Release Count2
Last Release Name1.0.0 (Posted on )
First Release Name1.0.0-py2 (Posted on )
用户参与
Stargazers Count349
Watchers Count8
Fork Count15
Commits Count15
Has Issues Enabled
Issues Count1
Issue Open Count0
Pull Requests Count0
Pull Requests Open Count0
Pull Requests Close Count0
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private