KevaChat Server for NPS Protocol
Listen connections on 1915 port and save messages to given namespace in KevaCoin blockchain
To read messages, use KevaChat webapp, geminiapp or any KevaCoin explorer!
- kevachat/kevacoin-php - KevaCoin library for PHP 8
- cboden/ratchet - Asynchronous Socket server
- gregwar/captcha - Captcha library to prevent spam abuse
- ixnode/php-cli-image - Library converts captcha to ASCII format
git clone https://github.com/kevachat/npsapp.gitcd npsappcomposer update
cd npsappcp config/example.json config/name.json- edit connection and provide room namespace
php src/app.php name.json- wherename.jsonargument is any config, placed atconfigfolder
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.targetsudo systemctl daemon-reload- reload systemd configurationsudo systemctl enable npsapp- enablenpsappservice on system startupsudo systemctl start npsapp- startnpsappserver
Like NEX Protocol, NPS data could be simply forwarded using any proxy server that support TCP streams
# /etc/nginx/nginx.conf
stream {
server {
listen 1915;
proxy_pass 127.0.0.1:1915;
}
}
nc 127.0.0.1 1915- IPv4 only, installnetcat-openbsdto add IPv6 supportncat 127.0.0.1 1915telnet 127.0.0.1 1915