5 releases

new 0.1.4 Feb 17, 2025
0.1.3 Feb 17, 2025
0.1.2 Feb 12, 2025
0.1.1 Feb 12, 2025
0.1.0 Feb 11, 2025

#248 in Parser implementations

Download history 47/week @ 2025-02-05 462/week @ 2025-02-12

509 downloads per month

MIT license

18KB
183 lines

pulsarss

Build Dependencies crates.io

RSS Aggregator for Gemini Protocol

pulsarss is a multi-process crawler for RSS feeds, that collects and converts results into the static gemtext 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

Install

cargo install pulsarss

Launch

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 system destination:
  • Linux: sudo cp /home/user/.cargo/bin/pulsarss /usr/local/bin
  1. Create systemd configuration file:
# /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
  1. 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

Dependencies

~10–22MB
~364K SLoC