Установка licq в консольный ubuntu server

 

Для начала установим все необходимые пакеты:

apt-get install licq licq-plugin-autoreply licq-plugin-console

соглашаемся на установку всего.

 

создаем следующий скрипт:

nano /etc/init.d/licq_bot

#! /bin/sh
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
HOME=/root
NAME=licq_bot
DESC=licq

set -e
cd $HOME

case "$1" in
start)
echo -n "Checking for running $DESC: \n"
licq -b /root/.licq/ -p autoreply -- -e -l online -d > /dev/null 2>&1 &
;;
stop)
echo -n "Stop $DESC: /n"
echo "exit" > /root/.licq/licq_fifo
;;
restart)
echo -n "Restart licq_bot \n"
echo "status offline" > /root/.licq/licq_fifo
sleep 10
echo "status online" > /root/.licq/licq_fifo
;;
force-reload)
echo -n "Stop $DESC: \n"
killall -9 licq
sleep 10
echo -n "Checking for running $DESC: \n"
licq -b /root/.licq/ -p autoreply -- -e -l online -d > /dev/null 2>&1 &
;;
*)
N=/etc/init.d/$NAME
echo "Usage: $N {start|stop|restart|force-reload}" >&2
exit 1
;;
esac

exit 0

 

добавляем его в автозагрузку:

chmod 755 /etc/init.d/licq_bot

sudo update-rc.d licq_bot defaults 99

 

переходим в папку с программой:

cd /root/.licq

cat licq.conf

[licq]
Version = 1039

[plugins]
NumPlugins = 1
NumProtoPlugins = 0
Plugin1 = autoreply

[network]
AllowNewUsers = 1
NumOfICQServers = 1
ICQServer = login.icq.com
ICQServerPort = 5190
TCPPortsLow = 0
TCPPortsHigh = 0
TCPEnabled = 1
MaxUsersPerPacket = 100
IgnoreTypes = 0
ForegroundColor = 0
BackgroundColor = 16777215
#Errors = log.errors
ErrorTypes = 6
Rejects = log.rejects
Translation = none
Terminal = x-terminal-emulator -T Licq -e
ProxyEnabled = 0
ProxyServerType = 1
ProxyServer =
ProxyServerPort = 0
ProxyAuthEnabled = 0
ProxyLogin =
ProxyPassword =
UseSS = 1
Firewall = 0
AutoUpdateInfo = 1
AutoUpdateInfoPlugins = 1
AutoUpdateStatusPlugins = 1
UrlViewer = none
UseBART = 1
SendTypingNotification = 1
ReconnectAfterUinClash = 0
DefaultUserEncoding =

[onevent]
Enable = 0
Command = play
AlwaysOnlineNotify = 0
Message = /usr/share/licq/sounds/icq/Message.wav
Url = /usr/share/licq/sounds/icq/URL.wav
Chat = /usr/share/licq/sounds/icq/Chat.wav
File = /usr/share/licq/sounds/icq/File.wav
OnlineNotify = /usr/share/licq/sounds/icq/Online.wav
SysMsg = /usr/share/licq/sounds/icq/System.wav
MsgSent = /usr/share/licq/sounds/icq/Message.wav

[groups]
NumOfGroups = 2
Group1.name =
Group1.id = 1
Group1.IcqServerId = 31822
Group1.Sorting = 0
Group2.name = Not In List
Group2.id = 2
Group2.IcqServerId = 2
Group2.Sorting = 1

[owners]
NumOfOwners = 1
Owner1.Id = ***UIN***
Owner1.PPID = Licq
[stats]
Reset = 1314085889
Sent = 4345
Recv = 750
Reject = 0
ARC = 0

cat owner.Licq

[user]
Alias = None
Password = PASSWORD
Uin = 460199423
WebPresence = 0
HideIP = 0
History = /root/.licq///history/owner.460199423.Licq.history
Groups.System = 0
Ip = 82.193.148.134
IntIp = 82.193.148.134
Port = 32837
NewMessages = 11
LastOnline = 0
LastSent = 0
LastRecv = 1333602688
LastCheckedAR = 0
RegisteredTime = 0
AutoAccept = 0
StatusToUser = 65535
CustomAutoRsp =
SendIntIp = 0
UserEncoding = UTF-8
AwaitingAuth = 0
SID = 0
InvisibleSID = 0
VisibleSID = 0
GSID = 0
ClientTimestamp = 0
ClientInfoTimestamp = 0
ClientStatusTimestamp = 0
OurClientTimestamp = 0
OurClientInfoTimestamp = 0
OurClientStatusTimestamp = 0
PhoneFollowMeStatus = 0
ICQphoneStatus = 0
SharedFilesStatus = 0
UseGPG = 0
GPGKey =
SendServer = 0
PPFieldCount = 0
GroupCount = 0
Authorization = 0
RCG = 0
SSTime = 1356097076
SSCount = 126
PDINFO = 10874
AutoResponse =

создаем папку

mkdir /root/.licq/history/

touch /root/.licq/history/owner.661178362.Licq.history

 

cat autoreply.sh

#!/bin/sh

DIR=/root
UPTIME=`/usr/bin/procinfo | grep uptime | cut -d \: -f 2- | cut -d \. -f 1`
MY_IP=`cat $DIR/.licq/owner.Licq | grep -m 1 Ip\ =|cut -f 3 -d \ `
LOAD=`awk </proc/loadavg '{print (100*$2)}'`

for user in `cat $DIR/.licq/users_squid | cut -d \ -f 2`;do
##############################################################
## Админский блок ##
## Этот блок работает только с определённым номером аси ##
## на сообщение вида: ##
## command: команда ##
## выполняет комманду, как будто в shell от root ##
##############################################################
if [ $1 = 161007094 -o $1 = 161007094 ];then

message_command=`grep ":#" $DIR/.licq/history/$user.Licq.history | iconv -f cp1251 -t utf8 | cut -s -d \# -f 2- `
if [ ! -z "$message_command" ];then
echo "~#$message_command" | iconv -f utf8 -t cp1251;
$message_command 2>&1 | iconv -f utf8 -t cp1251 ;
rm -f $DIR/.licq/history/$1.Licq.history
exit 0;
fi

message_command=`grep ":mik" $DIR/.licq/history/$user.Licq.history | cut -s -d \: -f 2- `
if [ ! -z "$message_command" ];then
# echo "Микротик перезаргужен" | iconv -f utf8 -t cp1251;
/etc/mrtg/mik.pl 2>&1 | iconv -f utf8 -t cp1251 ;
rm -f $DIR/.licq/history/$1.Licq.history
exit 0;
fi
fi

##############################################################
## ##
## конец админского блока ##
## ##
##############################################################
if [ $1 = $user ];then
## Определяем кому принадлежит комп юзера по 3-ему столбцу в этом же списке
## Данный параметр нужен для того, чтобы была возможность домочадцам менять IP
name_user=`cat $DIR/.licq/users_squid | grep $user | cut -d \ -f 3`
echo "Uptime: `uptime`"
echo "My IP=$MY_IP"
echo "LOAD_ON_5_min=$LOAD"%

fi
done
rm -f $DIR/.licq/history/$1.Licq.history # чистим историю, для исключения багов
exit 0;