RSS Aggregator for Gemini Protocol
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yggverse 31a6703374 update filter methods 2 hours ago
config fix protocol name 5 hours ago
src update filter methods 2 hours ago
.gitignore init sqlite implementation 18 hours ago
LICENSE Initial commit 2 weeks ago
README.md fix example 5 hours ago
composer.json update requirements 6 hours ago

README.md

Pulsar

RSS aggregator for different protocols

See also alternative branch to generate static gemtext

Features

  • src/crawler.php - scan configured RSS feeds and dump results to SQLite
  • src/cleaner.php - auto clean deprecated records
  • src/server.php - server launcher for different protocols:

Example

  • nex://[301:23b4:991a:634d::feed] - Yggdrasil instance by YGGverse

Install

  1. apt install git composer php-fpm php-sqlite3 php-pdo php-mbstring - install system dependencies
  2. git clone https://github.com/YGGverse/Pulsar.git - get latest Pulsar version
  3. cd Pulsar - navigate project folder
  4. composer update - install application dependencies
  5. cp config/example.json config/name.json - setup your feed

Crawler

  • php src/crawler.php config=name.json - crawl feeds configured by name.json - manually or using crontab
    • config - relative (to config folder) or absolute path to configuration file

Server

Launch as many servers as wanted, for different protocols and configurations (provided as the arguments)

  • php src/server.php protocol=nex config=name.json - launch nex protocol server with name.json config
    • config - relative (config folder) or absolute path to configuration file
    • protocol - server protocol, supported options: