Basic
Updated Feb 21, 2013, 11:04 AM
This is a basic template.
Use template
unLab‎ > ‎Chat‎ > ‎

ZNC

    ZNC Install

    sudo apt-get install znc

    ZNC Config Script:

    znc --makeconf


    Compile from source (Debian 6.0)

    sudo apt-get update && sudo apt-get install build-essential libssl-dev openssl tcl-dev libsasl2-dev swig libperl-dev pkg-config libc-ares-dev python3-dev

    cd /usr/src/
    sudo wget wget http://znc.in/releases/znc-0.206.tar.gz
    sudo tar -xzvf znc*.*gz
    cd znc-0.206
    sudo ./configure --prefix=$HOME/znc --enable-extra --enable-tcl --with-tcl=/usr/bin/tclsh --enable-sasl --

    enable-perl --enable-python
    sudo make -j4
    sudo make install

    Start ZNC
    ~./znc/bin/znc

    Manually Editing Config


    In most cases you should NOT edit znc.conf directly. Use webadmin instead.
    If you really need to edit znc.conf by hand, do the following:

    To save current runtime configuration to znc.conf:
    pkill -SIGUSR1 znc

    To shutdown running ZNC instance:
    pkill znc

    To edit config in any text editor:
    sudo nano ~/.znc/configs/znc.conf

    Sample User:
    <User TeknoJuce>
           Pass = sha256#HASH$
           Nick = TeknoBNC
           AltNick = TeknoBNC2
           Ident = Tekno
           RealName = Tekno
           QuitMsg = Man down! CPR to that connection, stat!
           StatusPrefix = *
           Skin = dark-clouds
           ChanModes = +stn
           Buffer = 300
           KeepBuffer = true
           MultiClients = true
           DenyLoadMod = false
           Admin = true
           DenySetBindHost = false
           TimestampFormat = [%H:%M:%S]
           AppendTimestamp = false
           PrependTimestamp = true
           TimezoneOffset = 0.00
           JoinTries = 10
           MaxJoins = 5
           IRCConnectEnabled = true

           Allow = *
           LoadModule = admin
           LoadModule = chansaver
           LoadModule = keepnick
           LoadModule = kickrejoin
           LoadModule = nickserv
           LoadModule = perform
           LoadModule = simple_away

           Server = irc.freenode.net 6667
          <Chan #UnLondon>
           </Chan>
    </User>

    To start it again with new configuration:
    znc

    How to reload ZNC config without restart?


    The best way is NOT to change znc.conf and other files manually while ZNC is running. Try to use webadmin or admin instead, or use:
    /msg *status help

    If you really need to rehash config from file, there's 2 ways to do that: from IRC (
    /msg *status rehash

    and from shell:
    pkill -SIGHUP znc


    WebAdmin

    Connect to WebAdmin with your web browser:  http://127.0.0.1:6667
    Note: If Chromium gives you crap about unsafe port:
    “Error 312 (net::ERR_UNSAFE_PORT): Unknown error”
    you will have to manually open the port in chrome by adding to the command-line arguments: 

    *nix
    chromium-browser --explicitly-allowed-ports=6667

    Windows XP
    C:\Documents and Settings\username\Local Settings\Application Data\Google\Chrome\Application\chrome.exe --explicitly-allowed-ports=6667

    Windows 7 C:\Users\USERNAME\AppData\Local\Google\Chrome\Application\chrome.exe --explicitly-allowed-ports=6667

        OSX
        /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --explicitly-allowed-ports=6667

          Android
          We can set command line flags for chrome in a file at /data/local/chrome-command-line. Here's an adb one-liner:
          adb shell 'echo '\''chrome --explicitly-allowed-ports=6667'\'' > /data/local/chrome-command-line'
  



    Note: Firefox / Internet Explorer /
    Safari do not block ports 

    Login

     

    Home Screen

                       Add User



    Settings


    Preform


    List Users


    Traffic Info


             
    Your Settings


              change password for yourself and others if you have admin rights manually: /msg *admin set password USERNAME PASSWORD

      Load Module IDENTFILE ( for freenode gateway cloak )

      Forward port 113 to ZNC box (appServer)

      Using identfile with oidentd

      1. Your /etc/oidentd.conf must allow ident spoofing for the user ZNC runs as (the allow spoof privilege).

      Example file:

      default {
          default {
              allow spoof
              allow spoof_all
              allow spoof_privport
              allow random
              allow random_numeric
              allow numeric
              allow hide
          }
      }
      

      2. Create an empty .oidentd.conf in the homedir of the user you are running ZNC as (this step may be unnecessary)

      touch ~/.oidentd.conf
      chmod 644 ~/.oidentd.conf
      

      3. Oidentd must be able to read your ~/.oidentd.conf. Therefore ZNC's homedir should at least have 711 (world executable, rwx--x--x) permissions.

      chmod 711 ~
      

      4. Next load and configure the identfile module. This can be done with the following commands.

      /msg *status loadmod identfile
      /msg *identfile setfile ~/.oidentd.conf
      /msg *identfile setformat global { reply "%ident%" }
      

      Check ExpandString for possible variables

      Note: If you use ipv6 with oidentd and it is not working for an unknown reason, try running it like this: oidentd -a :: - it should force ipv6.


      Connect to ZNC with IRC client
      If already in an IRC server window type: /server irc.lab.unlab.ca

      IRC Server: gw.lab.unlab.ca
      Port:          6667

      Once connected it will ask you to type:

      /quote PASS USER:PASS 
      e.g.) /quote PASS Stifflers-Mom:H4><Su4s4g3
      (Caps matter in usernames & passwords!)


    Comments