Server in Rust for generating notifications from RSS, 4chan threads, YouTube subscriptions and more.
- KLWP Home Screen
- Mumble Plugin (Outdated)
- RSS Server support
- RSS Reader support
- 4chan support
- YouTube Subscriptions support
- Vinesauce support
- Websocket support
- Twitch support
Config is stored in config.json
in the working directory.
See config_example.json for example configuration.
web
interface hosts HTTP server providing read only access to data.
Only one route is currently supported:
Field | Type | Comment |
---|---|---|
filter | String | Optional. Regex. Only feeds with name matching filter will be returned. If absent, all feeds will be returned. |
format | rss or json |
Optional. Specified output format. json by default. |
flat | Boolean | Optional. Flattens output into single Feed. true by default. |
If you choose rss
format, server will respond with RSS 2.0 feed.
Otherwise server will respond with either single Feed
Field | Type | Comment |
---|---|---|
status | Array of Entries | "Fixed" notifications that disappear after some time. eg. 4chan threads, live streams, etc. |
errors | Array of Entries | Error notifications indicating problems during fetching. |
notifications | Array of Entries | Regular notifications. eg. RSS entries or youtube videos |
Field | Type | Comment |
---|---|---|
title | String | Primary content |
guid | String | ID unique for specific feed |
feedName | String | Name of the parent Feed |
description | String | Optional. Secondary content |
link | String | Optional. |
color | String | Optional. eg. "#FF00FF" |
imageURL | String | Optional. Image thumbnail or preview. |
timestamp | Integer | Optional. JS timestamp, amount of milliseconds since UNIX epoch. |
extra | Object | Optional. Additional data. |
Field | Type | Comment |
---|---|---|
fetchIntervalSecs | Number | Interval at which new notifications will be fetched |
feeds | Map of FeedConfig | Keys represent the name of the feed |
providers | Map of ProviderConfig | Keys represent the name of the provider |
interfaces | Map of InterfaceConfig | Keys represent the name of the interface |
Field | Type | Comment |
---|---|---|
provider | String | Name of the feed provider to use. eg. "rss", "chan" |
providerData | Any | Additional data for provider, see below |
color | String | Optional. Default color for entries |
String value of the URL of RSS feed.
String value of YouTube Channel's ID.
Field | Type | Comment |
---|---|---|
boards | Array of Strings | Boards to search |
filter | String | Regex. OPs matching will be returned. |
Field | Type | Comment |
---|---|---|
channels | Array of Strings | Names of channels to subscribe, eg: ["vinesauce", "vargskelethor"] |
Field | Type | Comment |
---|---|---|
enabled | Boolean | Enables specific provider |
Additionally youtube
provider requires following fields:
Field | Type | Comment |
---|---|---|
apiKey | String | Youtube Data API v3 key |
Field | Type | Comment |
---|---|---|
enabled | Boolean | Enables specific provider |
Additionally web
provider requires following fields:
Field | Type | Comment |
---|---|---|
port | Number | Port on which web interface should be hosted |
rest | Boolean | Enabled REST API (doesn't do anything yet) |
websocket | Boolean | Enabled WebSocket API (doesn't do anything yet) |
rss | Boolean | Enabled RSS API (doesn't do anything yet) |