{"id":46434858,"url":"https://github.com/funmaker/rust-notifier","last_synced_at":"2026-03-05T20:01:54.191Z","repository":{"id":98539012,"uuid":"69756178","full_name":"funmaker/rust-notifier","owner":"funmaker","description":"Server in Rust for generating notifications from RSS, twitch activity, 4chan threads, youtube subscriptions and more.","archived":false,"fork":false,"pushed_at":"2025-01-14T22:43:32.000Z","size":1366,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-14T23:27:09.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Rust","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/funmaker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"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":"2016-10-01T18:33:16.000Z","updated_at":"2025-01-14T22:43:35.000Z","dependencies_parsed_at":"2025-01-14T23:34:09.174Z","dependency_job_id":null,"html_url":"https://github.com/funmaker/rust-notifier","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/funmaker/rust-notifier","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funmaker%2Frust-notifier","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funmaker%2Frust-notifier/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funmaker%2Frust-notifier/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funmaker%2Frust-notifier/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/funmaker","download_url":"https://codeload.github.com/funmaker/rust-notifier/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/funmaker%2Frust-notifier/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30148009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T16:58:46.102Z","status":"ssl_error","status_checked_at":"2026-03-05T16:58:45.706Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":[],"created_at":"2026-03-05T20:01:52.414Z","updated_at":"2026-03-05T20:01:54.169Z","avatar_url":"https://github.com/funmaker.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# rust-notifier\nServer in Rust for generating notifications from RSS, 4chan threads, YouTube subscriptions and more.\n\n## Clients:\n- [KLWP Home Screen](https://github.com/funmaker/home-screen)\n- [Mumble Plugin](https://github.com/Luksor/mumo-notifier) (Outdated)\n\n## Features\n- [X] RSS Server support\n- [X] RSS Reader support\n- [X] 4chan support\n- [X] YouTube Subscriptions support\n- [X] Vinesauce support\n- [ ] Websocket support\n- [ ] Twitch support\n\n## Configuration\n\n[Config](#Config) is stored in `config.json` in the working directory.\nSee [config_example.json](config_example.json) for example configuration.\n\n## API Reference\n\n`web` interface hosts HTTP server providing read only access to data.\n\nOnly one route is currently supported:\n\n### GET /feeds\n\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| filter  | String | Optional. Regex. Only feeds with name matching filter will be returned. If absent, all feeds will be returned. |\n| format  | `rss` or `json` | Optional. Specified output format. `json` by default. |\n| flat    | Boolean | Optional. Flattens output into single Feed. `true` by default. |\n\nIf you choose `rss` format, server will respond with RSS 2.0 feed.\nOtherwise server will respond with either single [Feed](#Feed)\n\n### Types\n#### Feed\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| status  | Array of [Entries](#Entry) | \"Fixed\" notifications that disappear after some time. eg. 4chan threads, live streams, etc. |\n| errors  | Array of [Entries](#Entry) | Error notifications indicating problems during fetching. |\n| notifications | Array of [Entries](#Entry) | Regular notifications. eg. RSS entries or youtube videos |\n\n#### Entry\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| title   | String | Primary content |\n| guid    | String | ID unique for specific feed |\n| feedName | String | Name of the parent Feed |\n| description | String | Optional. Secondary content |\n| link | String | Optional. |\n| color | String | Optional. eg. \"#FF00FF\" |\n| imageURL | String | Optional. Image thumbnail or preview. |\n| timestamp | Integer | Optional. JS timestamp, amount of milliseconds since UNIX epoch. |\n| extra | Object | Optional. Additional data. |\n\n#### Config\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| fetchIntervalSecs | Number | Interval at which new notifications will be fetched |\n| feeds | Map of [FeedConfig](#FeedConfig) | Keys represent the name of the feed |\n| providers | Map of [ProviderConfig](#ProviderConfig) | Keys represent the name of the provider |\n| interfaces | Map of [InterfaceConfig](#InterfaceConfig) | Keys represent the name of the interface |\n\n#### FeedConfig\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| provider | String | Name of the feed provider to use. eg. \"rss\", \"chan\" |\n| providerData | Any | Additional data for provider, see below |\n| color | String | Optional. Default color for entries |\n\n#### Provider specific Config\n##### RSS\nString value of the URL of RSS feed.\n\n##### YouTube Subscriptions\nString value of YouTube Channel's ID.\n\n##### 4chan\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| boards  | Array of Strings | Boards to search |\n| filter | String | Regex. OPs matching will be returned. |\n\n##### Vinesauce\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| channels  | Array of Strings | Names of channels to subscribe, eg: [\"vinesauce\", \"vargskelethor\"] |\n\n#### ProviderConfig\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| enabled  | Boolean | Enables specific provider |\n\nAdditionally `youtube` provider requires following fields:\n\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| apiKey  | String | Youtube Data API v3 key |\n\n#### InterfaceConfig\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| enabled  | Boolean | Enables specific provider |\n\nAdditionally `web` provider requires following fields:\n\n| Field   | Type   | Comment |\n| ------- | ------ | ------- |\n| port    | Number | Port on which web interface should be hosted |\n| rest    | Boolean | Enabled REST API (doesn't do anything yet) |\n| websocket | Boolean | Enabled WebSocket API (doesn't do anything yet) |\n| rss     | Boolean | Enabled RSS API (doesn't do anything yet) |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunmaker%2Frust-notifier","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffunmaker%2Frust-notifier","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffunmaker%2Frust-notifier/lists"}