Badwolf Web IRC Client
A modern, feature-rich WebSocket IRC client for WordPress. Connect your website visitors to your IRC server with real-time chat, private messaging, desktop notifications, and a beautiful tabbed interface. Version 5.2.0 – What’s New 🔧 WordPress 6.9 Compatibility FIXED: Plugin now works perfectly with WordPress 6.9 FIXED: Script loading issues with block themes and Full Site Editing (FSE) FIXED: Configuration passing to JavaScript 🔌 WebSocket Improvements FIXED: Connection stability issues FIXED: Binary WebSocket data handling ADDED: IRC subprotocol support for UnrealIRCd ⚙️ User Experience ADDED: Settings link in plugin list for easy access IMPROVED: Error handling and logging IMPROVED: Connection reliability Features ✅ Real-time IRC chat via secure WebSocket (wss://) ✅ Private messaging between users ✅ Desktop notifications for mentions and PMs ✅ Multiple channel support with tabbed interface ✅ User list with right-click context menus ✅ Command history (use arrow keys) ✅ Auto-reconnection with smart retry logic ✅ Customizable themes (light/dark) ✅ Mobile-responsive design ✅ IRC commands support (/nick, /join, /part, /msg, /me) ✅ Tab completion for nicknames ✅ Unread message badges ✅ Message history (500 messages per channel) Requirements WordPress: 5.0 or higher (tested up to 6.9) PHP: 7.4 or higher IRC Server: UnrealIRCd 6.x with WebSocket support (recommended) SSL Certificate: Valid SSL/TLS certificate for secure WebSocket (wss://) Configuration WordPress Settings Navigate to Settings → Badwolf Web IRC Client and configure: WebSocket URL: Your IRC server WebSocket URL (e.g., wss://irc.example.com:7443) Default Channel: IRC channel to join (e.g., #general) Nickname Prefix: Prefix for auto-generated nicknames (e.g., guest) Real Name: Default real name for users Theme: Light or Dark theme Auto Connect: Automatically connect when page loads UnrealIRCd Server Configuration Your UnrealIRCd server must have WebSocket support enabled: `conf Load WebSocket module loadmodule “websocket”; Configure WebSocket listener listen { ip *; port 7443; options { tls; websocket; } tls-options { certificate “/path/to/fullchain.pem”; key “/path/to/privkey.pem”; options { no-client-certificate; } } } ` SSL Certificate Setup (Let’s Encrypt) `bash Install certbot if not already installed sudo apt-get install certbot Get certificate for your IRC domain sudo certbot certonly –standalone -d irc.yourdomain.com Copy certificates to UnrealIRCd sudo cp /etc/letsencrypt/live/irc.yourdomain.com/fullchain.pem /path/to/unrealircd/conf/tls/ sudo cp /etc/letsencrypt/live/irc.yourdomain.com/privkey.pem /path/to/unrealircd/conf/tls/ Set correct permissions sudo chown unrealircd:unrealircd /path/to/unrealircd/conf/tls/*.pem sudo chmod 600 /path/to/unrealircd/conf/tls/privkey.pem sudo chmod 644 /path/to/unrealircd/conf/tls/fullchain.pem Restart UnrealIRCd cd /path/to/unrealircd ./unrealircd restart ` Auto-Renewal Setup Create a renewal hook to automatically copy certificates: `bash Create renewal hook script sudo nano /etc/letsencrypt/renewal-hooks/deploy/copy-to-unrealircd.sh ` Add this content: `bash !/bin/bash cp /etc/letsencrypt/live/irc.yourdomain.com/fullchain.pem /path/to/unrealircd/conf/tls/ cp /etc/letsencrypt/live/irc.yourdomain.com/privkey.pem /path/to/unrealircd/conf/tls/ chown unrealircd:unrealircd /path/to/unrealircd/conf/tls/*.pem chmod 600 /path/to/unrealircd/conf/tls/privkey.pem chmod 644 /path/to/unrealircd/conf/tls/fullchain.pem /path/to/unrealircd/unrealircd rehash ` Make it executable: `bash sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/copy-to-unrealircd.sh ` Usage Basic Shortcode ` [web_irc_client] ` Shortcode with Attributes ` [web_irc_client theme=”dark” width=”100%” height=”600px”] ` Available attributes: theme – Override theme (light or dark) width – Set custom width (default: 100%) height – Set custom height (default: 70vh) IRC Commands Users can use standard IRC commands: /nick newname – Change nickname /join #channel – Join a channel /part – Leave current channel /msg username message – Send private message /me action – Send action message /help – Show available commands Troubleshooting Connection Issues Problem: “Reconnecting…” message appears Solutions: Verify UnrealIRCd is running: ps aux | grep unrealircd Check port is listening: sudo netstat -tlnp | grep 7443 Verify SSL certificate is valid and not expired Check UnrealIRCd logs: tail -f /path/to/unrealircd/logs/ircd.log Test WebSocket connection: https://www.piesocket.com/websocket-tester SSL Certificate Errors Problem: Certificate expired or invalid Solution: `bash Check certificate expiry sudo certbot certificates Renew if needed sudo certbot renew –force-renewal Copy to UnrealIRCd and restart sudo cp /etc/letsencrypt/live/irc.yourdomain.com/*.pem /path/to/unrealircd/conf/tls/ ./unrealircd restart ` Plugin Not Loading Problem: IRC client doesn’t appear on page Solutions: Verify shortcode is correct: [web_irc_client] Clear WordPress cache Clear browser cache (Ctrl+Shift+R) Check browser console for JavaScript errors (F12) Verify WebSocket URL is configured in plugin settings WordPress 6.9 Issues Problem: Plugin stopped working after WordPress 6.9 update Solution: Update to version 5.2.0 which includes WordPress 6.9 compatibility fixes. Support GitHub: https://github.com/badwolf1972/web-irc-client Issues: https://github.com/badwolf1972/web-irc-client/issues WordPress Support: https://wordpress.org/support/plugin/badwolf-web-irc-client/ Credits Author: Martin Cooper (badwolf72) Website: https://www.oo3dmodels.com License: GPL v2 or later
Top keywords
- unrealircd31×3.92%
- irc23×2.91%
- path16×2.02%
- websocket15×1.90%
- path to unrealircd14×1.77%
- pem13×1.64%
- sudo13×1.64%
- tls13×1.64%
- conf12×1.52%
- com11×1.39%
- conf tls11×1.39%
- unrealircd conf11×1.39%
Front End PM
Front End PM is a Private Messaging system to your WordPress site.This is full functioning messaging system from front end. The messaging is done entirely through the front-end of your site rather than the Dashboard. This is very helpful if you want to keep your users out of the Dashboard area. Some Front End PM PRO Features Multiple Recipients Only admin Group message Email Piping Read Receipt Email template Announcement Email queue Role to Role Block View Details Some Useful Link Basic Admin Settings Basic Walkthrough Remove minlength Remove menu button If you want paid support you can contact with me through Front End PM paid support Features Works through a Page rather than the dashboard. This is very helpful if you want to keep your users out of the Dashboard area! Users can privately message one another Threaded messages/Individual message Ability to embed things into messages like YouTube, Photobucket, Flickr, WordPress TV, more. Notification sound. Desktop notification. Admins can send a public announcement for all users to see or to perticular role(s). Admins can set the max amount of messages a user can keep in his/her box per role basis. This is helpful for keeping Database sizes down. Admins can set how many messages to show per page in the message box. Admins can set how many user to show per page in front end directory. Admins can set will email be sent to all users when a new announcement is published or not. Admins can set “to” field of announcement email. Admins can set Directory will be shown to all or not. Admins can block any user to send private message. Admins can set time delay between two messages send by a user. Admins can see all other’s private message. Admins can block all users to send new message but they can send reply of their messages. Admins can hide autosuggestion for users. There are three types of sidebar widget. Users can select whether or not they want to receive messages Users can select whether or not they want to be notified by email when they receive a new message. Users can select whether or not they want to be notified by email when a new announcement is published. Users can block other users. Translation please use wordpress translation. Github https://github.com/shamim2883/front-end-pm/
Top keywords
- admins12×3.06%
- users12×3.06%
- message8×2.04%
- admins can set