Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ssiyad/rssd

Poll and execute command when there is a new rss item
https://github.com/ssiyad/rssd

Last synced: 5 days ago
JSON representation

Poll and execute command when there is a new rss item

Awesome Lists containing this project

README

        

# rssd
#### Poll and execute command when there is a new rss item
*There is still much to do, keep your eyes open*

## Installation
- Manually
```
> git clone https://github.com/ssiyad/rssd
> cd rssd
> make
> make install
```
- From AUR
```
> git clone https://aur.archlinux.org/rssd.git
> cd rssd
> makepkg -si
```
or using your favorite AUR helper
```
yay -S rssd
```
- or download a release, and manually copy executable into `$PATH`

## Usage
### Config
Default location is `$XDG_CONFIG_HOME/rssd/config.json` but could be overridden with `--config`
```
> rssd --config ./cfg/cfg.json
```

### Adding a feed
```
> rssd add-feed "https://ssiyad.com/blog/index.xml"
```

### Listing current feeds
```
> rssd list-feed
+-------+--------------------------------+-----------------------------------+
| INDEX | FEED | LAST |
+-------+--------------------------------+-----------------------------------+
| 0 | http://rss.art19.com/the-daily | https://www.nytimes.com/the-daily |
+-------+--------------------------------+-----------------------------------+
```

### Removing a feed
```
> rssd remove-feed 0
removed: https://www.twentyfournews.com/feed
```

### Setting the command to execute
```
> rssd set-exec *command or /path/to/script*
```

#### Examples
- Desktop notifications
```
> rssd set-exec "notify-send '&title' '&item_title'"
```
- Telegram bot
```
> rssd set-exec "curl https://api.telegram.org/bot\$BOT_TOKEN/sendMessage?chat_id=\$TG_CHAT&text=&item_title"
```

### Running rssd
- using systemd
```
> systemctl --user enable rssd.timer
> systemctl --user start rssd.timer
```
*`make install` copy service and unit files into `/usr/lib/systemd/user`*
- with standalone mode
```
> rssd --standalone --interval 5
```
*`--interval` is in minutes and is used only when in standalone mode*

## Available placeholders
Placeholders need to be prefixed with `&`, like `&item_title`
```
title
desc
lang
item_title
item_link
item_pubDate
item_desc
item_authorName
item_authorEmail
```