mirror of https://github.com/YGGverse/Pulsar.git
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.
2.5 KiB
2.5 KiB
Pulsar
RSS Aggregator for Gemini Protocol
Simple RSS feed converter to static Gemtext format, useful for news portals or localhost reading
Usage
git clone https://github.com/YGGverse/Pulsar.git
cp example/crawler.json crawler.json
- setup your feed locationsphp src/crawler.php
- grab feeds manually or create the crontab task
Config
Configuration file supports multiple feed channels with custom settings:
source
- string, filepath or URL to the valid RSS feedtarget
- string, relative or absolute path to Gemtext dumpsitem
limit
- integer, how many items to displaytemplate
- string, custom pattern for feed item, that supports following macros{nl}
- new line separator{link}
- item link{guid}
- item guid{pubDate}
- item pubDate, soon with custom time format e.g.{pubDate:Y-m-d H:s}
{title}
- item title{description}
- item description
Resulting files could be generated to the any folder for personal reading on localhost, or shared with others using gmid, twins or any other Gemini server.
Server
Pulsar comes with build-in Titan-II server implementation.
It's especially useful for Yggdrasil users, who wish to host their feeds using plain IPv6 0200::/7
addresses as the CN
record. Build-in server contain this feature implemented from the box.
Setup
cd Pulsar
- navigate to the project foldercomposer update
- download server dependencies with Composermkdir server/127.0.0.1
- init server location (you can define any other destination, butserver
one is just git ignored)cp example/host.json server/127.0.0.1/host.json
- copy configuration example to the destination foldercd server/127.0.0.1
- navigate to server folder created and generate new self-signed certificate
On example above, certificate could be generated with following command:
openssl req -x509 -newkey rsa:4096 -keyout key.rsa -out cert.pem -days 365 -nodes -subj "/CN=127.0.0.1"
- tip: for IPv6 address, just skip square brackets from
CN
value
Launch
php src/server.php server/127.0.0.1
- supported relative or absolute paths for systemd service
Open gemini://127.0.0.1
in Gemini browser!