<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Sadium</title>
    <link>https://sadium.cyou/</link>
    <description>Недавний контент в Sadium</description>
    <generator>Hugo</generator>
    <language>ru</language>
    <managingEditor>/ (Линк)</managingEditor>
    <webMaster>/ (Линк)</webMaster>
    <lastBuildDate>Mon, 15 Jun 2026 22:34:34 +0300</lastBuildDate>
    <atom:link href="https://sadium.cyou/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Настройка ACME для получения сертификатов в Angie (&#43;Maddy)</title>
      <link>https://sadium.cyou/opus/angie_acme/</link>
      <pubDate>Sat, 26 Apr 2025 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/angie_acme.md (Линк)</author>
      <guid>https://sadium.cyou/opus/angie_acme/</guid>
      <description>&lt;h1 id=&#34;angie&#34;&gt;Angie&lt;/h1&gt;&#xA;&lt;p&gt;Этот мануал написан на основе &lt;a href=&#34;https://predvoditelev.ru/notes/angie-lets-encrypt&#34; target=&#34;_blank&#34; &gt;другого мануала&lt;/a&gt;. &lt;br&gt;&#xA;Только я Docker&amp;rsquo;ом не пользуюсь, только bare-metal, только хардкор.&lt;/p&gt;&#xA;&lt;p&gt;Для тех кто в танке - &lt;a href=&#34;https://angie.software&#34; target=&#34;_blank&#34; &gt;Angie&lt;/a&gt; это форк &lt;a href=&#34;https://nginx.org/ru&#34; target=&#34;_blank&#34; &gt;nginx&lt;/a&gt;. Историю появления ищите сами.&lt;/p&gt;&#xA;&lt;p&gt;Што ш, начнём.&lt;/p&gt;&#xA;&lt;p&gt;Для начала, в конфиге Angie в конце блока &lt;code&gt;http&lt;/code&gt; добавляем следующие строчки:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;acme_client&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;letsencrypt&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//acme-v02.api.letsencrypt.org/directory;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;resolver&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;192.168&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;50.185&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Где &lt;code&gt;192.168.50.185&lt;/code&gt; это мой DNS сервер. Вы ставьте свой, например Quad9, &lt;code&gt;9.9.9.9&lt;/code&gt;. &lt;br&gt;&#xA;То есть, по итогу у нас должно получиться вот так:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;http&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#960050;background-color:#1e0010&#34;&gt;#&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;здесь&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;будут&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;другие&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;параметры&lt;/span&gt; &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;acme_client&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;letsencrypt&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;https&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//acme-v02.api.letsencrypt.org/directory;  &#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;resolver&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;192.168&lt;/span&gt;.&lt;span style=&#34;color:#ae81ff&#34;&gt;50.185&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Вместо того, чтобы каждый раз в новых конфигах не прописывать необходимые строки для получения сертификата, я сделал мини-конфиг, который я добавляю одной строчкой.&lt;/p&gt;&#xA;&lt;p&gt;Сам конфиг должен располагаться в &lt;code&gt;/etc/angie/includes&lt;/code&gt;, я его назвал &lt;code&gt;ssl.conf&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;listen &lt;span style=&#34;color:#ae81ff&#34;&gt;443&lt;/span&gt; ssl;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;acme letsencrypt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssl_certificate $acme_cert_letsencrypt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ssl_certificate_key $acme_cert_key_letsencrypt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Помимо этого я сделал ещё один мини-конфиг, чтобы Angie принудительно HTTP запросы переводил в HTTPS, назвал &lt;code&gt;301.conf&lt;/code&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;return&lt;/span&gt; &lt;span style=&#34;color:#ae81ff&#34;&gt;301&lt;/span&gt; https://$host$request_uri;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;И эти мини-конфиги я добавляю в конфиг сайта строчкой&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;include includes/ssl.conf &lt;span style=&#34;color:#75715e&#34;&gt;# ну или другое имя после includes/&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Среднестатистический конфиг Angie для сайта будет выглядеть приблизительно так: &lt;br&gt;&#xA;(как пример взял конфиг от &lt;a href=&#34;https://sadium.cyou/services/#fluffychat&#34;&gt;Fluffychat&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;server&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ffchat&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sadium&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cyou&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;include&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;includes&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;301.&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;conf&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}      &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;server&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;server_name&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;ffchat&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;sadium&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;cyou&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_pass&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;http&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//localhost:9199;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Host&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$host&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Real&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;IP&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$remote_addr&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;For&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Proto&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$scheme&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;   &#x9;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#a6e22e&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;admin&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_pass&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;http&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//localhost:9198/;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Host&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$host&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Real&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;IP&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$remote_addr&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;For&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Proto&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$scheme&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;}&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;location&lt;/span&gt; &lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;invite&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt; {&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_pass&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;http&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;:&lt;/span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;//localhost:5055/;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;Host&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$host&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Real&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;IP&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$remote_addr&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;For&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$proxy_add_x_forwarded_for&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;proxy_set_header&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;X&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Forwarded&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;-&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;Proto&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;$scheme&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    }&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;include&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;includes&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;main_errors&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;conf&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#x9;&lt;span style=&#34;color:#a6e22e&#34;&gt;include&lt;/span&gt; &lt;span style=&#34;color:#a6e22e&#34;&gt;includes&lt;/span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;/&lt;/span&gt;&lt;span style=&#34;color:#a6e22e&#34;&gt;ssl&lt;/span&gt;.&lt;span style=&#34;color:#a6e22e&#34;&gt;conf&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Проверяем, что всё ок командой&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;angie -t&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;angie: the configuration file /etc/angie/angie.conf syntax is ok&#xA;angie: configuration file /etc/angie/angie.conf test is successful&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;А если не ок, то чиним, пока не избавимся от ошибок 🙃&lt;/p&gt;&#xA;&lt;p&gt;Перезагружайте страничку с некоторым интервалом, сначала будет ругаться, но через полминуты где-то сертификат таки получит.&lt;/p&gt;&#xA;&lt;p&gt;Сертификаты будут лежать по пути &lt;strong&gt;&lt;code&gt;/var/lib/angie/acme/letsencrypt&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;maddy&#34;&gt;Maddy&lt;/h1&gt;&#xA;&lt;p&gt;Поскольку у меня есть почтовый сервер на базе &lt;a href=&#34;https://maddy.email/tutorials/setting-up&#34; target=&#34;_blank&#34; &gt;Maddy&lt;/a&gt;, в его конфиге нужно заменить строчку&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tls file /etc/letsencrypt/live/&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;primary_domain&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/fullchain.pem /etc/letsencrypt/live/&lt;span style=&#34;color:#66d9ef&#34;&gt;$(&lt;/span&gt;primary_domain&lt;span style=&#34;color:#66d9ef&#34;&gt;)&lt;/span&gt;/privkey.pem&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;на&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;tls file /var/lib/angie/acme/letsencrypt/certificate.pem /var/lib/angie/acme/letsencrypt/private.key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;и дать Maddy доступ к сертификатам&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo setfacl -R -m u:maddy:rX /var/lib/angie/acme/letsencrypt/certificate.pem&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo setfacl -R -m u:maddy:rX /var/lib/angie/acme/letsencrypt/private.key&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;и всё должно заработать.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Настройка TLS (turns:) в Eturnal для Nextcloud Talk</title>
      <link>https://sadium.cyou/opus/eturnal_nextcloud_talk/</link>
      <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/eturnal_nextcloud_talk.md (Линк)</author>
      <guid>https://sadium.cyou/opus/eturnal_nextcloud_talk/</guid>
      <description>&lt;p&gt;*&lt;em&gt;Мануал подразумевает, что у вас уже есть сервер с &lt;code&gt;apt-based&lt;/code&gt; системой с установленным и настроенным Nextcloud&lt;/em&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Поскольку у меня сервер на &lt;code&gt;Debian 13&lt;/code&gt;, соответственно мануал будет для систем с &lt;strong&gt;&lt;code&gt;apt&lt;/code&gt;&lt;/strong&gt;.&#xA;Чтобы установить пакет &lt;code&gt;eturnal&lt;/code&gt;, необходимо прописать следующие команды:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install extrepo&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo extrepo enable eturnal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt update&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo apt install eturnal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;(Взято с &lt;a href=&#34;https://github.com/processone/eturnal&#34; target=&#34;_blank&#34; &gt;Github&lt;/a&gt;-репозитория eturnal)&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;После установки необходимо редактировать файл конфигурации &lt;br&gt;&#xA;(Вместо &lt;strong&gt;&lt;code&gt;micro&lt;/code&gt;&lt;/strong&gt; подставьте ваш любимый терминальный текстовый редактор)&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo micro /etc/eturnal.yml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Сам файл конфигурации:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# eturnal STUN/TURN server configuration file.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# This file is written in YAML. The YAML format is indentation-sensitive, please&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# MAKE SURE YOU INDENT CORRECTLY.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;#&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;# See: https://eturnal.net/doc/#Global_Configuration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;eturnal:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## Shared secret for deriving temporary TURN credentials (default: $RANDOM):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  secret: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ваш-секрет&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## The server&amp;#39;s public IPv4 address (default: autodetected):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  relay_ipv4_addr: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;ваш_белый_(или_статичный)_IP&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## The server&amp;#39;s public IPv6 address (optional):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#relay_ipv6_addr: &amp;#34;2001:db8::4&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  listen:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ip: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;::&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      port: &lt;span style=&#34;color:#ae81ff&#34;&gt;3478&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# port: 80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      transport: udp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      ip: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;::&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      port: &lt;span style=&#34;color:#ae81ff&#34;&gt;3478&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# port: 80&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      transport: tcp&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    -&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     ip: &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;::&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     port: &lt;span style=&#34;color:#ae81ff&#34;&gt;5349&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# port: 443&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;     transport: tls&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## TLS certificate/key files (must be readable by &amp;#39;eturnal&amp;#39; user!):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  tls_crt_file: ваш_путь_до_fullchain.pem&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  tls_key_file: ваш_путь_до_privkey.pem&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## UDP relay port range (usually, several ports per A/V call are required):&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  relay_min_port: &lt;span style=&#34;color:#ae81ff&#34;&gt;49152&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  relay_max_port: &lt;span style=&#34;color:#ae81ff&#34;&gt;65535&lt;/span&gt;     &lt;span style=&#34;color:#75715e&#34;&gt;# This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## Reject TURN relaying to the following addresses/networks:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  blacklist_peers:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    - recommended           &lt;span style=&#34;color:#75715e&#34;&gt;# Expands to various addresses/networks recommended&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;                            &lt;span style=&#34;color:#75715e&#34;&gt;# to be blocked. This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## If &amp;#39;true&amp;#39;, close established calls on expiry of temporary TURN credentials:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  strict_expiry: false      &lt;span style=&#34;color:#75715e&#34;&gt;# This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## Logging configuration:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  log_level: info           &lt;span style=&#34;color:#75715e&#34;&gt;# critical | error | warning | notice | info | debug&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  log_rotate_size: &lt;span style=&#34;color:#ae81ff&#34;&gt;10485760&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# 10 MiB (default: unlimited, i.e., no rotation).&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  log_rotate_count: &lt;span style=&#34;color:#ae81ff&#34;&gt;10&lt;/span&gt;      &lt;span style=&#34;color:#75715e&#34;&gt;# Keep 10 rotated log files.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;#log_dir: stdout          # Enable for logging to the terminal/journal.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;## See: https://eturnal.net/doc/#Module_Configuration&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  modules:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    mod_log_stun: &lt;span style=&#34;color:#f92672&#34;&gt;{}&lt;/span&gt;        &lt;span style=&#34;color:#75715e&#34;&gt;# Log STUN queries (in addition to TURN sessions).&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#mod_stats_influx: {}   # Log STUN/TURN events into InfluxDB.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#mod_stats_prometheus:  # Expose STUN/TURN and VM metrics to Prometheus.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#  ip: any              # This is the default: Listen on all interfaces.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#  port: 8081           # This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#  tls: false           # This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    &lt;span style=&#34;color:#75715e&#34;&gt;#  vm_metrics: true     # This is the default.&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;&lt;code&gt;1.&lt;/code&gt; На месте &lt;code&gt;secret: &amp;quot;ваш-секрет&amp;quot;&lt;/code&gt; замените значение &lt;strong&gt;&lt;code&gt;ваш-секрет&lt;/code&gt;&lt;/strong&gt; на вывод с команды&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;openssl rand -hex &lt;span style=&#34;color:#ae81ff&#34;&gt;32&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;и сохраните это значение, ибо потом нам оно понадобится.&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;2.&lt;/code&gt; На месте &lt;code&gt;relay_ipv4_addr: &amp;quot;ваш_белый_(или_статичный)_IP&amp;quot;&lt;/code&gt; вставите свой IP &lt;br&gt;&#xA;&lt;code&gt;3.&lt;/code&gt; На месте &lt;code&gt;tls_crt_file: ваш_путь_до_fullchain.pem&lt;/code&gt; и &lt;code&gt;tls_key_file: ваш_путь_до_privkey.pem&lt;/code&gt; вставьте пути для соответствующих сертификатов&lt;/p&gt;&#xA;&lt;p&gt;Также необходимо ввести следующую команду&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo setfacl -R -m u:eturnal:rX /etc/letsencrypt/&lt;span style=&#34;color:#f92672&#34;&gt;{&lt;/span&gt;live,archive&lt;span style=&#34;color:#f92672&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;для того, чтобы пользователю &lt;code&gt;eturnal&lt;/code&gt; были доступны сертификаты.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;После проведённых модификаций конфигурационного файла, необходимо перезапустить сервис &lt;code&gt;eturnal&lt;/code&gt;:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl restart eturnal&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;После чего в браузере идём в &lt;code&gt;настройки сервера Nextcloud&lt;/code&gt; (/settings/admin/talk) -&amp;gt; &lt;code&gt;Конференции&lt;/code&gt; -&amp;gt; пункт &lt;code&gt;TURN-серверы&lt;/code&gt; &lt;br&gt;&#xA;Нажимаем &lt;code&gt;+ Добавить сервер TURN&lt;/code&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;В первом выпадающем списке ставим &lt;code&gt;Только turns:&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;В &lt;code&gt;URL сервера TURN&lt;/code&gt; ваш домен, к которому был привязан белый (статичный) IP&lt;/li&gt;&#xA;&lt;li&gt;В &lt;code&gt;Секретный ключ TURN-сервера&lt;/code&gt; вставляем секрет, который я просил сохранить ранее в пункте 1 выше&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;После вводим пароль (если попросят), затем нажимаем на значок линии сердцебиения (слева от значка корзинки), и, если всё настроено правильно, получаем зелёную галочку и радуемся жизни.&lt;/p&gt;&#xA;&lt;p&gt;Возможно, вам нужно будет открыть порты 3478 и 5349, но это уже сами разберётесь как сделать.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>[Не актуально] Nextcloud Assistant ← LiteLLM ← Ollama</title>
      <link>https://sadium.cyou/opus/nextcloud_x_litellm_x_ollama/</link>
      <pubDate>Fri, 19 Jul 2024 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/nextcloud_x_litellm_x_ollama.md (Линк)</author>
      <guid>https://sadium.cyou/opus/nextcloud_x_litellm_x_ollama/</guid>
      <description>&lt;p&gt;Опять же, как было в случае с &lt;a href=&#34;https://sadium.cyou/posts/ricoh_config&#34;&gt;принтером&lt;/a&gt;, у меня Arch-based дистрибутив, поэтому буду расписывать по нему.&lt;/p&gt;&#xA;&lt;h2 id=&#34;install&#34;&gt;Установка&lt;/h2&gt;&#xA;&lt;p&gt;Начнём с установки &lt;strong&gt;&lt;a href=&#34;https://github.com/ollama/ollama&#34; target=&#34;_blank&#34; &gt;Ollama&lt;/a&gt;&lt;/strong&gt;. У меня карточка от красных, поэтому я ставлю версию &lt;strong&gt;rocm&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yay -S ollama-rocm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;или если нет &lt;strong&gt;yay&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pacman -S ollama-rocm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;systemd_service&#34;&gt;Сервис systemd&lt;/h3&gt;&#xA;&lt;p&gt;Как в моём случае, почему-то оно не подхватывало мою &lt;strong&gt;RX 6700 XT&lt;/strong&gt; (но &lt;a href=&#34;https://github.com/ollama/ollama/issues/3547&#34; target=&#34;_blank&#34; &gt;тут&lt;/a&gt; нашлось решение), поэтому мне пришлось редактировать &lt;strong&gt;сервис systemd&lt;/strong&gt; следующим образом:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo systemctl edit --full ollama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Unit&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Description&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;Ollama Service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Wants&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;network-online.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;After&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;network.target network-online.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Service&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ExecStart&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/usr/bin/ollama serve&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WorkingDirectory&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/var/lib/ollama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Environment&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HOME=/var/lib/ollama&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Environment&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;HSA_OVERRIDE_GFX_VERSION=10.3.0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Добавлено, чтобы увидело карточку&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Environment&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;OLLAMA_HOST=0.0.0.0&amp;#34;&lt;/span&gt; &lt;span style=&#34;color:#75715e&#34;&gt;# Возможность локально подключатся извне&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;User&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ollama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Group&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;ollama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Restart&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;on-failure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RestartSec&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;&lt;span style=&#34;color:#ae81ff&#34;&gt;3&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Type&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;simple&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;PrivateTmp&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ProtectSystem&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;full&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ProtectHome&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;yes&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Install&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WantedBy&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;multi-user.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;gguf_import&#34;&gt;Импорт модели GGUF&lt;/h2&gt;&#xA;&lt;p&gt;Обн. от &lt;code&gt;05.08.24&lt;/code&gt; - добавлена инструкция импорта моделей &lt;code&gt;.gguf&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;Далее устанавливаем желаемую модель, в моём случае это &lt;strong&gt;&lt;code&gt;llama3&lt;/code&gt;&lt;/strong&gt; и модель, которую можно импортировать из файла &lt;code&gt;.gguf&lt;/code&gt;, я буду использовать &lt;strong&gt;&lt;code&gt;saiga-llama3&lt;/code&gt;[&lt;a href=&#34;https://huggingface.co/IlyaGusev/saiga_llama3_8b_gguf&#34; target=&#34;_blank&#34; &gt;🔗&lt;/a&gt;]&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ollama pull llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Для того, чтобы импортировать модель, нам необходимо:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Загрузить модель 🙃&lt;/li&gt;&#xA;&lt;li&gt;Создать файл, который можно скормить &lt;strong&gt;ollama&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo FROM папка_с_моделью/файл_модели.gguf &amp;gt;&amp;gt; файл_название_модели&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;В моём случае можно сразу название модели, потому что работаю сразу из папки с моделью&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;echo FROM saiga_llama3.gguf &amp;gt;&amp;gt; saiga-llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Осталось импортировать&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ollama -f файл_название_модели название_модели&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ollama -f saiga-llama3 saiga-llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;litellm&#34;&gt;LiteLLM&lt;/h2&gt;&#xA;&lt;p&gt;Далее идём ставить &lt;strong&gt;&lt;a href=&#34;https://github.com/BerriAI/litellm&#34; target=&#34;_blank&#34; &gt;LiteLLM&lt;/a&gt;&lt;/strong&gt;. Это прослойка между Ollama и &lt;a href=&#34;https://github.com/nextcloud/integration_openai&#34; target=&#34;_blank&#34; &gt;Nextcloud LocalAI&lt;/a&gt;, которая использует запросы в формате OpenAI API.&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;pipx install &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#39;litellm[proxy]&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Нам нужна именно &lt;strong&gt;&lt;code&gt;litellm[proxy]&lt;/code&gt;&lt;/strong&gt;, а не просто &lt;strong&gt;&lt;code&gt;litellm&lt;/code&gt;&lt;/strong&gt;!&lt;/p&gt;&#xA;&lt;p&gt;Теперь нужно собственно, запустить модели, с которыми впоследствии мы будем общаться через &lt;a href=&#34;https://github.com/nextcloud/assistant&#34; target=&#34;_blank&#34; &gt;Nextcloud Assistant&lt;/a&gt;. &lt;br&gt;&#xA;Однако, перед тем, как мы перейдём к запуску наших моделей, нам нужно создать файлик &lt;strong&gt;&lt;code&gt;config.yaml&lt;/code&gt;&lt;/strong&gt;, который мы впоследствии &amp;ldquo;скормим&amp;rdquo; &lt;strong&gt;LiteLLM&lt;/strong&gt; со следующим содержимым:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;model_list:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - model_name: llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    litellm_params:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      model: ollama/llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - model_name: saiga-llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    litellm_params:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      model: ollama/saiga-llama3&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  &lt;span style=&#34;color:#75715e&#34;&gt;# ну и далее по списку, если надо    &lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;  - model_name: название_модели&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    litellm_params:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;      model: ollama/название_модели&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h3 id=&#34;litellm_systemd&#34;&gt;Сервис systemd&lt;/h3&gt;&#xA;&lt;p&gt;Затем я сделал &lt;strong&gt;systemd&lt;/strong&gt; сервис, чтобы не запускать это дело ручками, он должен располагаться в&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;/home/ваш_пользователь/.config/systemd/user/litellm.service&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Unit&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Description&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;LiteLLM &lt;span style=&#34;color:#66d9ef&#34;&gt;for&lt;/span&gt; Ollama&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Service&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;ExecStart&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;/home/ваш_пользователь/.local/bin/litellm --config путь_до/config.yaml&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Restart&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;on-failure&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;RestartSec&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;5s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#f92672&#34;&gt;[&lt;/span&gt;Install&lt;span style=&#34;color:#f92672&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;WantedBy&lt;span style=&#34;color:#f92672&#34;&gt;=&lt;/span&gt;default.target&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Далее&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl --user daemon-reload&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;systemctl --user enable --now litellm&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;h2 id=&#34;nextcloud-assistant&#34;&gt;Nextcloud Assistant&lt;/h2&gt;&#xA;&lt;p&gt;Теперь идём в настройки сервера &lt;strong&gt;Искусственный интеллект&lt;/strong&gt; [/settings/admin/ai], предварительно установив &lt;strong&gt;Nextcloud Assistant&lt;/strong&gt; и &lt;strong&gt;OpenAI and LocalAI integration&lt;/strong&gt;, листаем ниже до &lt;strong&gt;&lt;code&gt;OpenAI и локальная интеграция&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Service URL&lt;/code&gt;&lt;/strong&gt; - ip_пк:4000 &lt;br&gt;&#xA;&lt;strong&gt;&lt;code&gt;Service Name (optional)&lt;/code&gt;&lt;/strong&gt; - LiteLLM (или другое, какое хотите)&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;API key&lt;/code&gt;&lt;/strong&gt; - не нужен &lt;br&gt;&#xA;&lt;strong&gt;&lt;code&gt;Default completion model to use&lt;/code&gt;&lt;/strong&gt; - выбираем &lt;strong&gt;ollama/ваша_модель&lt;/strong&gt; (openai) &lt;br&gt;&#xA;&lt;strong&gt;&lt;code&gt;Max new tokens per request&lt;/code&gt;&lt;/strong&gt; - ставите сколько считаете нужным&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Select enabled features&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;Отключил потому что модель такое не умеет:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Image generation provider&lt;/li&gt;&#xA;&lt;li&gt;Speech-to-text&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Статья написана без использования ИИ. Хотя, наверное, это и так видно 🙃&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Вход в Nextcloud через Codeberg</title>
      <link>https://sadium.cyou/opus/codeberg_x_nextcloud/</link>
      <pubDate>Sun, 10 Dec 2023 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/codeberg_x_nextcloud.md (Линк)</author>
      <guid>https://sadium.cyou/opus/codeberg_x_nextcloud/</guid>
      <description>&lt;p&gt;Я не смог найти никакой информации об этом через поисковые системы, поэтому решил написать об этом здесь. &lt;br&gt;&#xA;Пригодилось - &lt;a href=&#34;https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/&#34; target=&#34;_blank&#34; &gt;https://forgejo.codeberg.page/docs/latest/user/oauth2-provider/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;1.&lt;/code&gt; &lt;a href=&#34;https://codeberg.org/user/settings/applications&#34; target=&#34;_blank&#34; &gt;Создаём приложение в Codeberg&lt;/a&gt; и копируем куда-нибудь Client ID и Client secret. &lt;br&gt;&#xA;&lt;code&gt;2.&lt;/code&gt; Идём в параметры сервера Nextcloud, пункт &lt;code&gt;Social Login&lt;/code&gt;, и создаём Custom Oauth2 на &lt;code&gt;+&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Пункт&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Что вводить&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Внутреннее имя&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Codeberg&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Название&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Codeberg&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;API Base URL&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://codeberg.org&#34; target=&#34;_blank&#34; &gt;https://codeberg.org&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Authorize url&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://codeberg.org/login/oauth/authorize&#34; target=&#34;_blank&#34; &gt;https://codeberg.org/login/oauth/authorize&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Token url&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://codeberg.org/login/oauth/access_token&#34; target=&#34;_blank&#34; &gt;https://codeberg.org/login/oauth/access_token&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Profile url&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://codeberg.org/login/oauth/userinfo&#34; target=&#34;_blank&#34; &gt;https://codeberg.org/login/oauth/userinfo&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Logout url&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Оставить пустым&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Client ID и Client secret&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;вставить из 1 пункта&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Scope&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;read:user&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Остальные после&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Не трогайте, если не уверены&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;&lt;code&gt;3.&lt;/code&gt; Ставим галку напротив пункта &lt;code&gt;Позволять пользователям подключать социальные логины к своим аккаунтам&lt;/code&gt; и нажимаем &lt;code&gt;Сохранить&lt;/code&gt; внизу страницы. &lt;br&gt;&#xA;&lt;code&gt;4.&lt;/code&gt; Идём в режим Инкогнито вашего браузера, затем на страничку входа в ваше облако и копируем путь провайдера Codeberg - правая кнопка мыши, копируем ссылку, сохраняем куда-нибудь. &lt;br&gt;&#xA;Должно выглядеть примерно так - &lt;code&gt;https://cloud.example.org(/index.php)/apps/sociallogin/custom_oauth2/Codeberg&lt;/code&gt; &lt;br&gt;&#xA;&lt;code&gt;5.&lt;/code&gt; Возвращаемся к ранее созданному &lt;a href=&#34;https://codeberg.org/user/settings/applications&#34; target=&#34;_blank&#34; &gt;приложению Codeberg&lt;/a&gt;, Нажимаем &lt;code&gt;Изменить&lt;/code&gt; и вставляем ссылку из прошлого пункта в поле &lt;code&gt;URI для перенаправления&lt;/code&gt;, нажимаем &lt;code&gt;Сохранить&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Теперь попробуйте связать ваш аккаунт Codeberg и Nextcloud из пункта &lt;code&gt;Social Login&lt;/code&gt; в настройках пользователя Nextcloud, должно работать. В теории, это также применимо к &lt;code&gt;Gitea&lt;/code&gt;, потому что &lt;a href=&#34;https://forgejo.org&#34; target=&#34;_blank&#34; &gt;Forgejo&lt;/a&gt; это форк &lt;a href=&#34;https://gitea.com&#34; target=&#34;_blank&#34; &gt;Gitea&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Давеча сделал по этому поводу Issue на Github: &lt;a href=&#34;https://github.com/zorn-v/nextcloud-social-login/issues/440&#34; target=&#34;_blank&#34; &gt;https://github.com/zorn-v/nextcloud-social-login/issues/440&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Не берите дешёвые M2 накопители</title>
      <link>https://sadium.cyou/opus/rpi-rip-m2/</link>
      <pubDate>Sat, 07 Oct 2023 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/rpi-rip-m2.md (Линк)</author>
      <guid>https://sadium.cyou/opus/rpi-rip-m2/</guid>
      <description>&lt;p&gt;Да, знаю, сам дурак, не сделал бэкапы. Хотя, с другой стороны, самое важное не пострадало - файлы в Nextcloud.&#xA;Они-то, как раз-таки, лежали на отдельном рейде.&#xA;И не только они, этот сайт, например, тоже.&#xA;Так или иначе, я не собирался делать из Малинки серьёзный сервер.&#xA;Мощи у неё не те, хотя тянула она NC неплохо, однако, когда дело доходило до мобильного клиента, это был тихий ад.&lt;/p&gt;&#xA;&lt;p&gt;Да, для тех кто не в курсе - у меня сдох SATA M2 SSD у Raspberry Pi 4B 8GB, который был системным для малинки (с базами данных, бинарниками и всем прочим).&lt;/p&gt;&#xA;&lt;p&gt;Ну, поскольку смысла было покупать новый диск для Малинки я не видел, я просто решил собрать сервер на своём старом компутерном железе, а именно на проце Intel Pentium G4560 aka Гиперпень, и материнка Asus H110M-R. Ну и какая-то там планка оперативки на 8ГБ частотой 2133МГц. Диск тоже, по факту, был со старого компа, просто на момент работы сервера на Малинке он у меня был чисто под виртуалки всякие. Это SSD SanDisk на 120Гб.&lt;/p&gt;&#xA;&lt;p&gt;В ближайшее время я планирую проапгрейдить сервер новым процом, в неближайшее - диском, и хочу докинуть ещё плашку оперативы на 8ГБ, дабы был двухканал. Процессор этот будет Intel Core i5 7600. Брал его &lt;a href=&#34;https://aliexpress.ru/item/1005003651636041.html&#34; target=&#34;_blank&#34; &gt;тут&lt;/a&gt;. Хотел взять Xeon-E3 1245 v5, однако без плясок с бубнами и программатора, мне бы его не получилось завести на этой материнке, менять которую мне вообще ни разу не хочется, да и с бубном плясать тоже неохота. После хотелось бы взять SSD Samsung EVO, скорее всего &lt;a href=&#34;https://www.dns-shop.ru/product/184d257ee33aed20/500-gb-25-sata-nakopitel-samsung-870-evo-mz-77e500bkr&#34; target=&#34;_blank&#34; &gt;этот&lt;/a&gt;. Ну а плашку оперативы возьму &lt;a href=&#34;https://www.citilink.ru/product/modul-pamyati-kingmax-ddr4-8gb-2133-dimm-ret-400808&#34; target=&#34;_blank&#34; &gt;эту&lt;/a&gt;. В идеале бы ещё ИБПшник взять, но я не знаю, какой&amp;hellip;&lt;/p&gt;&#xA;&lt;p&gt;Посмотреть текущую сборку можно &lt;a href=&#34;https://sadium.cyou/services/#%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80&#34;&gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Обн. от &lt;code&gt;12.01.23&lt;/code&gt; &lt;br&gt;&#xA;Сделал бекапы через Crontab&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo crontab -e&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Обн. от &lt;code&gt;05.08.24&lt;/code&gt; - добавлен angie и больше файлов&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@monthly tar -czf /mnt/2TB/server_backup/nginx_angie.tar.gz /etc/nginx /etc/angie &lt;span style=&#34;color:#75715e&#34;&gt;# ngnix + angie&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@weekly tar -czf /mnt/2TB/server_backup/opt.tar.gz /opt &lt;span style=&#34;color:#75715e&#34;&gt;# сервисы&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;@weekly tar -czf /mnt/2TB/server_backup/etc.tar.gz /etc/matrix-synapse /etc/php /etc/fail2ban /etc/turnserver.conf &lt;span style=&#34;color:#75715e&#34;&gt;# обвязка&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;</description>
    </item>
    <item>
      <title>Мучения с принтером</title>
      <link>https://sadium.cyou/opus/ricoh_config/</link>
      <pubDate>Sat, 09 Sep 2023 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/opus/ricoh_config.md (Линк)</author>
      <guid>https://sadium.cyou/opus/ricoh_config/</guid>
      <description>&lt;p&gt;Я всё думал, как завести свой принтер под Linux. &lt;br&gt;&#xA;И однажды наткнулся на &lt;a href=&#34;https://aur.archlinux.org/packages/ricoh-sp100-git&#34; target=&#34;_blank&#34; &gt;пакет&lt;/a&gt; в AUR, который, правда, оказался нерабочим, поскольку source репозиторий был удалён.&lt;/p&gt;&#xA;&lt;p&gt;Но недавно в очередных поисках я наткнулся на &lt;a href=&#34;https://forum.ubuntu.ru/index.php?PHPSESSID=b541bb569cce4b86e0a21bf1f69ca5ec&amp;amp;topic=203120.msg2481757#msg2481757&#34; target=&#34;_blank&#34; &gt;раздел на форуме Ubuntu&lt;/a&gt;. &lt;br&gt;&#xA;Там добрый человек поделился репозиторием - &lt;a href=&#34;https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git/&#34; target=&#34;_blank&#34; &gt;туть&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Однако я поступил по другому, не так, как написал человек на форуме. &lt;br&gt;&#xA;Последовательность&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;git clone https://git.kernel.org/pub/scm/linux/kernel/git/jejb/ricoh-sp100.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;cd ricoh-sp100&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo cp pstoricohddst-gdi /usr/lib/cups/filter&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo cp *.ppd /usr/share/cups/model&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Если есть yay:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;yay -S jbigkit inotify-tools&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Если нет:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;sudo pacman -S jbigkit inotify-tools&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Как-то так. Теперь идём и настраиваем наш принтер в своём рабочем окружении и радуемся жизни.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title></title>
      <link>https://sadium.cyou/about/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/about/about.md (Линк)</author>
      <guid>https://sadium.cyou/about/about/</guid>
      <description>&lt;img class=&#34;center&#34; src=&#34;https://sadium.cyou/img/avatar.avif&#34; width=&#34;250&#34; style=&#34;outline: 2px; outline-style:dashed; outline-color:white; padding: 0px; border-radius: 50%; background-color:#af4035;&#34;&gt;&#xA;&lt;h1 id=&#34;приветствую&#34;&gt;Приветствую!&lt;/h1&gt;&#xA;&lt;p&gt;Звать &lt;strong&gt;Линк&lt;/strong&gt; (&lt;strong&gt;L1nk&lt;/strong&gt;), &#xA;&#xA;&#xA;&#xA;&#xA;&#xA;&#xA;    25&#xA;&#xA; годиков. &lt;br&gt;&#xA;Я создатель данного сайта и хостер полупубличных &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисов&lt;/a&gt; с &lt;a href=&#34;https://ru.ruwiki.ru/wiki/%D0%9E%D1%82%D0%BA%D1%80%D1%8B%D1%82%D0%BE%D0%B5_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D0%B5%D1%81%D0%BF%D0%B5%D1%87%D0%B5%D0%BD%D0%B8%D0%B5&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;открытым исходным кодом&lt;/strong&gt;&lt;/a&gt; под общим названием &lt;strong&gt;&lt;code&gt;Проект Sadium&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Работаю сисадмином в подразделении одного колледжа.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title></title>
      <link>https://sadium.cyou/vss/vss/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/vss/vss.md (Линк)</author>
      <guid>https://sadium.cyou/vss/vss/</guid>
      <description>&lt;p&gt;&lt;a href=&#34;https://vintagestory.at&#34; target=&#34;_blank&#34; &gt;&lt;img src=&#34;https://sadium.cyou/img/vs.avif&#34; alt=&#34;&#34;&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Адрес&lt;/code&gt;&lt;/strong&gt;  - &lt;code&gt;sadium.cyou/vss/ip&lt;/code&gt; &lt;br&gt;&#xA;&lt;strong&gt;&lt;code&gt;Пароль&lt;/code&gt;&lt;/strong&gt; - &lt;a href=&#34;https://sadium.cyou/contacts&#34;&gt;Нискажу&lt;/a&gt;&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>[401] Unauthorized :: Sadium</title>
      <link>https://sadium.cyou/errors/401/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/401.md (Линк)</author>
      <guid>https://sadium.cyou/errors/401/</guid>
      <description></description>
    </item>
    <item>
      <title>[403] Forbidden :: Sadium</title>
      <link>https://sadium.cyou/errors/403/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/403.md (Линк)</author>
      <guid>https://sadium.cyou/errors/403/</guid>
      <description></description>
    </item>
    <item>
      <title>[404] Not Found :: Sadium</title>
      <link>https://sadium.cyou/errors/404/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/404.md (Линк)</author>
      <guid>https://sadium.cyou/errors/404/</guid>
      <description></description>
    </item>
    <item>
      <title>[405] Method Not Allowed :: Sadium</title>
      <link>https://sadium.cyou/errors/405/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/405.md (Линк)</author>
      <guid>https://sadium.cyou/errors/405/</guid>
      <description></description>
    </item>
    <item>
      <title>[408] Request Timeout :: Sadium</title>
      <link>https://sadium.cyou/errors/408/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/408.md (Линк)</author>
      <guid>https://sadium.cyou/errors/408/</guid>
      <description></description>
    </item>
    <item>
      <title>[414] URI Too Long :: Sadium</title>
      <link>https://sadium.cyou/errors/414/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/414.md (Линк)</author>
      <guid>https://sadium.cyou/errors/414/</guid>
      <description></description>
    </item>
    <item>
      <title>[500] Internal Server Error :: Sadium</title>
      <link>https://sadium.cyou/errors/500/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/500.md (Линк)</author>
      <guid>https://sadium.cyou/errors/500/</guid>
      <description></description>
    </item>
    <item>
      <title>[502] Bad Gateway :: Sadium</title>
      <link>https://sadium.cyou/errors/502/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/502.md (Линк)</author>
      <guid>https://sadium.cyou/errors/502/</guid>
      <description></description>
    </item>
    <item>
      <title>[503] Сервис недоступен :: Sadium</title>
      <link>https://sadium.cyou/errors/503/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/503.md (Линк)</author>
      <guid>https://sadium.cyou/errors/503/</guid>
      <description></description>
    </item>
    <item>
      <title>[504] Gateway timeout :: Sadium</title>
      <link>https://sadium.cyou/errors/504/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/errors/504.md (Линк)</author>
      <guid>https://sadium.cyou/errors/504/</guid>
      <description></description>
    </item>
    <item>
      <title>Контакты</title>
      <link>https://sadium.cyou/contacts/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/contacts.md (Линк)</author>
      <guid>https://sadium.cyou/contacts/</guid>
      <description>&lt;p&gt;&lt;strong&gt;&lt;code&gt;Email&lt;/code&gt;&lt;/strong&gt; &lt;br&gt;&#xA;&lt;a href=&#34;mailto:link&amp;#43;blog@sadium.cyou&#34;&gt;link[at]sadium.cyou&lt;/a&gt; &lt;br&gt;&#xA;&lt;a href=&#34;mailto:link&amp;#43;blog@cutie.team&#34;&gt;link[at]cutie.team&lt;/a&gt; (огромное спасибо &lt;a href=&#34;https://foxido.dev&#34; target=&#34;_blank&#34; &gt;@foxido&lt;/a&gt;)&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Matrix&lt;/code&gt;&lt;/strong&gt; &lt;br&gt;&#xA;&lt;a href=&#34;https://ffchat.sadium.cyou/invite/#/@sl:sadium.cyou&#34; target=&#34;_blank&#34; &gt;@sl:sadium.cyou&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Fediverse&lt;/code&gt;&lt;/strong&gt; &lt;br&gt;&#xA;&lt;a href=&#34;https://gts.sadium.cyou/@sl/&#34; target=&#34;_blank&#34; &gt;@sl@gts.sadium.cyou&lt;/a&gt; &lt;br&gt;&#xA;&lt;a href=&#34;https://mastodon.moscow/@sl/&#34; target=&#34;_blank&#34; &gt;@sl@mastodon.moscow&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;PGP-ключи&lt;/code&gt;&lt;/strong&gt; &lt;a href=&#34;https://sadium.cyou/public-keys.asc&#34; download&gt;⚿&lt;/a&gt; &lt;br&gt;&#xA;&lt;em&gt;(действительны до 16.01.2027)&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;Обычно отвечаю в течение 24 часов.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Поддержка</title>
      <link>https://sadium.cyou/donate/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/donate.md (Линк)</author>
      <guid>https://sadium.cyou/donate/</guid>
      <description>&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Если можете, отсыпьте копеечку:&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: center&#34;&gt;&lt;a href=&#34;https://habr.com/ru/articles/648857&#34; target=&#34;_blank&#34; &gt;Свобода добра&lt;/a&gt;&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;5536 9139 9438 8268 (Артём Е.)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;Т-Банк&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Пожалуйста, напишите в сообщении к переводу, что вы осознанно отправили его, а не сделали это по ошибке, чтобы никто не переживал потом 😅&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: center&#34;&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;На что пойдут ваши пожертвования:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Оплата интернета - &lt;strong&gt;1210р/мес&lt;/strong&gt; (тариф 300мб/c 1060р + 150р за статический IP) &lt;br&gt;&#xA;&lt;a href=&#34;https://gts.sadium.cyou/@sl/statuses/01J9X1XZ1Q0Z5PJGJPQC0W3HVT&#34; target=&#34;_blank&#34; &gt;Тут&lt;/a&gt; можно почитать весь тред о переходе со 100мб/c на 300мб/c.&lt;/li&gt;&#xA;&lt;li&gt;Оплата домена &lt;code&gt;sadium.cyou&lt;/code&gt; - &lt;strong&gt;2106р/год&lt;/strong&gt; (продлён до 16.01.27). Весьма вероятно что после сменю и домен, и регистратора, ибо 2к/год за домен дорага!&lt;/li&gt;&#xA;&lt;li&gt;В самую последнюю очередь мне на покушац (я работаю, так что маловероятно, что до этого дойдёт).&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>Сервисы</title>
      <link>https://sadium.cyou/services/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/services.md (Линк)</author>
      <guid>https://sadium.cyou/services/</guid>
      <description>&lt;p&gt;Прим. &lt;strong&gt;&lt;code&gt;OIDC ☁️&lt;/code&gt;&lt;/strong&gt; = вход через аккаунт &lt;a href=&#34;#nextcloud&#34;&gt;Nextcloud&lt;/a&gt;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;fediverse&#34;&gt;Fediverse&lt;/h2&gt;&#xA;&lt;p&gt;Не знаешь, что это такое? Можешь почитать &lt;a href=&#34;https://ru.ruwiki.ru/wiki/Fediverse&#34; target=&#34;_blank&#34; &gt;здесь&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;gotosocial&#34;&gt;GoToSocial&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://gts.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;strong&gt;&lt;code&gt;OIDC ☁️&lt;/code&gt;&lt;/strong&gt; | &lt;a href=&#34;https://gotosocial.org/&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/superseriousbusiness/gotosocial&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Быстрый и небольшой ActivityPub сервер, написанный на языке Go.&lt;/p&gt;&#xA;&lt;h3 id=&#34;masto-fe--адаптация&#34;&gt;Masto-FE (🦥 адаптация)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://masto-fe.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://codeberg.org/superseriousbusiness/masto-fe-standalone&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Это форк автономного репозитория &lt;a href=&#34;https://iceshrimp.dev/iceshrimp/masto-fe-standalone&#34; target=&#34;_blank&#34; &gt;Masto-FE от Iceshrimp&lt;/a&gt;, который сам по себе является форком &lt;a href=&#34;https://github.com/glitch-soc/mastodon&#34; target=&#34;_blank&#34; &gt;Mastodon Glitch Edition&lt;/a&gt;, которая, в свою очередь, является форком &lt;a href=&#34;https://github.com/mastodon/mastodon/&#34; target=&#34;_blank&#34; &gt;Mastodon&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;phanpy&#34;&gt;Phanpy&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://phanpy.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://phanpy.social/&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/cheeaun/phanpy&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Минималистичный веб-клиент Mastodon со своим видением интерфейса.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;forgejo&#34;&gt;Forgejo&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://git.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;strong&gt;&lt;code&gt;OIDC ☁️&lt;/code&gt;&lt;/strong&gt; | &lt;a href=&#34;https://forgejo.org&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://codeberg.org/forgejo/forgejo&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Открытая легковесная &amp;ldquo;кузница&amp;rdquo; для создания ПО, форк &lt;strong&gt;&lt;a href=&#34;https://gitea.com&#34; target=&#34;_blank&#34; &gt;Gitea&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;В качестве сборщика используется свой инстанс Woodpecker.&lt;/p&gt;&#xA;&lt;h3 id=&#34;woodpecker&#34;&gt;Woodpecker 🐦&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ci.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt; | &lt;a href=&#34;https://woodpecker-ci.org&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/woodpecker-ci/woodpecker&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Простой, но мощный движок CI/CD с широкими возможностями расширения.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;gatus&#34;&gt;Gatus&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://up.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://gatus.io&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/TwiN/gatus&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Автоматизированная страница состояния, ориентированная на разработчиков, с поддержкой оповещений и обработки инцидентов.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;matrix&#34;&gt;Matrix&lt;/h2&gt;&#xA;&lt;h3 id=&#34;fluffychat&#34;&gt;Fluffychat&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ffchat.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://fluffychat.im&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/krille-chan/fluffychat&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Самый милый клиент для [Matrix].&lt;/p&gt;&#xA;&lt;h3 id=&#34;ketesa-ex-synapse-admin&#34;&gt;Ketesa (ex. Synapse Admin)&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ffchat.sadium.cyou/admin&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://github.com/etkecc/ketesa&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Панель администратора для домашнего сервера [Matrix] &lt;a href=&#34;#synapse&#34;&gt;Synapse&lt;/a&gt;. Форк &lt;a href=&#34;https://github.com/Awesome-Technologies/synapse-admin&#34; target=&#34;_blank&#34; &gt;Synapse-Admin&lt;/a&gt; от &lt;a href=&#34;https://etke.cc/services/#adminetkecc&#34; target=&#34;_blank&#34; &gt;etke.cc&lt;/a&gt; с некоторыми &lt;a href=&#34;https://github.com/etkecc/synapse-admin/#changes&#34; target=&#34;_blank&#34; &gt;изменениями&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h3 id=&#34;matrixto&#34;&gt;Matrix.to&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://ffchat.sadium.cyou/invite&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://github.com/Domoel/matrix.to-dracula-theme&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Простой сервис перенаправления URL-адресов для [Matrix].&lt;/p&gt;&#xA;&lt;h3 id=&#34;synapse&#34;&gt;Synapse&lt;/h3&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://sadium.cyou/_matrix/static&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;strong&gt;&lt;code&gt;OIDC ☁️&lt;/code&gt;&lt;/strong&gt; | &lt;a href=&#34;https://matrix.org&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/element-hq/synapse&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Домашний сервер [Matrix] с открытым исходным кодом, написанный на Python/Twisted.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;nextcloud&#34;&gt;Nextcloud&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://cloud.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;strong&gt;&lt;code&gt;Сервис OIDC ☁️&lt;/code&gt;&lt;/strong&gt; | &lt;strong&gt;&lt;code&gt;Премодерация&lt;/code&gt;&lt;/strong&gt; | &lt;a href=&#34;https://nextcloud.com&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/nextcloud/server&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Набор клиент-серверных программ для создания и использования хранилища данных. &lt;br&gt;&#xA;Является свободным аналогом облаков от Google, Яндекс, Mail.ru (нынешний VK Group), и т.д.&lt;/p&gt;&#xA;&lt;p&gt;Если хотите зарегистрироваться, заполните форму &lt;a href=&#34;https://l.sadium.cyou/nc_reg_form&#34; target=&#34;_blank&#34; &gt;тут&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;rss-bridge&#34;&gt;RSS-Bridge&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://rss.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;a href=&#34;https://rss-bridge.github.io/rss-bridge&#34; target=&#34;_blank&#34; &gt;Сайт&lt;/a&gt; | &lt;a href=&#34;https://github.com/rss-bridge/rss-bridge&#34; target=&#34;_blank&#34; &gt;Исходный код&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Программное обеспечение для создания Atom или RSS-каналов с веб-сайтов, у которых их нет.&lt;/p&gt;&#xA;&lt;p&gt;Мостов доступно &lt;a href=&#34;https://github.com/RSS-Bridge/rss-bridge/tree/master/bridges&#34; target=&#34;_blank&#34; &gt;множество&lt;/a&gt;, по просьбе могу добавить необходимый вам в список активных.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;vaultwarden&#34;&gt;Vaultwarden&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://vault.sadium.cyou&#34; target=&#34;_blank&#34; &gt;&lt;strong&gt;&lt;code&gt;[🔗]&lt;/code&gt;&lt;/strong&gt;&lt;/a&gt;| &lt;strong&gt;&lt;code&gt;OIDC ☁️&lt;/code&gt;&lt;/strong&gt; | &lt;a href=&#34;https://github.com/dani-garcia/vaultwarden&#34; target=&#34;_blank&#34; &gt;Исходный код сервера&lt;/a&gt; | &lt;a href=&#34;https://github.com/dani-garcia/bw_web_builds&#34; target=&#34;_blank&#34; &gt;Исходный код веб-интерфейса&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Менеджер паролей с открытым кодом. Имеет приложения нескольких форматов, включая веб-интерфейс, настольные приложения, расширение браузера, мобильные приложения и CLI, форк &lt;strong&gt;&lt;a href=&#34;https://bitwarden.com&#34; target=&#34;_blank&#34; &gt;Bitwarden&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;server&#34;&gt;Сервер&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;CPU: Intel i5-7600&lt;/li&gt;&#xA;&lt;li&gt;RAM: 8GB DDR4 2133MHz + (RAM * 0,75) ZRAM&lt;/li&gt;&#xA;&lt;li&gt;OS DISK: ~120GB SATA SSD&lt;/li&gt;&#xA;&lt;li&gt;DATA DISK: 2x1TB HDD RAID&lt;/li&gt;&#xA;&lt;li&gt;OS: GNU/Linux Debian 13 (&lt;a href=&#34;https://www.debian.org/releases/trixie&#34; target=&#34;_blank&#34; &gt;trixie&lt;/a&gt;)&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Надо бы запилить сюда фоточек как-нибудь&amp;hellip;&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;Исходный код указанных в этой статье сервисов (и не только) отзеркален на инстансе &lt;strong&gt;&lt;a href=&#34;https://git.sadium.cyou/mirrors&#34; target=&#34;_blank&#34; &gt;Forgejo&lt;/a&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;</description>
    </item>
    <item>
      <title>Условия использования</title>
      <link>https://sadium.cyou/tos/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <author>/opt/hugo/sadium/content/tos.md (Линк)</author>
      <guid>https://sadium.cyou/tos/</guid>
      <description>&lt;p&gt;Последнее обновление от &lt;strong&gt;&lt;time datetime=&#34;26.10.25&#34;&gt;&#xA;  26.10.25&#xA;&lt;/time&gt;&lt;/strong&gt; &lt;a href=&#34;https://git.sadium.cyou/L1nk/sadium/commits/branch/main/content/tos.md&#34; target=&#34;_blank&#34; &gt;&lt;code&gt;🔁&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;общее-положение&#34;&gt;Общее положение&lt;/h2&gt;&#xA;&lt;p&gt;Данный документ - свод правил поведения. При использовании любых &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисов&lt;/a&gt;, размещённых в рамках проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt;, администрация и, мы надеемся, сообщество, должны соблюдать данный свод правил.&lt;/p&gt;&#xA;&lt;p&gt;Данный документ относится ко всем &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисам&lt;/a&gt;, размещенным в рамках проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt;. Это означает, что данный свод правил нужно соблюдать при использовании &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисов&lt;/a&gt;, размещенных на домене и под-доменах &lt;code&gt;*.sadium.cyou&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;сервис-предоставляется-как-есть&#34;&gt;Сервис предоставляется &amp;ldquo;как есть&amp;rdquo;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;Сервис&lt;/code&gt;&lt;/strong&gt; - онлайн-ресурсы и ПО, размещенные в рамках проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; на домене и под-доменах &lt;code&gt;*.sadium.cyou&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;p&gt;Вы понимаете и соглашаетесь с тем, что &lt;strong&gt;&lt;code&gt;Сервис&lt;/code&gt;&lt;/strong&gt; предоставляется &lt;strong&gt;&lt;code&gt;&amp;quot;как есть&amp;quot;&lt;/code&gt;&lt;/strong&gt; без каких-либо гарантий, что сервис не содержит ошибок или дефектов. Администрация &lt;strong&gt;&lt;code&gt;Сервиса&lt;/code&gt;&lt;/strong&gt; не несёт никакой ответственности за какую-либо неверную и/или несвоевременную доставку информации, правильность обработки предоставленных и/или копируемых данных, а равно за прямой или косвенный ущерб, вызванный использованием данного &lt;strong&gt;&lt;code&gt;Сервиса&lt;/code&gt;&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;отказ-от-ответственности&#34;&gt;Отказ от ответственности&lt;/h2&gt;&#xA;&lt;p&gt;Дополнительно сообщаем, что администрация проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; несёт ответственность только за контент, размещенный на &amp;ldquo;своих&amp;rdquo; &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисах&lt;/a&gt;. Администрация &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; отказывается от ответственности за размещение контента через &amp;ldquo;проксирующие&amp;rdquo; сервисы, ибо не имеет технической и правовой возможности его контролировать.&lt;/p&gt;&#xA;&lt;p&gt;Проект &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; просит обратить внимание, что администрация не занимается модерированием каждого действия пользователей, в то же время контент может модерироваться/удаляться по обращению&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; правообладателей, но только в том случае, если правообладатель сможет доказать авторство опубликованного на домене &lt;code&gt;*.sadium.cyou&lt;/code&gt; контента.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;Сервис&lt;/code&gt;&lt;/strong&gt; считается &amp;ldquo;своим&amp;rdquo;, если веб-приложение, находящееся на домене &lt;code&gt;*.sadium.cyou&lt;/code&gt;, либо его контент может контролироваться администрацией (изменение, создание, удаление), а так же если администраторы проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; имеют техническую возможность контролировать пользователей как сущность базы данных (удалять, создавать, изменять).&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;&lt;code&gt;Сервис&lt;/code&gt;&lt;/strong&gt; считается &amp;ldquo;проксирующим&amp;rdquo;, если веб-приложение, находящееся на домене &lt;code&gt;*.sadium.cyou&lt;/code&gt;, по сути своей, является лишь альтернативным путём для получения контента, и контент никак не может быть изменен администрацией проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt;.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;персональные-данные&#34;&gt;Персональные данные&lt;/h2&gt;&#xA;&lt;p&gt;Администрация проекта &lt;strong&gt;&lt;code&gt;Sadium&lt;/code&gt;&lt;/strong&gt; не собирает персональные данные о Вас. Указанные Вами в &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;&lt;strong&gt;сервисах&lt;/strong&gt;&lt;/a&gt; проекта &lt;strong&gt;&lt;code&gt;никнейм&lt;/code&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;code&gt;адрес электронной почты&lt;/code&gt;&lt;/strong&gt; и иные данные не являются персональными данными, поскольку Вашу личность невозможно идентифицировать по ним напрямую.&lt;/p&gt;&#xA;&lt;h2 id=&#34;воспрещается&#34;&gt;Воспрещается&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Размещать материалы, нарушающие законодательство РФ.&lt;/li&gt;&#xA;&lt;li&gt;Обсуждать/распространять/хранить порнографические материалы с участием несовершеннолетних.&lt;/li&gt;&#xA;&lt;li&gt;Заниматься пропагандой идеологии ЛГБТ&lt;sup id=&#34;fnref2:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/li&gt;&#xA;&lt;li&gt;Назойливо-агрессивное поведение (преследования, необоснованное хамство на постоянной основе и т.п.)&lt;/li&gt;&#xA;&lt;li&gt;Создавать аккаунт для компании/ИП/самозанятого пользователя, если цель создания аккаунта - извлечение прибыли.&lt;/li&gt;&#xA;&lt;li&gt;Разглашать &lt;code&gt;личные данные&lt;/code&gt;&lt;sup id=&#34;fnref:3&#34;&gt;&lt;a href=&#34;#fn:3&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;3&lt;/a&gt;&lt;/sup&gt; пользователя без его согласия. Если пользователь (в не зависимости от его инстанса) потребует удаления своих личных данных со страницы пользователя, относящегося к проекту &lt;code&gt;*.sadium.cyou&lt;/code&gt; - пользователь &lt;code&gt;*.sadium.cyou&lt;/code&gt; обязан это сделать, в ином случае это сделает администрация.&lt;/li&gt;&#xA;&lt;li&gt;Призывать к &lt;code&gt;травле&lt;/code&gt;&lt;sup id=&#34;fnref:4&#34;&gt;&lt;a href=&#34;#fn:4&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;4&lt;/a&gt;&lt;/sup&gt;. Одно дело - высказать своё мнение о пользователе. Совсем другое - мешать пользователю жить.&lt;/li&gt;&#xA;&lt;li&gt;Рассылать спам.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;обращаем-ваше-внимание&#34;&gt;Обращаем Ваше внимание:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Несовпадение взглядов (политических, сексуальных&lt;sup id=&#34;fnref:5&#34;&gt;&lt;a href=&#34;#fn:5&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;5&lt;/a&gt;&lt;/sup&gt;, религиозных&amp;hellip;) пользователя со взглядами администрации не является основанием для санкций.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Аккаунты пользователей, не использующие &lt;a href=&#34;https://sadium.cyou/services&#34;&gt;сервисы&lt;/a&gt; в течении полугода будут подвергаться удалению.&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://sadium.cyou/services/#nextcloud&#34;&gt;Nextcloud&lt;/a&gt;:&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Через 183 дня с момента вашего последнего входа ваш аккаунт будет выключен с соответствующим уведомлением за 3, 2, 1 недели.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;В случае бездействия, через 7 дней аккаунт будет удалён окончательно без возможности восстановления. Над уведомлением после удаления &lt;a href=&#34;https://github.com/nextcloud/user_retention/issues/29&#34; target=&#34;_blank&#34; &gt;ведётся работа&lt;/a&gt;. Администрация уведомит вас об этом в ручном режиме (если не забудет).&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;Если вы по каким-то причинам захотите вернуться, пройдите соответствующую &lt;strong&gt;&lt;a href=&#34;https://l.sadium.cyou/nc_reg_form&#34; target=&#34;_blank&#34; &gt;форму&lt;/a&gt;&lt;/strong&gt; и подайте запрос на регистрацию. Можете указать, что уже были пользователем сервиса, это может повысить шанс одобрения заявки.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;На &lt;a href=&#34;https://sadium.cyou/services/#forgejo&#34;&gt;Forgejo&lt;/a&gt; правило пока не распространяется, потому что им активно пользуется только Администрация.&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;hr&gt;&#xA;&lt;p&gt;&lt;del&gt;Некоторые фрагменты текста были взяты &lt;a href=&#34;https://git.thedroth.rocks/TheDroth/ToS/src/branch/main/README.md&#34; target=&#34;_blank&#34; &gt;отсюда&lt;/a&gt; и адаптированы.&lt;/del&gt; &lt;br&gt;&#xA;Данный текст ещё будет дорабатываться.&lt;/p&gt;&#xA;&lt;div class=&#34;footnotes&#34; role=&#34;doc-endnotes&#34;&gt;&#xA;&lt;hr&gt;&#xA;&lt;ol&gt;&#xA;&lt;li id=&#34;fn:1&#34;&gt;&#xA;&lt;p&gt;Жалобы на контент принимаются только в письменном виде и в специальной для этого форме: - &lt;a href=&#34;https://sadium.cyou/contacts&#34;&gt;&amp;lt;ссылка на форму&amp;gt;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref:1&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:2&#34;&gt;&#xA;&lt;p&gt;Движение ЛГБТ признано экстремистским на территории РФ&amp;#160;&lt;a href=&#34;#fnref:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref1:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&amp;#160;&lt;a href=&#34;#fnref2:2&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:3&#34;&gt;&#xA;&lt;p&gt;Персональные данные или личные данные (ЛД) — любая информация, относящаяся прямо или косвенно к определенному пользователю. Любая информация, не опубликованная пользователем в открытый доступ будет считаться как ЛД пользователя.&lt;/p&gt;&#xA;&lt;p&gt;В независимости от того, опубликованы или нет, ЛД всегда будут считаться:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Паспортные данные, а именно совокупность таких данных, как ФИО, дата рождения, семейное положение.&lt;/li&gt;&#xA;&lt;li&gt;Социальное и имущественное положение.&lt;/li&gt;&#xA;&lt;li&gt;Информация о банковской карте, включая номер, PIN-код и CVV2/CVC2-коды.&lt;/li&gt;&#xA;&lt;li&gt;Телефонный номер.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&amp;#160;&lt;a href=&#34;#fnref:3&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:4&#34;&gt;&#xA;&lt;p&gt;Призывом к травле может являться:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Вмешательство в личную жизнь пользователя с целью негативного влияния на его ментальное и физическое состояние&lt;/li&gt;&#xA;&lt;li&gt;Прямые и непосредственные призывы к насилию.&lt;/li&gt;&#xA;&lt;li&gt;Призывы к насилию с использованием общих лозунгов.&lt;/li&gt;&#xA;&lt;li&gt;Прямые и непосредственные призывы к дискриминации.&lt;/li&gt;&#xA;&lt;li&gt;Призывы к дискриминации в виде общих лозунгов.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&amp;#160;&lt;a href=&#34;#fnref:4&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li id=&#34;fn:5&#34;&gt;&#xA;&lt;p&gt;Примечание - если вы являетесь представителем движения ЛГБТ&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;, вам дозволено иметь учётную запись в любом сервисе проекта, если вы не будете заниматься пропагандой идеологии ЛГБТ&lt;sup id=&#34;fnref1:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt;.&amp;#160;&lt;a href=&#34;#fnref:5&#34; class=&#34;footnote-backref&#34; role=&#34;doc-backlink&#34;&gt;&amp;#x21a9;&amp;#xfe0e;&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/div&gt;&#xA;</description>
    </item>
  </channel>
</rss>

