Awesome
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
apt install git composer php-fpm php-sqlite3 php-pdo php-mbstring
- install system dependenciesgit clone https://github.com/YGGverse/Pulsar.git
- get latest Pulsar versioncd Pulsar
- navigate project foldercomposer update
- install application dependenciescp config/example.json config/name.json
- setup your feed
Crawler
php src/crawler.php config=name.json
- crawl feeds configured byname.json
- manually or using crontabconfig
- relative (toconfig
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
- launchnex
protocol server withname.json
configconfig
- relative (config
folder) or absolute path to configuration fileprotocol
- server protocol, supported options:nex
- NEX Protocol
Autostart
systemd
Launch server as the systemd service
Following example mean application installed into the home directory of pulsar
user (useradd -m pulsar
)
# /etc/systemd/system/pulsar.service
[Unit]
After=network.target
[Service]
Type=simple
User=pulsar
Group=pulsar
ExecStart=/usr/bin/php /home/pulsar/Pulsar/src/server.php protocol=nex config=name.json
StandardOutput=file:/home/pulsar/debug.log
StandardError=file:/home/pulsar/error.log
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
- reload systemd configurationsudo systemctl enable pulsar
- enable service on system startupsudo systemctl start pulsar
- start server