<?xml version="1.0" encoding="utf-8" ?><rss version="2.0" xmlns:tt="http://teletype.in/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>MiTRON</title><generator>teletype.in</generator><description><![CDATA[Собираю в кучу полезные статьи для себя чтобы потом не искать ))]]></description><image><url>https://teletype.in/files/94/94f841c3-ab9e-46c8-95b5-cf52605cb740.jpeg</url><title>MiTRON</title><link>https://teletype.in/@mitron</link></image><link>https://teletype.in/@mitron?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron</link><atom:link rel="self" type="application/rss+xml" href="https://teletype.in/rss/mitron?offset=0"></atom:link><atom:link rel="next" type="application/rss+xml" href="https://teletype.in/rss/mitron?offset=10"></atom:link><atom:link rel="search" type="application/opensearchdescription+xml" title="Teletype" href="https://teletype.in/opensearch.xml"></atom:link><pubDate>Wed, 13 May 2026 21:59:19 GMT</pubDate><lastBuildDate>Wed, 13 May 2026 21:59:19 GMT</lastBuildDate><item><guid isPermaLink="true">https://teletype.in/@mitron/6Z9AIIHrS</guid><link>https://teletype.in/@mitron/6Z9AIIHrS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron</link><comments>https://teletype.in/@mitron/6Z9AIIHrS?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron#comments</comments><dc:creator>mitron</dc:creator><title>Streisand VPN. Годный комбайн. Часть 2.</title><pubDate>Wed, 30 Dec 2020 09:07:20 GMT</pubDate><tt:hashtag>vpn</tt:hashtag><tt:hashtag>streisand</tt:hashtag><tt:hashtag>findhimandkillhim</tt:hashtag><description><![CDATA[В итоге &quot;убил&quot; я его. ]]></description><content:encoded><![CDATA[
  <p>В итоге &quot;убил&quot; я его. </p>
  <p>Во-первых, громоздкий. </p>
  <p>Во-вторых, по дефолту выползают баги установки.</p>
  <p>В-третьих, оказалось проще и комфортнее установить требуемое по отдельности.</p>
  <p>Хотя, задумка очень хорошая! Очень!</p>
  <tt-tags>
    <tt-tag name="vpn">#vpn</tt-tag>
    <tt-tag name="streisand">#streisand</tt-tag>
    <tt-tag name="findhimandkillhim">#findhimandkillhim</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mitron/poksvQCRr</guid><link>https://teletype.in/@mitron/poksvQCRr?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron</link><comments>https://teletype.in/@mitron/poksvQCRr?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron#comments</comments><dc:creator>mitron</dc:creator><title>Wireguard. Вот что я люблю!</title><pubDate>Wed, 30 Dec 2020 09:02:30 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/97/0a/970a1a2b-d712-4cca-8982-25d8b4f8cdda.png"></media:content><tt:hashtag>vpn</tt:hashtag><tt:hashtag>vps</tt:hashtag><tt:hashtag>wireguard</tt:hashtag><description><![CDATA[<img src="https://teletype.in/files/ba/05/ba05ee2b-c898-457b-8fd6-11b29a0f7f1c.png"></img>Многие слышали о WireGuard — новом протоколе VPN, который обеспечивает заметно большую скорость и имеет простую настройку клиентского программного обеспечения. Некоторых пугает сложность установки — особенно те части инструкции, где идет речь о модулях ядра. Расскажу, как сделать быстро и без сложностей свой WireGuard-сервер.]]></description><content:encoded><![CDATA[
  <p>Многие слышали о <a href="https://wireguard.com/" target="_blank">WireGuard</a> — новом протоколе VPN, который обеспечивает заметно большую скорость и имеет простую настройку клиентского программного обеспечения. Некоторых пугает сложность установки — особенно те части инструкции, где идет речь о модулях ядра. Расскажу, как сделать быстро и без сложностей свой WireGuard-сервер.</p>
  <p>Для начала — общие впечатления от WireGuard. Действительно, этот продукт обеспечивает замечательную производительность за счет использования транспортного протокола UDP и множества оптимизаций. В отличие от OpenVPN и подобных продуктов, принцип настройки несколько другой — для каждого отдельного устройства следует сделать отдельный ключ. Другими словами, если нужно подключаться со смартфона, домашнего компьютера и ноутбука, то в случае с WireGuard нужно сделать три ключа, не получится пользоваться одним. Отметим, что генерация ключа является простой задачей и этого не стоит опасаться.</p>
  <p>Итак, приступаем. Нам понадобится самый простой VDS, покупаем его себе где пожелаем. Я свой выбор остановил на <a href="http://itlds.com" target="_blank">ITLDS.</a> В качестве операционной системы мы будем использовать Debian 10. Остальные параметры можно оставить по-умолчанию.</p>
  <p>Установка операционной системы на SSD VDS занимает несколько минут, после этого можно приступать к установке и запуску своего WireGuard. Подключаемся к SSD VDS с помощью любого ssh-клиента (putty или др.) и выполняем следующие команды:</p>
  <pre>apt-get install -y curl
