{"id":22514810,"url":"https://github.com/cityssm/uptime-feed","last_synced_at":"2026-05-15T01:11:46.154Z","repository":{"id":103175786,"uuid":"560984049","full_name":"cityssm/uptime-feed","owner":"cityssm","description":"Push notifications, RSS and JSON application startup notifications, useful for informally notifying affected users of unexpected server restarts.","archived":false,"fork":false,"pushed_at":"2023-01-09T20:41:33.000Z","size":374,"stargazers_count":2,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-28T01:51:14.002Z","etag":null,"topics":["json","ntfy","push-notifications","rss-feed","uptime-monitor"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cityssm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-11-02T17:27:08.000Z","updated_at":"2023-01-15T00:40:29.000Z","dependencies_parsed_at":null,"dependency_job_id":"3828f7d9-4375-4ca3-af63-1861356d346c","html_url":"https://github.com/cityssm/uptime-feed","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/cityssm/uptime-feed","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2Fuptime-feed","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2Fuptime-feed/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2Fuptime-feed/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2Fuptime-feed/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cityssm","download_url":"https://codeload.github.com/cityssm/uptime-feed/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cityssm%2Fuptime-feed/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279111006,"owners_count":26105913,"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-10-15T02:00:07.814Z","response_time":56,"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":["json","ntfy","push-notifications","rss-feed","uptime-monitor"],"created_at":"2024-12-07T03:22:08.319Z","updated_at":"2025-10-15T20:32:06.812Z","avatar_url":"https://github.com/cityssm.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Uptime Feed\n## _Did the server restart?_\n\n[![Codacy grade](https://img.shields.io/codacy/grade/c1e38f5d78b640d5b3e55d78c2b435ec)](https://app.codacy.com/gh/cityssm/uptime-feed/dashboard)\n[![Code Climate maintainability](https://img.shields.io/codeclimate/maintainability/cityssm/uptime-feed)](https://codeclimate.com/github/cityssm/uptime-feed)\n[![Snyk Vulnerabilities for GitHub Repo](https://img.shields.io/snyk/vulnerabilities/github/cityssm/uptime-feed)](https://app.snyk.io/org/cityssm/project/7d36a41a-ee6a-44fa-a374-a7631bda7308)\n\n![Android Push Notification](docs/push.png)\n\n![RSS Output](docs/rss.png)\n\n![JSON Output](docs/json.png)\n\nPush notifications (using [ntfy.sh](https://ntfy.sh/)), RSS and JSON application startup notifications, useful for informally notifying affected users of unexpected server restarts.\n\n## Why?\n\nSometimes the application support team are the last ones to hear about unexpected server restarts.\nIt's not the fault of the busy systems administrators responding to the problem,\nbut finding out about server problems sooner helps everyone.\n\n## What Does it Do?\n\nThis simple application runs on a server, preferably as a service that starts with the server.\nIt hosts an RSS Feed (and a JSON response, if that's your preference)\nwith the last time the application was started.\nIt also has the ability to send a push notification using the [ntfy](https://ntfy.sh/) notification service.\n\nIf the server restarts, the timestamp will change, resulting in a new notification.\n\nIf the feed is unavailable, either the application is down or the server is.\n\n## Getting Started\n\n**Download** a release or clone the repository.\n\n**Install** the dependencies.\n\n    npm install\n\nCreate a `data/config.js` file.\n\n    cp data/configSample.js data/config.js\n\n**Run** the application.\n\n    npm start\n\nAlternatively, the application can be set up as a Windows service.\n\n    npm link node-windows\n    windowsService-install.bat\n\n**Subscribe** to the RSS feed or read the JSON file.\n_Note that the server port is configurable,_\nand there is an option to customize the URLs (helpful when proxying).\n\n    http://serverName:9111/rss\n    http://serverName:9111/json\n\n**Install** the appropriate [ntfy app on your phone](https://ntfy.sh/docs/subscribe/phone/),\nand subscribe to the push notification topic set up in the config file.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityssm%2Fuptime-feed","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcityssm%2Fuptime-feed","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcityssm%2Fuptime-feed/lists"}