Descrición
NS Chat Plugin enables real-time communication between WordPress users using WebSocket technology, powered by the Workerman library.
Key Features:
* Real-time private chat between users
* Visual unread message indicators
* Persistent chat history stored in the database
* Lightweight modular JS + PHP architecture
* Automatic migration and sync of WP users to chat system
* Linux daemon service with SSL support for secure connections
* Future-ready integration with NFS or AWS S3 for file upload/download
Planned Features:
* Message editing and deletion
* Read receipt indicators (message seen)
* File attachments with optional NFS or AWS S3 integration
Ideal for community websites, intranets, or any platform requiring internal messaging without third-party services.
For integration help or consulting on adapting the plugin to your project, contact the developer at: ns.group.tech@gmail.com
WebSocket Server Setup (Linux with SSL)
-
Create a systemd service file:
bash
sudo vim /etc/systemd/system/websocket_server.service -
Paste the following content:
bash
[Unit]
Description=WebSocket Server for NS Chat (SSL)
After=network.target
[Service]
ExecStart=/usr/bin/php /file/to/path/yourdomain/wp-content/plugins/ns-chat/server.php start
Restart=always
RestartSec=25
User=www-data
Group=www-data
StandardOutput=file:/var/log/websocket_server.out.log
StandardError=file:/var/log/websocket_server.err.log
[Install]
WantedBy=multi-user.target -
Add SSL context in
server.php:
php
$context = [
'ssl' => [
'local_cert' => '/path/to/file.crt',
'local_pk' => '/path/to/file.key',
'verify_peer' => false,
]
]; -
Set permissions for plugin folder:
bash
sudo chown -R www-data:www-data /path/to/ns-chat/
sudo chmod -R 775 /path/to/ns-chat/ -
Reload and start the daemon:
bash
sudo systemctl daemon-reload
sudo systemctl enable websocket_server --now
sudo systemctl restart websocket_server
sudo systemctl status websocket_server -
Check logs if needed:
bash
/var/log/websocket_server.out.log
/var/log/websocket_server.err.log
Custom Port Configuration
By default, the WebSocket server listens on port 2346.
To use a different port:
- Change the port in
server.php:
php
$wsWorker = new Worker('websocket://0.0.0.0:2346', $context); -
Change the port in
ns-chat.php:
php
$ws_port = 2346; -
You can check and change the port in
chat-ui.js:
js
const port = nschat_data.wsPort || 2346; -
If the port is closed, then open a new port on your server’s firewall:
bash
sudo ufw allow <your-port>/tcp
sudo firewall-cmd --permanent --add-port=<your-port>/tcp
sudo firewall-cmd --reload
sudo iptables -A INPUT -p tcp --dport <your-port> -j ACCEPT
sudo iptables-save > /etc/iptables/rules.v4
Database Tables
The plugin creates and uses the following tables:
wp_ns_chat_dialogueswp_ns_chat_messageswp_ns_chat_users
Tables are created and populated automatically on plugin activation.
User Synchronization
- Initial migration of all users from
wp_userstowp_ns_chat_userson plugin activation. - New registrations are handled by:
php
add_action('user_register', 'ns_chat_add_user_on_registration'); - Profile updates are synced via:
php
add_action('profile_update', 'ns_chat_update_user_data');
You may bind these functions to custom hooks based on your app’s logic.
License
GPLv2 or later
Instalación
- Upload the plugin folder
ns-chatto/wp-content/plugins/. - Activate the plugin through the ‘Plugins’ menu in WordPress.
- After activation, a new page template called “NS Chat Template” will be available when creating pages.
- Set up the WebSocket server on your Linux machine.
Preguntas frecuentes
-
No, it requires a persistent PHP process for the WebSocket server. Use a VPS or dedicated server.
-
Is SSL required?
-
Yes. To use secure WebSocket (wss://), SSL certificates must be configured in
server.php. -
Can I use a different port than 2346?
-
Yes. See “Custom Port Configuration” section.
-
Can I get help with integration into my custom project?
-
Yes, you can contact the developer at ns.group.tech@gmail.com for custom integration support or consulting.
-
Does it support group chats?
-
Not yet. Planned in future versions.
Comentarios
Non hai recensións para este plugin.
Colaboradores e desenvolvedores
“NS Chat” é un software de código aberto. As seguintes persoas colaboraron con este plugin.
ColaboradoresTraduce “NS Chat” ao teu idioma.
Interesado no desenvolvemento?
Revisa o código, bota unha ollada aorepositorio SVN, ou subscríbete ao log de desenvolvemento por RSS.
Rexistro de cambios
1.0
- Initial public release.
- One-on-one messaging with WebSocket daemon
- User sync and message storage