curl https://raw.githubusercontent.com/complexorganizations/wireguard-manager/master/wireguard-server.sh --create-dirs -o /etc/wireguard/wireguard-server.sh
chmod +x /etc/wireguard/wireguard-server.sh
HEADLESS_INSTALL=y /etc/wireguard/wireguard-server.sh</pre>
  <p>Разберу подробнее. Мы инсталлируем curl (его обычно нет в поставках ОС по-умолчанию), загружаем скрипт wireguard-server.sh и выполняем его. Да, мы будем использовать замечательную утилиту <a href="https://github.com/complexorganizations/wireguard-manager" target="_blank">wireguard-manager</a> от Prajwal Koirala, который установит все необходимые компоненты, запустит WireGuard и подготовит первую пару ключей!</p>
  <p>Итак, мы выполнили указанные команды и получили QR-код. Теперь можно загрузить на свой смартфон или компьютер клиентскую часть WireGuard (<a href="https://itunes.apple.com/us/app/wireguard/id1441195209?ls=1&mt=8" target="_blank">IOS (iPhone/iPad)</a>, <a href="https://play.google.com/store/apps/details?id=com.wireguard.android" target="_blank">Android</a>, <a href="https://www.wireguard.com/install/#windows-7-8-81-10-2012-2016-2019" target="_blank">другие платформы</a>), запустить приложение WireGuard и добавить подключение. Да, именно для этого нужен QR-код — приложение сканирует его для добавления подключения, не нужно вводить никаких сложных технических данных и паролей!</p>
  <p>Для того чтобы добавить дополнительное подключение, выполним</p>
  <pre>/etc/wireguard/wireguard-server.sh --add</pre>
  <p>Указываем имя подключения (например, vpn2) и мгновенно получаем дополнительный QR-код. Быстро и просто:</p>
  <figure class="m_column">
    <img src="https://teletype.in/files/ba/05/ba05ee2b-c898-457b-8fd6-11b29a0f7f1c.png" width="1534" />
  </figure>
  <p>Дополню — данный скрипт работает на всех современных Linux-системах. На Centos7/8 может потребоваться выключение firewalld, на Debian или Ubuntu дополнительных действий делать не нужно, поэтому Debian 10/Ubuntu 18 предпочтительнее.</p>
  <p>WireGuard действительно впечатляет. Рекомендуем!</p>
  <tt-tags>
    <tt-tag name="vpn">#vpn</tt-tag>
    <tt-tag name="vps">#vps</tt-tag>
    <tt-tag name="wireguard">#wireguard</tt-tag>
  </tt-tags>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mitron/rJW4FbM9N</guid><link>https://teletype.in/@mitron/rJW4FbM9N?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron</link><comments>https://teletype.in/@mitron/rJW4FbM9N?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron#comments</comments><dc:creator>mitron</dc:creator><title>Streisand VPN. Годный комбайн.</title><pubDate>Mon, 15 Apr 2019 13:41:26 GMT</pubDate><category>VPN</category><category>VPS</category><description><![CDATA[<img src="https://blog.ssdnodes.com/blog//wp-content/uploads/2017/08/20170803-streisand.gif"></img>Чем дальше российское законодательство продвигается в деле ограничения свобод в интернете, чем больше слышу в СМИ фразы про блокировки, DPI, какой-то там надзор, то все чаще хочу закрыться от этого. Стать независимым и свободным можно стать заимев свой личный VPN. Ведь ожидаемо, что скоро многие популярные VPN-сервисы будут заблокированы роскомнадзором. Понятно, что эти блокировки будут сродни блокировкам Telegram, ибо у нас блокируют для того, чтобы отрапортовавть о проделанной работе. Но все равно это оставляет неприятный осадок и какое-то ощущение, что всех пытаются держать за дураков. Но я не об этом...]]></description><content:encoded><![CDATA[
  <p>Чем дальше российское законодательство продвигается в деле ограничения свобод в интернете, чем больше слышу в СМИ фразы про блокировки, DPI, какой-то там надзор, то все чаще хочу закрыться от этого. Стать независимым и свободным можно стать заимев свой личный VPN. Ведь ожидаемо, что скоро многие популярные VPN-сервисы будут заблокированы роскомнадзором. Понятно, что эти блокировки будут сродни блокировкам Telegram, ибо у нас блокируют для того, чтобы отрапортовавть о проделанной работе. Но все равно это оставляет неприятный осадок и какое-то ощущение, что всех пытаются держать за дураков. Но я не об этом...</p>
  <hr />
  <p>На просторах интернетов есть просто куча различных решений для VPN. Почти все они прекрасны. Но иногда возникает желание обладать на своем VPS комбайном с разными решениями и реализациями. И тогда нам на помощь приходит <a href="https://github.com/StreisandEffect/streisand" target="_blank">проект Streisand</a>. Надо сказать когда я ознакомился со всеми фичами этого проета я выпал в легкий ступор, ведь помимо общепринятого OpenVPN тут еще и Shadowsocks, и модный WireGuard и даже TOR.</p>
  <p>Пожалуй, Streisand VPN является оптимальным сервером для связки VPS + VPN, которые я попробовал. Важно, что это очень просто. Проще установить только <a href="https://www.getoutline.org/ru/home" target="_blank">Outline VPN</a>. Если у вас еще нет VPS, то можно его завести себе в <a href="https://itldc.com/?from=33896" target="_blank"><strong>ITLDC</strong></a>. И кстати, при покупке у них сервера можно установить Streisand автоматически вместе с операционной системой.</p>
  <p>Но я предположу, что у нас уже есть VPS в минимальной конфигурации с UBUNTU 16.04. Поехали...</p>
  <h2>Шаг 1. Копирование вашего ключа SSH на пустой сервер</h2>
  <p>Чтобы Streisand мог взаимодействовать с вашим сервером через Ansible, ему необходимо использовать аутентификацию с открытым ключом, а не пароли. Мы создадим закрытый ключ на нашем локальном компьютере, а ��атем скопируем открытый ключ в VPS, чтобы включить это соединение.</p>
  <h3>Если у вас еще нет ключа SSH</h3>
  <p>Просто создайте новый ключ SSH с помощью <code>ssh-keygen</code>команды:</p>
  <pre>$ ssh-keygen -t rsa
