mirror of https://github.com/kevachat/npsapp.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.8 KiB
2.8 KiB
npsapp
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!
Components
- 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
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
- wherename.json
argument is any config, placed atconfig
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 configurationsudo systemctl enable npsapp
- enablenpsapp
service on system startupsudo systemctl start npsapp
- startnpsapp
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, installnetcat-openbsd
to add IPv6 supportncat 127.0.0.1 1915
telnet 127.0.0.1 1915