pulsarss/README.md
2025-02-11 19:41:33 +02:00

54 lines
1.7 KiB
Markdown

# pulsarss
![Build](https://github.com/YGGverse/pulsarss/actions/workflows/build.yml/badge.svg)
[![Dependencies](https://deps.rs/repo/github/YGGverse/pulsarss/status.svg)](https://deps.rs/repo/github/YGGverse/pulsarss)
[![crates.io](https://img.shields.io/crates/v/pulsarss.svg)](https://crates.io/crates/pulsarss)
## RSS Aggregator for [Gemini Protocol](https://geminiprotocol.net/)
`pulsarss` is a multi-process crawler for RSS feeds. It collects the data into static [gemtext](https://geminiprotocol.net/docs/gemtext.gmi) files, organized in sub-folders by `pub_date`; also builds an actual `index.gmi` file in the destination folders for easy reading in your favorite [Gemini browser](https://github.com/kr1sp1n/awesome-gemini#clients).
> [!NOTE]
> At this moment, `pulsarss` does not provide any built-in server. To read the data collected, use any server for static files listed in the [awesome-gemini](https://github.com/kr1sp1n/awesome-gemini#servers)
## Install
``` bash
cargo install pulsarss
```
## Launch
``` bash
pulsarss --source https://path/to/feed.rss
```
### Options
* `source`, `s` - RSS feed source (required)
* `target`, `t` - Destination directory (`public` by default)
* `update`, `u` - Update timeout in seconds (`60` by default)
### Autostart
#### systemd
``` /etc/systemd/system/pulsarss.service
# /etc/systemd/system/pulsarss.service
[Unit]
After=network.target
[Service]
Type=simple
User=pulsarss
Group=pulsarss
ExecStart=pulsarss -s https://path/to/feed.rss
[Install]
WantedBy=multi-user.target
```
* `systemctl daemon-reload` - reload systemd configuration
* `systemctl enable pulsarss` - enable service on system startup
* `systemctl start pulsarss` - start server