</pre>
  <p>Когда вас спросят, где сохранить ключ, просто нажмите - <code>Enter</code> пусть местоположение будет по умолчанию.</p>
  <h3>Теперь, когда у вас есть ключ SSH или он был сгенерирован ранее. Не суть.</h3>
  <p>Давайте быстро скопируем его на наш сервер.</p>
  <pre>$ ssh-copy-id root@IP_ADDRESS
</pre>
  <p>Проверяем работоспособность ключа утановив <code>ssh</code>соединение.</p>
  <h2>Шаг 2. Получение репозитория Streisand</h2>
  <p>Сначала загрузим Git-репозиторий Streisand.</p>
  <pre>$ git clone https://github.com/jlund/streisand.git &amp;&amp; cd streisand
</pre>
  <p>Далее, все что вам нужно сделать, - это запустить <code>./streisand</code>команду, которая запустит установочный скрипт.</p>
  <pre>$ ./streisand

S T R E I S A N D  

Which provider are you using?
1. Amazon
2. Azure
3. DigitalOcean
4. Google
5. Linode
6. Rackspace
7. Localhost (Advanced)
8. Existing Server (Advanced)
</pre>
  <p>Подразумевается, что наш случай, это случай под номером 8. После ввода скрипт запросит IP-адрес сервера, на котором вы устанавливаете Streisand. Затем вы увидите следующее - последнее предупреждение, сообщающее, что установка Streisand перепишет все существующие конфигурации.</p>
  <pre>THIS WILL OVERWRITE CONFIGURATION ON THE EXISTING SERVER.
