kevachat/npsapp

KevaChat App for NPS Protocol

dev-main 2024-05-02 19:30 UTC

This package is auto-updated.

Last update: 2024-12-02 20:37:22 UTC


README

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)