Поднимаем анонимный IRC-сервер средствами TOR на VPS/Raspberry Pi

Поднимаем анонимный IRC-сервер средствами TOR на VPS/Raspberry Pi

Подключение по ssh от рута

установим скрытый сервис Tor

Код:

apt-get install tor

стартуем и сразу вырубаем

Код:

service tor start
service tor stop

в /etc/tor/torrc добавим запись

Код:

HiddenServiceDir /var/lib/tor/irc/
HiddenServicePort 6666 127.0.0.1:6666

(HiddenServicePort 80 127.0.0.1:8123 - добавим и эту строку, если хотим веб интерфейс для сервера.

Об этом можно узнать подробнее, прочитав мои статьи из цикла Tor)

сохраняем. запускаем тор

Код:

service tor start

из /var/lib/tor/irc/hostname вытаскиваем адрес вашего сайта (как сделать красивый можно узнать опять же прочитав мои статьи) и записываем куда нибудь, он нам пригодится позже. Устанавливаем irc-сервер

Код:

apt-get install ircd-hybrid

редактируем файл приветствия motd

Код:

nano /etc/ircd-hybrid/ircd.motd

       _,met$$$$$gg.       ircd-hybrid 7.2.2
    ,g$$$$$$$$$$$$$$$P.    -----------------
   ,g$$P""       """Y$$.".
  ,$$P'              `$$$.  Welcome to my first IRC Server"
',$$P       ,ggs.     `$$b:
`d$$'     ,$P"'   .    $$$
$$P      d$'     ,    $$P
$$:      $$.   -    ,d$$'
$$;      Y$b._   _,d$P'
Y$$.    `.`"Y$$$$P"'
`$$b      "-.__
  `Y$$b
   `Y$$.
    `$$b.
      `Y$$b.
        `"Y$b._
           `""""

чтобы применить изменения перезагрузим irc-сервер

Код:

service ircd-hybrid restart

теперь при входе в irc клиентам будет выводиться ваш MOTD

далее создадим админ пароль для сервера, для этого в терминале

Код:

mkpasswd
[ваш пароль]

выдаст какую нибудь ерунду типа “PtC1dMzSDL5gs”

ее тоже запишим, она нам пригодится на следующем шаге

отредактируем nano /etc/ircd-hybrid/ircd.conf

ищем строки

Код:

operator {
        /* name: the name of the oper */
        name = "root";

        /* user: the user@host required for this operator.  CIDR is not
         * supported.  multiple user="" lines are supported.
         */
        user = "root@127.0.0.1";

        /* password: the password required to oper.  By default this will
         * need to be encrypted using '/usr/bin/mkpasswd'.
         * WARNING: Please do not mix up the 'mkpasswd' program from
         * /usr/sbin with this one. If you are root, typing 'mkpasswd'
         * will run that one instead and you will receive a strange error.
         *
         * MD5 is supported. If you want to use it, use mkpasswd -Hmd5.
         */
        password = "ToJx.IEPqjiVg";

меняем на

Код:

operator {
        /* name: the name of the oper */
        name = "root";

        /* user: the user@host required for this operator.  CIDR is not
* supported.  multiple user="" lines are supported.
         */
        user = "*@127.0.0.1";

        /* password: the password required to oper.  By default this will
         * need to be encrypted using '/usr/bin/mkpasswd'.
         * WARNING: Please do not mix up the 'mkpasswd' program from
         * /usr/sbin with this one. If you are root, typing 'mkpasswd'
         * will run that one instead and you will receive a strange error.
         *
         * MD5 is supported. If you want to use it, use mkpasswd -Hmd5.
         */
        password = "PtC1dMzSDL5gs";

вот тут и меняем ToJx.IEPqjiVg на PtC1dMzSDL5gs

в вашем случае на ваш сгенерированный пароль

далее находим это

Код:

#connect {
#       /* name: the name of the server */
#        name = "irc.example.net";
#
#       /* host: the host or IP to connect to.  If a hostname is used it
#        * must match the reverse dns of the server.
#        */
#        host = "127.0.0.1";
#
#       /* passwords: the passwords we send (OLD C:) and accept (OLD N:).
#        * The remote server will have these passwords reversed.
#        */

и заменяем на это

Код:

connect {
        /* name: the name of the server */
        name = "irc.example.net";

        /* host: the host or IP to connect to.  If a hostname is used it
         * must match the reverse dns of the server.
         */
        host = "127.0.0.1";

        /* passwords: the passwords we send (OLD C:) and accept (OLD N:).
         * The remote server will have these passwords reversed.
         */
        send_password = "password";
        accept_password = "password";

        /* compressed: controls whether traffic is compressed via ziplinks.
         * By default this is disabled
         */
        compressed = no;
};

вместо 127.0.0.1 ставим адрес вашего onion сайта с добавкой irc.ваш сайт.onion

сохраняем все и выключаем а затем включаем irc-сервер

Код:

service ircd-hybrid stop
service ircd-hybrid start

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

Код:

update-rc.d tor enable
update-rc.d ircd-hybrid enable

теперь можно зайти например из под Whonix в hexchat на irc.ваш сайт.onion