pushterm v1.0.0
Send push notifications via IFTTT from the terminal
👋 Introduction
Pushterm allows you to send push notifications to your smartphone from your terminal with ease. Send yourself a note, a link or anything else to quickly access on your phone. Since it is running in your terminal, you can even pipe output of another command to it or use it with something like cron to send notifications at specific intervals or events. It uses IFTTT webhooks to send and show the notifications and requires minimal setup.
🚀 Get started
Install Pushterm via NPM:
npm install -g pushtermSetup Pushterm interactivly:
pushterm setupYou will be asked to input your IFTTT key and event name. More info below
After that Pushterm is ready to be used 🎉
📚 Usage
After Pushterm is setup, simply run pushterm or pushterm send followed by the text you want to send:
pushterm "Hello from your terminal!"That's all that is needed to send a push notification 🔥
You can optionally also specify a notification title with -t <text>/--title <text> or a link with -l <url>/--link <url> which will open when you click the notification. The message itself can also be specified with -m <text>/--message <text>.
Use -i or --interactive to enter the above options manually.
The IFTTT key and the event name can also be specified for each run with the environment variables IFTTT_KEY and EVENT_NAME.
📄 Examples
Here are a few examples on how to use Pushterm:
Basic notification
pushterm "Hello World"Rich notification
pushterm -t "Example Notification" -m "This is an example." -l "https://github.com/BetaHuhn/pushterm"Interactive
pushterm -iYou will be asked to enter all values.
Piping output to it
echo "Hello World" | pushterm send🔨 IFTTT setup instructions
Pushterm uses IFTTT webhooks to send a push notification to your smartphone with the IFTTT app. To get started, download the app to your phone and login/register a IFTTT account (it's free).
Once the app is setup, follow the steps below:
1) Create a new applet by clicking "Create" in the apps home screen.
2) Add a new trigger by clicking "If this" and search for "Webhooks".
3) Select "Receive a web request" and enter pushterm as the event name (if you enter a custom name, remember to specify it during the CLI setup).
4) Next, add a action that should run after the trigger by clicking "Than that". Search for "Notifications" and select "Send a rich notification from the IFTTT app".
5) You will be presented with a form with 4 inputs which you can fill with different "ingredients". Remove any existing text and select the following ingredients instead:
| Input Name | Ingredient |
|---|---|
| Title | Value 2 |
| Message | Value 1 |
| Link Url | Value 3 |
| Image Url |
6) After you have entered the correct values, click "Create action" and then "Continue"
7) Choose a title for the applet and then click "Finish" to create the applet
8) Click the webhook logo or search for "webhooks" in the explore tab
9) Click the documentation button and note down/copy the key which is displayed at the top
10) Run pushterm setup and enter the key when prompted for it
That's it, you are ready to send push notifications from your terminal 🎉
🔮 Command Reference
Run pushterm help to display the help page below:
Usage: pushterm [options] [command]
Send push notifications via IFTTT from the terminal
Options:
-v, --version output the version number
-d, --debug enable debug mode (default: false)
-i, --interactive use interactive mode (default: false)
-m, --message <value> notification message
-t, --title <value> notification title (default: "Pushterm")
-l, --link <value> link to open when clicking notification
-h, --help display help for command
Commands:
send [options] Send a push notification
setup Setup Pushterm
config Output current config
help Display this help text💻 Development
- run
yarn lintornpm run lintto run eslint. - run
npm linkto setup the program for development. - run
yarn buildornpm run buildto produce a compiled version in thedistfolder.
❔ About
This project was developed by me (@betahuhn) in my free time. If you want to support me:
📄 License
Copyright 2021 Maximilian Schiller
This project is licensed under the MIT License - see the LICENSE file for details.