STREISAND ASSUMES ███.███.███.█ IS A BRAND NEW UBUNTU INSTANCE AND WILL
NOT PRESERVE EXISTING CONFIGURATION OR DATA.

ARE YOU 100% SURE THAT YOU WISH TO CONTINUE?

Please enter the word &#x27;streisand&#x27; to continue:
</pre>
  <p>Если все пойдет хорошо, установщик отключится, и вы увидите много выходных данных из Ansible.</p>
  <h2>Шаг 3. Подключение к вашему новому серверу с поддержкой Streisand</h2>
  <p>Если фактическая установка Streisand прошла гладко то вы увидите следующий результат:</p>
  <pre>[streisand-gateway : Success!]
Server setup is complete. The &#x60;HOSTNAME.html&#x60; instructions file in the generated-docs folder is ready to give to friends, family members, and fellow activists. Press Enter to continue.:
</pre>
  <p>Нажмите, <code>Enter</code>а затем проверьте <code>generated-docs</code>папку.</p>
  <pre>cd generated-docs
</pre>
  <p>Открываем файл <code><strong>HOSTNAME.html</strong></code> в браузере и видим подробные инструкции о том, как загрузить сертификат SSL, который позволит вам подключиться к вашему серверу Streisand. Следуйте инструкциям в соответствии с выбранной операционной системой или браузером.</p>
  <p>После того, как вы установили сертификат, вы можете получить доступ к вашему серверу через IP-адрес вашего VPS и сгенерированную комбинацию имени пользователя и пароля. Также есть ссылка Tor / .onion, доступная для тех, кто хочет использовать этот протокол вместо HTTPS.</p>
  <p>После ввода вашего имени пользователя и уникального пароля вы увидите документацию о том, как подключиться к различным активированным службам. Действительно интересная вещь в документации Streisand заключается в том, что она полностью настроена на IP-адрес вашего сервера. Есть встроенные инструкции для OpenVPN, Wireguard, Tor и других.</p>
  <p>Жаль, что ребята убрали из сборки L2TP/IPSec, посчитав это решение уже недостаточно безопасным.</p>
  <h2>Заключительные мысли о Streisand VPN</h2>
  <figure class="m_custom">
    <img src="https://blog.ssdnodes.com/blog//wp-content/uploads/2017/08/20170803-streisand.gif" width="640" />
  </figure>

]]></content:encoded></item><item><guid isPermaLink="true">https://teletype.in/@mitron/ryVY4px9V</guid><link>https://teletype.in/@mitron/ryVY4px9V?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron</link><comments>https://teletype.in/@mitron/ryVY4px9V?utm_source=teletype&amp;utm_medium=feed_rss&amp;utm_campaign=mitron#comments</comments><dc:creator>mitron</dc:creator><title>Как поднять прокси для тележеньки. (Спойлер - просто!)</title><pubDate>Sun, 14 Apr 2019 14:37:38 GMT</pubDate><media:content medium="image" url="https://teletype.in/files/d9/d9bb44b1-4eb6-4154-8a0d-a28c6290ceb1.png"></media:content><description><![CDATA[<img src="https://teletype.in/files/00/00f6a83e-2d3c-424f-a504-306ecb3152af.jpeg"></img>Однажды настал момент когда я устал от нестабильного соединения в Telegram. Я никогда не был сторонником бесплатных и публичных решений и поэтому решил быстренько купить себе VPS и поднять мне и друзьям прокси.]]></description><content:encoded><![CDATA[
  <p>Однажды настал момент когда я устал от нестабильного соединения в Telegram. Я никогда не был сторонником бесплатных и публичных решений и поэтому решил быстренько купить себе VPS и поднять мне и друзьям прокси.</p>
  <p>15 минут и машина с Ubuntu 16.04 LTS на борту готова. В качестве прокси будем использовать <a href="https://packages.debian.org/sid/dante-server" target="_blank"><strong>Dante Server 1.4.2</strong></a>, эта версия поддерживает работу с авторизованными пользователями и в ней исправлены многие ошибки.</p>
  <figure class="m_custom">
    <img src="https://teletype.in/files/00/00f6a83e-2d3c-424f-a504-306ecb3152af.jpeg" width="628" />
  </figure>
  <p>SOCKS — сетевой протокол, который позволяет клиент-серверным приложениям прозрачно использовать сервисы за фаерволами. SOCKS базируется на стандарте TCP/IP и позволяет работать с любыми протоколами (версия Socks 4 – с TCP, Socks 5 – с TCP и UDP). SOCKS proxy просто передает данные от клиента к серверу, не вникая в содержимое самих данных (поэтому он может работать с HTTP, FTP, SMTP, POP3, NNTP, etc.).</p>
  <h2>1. Установка Dante Server</h2>
  <p>Скачаем и разархивируем исходники сервера:</p>
  <pre>cd /opt
