mirror of
https://github.com/YGGverse/rssto.git
synced 2026-03-31 17:15:29 +00:00
73 lines
2 KiB
Markdown
73 lines
2 KiB
Markdown
# rssto
|
|
|
|

|
|
[](https://deps.rs/repo/github/YGGverse/rssto)
|
|
[](https://crates.io/crates/rssto)
|
|
|
|
Convert RSS feeds into multiple formats
|
|
|
|
## Features
|
|
|
|
* [x] Multiple feed sources with flexible TOML config options
|
|
* [x] Limit channel items
|
|
* [x] Format time
|
|
* [x] Multiple export format definition
|
|
* [x] Custom templates
|
|
* [x] Single export or daemon mode with update time
|
|
* [x] Export formats:
|
|
* [x] HTML
|
|
* [x] [Gemtext](https://geminiprotocol.net/docs/gemtext.gmi)
|
|
|
|
## Install
|
|
|
|
``` bash
|
|
cargo install rssto
|
|
```
|
|
|
|
## Launch
|
|
|
|
``` bash
|
|
rssto -c config/example.toml
|
|
```
|
|
> [!TIP]
|
|
> * prepend `RUST_LOG=DEBUG` to print worker details (supported [levels](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.LevelFilter.html))
|
|
> * append `-u TIME` to run as the daemon with `TIME` interval update
|
|
> * see `rssto --help` to print all available options
|
|
|
|
### Systemd
|
|
|
|
1. Install `rssto` by copy the binary compiled into the native system apps destination:
|
|
* Linux: `sudo install /home/user/.cargo/bin/rssto /usr/local/bin/rssto`
|
|
2. Create `systemd` configuration file at `/etc/systemd/system/rssto.service`:
|
|
|
|
``` rssto.service
|
|
[Unit]
|
|
After=network-online.target
|
|
Wants=network-online.target
|
|
|
|
[Service]
|
|
Type=simple
|
|
|
|
User=rssto
|
|
Group=rssto
|
|
|
|
# Uncomment for debug
|
|
# Environment="RUST_LOG=DEBUG"
|
|
# Environment="NO_COLOR=1"
|
|
|
|
ExecStart=/usr/local/bin/rssto -c /path/to/config.toml
|
|
|
|
StandardOutput=file:///home/rssto/debug.log
|
|
StandardError=file:///home/rssto/error.log
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
* example above requires new system user (`useradd -m rssto`)
|
|
|
|
3. Run in priority:
|
|
|
|
* `systemctl daemon-reload` - reload systemd configuration
|
|
* `systemctl enable rssto` - enable new service
|
|
* `systemctl start rssto` - start the process
|
|
* `systemctl status rssto` - check process launched
|