KevaChat App for NPS Protocol
Go to file
2024-05-02 22:30:59 +03:00
config implement rooms navigation 2024-05-02 00:34:16 +03:00
src remove extra code 2024-05-02 03:25:24 +03:00
.gitignore add multi-host config support 2024-04-30 16:24:29 +03:00
composer.json replace nps-php with async cboden/ratchet socket server 2024-04-30 22:19:20 +03:00
LICENSE Initial commit 2024-04-30 00:39:21 +03:00
README.md update readme 2024-05-02 22:30:59 +03:00

npsapp

KevaChat Server for NPS Protocol

Listen connections on 1915 port and save messages to given namespace in KevaCoin blockchain

kevachat/npsapp

To read messages, use KevaChat webapp, geminiapp or any KevaCoin explorer!

Components

Install

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

Setup

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

Launch

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

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

Like NEX Protocol, NPS data could be simply forwarded using any proxy server that support TCP streams

Nginx

# /etc/nginx/nginx.conf

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

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

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