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

|
|
[](https://deps.rs/repo/github/YGGverse/pulsarss)
|
|
[](https://crates.io/crates/pulsarss)
|
|
|
|
## RSS Aggregator for [Gemini Protocol](https://geminiprotocol.net/)
|
|
|
|
`pulsarss` is a multi-process crawler for RSS feeds, that collects and converts results into the static [gemtext](https://geminiprotocol.net/docs/gemtext.gmi) files; also aggregates an actual `index.gmi` file in the relevant folders organized by channel / item `pub_date`.
|
|
|
|
> [!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 --index index.gmi
|
|
```
|
|
|
|
### Options
|
|
|
|
* `source`, `s` - RSS feed source (required)
|
|
* `target`, `t` - Destination directory (`public` by default)
|
|
* `update`, `u` - Update timeout in seconds (`60` by default)
|
|
* `index`, `i` - Generate index files with given filename (disabled by default)
|
|
* `limit`, `l` - Limit channel items (unlimited by default)
|
|
* `output`, `o` - Print output (`dw` by default):
|
|
* `d` - debug
|
|
* `w` - warning
|
|
* `n` - disable
|
|
|
|
### Autostart
|
|
|
|
#### systemd
|
|
|
|
1. Install `pulsarss` by copy the binary compiled into the native system apps destination:
|
|
|
|
* Linux: `sudo cp /home/user/.cargo/bin/pulsarss /usr/local/bin`
|
|
|
|
2. Create `systemd` configuration file:
|
|
|
|
``` 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 -i index.gmi
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target
|
|
```
|
|
|
|
3. Run in priority:
|
|
|
|
* `systemctl daemon-reload` - reload systemd configuration
|
|
* `systemctl enable pulsarss` - enable new service
|
|
* `systemctl start pulsarss` - start the process
|
|
* `systemctl status pulsarss` - check process launched
|