wget http://www.inet.no/dante/files/dante-1.4.2.tar.gz
tar -xvf dante-1.4.2.tar.gz
cd dante-1.4.2/
</pre>
  <p>Установим необходимые утилиты и зависимости:</p>
  <pre>apt-get install gcc libwrap0 libwrap0-dev libpam0g-dev make checkinstall
</pre>
  <p>Подготовим файлы dante для компиляции:</p>
  <pre>mkdir /opt/dante
./configure --prefix=/opt/dante
</pre>
  <p>Получим статус конфигурации:</p>
  <pre>Client:            Enabled
Server:            Enabled
Preloading:        Enabled
Libwrap:           Enabled
BSD Auth:          Disabled, usable bsd_auth.h not found
PAM:               Enabled
GSSAPI:            Not found/disabled
KRB5:              Not found/disabled
SASL:              Not found/disabled
UPNP:              Not found/disabled
Compatability:     issetugid setproctitle strlcpy strvis

                     Modules:

redirect:          Not found
bandwidth:         Not found
ldap:              Not found
</pre>
  <p>Компилируем:</p>
  <pre>make
</pre>
  <p>Упаковываем в пакет и устанавливаем:</p>
  <pre>checkinstall
</pre>
  <p>Проверяем работу:</p>
  <pre>/opt/dante/sbin/sockd -v
Dante v1.4.2.  Copyright (c) 1997 - 2014 Inferno Nettverk A/S, Norway
</pre>
  <h2>2. Настройка сервера</h2>
  <p>Создадим пользователи и установим пароль:</p>
  <pre>useradd -s /bin/nologin telegram
