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
16 echo " <Chan $chan>" >> $ZNC_CONFIG
17 [ "$chan" != "$pass" ] && echo " Key = $pass" >> $ZNC_CONFIG
18 echo " </Chan>" >> $ZNC_CONFIG
29 config_get anoniplimit
"$znc" anoniplimit
30 config_get maxbuffersize
"$znc" maxbuffersize
31 config_get connectdelay
"$znc" connectdelay
32 config_get serverthrottle
"$znc" serverthrottle
34 [ -z $anoniplimit ] ||
echo "AnonIPLimit = $anoniplimit" >> $ZNC_CONFIG
35 [ -z $maxbuffersize ] ||
echo "MaxBufferSize = $maxbuffersize" >> $ZNC_CONFIG
36 [ -z $connectdelay ] ||
echo "ConnectDelay = $connectdelay" >> $ZNC_CONFIG
37 [ -z $serverthrottle ] ||
echo "ServerThrottle = $anoniplimit" >> $ZNC_CONFIG
39 echo "PidFile = $PID_FILE" >> $ZNC_CONFIG
41 config_list_foreach
"$znc" listener
"add_param Listener"
42 config_list_foreach
"$znc" module
"add_param LoadModule"
44 add_param LoadModule
"droproot nobody nogroup"
59 config_get password
"$user" password
60 config_get nick
"$user" nick
61 config_get altnick
"$user" altnick
62 config_get ident
"$user" ident
63 config_get realname
"$user" realname
64 config_get buffer
"$user" buffer
65 config_get quitmsg
"$user" quitmsg
66 config_get chanmodes
"$user" chanmodes
67 config_get vhost
"$user" vhost
69 echo "<User $user>" >> $ZNC_CONFIG
70 echo " Pass = plain#$password" >> $ZNC_CONFIG
71 echo " Nick = $nick" >> $ZNC_CONFIG
72 echo " AltNick = ${altnick:-$nick"_"}" >> $ZNC_CONFIG
73 echo " Ident = ${ident:-$nick}" >> $ZNC_CONFIG
74 echo " RealName = ${realname:-$nick}" >> $ZNC_CONFIG
75 [ -z "$vhost" ] ||
echo " VHost = $vhost" >> $ZNC_CONFIG
76 echo " Buffer = ${buffer:-50}" >> $ZNC_CONFIG
77 echo " KeepBuffer = false" >> $ZNC_CONFIG
78 echo " ChanModes = ${chanmodes:-"+stn"}" >> $ZNC_CONFIG
79 [ -z "$quitmsg" ] ||
echo " QuitMsg = $quitmsg" >> $ZNC_CONFIG
81 config_list_foreach
"$user" server
"add_param \" Server\""
82 config_list_foreach
"$user" module
"add_param \" LoadModule\""
83 config_list_foreach
"$user" channel
"add_chan"
84 echo "</User>" >> $ZNC_CONFIG
89 mkdir
-p /tmp
/etc
/znc
/configs
/
90 [ -f "$ZNC_CONFIG" ] && rm "$ZNC_CONFIG"
92 config_foreach znc_global znc
93 config_foreach add_listener listener
94 config_foreach add_user user
96 chown
-R nobody
:nogroup
/tmp
/etc
/znc
97 /usr
/bin
/znc
-d/tmp
/etc
/znc
-r >/dev
/null
&
101 [ -f "$PID_FILE" ] && kill $
(cat "$PID_FILE")