mirror of
https://github.com/YGGverse/rssto.git
synced 2026-03-31 09:05:29 +00:00
Crawl content from RSS feeds into multiple formats
https://crates.io/crates/rssto
| .github | ||
| src | ||
| template/html | ||
| .gitignore | ||
| Cargo.toml | ||
| LICENSE | ||
| README.md | ||
rssto
Aggregate RSS feeds into different formats
A simple multi-source feed aggregator that outputs static files in multiple formats.
Roadmap
- HTML
- Markdown
- Gemtext
Install
cargo install rssto
Launch
rssto --source https://path/to/source1.rss\
--target /path/to/source1dir\
--source https://path/to/source2.rss\
--target /path/to/source2dir\
--format html
Options
-d, --debug <DEBUG> Show output (`d` - debug, `e` - error, `i` - info) [default: ei]
-f, --format <FORMAT> Export formats (`html`,`md`,etc.) [default: html]
-l, --limit <LIMIT> Limit channel items (unlimited by default)
-s, --source <SOURCE> RSS feed URL(s)
--target <TARGET> Destination directory
--template <TEMPLATE> Path to template directory [default: template]
--time-format <TIME_FORMAT> Use custom time format [default: "%Y/%m/%d %H:%M:%S %z"]
-u, --update <UPDATE> Update timeout in seconds [default: 60]
-h, --help Print help
-V, --version Print version
Autostart
systemd
- Install
rsstoby copy the binary compiled into the native system apps destination:
- Linux:
sudo cp /home/user/.cargo/bin/rssto /usr/local/bin
- Create
systemdconfiguration file:
# /etc/systemd/system/rssto.service
[Unit]
After=network-online.target
Wants=network-online.target
[Service]
Type=simple
User=rssto
Group=rssto
ExecStart=/usr/local/bin/rssto --source https://path/to/source1.rss\
--target /path/to/source1dir\
--source https://path/to/source2.rss\
--target /path/to/source2dir\
--format html
--time-format %%Y/%%m/%%d %%H:%%M:%%S
[Install]
WantedBy=multi-user.target
- on format time, make sure
%is escaped to%%
- Run in priority:
systemctl daemon-reload- reload systemd configurationsystemctl enable rssto- enable new servicesystemctl start rssto- start the processsystemctl status rssto- check process launched