1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2010 Openwrt.org
6 PID_FILE
=/tmp
/etc
/znc
/znc.pid
7 ZNC_CONFIG
=/tmp
/etc
/znc
/configs
/znc.conf
10 echo "$1 = $2" >> $ZNC_CONFIG
21 config_get anoniplimit
"$znc" anoniplimit
22 config_get maxbuffersize
"$znc" maxbuffersize
23 config_get connectdelay
"$znc" connectdelay
24 config_get serverthrottle
"$znc" serverthrottle
26 [ -z $anoniplimit ] ||
echo "AnonIPLimit = $anoniplimit" >> $ZNC_CONFIG
27 [ -z $maxbuffersize ] ||
echo "MaxBufferSize = $maxbuffersize" >> $ZNC_CONFIG
28 [ -z $connectdelay ] ||
echo "ConnectDelay = $connectdelay" >> $ZNC_CONFIG
29 [ -z $serverthrottle ] ||
echo "ServerThrottle = $anoniplimit" >> $ZNC_CONFIG
31 echo "PidFile = $PID_FILE" >> $ZNC_CONFIG
33 config_list_foreach
"$znc" listener
"add_param Listener"
34 config_list_foreach
"$znc" module
"add_param LoadModule"
49 config_get password
"$user" password
50 config_get nick
"$user" nick
51 config_get altnick
"$user" altnick
52 config_get ident
"$user" ident
53 config_get realname
"$user" realname
54 config_get buffer
"$user" buffer
55 config_get quitmsg
"$user" quitmsg
56 config_get chanmodes
"$user" chanmodes
57 config_get vhost
"$user" vhost
59 echo "<User $user>" >> $ZNC_CONFIG
60 echo " Pass = plain#$password" >> $ZNC_CONFIG
61 echo " Nick = $nick" >> $ZNC_CONFIG
62 echo " AltNick = ${altnick:-$nick"_"}" >> $ZNC_CONFIG
63 echo " Ident = ${ident:-$nick}" >> $ZNC_CONFIG
64 echo " RealName = ${realname:-$nick}" >> $ZNC_CONFIG
65 [ -z "$vhost" ] ||
echo " VHost = $vhost" >> $ZNC_CONFIG
66 echo " Buffer = ${buffer:-50}" >> $ZNC_CONFIG
67 echo " KeepBuffer = false" >> $ZNC_CONFIG
68 echo " ChanModes = ${chanmodes:-"+stn"}" >> $ZNC_CONFIG
69 [ -z "$quitmsg" ] ||
echo " QuitMsg = $quitmsg" >> $ZNC_CONFIG
71 config_list_foreach
"$user" server
"add_param \" Server\""
72 config_list_foreach
"$user" module
"add_param \" LoadModule\""
73 echo "</User>" >> $ZNC_CONFIG
78 mkdir
-p /tmp
/etc
/znc
/configs
/
79 [ -f "$ZNC_CONFIG" ] && rm "$ZNC_CONFIG"
81 config_foreach znc_global znc
82 config_foreach add_listener listener
83 config_foreach add_user user
85 chown
-R nobody
:nogroup
/tmp
/etc
/znc
86 su
-s /bin
/ash
-c "/usr/bin/znc -d/tmp/etc/znc" nobody
90 [ -f "$PID_FILE" ] && kill $
(cat "$PID_FILE")