passwd telegram
</pre>
  <p>Узнаем название сетевого интерфейса:</p>
  <pre>ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:bd:74:65
lo        Link encap:Local Loopback
</pre>
  <p>В моем случае он называется <code>eth0</code>. Пропишем его в конфигурационном файле:</p>
  <pre>nano /etc/sockd.conf
</pre>
  <p>Содержимое файла:</p>
  <pre>#logoutput: /var/log/socks.log
logoutput: stderr

# На каком сетевом интерфейсе и порту обслуживаем socks клиентов
internal: eth0 port = 1080
# С какого IP или интерфейса выходим во внешний мир
external: eth0
#internal: x.x.x.x port = 1080
#external: x.x.x.x

# Используемый метод авторизации клиентов. none — без авторизации.
socksmethod: username
#socksmethod: username none
user.privileged: root
user.notprivileged: nobody

client pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}

client block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}

socks pass {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: error connect disconnect
}

socks block {
        from: 0.0.0.0/0 to: 0.0.0.0/0
        log: connect error
}
</pre>
  <p>Ещё один вариант настройки конфигурации:</p>
  <pre>logoutput: syslog stdout /var/log/sockd.log
internal: x.x.x.x port = 1080
external: x.x.x.x
socksmethod: username 
user.privileged: root
user.unprivileged: nobody
user.libwrap: nobody
client pass
{
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}
client block {
from: 0.0.0.0/0 to: 127.0.0.0/8
log: connect error
}
socks pass
{
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect
log: error
socksmethod: username
}
</pre>
  <h2>3. Автоматический запуск сервера</h2>
  <p>Для того, чтобы запуск сервера происходил при старте системы, соберём модуль запуска. Для этого необходимо создать файл <code>/etc/init.d/sockd</code> с таким содержимым:</p>
  <pre>#! /bin/sh
### BEGIN INIT INFO

# Provides:          sockd

# Required-Start:    $remote_fs $syslog

# Required-Stop:     $remote_fs $syslog

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Start the dante SOCKS server.

# Description:       SOCKS (v4 and v5) proxy server daemon (sockd).

#                    This server allows clients to connect to it and

#                    request proxying of TCP or UDP network traffic

#                    with extensive configuration possibilities.

### END INIT INFO

#

# dante SOCKS server init.d file. Based on /etc/init.d/skeleton:

# Version:  @(#)skeleton  1.8  03-Mar-1998  miquels@cistron.nl 

# Via: https://gitorious.org/dante/pkg-debian



PATH=/sbin:/usr/sbin:/bin:/usr/bin
NAME=sockd
DAEMON=/opt/dante/sbin/$NAME
DAEMON_ARGS=&quot;-D&quot;
PIDFILE=/var/run/$NAME.pid
SCRIPTNAME=/etc/init.d/$NAME
DESC=&quot;Dante SOCKS daemon&quot;
CONFFILE=/etc/$NAME.conf

# Exit if the package is not installed


[ -x &quot;$DAEMON&quot; ] || exit 0

# Load the VERBOSE setting and other rcS variables


. /lib/init/vars.sh

# Define LSB log_* functions.

# Depend on lsb-base (&gt;= 3.2-14) to ensure that this file is present

# and status_of_proc is working.


. /lib/lsb/init-functions

set -e

# This function makes sure that the Dante server can write to the pid-file.


touch_pidfile ()
{
  if [ -r $CONFFILE ]; then
    uid=&quot;&#x60;sed -n -e &#x27;s/[[:space:]]//g&#x27; -e &#x27;s/#.*//&#x27; -e &#x27;/^user\.privileged/{s/[^:]*://p;q;}&#x27; $CONFFILE&#x60;&quot;
    if [ -n &quot;$uid&quot; ]; then
      touch $PIDFILE
      chown $uid $PIDFILE
    fi
  fi
}

