PHPackages                             yggverse/pulsar - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yggverse/pulsar

ActiveProject[Utility &amp; Helpers](/categories/utility)

yggverse/pulsar
===============

RSS aggregator for different protocols

20PHP

Since May 3Pushed 2y ago2 watchersCompare

[ Source](https://github.com/YGGverse/Pulsar)[ Packagist](https://packagist.org/packages/yggverse/pulsar)[ RSS](/packages/yggverse-pulsar/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (2)Used By (0)

Pulsar
======

[](#pulsar)

RSS aggregator for different protocols

See also [alternative branch](https://github.com/YGGverse/Pulsar/tree/fs) to generate static `gemtext`

Features
--------

[](#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:
    - [NEX](https://nightfall.city/nex/info/specification.txt) - based on [Ratchet](https://github.com/ratchetphp/Ratchet) `IoServer` asynchronous socket library
    - [Gemini](https://geminiprotocol.net)

Example
-------

[](#example)

- `nex://[301:23b4:991a:634d::feed]` - [Yggdrasil](https://github.com/yggdrasil-network/yggdrasil-go) instance by YGGverse

Install
-------

[](#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
-------

[](#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
------

[](#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:
        - `nex` - [NEX Protocol](https://nightfall.city/nex/info/specification.txt)

### Autostart

[](#autostart)

#### systemd

[](#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 configuration
- `sudo systemctl enable pulsar` - enable service on system startup
- `sudo systemctl start pulsar` - start server

###  Health Score

13

—

LowBetter than 1% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community9

Small or concentrated contributor base

Maturity20

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/67b0f652ebac064d26ca06ba5fd4271fab0ac5482d6c2d4865b8f3697721bc31?d=identicon)[d47081](/maintainers/d47081)

![](https://www.gravatar.com/avatar/d4eafa818f51a43c026ee538ac36192684eef5e128e1eac8d622b74d1bfd4de4?d=identicon)[YGGverse](/maintainers/YGGverse)

---

Top Contributors

[![d47081](https://avatars.githubusercontent.com/u/108541346?v=4)](https://github.com/d47081 "d47081 (1 commits)")

---

Tags

19001965aggregatorcomposerconvertergeminigemini-protocolgemini-rssgemtextnexnex-protocolratchetrsssqlite

### Embed Badge

![Health badge](/badges/yggverse-pulsar/health.svg)

```
[![Health](https://phpackages.com/badges/yggverse-pulsar/health.svg)](https://phpackages.com/packages/yggverse-pulsar)
```

###  Alternatives

[zservices/query

Pacote para consultas em serviços do governo.

131.1k](/packages/zservices-query)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
