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
72 "md5#"* |
"sha256#"* |
"plain#"*)
73 echo " Pass = $password" >> $ZNC_CONFIG
76 echo " Pass = plain#$password" >> $ZNC_CONFIG
80 echo " Nick = $nick" >> $ZNC_CONFIG
81 echo " AltNick = ${altnick:-$nick"_"}" >> $ZNC_CONFIG
82 echo " Ident = ${ident:-$nick}" >> $ZNC_CONFIG
83 echo " RealName = ${realname:-$nick}" >> $ZNC_CONFIG
84 [ -z "$vhost" ] ||
echo " VHost = $vhost" >> $ZNC_CONFIG
85 echo " Buffer = ${buffer:-50}" >> $ZNC_CONFIG
86 echo " KeepBuffer = false" >> $ZNC_CONFIG
87 echo " ChanModes = ${chanmodes:-"+stn"}" >> $ZNC_CONFIG
88 [ -z "$quitmsg" ] ||
echo " QuitMsg = $quitmsg" >> $ZNC_CONFIG
90 config_list_foreach
"$user" server
"add_param \" Server\""
91 config_list_foreach
"$user" module
"add_param \" LoadModule\""
92 config_list_foreach
"$user" channel
"add_chan"
93 echo "</User>" >> $ZNC_CONFIG
98 mkdir
-p /tmp
/etc
/znc
/configs
/
99 [ -f "$ZNC_CONFIG" ] && rm "$ZNC_CONFIG"
101 config_foreach znc_global znc
102 config_foreach add_listener listener
103 config_foreach add_user user
105 chown
-R nobody
:nogroup
/tmp
/etc
/znc
106 /usr
/bin
/znc
-d/tmp
/etc
/znc
-r >/dev
/null
&
110 [ -f "$PID_FILE" ] && kill $
(cat "$PID_FILE")