ZNC
From Hack Sphere Labs Wiki
Contents
Debian
aptitude install build-essential libssl-dev libperl-dev aptitude build-dep znc ./configure --prefix=$HOME/znc $HOME/znc/bin/znc --makeconf
znc chroot
Create chroot dir
mkdir zncchroot cd zncchroot mkdir etc/ mkdir dev/ mkdir usr/ mkdir usr/lib/ mkdir usr/local mkdir usr/local/share mkdir usr/local/bin mkdir usr/local/lib mkdir lib/ mkdir home/ mkdir home/znc_notion
List libs needed
ldd znc
Copy listed libs to respected directories
cd zncchroot cp --parents /lib/x86_64-linux-gnu/libdl.so.2 .
cp --parents /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 . cp --parents /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 . cp --parents /usr/lib/x86_64-linux-gnu/libstdc++.so.6 . cp --parents /lib/x86_64-linux-gnu/libm.so.6 . cp --parents /lib/x86_64-linux-gnu/libgcc_s.so.1 . cp --parents /lib/x86_64-linux-gnu/libpthread.so.0 . cp --parents /lib/x86_64-linux-gnu/libc.so.6 . cp --parents /lib64/ld-linux-x86-64.so.2 . cp --parents /lib/x86_64-linux-gnu/libz.so.1 .
More Files
cp --parents /etc/hosts . cp --parents /etc/resolv.conf . cp --parents /lib/x86_64-linux-gnu/libnss_dns.so.2 . cp --parents /lib/x86_64-linux-gnu/libresolv.so.2 . cp -r /home/znc_notion/.znc home/znc_notion/
You have to copy znc. I compiled with prefix in my user dir so I am going to move it there
cp -r znc zncchroot/home/znc_notion/
StartZNC
start-stop-daemon --chroot /home/znc_notion/zncchroot/ --chuid znc_notion:znc_notion --start --exec /home/znc_notion/znc/bin/znc start-stop-daemon --chroot /home/znc_notion/zncchroot/ --chuid znc_notion:znc_notion --stop --exec /home/znc_notion/znc/bin/znc
init.d
### BEGIN INIT INFO # Provides: znc # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: znc # Description: znc chrooted ### END INIT INFO #! /bin/sh # Modification to Peter Palfrader's Debian Tor init script # by Steven J. Murdoch (http://www.cl.cam.ac.uk/users/sjm217/) set -e ZNCCHROOT=/home/zncuser/zncchroot PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin DAEMON=/home/zncuser/start-znc-chroot EXECDAEMON=$ZNCCHROOT/home/zncuser/znc/bin/znc NAME=znc DESC="znc daemon" ZNCPID=$ZNCCHROOT/home/zncuser/.znc/znc.pid DEFAULTSFILE=/etc/default/$NAME WAITFORDAEMON=10 ARGS="" . /lib/lsb/init-functions test -x $DAEMON || exit 0 # Include tor defaults if available if [ -f $DEFAULTSFILE ] ; then . $DEFAULTSFILE fi wait_for_deaddaemon () { pid=$1 sleep 1 if test -n "$pid" then if kill -0 $pid 2>/dev/null then echo -n "." cnt=0 while kill -0 $pid 2>/dev/null do cnt=`expr $cnt + 1` if [ $cnt -gt $WAITFORDAEMON ] then echo " FAILED." return 1 fi sleep 1 echo -n "." done fi fi return 0 } case "$1" in start) if [ "$RUN_DAEMON" != "yes" ]; then echo "Not starting $DESC (Disabled in $DEFAULTSFILE)." else echo -n "Starting $DESC: " start-stop-daemon --start --quiet --oknodo \ --pidfile $ZNCPID \ --exec $DAEMON -- $ARGS echo "$NAME." fi ;; stop) echo -n "Stopping $DESC: " pid=`cat $ZNCPID 2>/dev/null` || true if test ! -f $ZNCPID -o -z "$pid" then echo "not running (there is no $ZNCPID)." elif start-stop-daemon --stop --quiet --pidfile $ZNCPID --exec $EXECDAEMON then wait_for_deaddaemon $pid echo "$NAME." elif kill -0 $pid 2>/dev/null then echo "FAILED (Is $pid not $NAME? Is $EXECDAEMON a different binary now?)." else echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." fi ;; reload|force-reload) echo -n "Reloading $DESC configuration: " pid=`cat $ZNCPID 2>/dev/null` || true if test ! -f $ZNCPID -o -z "$pid" then echo "not running (there is no $ZNCPID)." elif start-stop-daemon --stop --signal 1 --quiet --pidfile $ZNCPID --exec $EXECDAEMON then echo "$NAME." elif kill -0 $pid 2>/dev/null then echo "FAILED (Is $pid not $NAME? Is $EXECDAEMON a different binary now?)." else echo "FAILED ($DAEMON died: process $pid not running; or permission denied)." fi ;; restart) $0 stop sleep 1 $0 start ;; status) status_of_proc -p $ZNCPID $EXECDAEMON $NAME && exit 0 || exit $? ;; *) echo "Usage: $0 {start|stop|restart|reload|force-reload}" >&2 exit 1 ;; esac exit 0
- init.d daemon
#! /bin/sh #Script to start ZNC in chroot start-stop-daemon --chroot /home/zncuser/zncchroot/ --chuid zncuser:zncuser --start --exec /home/zncuser/znc/bin/znc
Ident
aptitude install nullidentd