{"id":21514545,"url":"https://github.com/xzya/node-red-contrib-push","last_synced_at":"2025-09-10T05:14:26.339Z","repository":{"id":65462053,"uuid":"83727737","full_name":"Xzya/node-red-contrib-push","owner":"Xzya","description":"Node-RED Push Notification nodes","archived":false,"fork":false,"pushed_at":"2017-03-03T16:08:56.000Z","size":50,"stargazers_count":2,"open_issues_count":2,"forks_count":4,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-30T01:19:28.325Z","etag":null,"topics":["apn","gcm","node-red","notifications","push","web-push"],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Xzya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-03-02T21:44:38.000Z","updated_at":"2017-11-15T22:38:41.000Z","dependencies_parsed_at":"2023-01-24T15:35:12.606Z","dependency_job_id":null,"html_url":"https://github.com/Xzya/node-red-contrib-push","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Xzya/node-red-contrib-push","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xzya%2Fnode-red-contrib-push","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xzya%2Fnode-red-contrib-push/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xzya%2Fnode-red-contrib-push/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xzya%2Fnode-red-contrib-push/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Xzya","download_url":"https://codeload.github.com/Xzya/node-red-contrib-push/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Xzya%2Fnode-red-contrib-push/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274416447,"owners_count":25280956,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["apn","gcm","node-red","notifications","push","web-push"],"created_at":"2024-11-23T23:51:51.895Z","updated_at":"2025-09-10T05:14:26.299Z","avatar_url":"https://github.com/Xzya.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"Node-RED Push Notification nodes\n====================================\n\n\n`node-red-contrib-push` is a [Node-RED](http://nodered.org/docs/creating-nodes/packaging.html) package that allows you to send APN, GCM and Web push notifications.\n\nIt uses the [node-apn](https://github.com/node-apn/node-apn) library for APN notifications, [node-gcm](https://github.com/ToothlessGear/node-gcm) for GCM notifications and [web-push](https://github.com/web-push-libs/web-push) for Web notifications.\n\n## Table of Contents\n- [APN](#apn)\n- [GCM](#gcm)\n- [Web](#web)\n- [Additional information](#additional)\n- [Example flow](#example)\n- [Screenshots](#screenshots)\n- [License](#license)\n\n## APN     \u003ca name=\"apn\"\u003e\u003c/a\u003e\n\nYou can use the ```apn``` node to send notifications to iOS and Safari devices. You will need to configure a [Provider Authentication Token](https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html) and then create an ```app``` configuration, which will contain the token, as well as the topic (bundle-id) of your app and wheather it's using a production or sandbox environment. Assign the ```app``` configuration to the ```apn``` node and you are ready to send notifications.\n\nYou can use the ```apn-notification``` node to set the properties of a notification, or you can send the values in the ```msg.notification``` object. You can also set the raw payload which will be sent to Apple in the ```msg.rawNotification``` object. More information available in the ```apn``` node info tab.\n\nThe tokens must be provided in the ```msg.tokens``` object as an array.\n\n## GCM     \u003ca name=\"gcm\"\u003e\u003c/a\u003e\n\nThe ```gcm``` node is used to send notifications to Android and iOS (if it's configured in Firebase) devices. For Chrome notifications, check out the ```web``` node. You will need to configure your GCM Api Key and assign it to the node.\n\nYou can use the ```gcm-notification``` node to set the properties of a notification, or you can send the values in the ```msg.notification``` object.\n\nThe recipient of the notification can be specified by setting one of the following keys: ```to```, ```topic```, ```condition```, ```registrationTokens``` or ```tokens```.\n\nMore information available in the ```gcm``` node info tab.\n\n## Web     \u003ca name=\"web\"\u003e\u003c/a\u003e\n\nThe ```web``` node is used to send notifications to Chrome, Firefox, Opera, and Samsung Internet browsers. For a list of supported versions of those browsers, check the [web-push](https://github.com/web-push-libs/web-push) page.\n\nSome browsers (Chrome and Opera) requires a GCM Api Key to send notifications, so you will need to configure it in the node.\n\nYou can use the ```web-notification``` node to set the properties of a notification, or you can send the values in the ```msg.notification``` object.\n\nThe device tokens must be provided in the ```msg.tokens``` object and they must contain the ```endpoint```, as well as the ```p256dh``` and the ```auth``` keys.\n\nMore information available in the ```web``` node info tab.\n\n## Additional information     \u003ca name=\"additional\"\u003e\u003c/a\u003e\n\nThe ```apn```, ```gcm``` and ```web``` nodes will return the result in the ```msg.result``` key.\n\n## Example flow     \u003ca name=\"example\"\u003e\u003c/a\u003e\n\nYou can find an example flow in ```exampleFlow.json```.\n\n## Screenshots     \u003ca name=\"screenshots\"\u003e\u003c/a\u003e\n\n![Screenshot 1](/screenshot1.PNG?raw=true \"Screenshot 1\")\n\n## License     \u003ca name=\"license\"\u003e\u003c/a\u003e\n\nCopyright 2017 Mihail Cristian Dumitru\n\nLicensed under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License.\nYou may obtain a copy of the License at\n\n[http://www.apache.org/licenses/LICENSE-2.0](http://www.apache.org/licenses/LICENSE-2.0)\n\nUnless required by applicable law or agreed to in writing, software\ndistributed under the License is distributed on an \"AS IS\" BASIS,\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\nSee the License for the specific language governing permissions and\nlimitations under the License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxzya%2Fnode-red-contrib-push","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxzya%2Fnode-red-contrib-push","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxzya%2Fnode-red-contrib-push/lists"}