Difference between revisions of "ZNC"
Line 51: | Line 51: | ||
<pre> | <pre> | ||
#!/bin/bash | #!/bin/bash | ||
− | ### | + | ### You can change this if you want |
− | USER= | + | USER=`/var/hda/platform/html/script/first-admin` |
MAILADRESSE1=root | MAILADRESSE1=root | ||
YOUREHOST=localhost | YOUREHOST=localhost |
Revision as of 04:50, 14 December 2013
tags: IRC Chat mIRC bounce Chatzilla server
ZNC is an IRC bounce with many advanced features such as a built-in web interface, persistent connection (detaching), multiple users, per channel playback buffer, SSL, IPv6, transparent DCC bouncing, and c++ module support, to name a few.
Contents
About ZNC in Amahi
- Currently LIVE in Amahi.
- The application makes use of your HDA first admin user. To log in to the web interface, enter that user name and the password is admin. You can change the password once logged in to anything you desire.
- Once the application is installed, you are automatically connected to the IRC for the server irc.freenode.net. This setting can be turned off via the web interface if you do not want to autoconnect when ZNC is started.
- ZNC appears in the Servers tab so you can stop, start, and restart as needed.
SSL Configuration
To enable SSL support, some manual configuration must be done (Required znc.pem certificate is pre-installed; it can be regenerated by following Generate a SSL Certificate).
- As root user, install one dependency:
Bash code |
---|
yum -y install mod_ssl
|
- Change the line in /etc/httpd/conf.d/####-znc.conf to read (replace #### with the number in your file name):
bash code |
---|
RedirectPermanent / https://znc:26244
|
- Restart the web server:
Bash code |
---|
service httpd restart
|
- Modify the line in /home/username/.znc/config/znc.conf to read:
Text |
---|
Listener4 = +26244
|
- Restart ZNC:
Bash code |
---|
service znc restart
|
- Access the web console via https://znc:26244
- All connections with IRC clients will be SSL. When you add new servers, ensure you precede the port number with a +. The default server on install is already set for SSL communication.
NOTE: See ZNC Configuration for more guidance on customization.
Generating a SSL Certificate
You can use the following openssl commands to generate a certificate:
bash code |
---|
openssl req -nodes -newkey rsa:2048 -keyout znc.key -x509 -days 365 -out znc.crt cat znc.crt znc.key > znc.pem
|
Copy this file to your /home/username/.znc directory (replace username with your first admin user name) and restart ZNC:
bash code |
---|
service znc restart
|
NOTE: See ZNC Cert for more guidance on certificates.
Backup Personal Settings
You can have your setting automatically backed up or do it manually. This script will email them to you as a compressed file.
- Install a few dependencies:
yum install p7zip mailx
- Create znc-backup.sh and place it in /var/hda/web-apps/znc/html directory (ensure you change the USER as noted below):
vi /var/hda/web-apps/znc/html/znc-backup.sh
#!/bin/bash ### You can change this if you want USER=`/var/hda/platform/html/script/first-admin` MAILADRESSE1=root YOUREHOST=localhost ### Facultatif change : DIR=/home/$USER/.znc TAR_PATH=`whereis tar | cut -d ' ' -f 2` p7zip_PATH=`whereis 7za | cut -d ' ' -f 2` SendEmail_PATH=`whereis mailx | cut -d ' ' -f 2` DATEI1=$(date +%Y-%m-%d)_znc_backup.tar DATEI2=$(date +%Y-%m-%d)_znc_backup.tar.7z DATUM=$(date +%Y-%m-%d) sevenzp="a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -mhe=on" ### no Change after here if [ ! -d "$DIR" ]; then echo "You MUST change DIR variable. TAR. Visit: http://wiki.znc.in/index.php?title=ZNC_Backup"; exit 0; fi if [ ! -x "$TAR_PATH" ]; then echo "You MUST change TAR_PATH variable. Or install TAR. Visit: http://wiki.znc.in/index.php?title=ZNC_Backup"; exit 0; fi if [ ! -x "$p7zip_PATH" ]; then echo "You MUST change p7zip_PATH variable. Or install p7zip. Visit: http://wiki.znc.in/index.php?title=ZNC_Backup"; exit 0; fi if [ ! -x "$SendEmail_PATH" ]; then echo "You MUST change SendEmail_PATH variable. Or install SendEmail. Visit: http://wiki.znc.in/index.php?title=ZNC_Backup"; exit 0; fi $TAR_PATH -cvf $DATEI1 $DIR $p7zip_PATH $sevenzp $DATEI2 $DATEI1 echo ZNC Backup from $DATUM | $SendEmail_PATH -r $USER@$YOUREHOST -s ZNC-Backup-$DATUM -a $DATEI2 $MAILADRESSE1 rm -f $DATEI1 $DATEI2
- Make script executable
chmod 755 /var/hda/web-apps/znc/html/znc-backup.sh
- To run manually, execute the script from the /var/hda/web-apps/znc/html directory
./znc-backup.sh
- Install a cron job as your First Admin User, not root and insert the following text:
crontab -e
40 0 * * 5 /var/hda/web-apps/znc/html/znc-backup.sh >/dev/null 2>&1
NOTE: This will run on Fri at 00:40 AM, but you can change to meet your needs.
IRC Client Setup
mIRC
- When using the mIRC client you will need to connect to ZNC using the following command:
mirc code |
---|
/server -m <yourHdaIp> -p 26244 -g gZNC -w <username>:<password> -d ZNC
|
Option | Description |
---|---|
<yourHdaIp> | The ip address of the HDA where you installed ZNC |
<username> | Username that's configured to connect to a channel |
<password> | Password for the username that's configured to connect to a channel |
- When using mIRC in Windows, go to the options page. Select Server and choose Add. The following window will open:
Option | Value |
---|---|
Description | ZNC |
IRC Server | HDA IP |
Port | 26244 |
Group | ZNC |
Password | ZNC <username>:<password> |
Chatzilla (FireFox Add-on)
After installation of Chatzilla Add-on you can enter the following in your browsers address bar:
Link |
---|
irc://<YouHdaIp>:26244/<channel>/?pass=<ZncUser>:<ZncUserPass>
|
or
Link |
---|
irc://<YourHdaIp>:26244/,needpass?pass=<ZncUser>:<ZncUserPass>
|
or SSL
Link |
---|
ircs://<YourHdaIp>:26244/,needpass?pass=<ZncUser>:<ZncUserPass>
|
Client Commands
Commands are given to ZNC by messaging the virtual user *status. Likewise, modules are communicated to by messaging *modname as well. Alternatively you can use /znc command instead of /msg *status command and /znc *module command instead of /msg *module command.
Command | Arguments | Description |
---|---|---|
Version | Prints which version of znc this is | |
ListDCCs | List all active DCCs | |
ListMods | List all loaded modules | |
ListAvailMods | List all available modules | |
ListChans | List all channels | |
ListNicks | <#chan> | List all nicks on a channel |
ListServers | List all servers | |
AddServer | <host> [[+]port] [pass] | Add a server to the list |
RemServer | <host> | Remove a server from the list |
Enablechan | <#chan> | Enable the channel |
Detach | <#chan> | Detach from the channel |
Topics | Show topics in all channels | |
PlayBuffer | <#chan> | Play back the buffer for a given channel |
ClearBuffer | <#chan> | Clear the buffer for a given channel |
ClearAllChannelBuffers | Clear the channel buffers | |
SetBuffer | <#chan> [linecount] | Set the buffer count for a channel |
SetVHost | <vhost (ip preferred)> | Set the VHost for this connection |
ClearVHost | Clear the VHost for this connection | |
Jump | Jump to the next server in the list | |
Disconnect | Disconnect from IRC | |
Connect | Reconnect to IRC | |
Send | <nick> <file> | Send a shell file to a nick on IRC |
Get | <file> | Send a shell file to yourself |
LoadMod | <module> | Load a module |
UnloadMod | <module> | Unload a module |
ReloadMod | <module> | Reload a module |
ShowMOTD | Show the message of the day | |
SetMOTD | <Message> | Set the message of the day |
AddMOTD | <Message> | Append <Message> to MOTD |
ClearMOTD | Clear the MOTD | |
Rehash | Reload znc.conf from disk | |
SaveConfig | Save the current settings to disk | |
ListUsers | List all users/clients connected to znc | |
ListClients | [User] | List all clients connected to your znc user |
Traffic | Show basic traffic stats for all znc users | |
Uptime | Show how long ZNC is already running | |
Broadcast | [message] | Broadcast a message to all users |
Shutdown | [message] | Shutdown znc completely |
Restart | [message] | Restarts znc |
NOTE: Go here for guidance on how to use ZNC modules.
Troubleshooting
Can't connect to server (No route to host)
If ZNC can't connect to a IRC server with the message:
Attempting to connect to [chat.freenode.net +7000] ... Disconnected from IRC (No route to host). Reconnecting...
You could try using the IP address of the server you are trying to connect to. For chat.freenode.net this IP is: 140.211.166.3
- Go to your ZNC webadmin page
- Login using your username and password
- Click on "Your Settings"
- Edit the server name in the Servers: text box.
ZNC will pickup this new server name the next time trying to connect (wait a minute or so).
Install Fails
If you have installed ZNC multiple times without success, perform the following as root user:
bash code |
---|
yum -y erase znc*
|
- Once the RPMs have been removed, perform install.
- Check /var/log/amahi-app-installer.log for details.