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.

40 lines
1.7 KiB

7 months ago
# Pulsar
7 months ago
7 months ago
RSS aggregator for different protocols
7 months ago
7 months ago
See also [alternative branch](https://github.com/YGGverse/Pulsar/tree/fs) to generate static `gemtext` from feeds.
7 months ago
## Features
7 months ago
* [x] `src/crawler.php` - scan configured RSS feeds and dump results to SQLite
7 months ago
* [ ] `src/cleaner.php` - auto clean deprecated records
7 months ago
* [x] `src/server.php` - server launcher for different protocols:
* [x] [NEX](https://nightfall.city/nex/info/specification.txt) - based on [Ratchet](https://github.com/ratchetphp/Ratchet) `IoServer` asynchronous socket library
* [ ] [Gemini](https://geminiprotocol.net)
7 months ago
7 months ago
## Example
* `nex://[301:23b4:991a:634d::feed]` - [Yggdrasil](https://github.com/yggdrasil-network/yggdrasil-go) instance by YGGverse
7 months ago
7 months ago
## Install
7 months ago
1. `apt install git composer php-fpm php-sqlite3 php-pdo php-mbstring` - install system dependencies
7 months ago
2. `git clone https://github.com/YGGverse/Pulsar.git` - get latest Pulsar version
7 months ago
3. `cd Pulsar` - navigate project folder
7 months ago
4. `composer update` - install application dependencies
7 months ago
5. `cp config/example.json name.json` - setup your feed
7 months ago
7 months ago
## Crawler
7 months ago
* `php src/crawler.php config=name.json` - crawl feeds configured by `name.json` - manually or using crontab
7 months ago
* `config` - relative (to `config` folder) or absolute path to configuration file
## Server
7 months ago
Launch as many servers as wanted, for different protocols and configurations (provided as the arguments)
7 months ago
* `php src/server.php protocol=nex config=name.json` - launch `nex` protocol server with `name.json` config
7 months ago
* `config` - relative (`config` folder) or absolute path to configuration file
7 months ago
* `protocol` - server protocol, supported options:
* `nex` - [NEX Protocol](https://nightfall.city/nex/info/specification.txt)