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.
yggverse
389fb4136e
|
7 months ago | |
---|---|---|
example | 7 months ago | |
src | 7 months ago | |
.gitignore | 7 months ago | |
LICENSE | 7 months ago | |
README.md | 7 months ago | |
composer.json | 7 months ago |
README.md
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 using crontab
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 display on page generatedtemplate
- 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 placed to any local folder (for personal reading) or shared with others (using gmid, twins or any other 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,server
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!