case &quot;$1&quot; in
  start)
    if ! egrep -cve &#x27;^ *(#|$)&#x27; \
        -e &#x27;^(logoutput|user\.((not)?privileged|libwrap)):&#x27; \
        $CONFFILE &gt; /dev/null
    then
        echo &quot;Not starting $DESC: not configured.&quot;
        exit 0
    fi
    echo -n &quot;Starting $DESC: &quot;
    touch_pidfile
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test &gt; /dev/null \
        || return 1
    start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \
        $DAEMON_ARGS \
        || return 2
    echo &quot;$NAME.&quot;
    ;;
  stop)
    echo -n &quot;Stopping $DESC: &quot;
    start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME
    RETVAL=&quot;$?&quot;
    [ &quot;$RETVAL&quot; = 2 ] &amp;&amp; return 2
    start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON
    [ &quot;$?&quot; = 2 ] &amp;&amp; return 2
    echo &quot;$NAME.&quot;
    ;;
  reload|force-reload)
    
#


    
#   If the daemon can reload its config files on the fly


    
#   for example by sending it SIGHUP, do it here.


    
#


    
#   Make this a do-nothing entry, if the daemon responds to changes in its config file


    
#   directly anyway.


    
#


     echo &quot;Reloading $DESC configuration files.&quot;
     start-stop-daemon --stop --signal 1 --quiet --pidfile \
        $PIDFILE --exec $DAEMON -- -D
  ;;
  restart)
    
#


    
#   If the &quot;reload&quot; option is implemented, move the &quot;force-reload&quot;


    
#   option to the &quot;reload&quot; entry above. If not, &quot;force-reload&quot; is


    
#   just the same as &quot;restart&quot;.


    
#


    echo -n &quot;Restarting $DESC: &quot;
    start-stop-daemon --stop --quiet --pidfile $PIDFILE --exec $DAEMON
    sleep 1
    touch_pidfile
    start-stop-daemon --start --quiet --pidfile $PIDFILE \
      --exec $DAEMON -- -D
    echo &quot;$NAME.&quot;
    ;;
  status)
    status_of_proc &quot;$DAEMON&quot; &quot;$NAME&quot; &amp;&amp; exit 0 || exit $?
    ;;
  *)
    N=/etc/init.d/$NAME
    
# echo &quot;Usage: $N {start|stop|restart|reload|force-reload}&quot; &gt;&amp;2


    echo &quot;Usage: $N {start|stop|restart|status|force-reload}&quot; &gt;&amp;2
    exit 1
    ;;
esac

exit 0
</pre>
  <p>Сделаем скрипт запуска исполняемым:</p>
  <pre>chmod +x /etc/init.d/sockd
</pre>
  <p>Обновим конфигурацию демонов:</p>
  <pre>systemctl daemon-reload
</pre>
  <p>И включим модуль:</p>
  <pre>systemctl enable sockd

</pre>
  <p>Запустим Dante server:</p>
  <pre>systemctl start sockd

</pre>
  <p>Перезагрузим конфигурацию:</p>
  <pre>systemctl enable danted &amp;&amp; systemctl restart danted 
</pre>
  <h2>4. Формируем ссылку для Telegram</h2>
  <pre>https://t.me/socks?server=example.com&amp;port=9999&amp;user=username&amp;pass=password
</pre>
  <figure class="m_column">
    <img src="https://teletype.in/files/80/8071d69c-d1fc-4a7f-b7b8-a5a798bdab7b.jpeg" width="1920" />
  </figure>
  <hr />
  <p>Оригинальная статья <a href="https://levashove.ru/kak-podnyat-svoj-socks5-server-dlya-telegram/amp/" target="_blank">https://levashove.ru/kak-podnyat-svoj-socks5-server-dlya-telegram/amp/</a></p>

]]></content:encoded></item></channel></rss>