PHPackages                             kevachat/npsapp - 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. [CLI &amp; Console](/categories/cli)
4. /
5. kevachat/npsapp

ActiveProject[CLI &amp; Console](/categories/cli)

kevachat/npsapp
===============

KevaChat App for NPS Protocol

20PHP

Since May 2Pushed 2y ago1 watchersCompare

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

READMEChangelogDependenciesVersions (1)Used By (0)

npsapp
======

[](#npsapp)

KevaChat Server for [NPS Protocol](https://nightfall.city/nps/info/specification.txt)

Listen connections on `1915` port and save messages to given `namespace` in [KevaCoin](https://github.com/kevacoin-project) blockchain

[![kevachat/npsapp](https://private-user-images.githubusercontent.com/108541346/327266373-936191f7-7ea7-44bd-bcd9-085f2a7f0a7b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU3NjUyODcsIm5iZiI6MTc3NTc2NDk4NywicGF0aCI6Ii8xMDg1NDEzNDYvMzI3MjY2MzczLTkzNjE5MWY3LTdlYTctNDRiZC1iY2Q5LTA4NWYyYTdmMGE3Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwOVQyMDAzMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNzdjMGUzNjZmNzY0MjU2NjgxZmMzYzVlYWRkMmE1M2M4MzU5NDZhMTVhYzU3N2VmZDg0Mjc4NTZmYmZkNzEzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ZfwE6JyuSD6p6Tsq4mlanSO3uPYnAKgs8FVlL-paR1Q)](https://private-user-images.githubusercontent.com/108541346/327266373-936191f7-7ea7-44bd-bcd9-085f2a7f0a7b.png?jwt=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3NzU3NjUyODcsIm5iZiI6MTc3NTc2NDk4NywicGF0aCI6Ii8xMDg1NDEzNDYvMzI3MjY2MzczLTkzNjE5MWY3LTdlYTctNDRiZC1iY2Q5LTA4NWYyYTdmMGE3Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjYwNDA5JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI2MDQwOVQyMDAzMDdaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT1kNzdjMGUzNjZmNzY0MjU2NjgxZmMzYzVlYWRkMmE1M2M4MzU5NDZhMTVhYzU3N2VmZDg0Mjc4NTZmYmZkNzEzJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.ZfwE6JyuSD6p6Tsq4mlanSO3uPYnAKgs8FVlL-paR1Q)

To read messages, use KevaChat [webapp](https://github.com/kevachat/webapp), [geminiapp](https://github.com/kevachat/geminiapp) or any [KevaCoin explorer](https://github.com/kvazar-network/awesome-kevacoin#explorers)!

Components
----------

[](#components)

- [kevachat/kevacoin-php](https://github.com/kevachat/kevacoin-php) - KevaCoin library for PHP 8
- [cboden/ratchet](https://github.com/ratchetphp/Ratchet) - Asynchronous Socket server
- [gregwar/captcha](https://github.com/Gregwar/Captcha) - Captcha library to prevent spam abuse
- [ixnode/php-cli-image](https://github.com/ixnode/php-cli-image) - Library converts captcha to ASCII format

Install
-------

[](#install)

- `git clone https://github.com/kevachat/npsapp.git`
- `cd npsapp`
- `composer update`

Setup
-----

[](#setup)

- `cd npsapp`
- `cp config/example.json config/name.json` - edit connection and provide room namespace

Launch
------

[](#launch)

- `php src/app.php name.json` - where `name.json` argument is any config, placed at `config` folder

### Autostart

[](#autostart)

Launch server as the `systemd` service

You can create as many servers as wanted by providing separated config for each instance!

Following example require `npsapp` installed into the home directory of `npsapp` user (`useradd -m npsapp`)

```
# /etc/systemd/system/npsapp.service

[Unit]
After=network.target

[Service]
Type=simple
User=npsapp
Group=npsapp
ExecStart=/usr/bin/php /home/npsapp/npsapp/src/app.php name.json
StandardOutput=file:/home/npsapp/debug.log
StandardError=file:/home/npsapp/error.log
Restart=on-failure

[Install]
WantedBy=multi-user.target
```

- `sudo systemctl daemon-reload` - reload systemd configuration
- `sudo systemctl enable npsapp` - enable `npsapp` service on system startup
- `sudo systemctl start npsapp` - start `npsapp` server

Proxy
-----

[](#proxy)

Like [NEX Protocol](https://nightfall.city/nex/info/specification.txt), NPS data could be simply forwarded using any proxy server that support TCP streams

### Nginx

[](#nginx)

```
# /etc/nginx/nginx.conf

stream {
        server {
                listen 1915;
                proxy_pass 127.0.0.1:1915;
        }
}

```

Clients
-------

[](#clients)

- `nc 127.0.0.1 1915` - IPv4 only, install `netcat-openbsd` to add IPv6 support
- `ncat 127.0.0.1 1915`
- `telnet 127.0.0.1 1915`

Servers
-------

[](#servers)

- Instance by [YGGverse](https://github.com/YGGverse)
    - `[201:23b4:991a:634d:8359:4521:5576:15b7]:1915` - [Yggdrasil](https://github.com/yggdrasil-network) network
        - `kevachat.ygg:1915` - [Alfis DNS](https://github.com/Revertron/Alfis) alias
        - `kevachat.duckdns.org:1915` - Internet proxy (IPv4)

###  Health Score

12

—

LowBetter than 0% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity18

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)

---

Top Contributors

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

---

Tags

1915blockchainchatchat-in-blockchainclicli-chatkevachatkevacoinnpsnps-protocolnps-server

### Embed Badge

![Health badge](/badges/kevachat-npsapp/health.svg)

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

###  Alternatives

[wp-cli/wp-cli

WP-CLI framework

5.0k17.2M319](/packages/wp-cli-wp-cli)[consolidation/annotated-command

Initialize Symfony Console commands from annotated command class methods.

22569.8M18](/packages/consolidation-annotated-command)[chi-teck/drupal-code-generator

Drupal code generator

26947.8M5](/packages/chi-teck-drupal-code-generator)[seld/cli-prompt

Allows you to prompt for user input on the command line, and optionally hide the characters they type

24725.8M17](/packages/seld-cli-prompt)[illuminate/console

The Illuminate Console package.

12944.1M5.1k](/packages/illuminate-console)[php-tui/php-tui

Comprehensive TUI library heavily influenced by Ratatui

589747.0k6](/packages/php-tui-php-tui)

PHPackages © 2026

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