Всем привет! Сегодня я хочу вам рассказать о Peertube — некоммерческой децентрализованной видеоплатформе с открытым исходным кодом. В нем есть возможность загрузки контента, комментирования, поиска, а также изменения видео, когда оно уже опубликовано.
Peertube основан на технологии P2P (peer-to-peer) для обмена видео по принципу всех известных торрентов. Исторически PeerTube использовал WebTorrent, но уже несколько лет (начиная с версии 6.0) проект полностью перешел на протокол HLS в связке с WebRTC.
Что лучше — централизация или децентрализация? Что такое Fediverse? И наконец — как создать свой инстанс-сайт для сохранения видео на случай, например, блокировки ютуба? Давайте-ка погрузимся в теорию и практику!
В конце мы опубликуем свой сайт!

PeerTube — это децентрализованная платформа для организации видеохостинга и видеовещания. PeerTube представляет собой независимую легковесную масштабируемую альтернативу для YouTube, Dailymotion и Vimeo и использует браузеры посетителей для создания сети распространения контента на базе P2P-коммуникаций. Платформа поддерживает протокол ActivityPub, позволяющий объединить разрозненные серверы с видео в общую федеративную сеть, в которой посетители имеют возможность подписки на каналы и получения уведомлений о новых видео. Исходный код проекта распространяется под свободной лицензией AGPLv3.
Вообще, изначально проект был основан на применении BitTorrent-клиента WebTorrent, запускаемого в браузере и использующего технологию WebRTC для организации прямого P2P-канала связи между браузера. Позднее вместо WebTorrent был задействован протокол HLS (HTTP Live Streaming) в связке с WebRTC, позволяющий адаптивно управлять потоком в зависимости от полосы пропускания. Для объединения разрозненных серверов с видео в общую федеративную сеть (Fediverse, ниже я расскажу о нем), в которой посетители участвуют в поставке контента и имеют возможность подписки на каналы и получения уведомления о новых видео, задействован протокол ActivityPub. Предоставляемый проектом web-сервер построен с использованием веб-фреймворка Angular.
Федеративная сеть (Fediverse) — собирательное название для децентрализованных сервисов, связанных воедино протоколом ActivityPub. Если по-простому, это совокупность сервисов, работающих по принципу Федерации, таких как Mastodon, Pleroma и Peertube.
Федерацией называют принцип устройства сервисов, при котором сервис работает на множестве отдельных автономных серверов, образующих единую сеть. Благодаря этому видео с Peertube можно смотреть в Mastodon. Имея аккаунт в одном сервисе, пользователь может взаимодействовать с другими сервисами федиверса, не регистрируясь в них. Каждый пользователь может создать собственный узел федеральной сети и стать полноправным участником федиверса. Все основано на открытом, свободном программном обеспечении, все по заветам Ричарда Столлмана.
У этой сети есть минусы и плюсы. ActivityPub отличный протокол, но все равно люди остаются людьми, играет человеческий фактор. Забыл настроить сервер правильно, или из-за свободы могут иногда возникать неприятные личности. Их, конечно, «изгоняют» (но не так, как в централизованных сетях: если вы были забанены на ютубе, то ваш аккаунт исключен навсегда, а здесь человек может создать свой инстанс или найти другой, который понравится). Федеверс призван удовлетворить запросы о свободе, и вроде даже неплохо справляется с этим. Но пока он остается больше гиковской площадкой.

Кто из молодых энтузиастов хотя бы раз в жизни не задумывался над своей социальной сетью или хоть какой-то подобной площадкой? ActivityPub делает подобную мечту как никогда реальной: пиши свой бэкэнд, меняй фронтэнд, экспериментируй с приложением на смартфоне, при этом нисколько не обременяй своих знакомых нуждой постоянного перехода в новые экосистемы.
Федиверс не имеет какой-либо централизации в виде стартовых узлов: узлы узнают друг о друге, когда их пользователи контактируют между собой. При первом взаимодействии сервера с ранее неизвестным узлом, он подписывается на него и впредь они начинают федерироваться, т.е. делиться друг с другом активностью своих пользователей.
Единый центр или множество независимых источников?
Хороший вопрос. Современный интернет централизован практически полностью бигтех-компаниями. Meta, Google, Microsoft, Amazon, Apple, даже в некоторой степени Yandex (только в русском или СНГ сегменте) контролируют интернетом. Как я уже говорил выше, если ваш аккаунт удален из ютуба — ваш аккаунт исключен из ютуба навсегда. Цель бигтех-компаний — как можно больше выжимать прибыль. И этому может способствовать слежка за пользователями, например путем централизации всех данных на одних серверах. Даже сам Тим Бернерс-Ли говорил, что задумывал веб как место без цензуры, где каждый мог бесплатно получить знания, не опасаясь слежки.
Естественно, были созданы альтернативы многим централизованным платформам. Есть децентрализованные сервисы, такие как наш Peertube или Mastodon. Есть децентрализованные сети, такие как p2p или Tor.
Проблемы централизованной сети известны — это единая точка отказа, угроза цензуры и слежки, закрытая экосистема, в которой человек — не больше чем бесправный пользователь.
Порочность этой системы заметна на примере видеохостинга Youtube, который доминирует в этой сфере. Он может диктовать свои условия, а кто не хочет им подчиняться — отправляется в бан. После геополитических событий в мире это усилилось. Многие каналы могут блокировать без объяснения причин. Также Google замедляет Youtube для тех браузеров, в которых включено расширение для скрытия рекламы. Youtube постепенно внедряет подписку Youtube Pro, путем увеличения времени и количества рекламных вставок.
Некоторые крупные открытые компании переехали на Peertube. Пример — Blender. У них есть свой инстанс на peertube, но канал на Youtube еще есть.
Мое субъективное мнение таково, что и тотальная централизация, что и тотальная децентрализация — это плохо. Надо найти золотую середину, ибо как говорил Парацельс — “все яд, все лекарство, и то и другое определяет мера”.
А какие есть альтернативы ютубу?
ТыТруба очень популярный видеохостинг. И благодаря этому существуют клиенты, фронтенды и даже отдельный видеохостинг (да-да, я говорю про PeerTube).
Не будем долго мусолить эту тему, начнем! Я приведу 5 альтернатив (включая peertube).
Invidious
Легкий и конфиденциальный клиент YouTube. Без рекламы, без трекеров и слежки, и можно включить или выключить Java Script.
Открытый исходный код, можно запустить на своем сервере, возможность работы в децентрализованных сетях (I2P, Onion, Loki).
Репозиторий на GitHub, официальный сайт
Piped
Альтернативный приватный ютуб клиент. Легкий, без рекламы (вместе с расширением Sponsorblock), без слежки, с поддержкой 4К и другие полезные вещи.
Открытый исходный код, возможность работы в децентрализованных сетях (IPNS, Onion).
Репозиторий на GitHub, официальный сайт
Cloudtube
Альтернатива альтернативы! Cloudtube — это Invidious, но с отключенным JavaScript по умолчанию. Открытый исходный код, возможность опубликовать у себя на сервере.
Репозиторий и официальный сайт
Freetube
Есть еще десктопный клиент YouTube — Freetube.
FreeTube — это клиент YouTube для Windows, Mac и Linux, созданный для более конфиденциального использования YouTube. Вы можете наслаждаться любимым контентом и авторами без отслеживания ваших привычек. Все ваши пользовательские данные хранятся локально и никогда не отправляются и не публикуются в Интернете. FreeTube собирает данные, очищая необходимую информацию (либо локальными методами, либо при необходимости используя Invidious API). Благодаря многим функциям, похожим на YouTube, FreeTube стал одним из лучших способов конфиденциального просмотра YouTube на настольном компьютере.
Peertube
О нем я уже рассказал. Это децентрализованная система нового поколения. Конечно, тут нет монетезации одной кнопкой, но зато это уже высокий уровень независимости. Владельцам каналов на ютубе можно сюда сохранять ролики, на случай блокировки, или простые пользователи могут сохранять туда видео, которые могут удалить, или просто понравились. Но лучше не закрывать старые каналы на ютубе, если они есть, чтобы можно было поднимать пользователей своего инстанса.
Разработчик — французская некоммерческая организация Framasoft. Идея Peertube зародилась в 2017 году, после волны блокировок независимого контента на разных площадок.
Peertube является федеративной сетью, и это (а точнее протокол ActivityPub) позволяет подписывать на каналы из других инстансов, а также серверов с поддержкой Mastodon или Pleroma.
Peertube поддерживает загрузки субтитров в форматах VTT и SRT. Титры с YouTube можно скачать с помощью youtube-dl (или yt-dlp):
youtube-dl --all-subs --skip-download <ссылка на youtube видео>
Этого мальца мы и выберем. Почему? Потому что!
Шучу, на самом деле это один из лучших вариантов. Он подключен к федиверсу, популярен и имеет больше независимости, чем другие.

История
PeerTube создан в 2017 году разработчиком Chocobozzz.
В начале 2018 года Framasoft запускает краудфандинговую программу на KissKissBankBank. В марте 2018 года выпущена первая бета-версия. 16 октября 2018 года выпущена первая стабильная версия.
В ноябре 2019 года выпущена версия 2.0, PeerTube получает официальный маскот Sepia (Сепия).

22 сентября 2020 представлен поисковый движок SepiaSearch, созданный для поиска видео по всем серверам PeerTube.
7 января 2021 года выпущена версия 3.0.0 с поддержкой потокового вещания (live streaming) с доставкой содержимого в режиме P2P.
Выбор хостера
Итак, мы изучили теорию, выбрали основу. Но осталось главное — хостинг, сервер.
Покупка сервера
Вам нужно арендовать себе сервер — VDS/VPS, или даже выделенный, если у вас есть деньги. Также купите домен (можно и без него, но в этом туториале будет с доменом).
Даже самый минимальный сервер успешно запустит наш peertube, но для комфортного использования стоит взять много места на диске.
Дистрибутив — последняя версия Debian или Ubuntu. Я поставил Debian 12 Bookworm (Все действия будут выполняться на Debian 12).
Подключение
Когда вы уже все создали, откройте панель вашего сервера и скопируйте команду для подключения по SSH.
После подключения по паролю обновим систему и установим некоторые программы:
apt update apt upgrade apt install curl sudo unzip micro
Вот обновленная часть инструкции, исправленная согласно актуальной документации PeerTube (версия 6.0+) и требованиям 2026 года:
Установка зависимостей
Чтобы все успешно заработало, вам нужно установить:
node (версия >= 22.12)
pnpm (менеджер пакетов, заменяет yarn, который использовался раньше)
postgres (версия >= 10)
redis-server (версия >= 6.2)
ffmpeg (версия >= 4.3)
python3
build-essential (сборщик пакетов)
# Устанавливаем Node.js 22.x из официального репозитория curl -fsSL https://deb.nodesource.com/setup_22.x -o nodesource_setup.sh sudo -E bash nodesource_setup.sh # Устанавливаем все зависимости apt install nodejs postgresql redis-server ffmpeg python3-dev certbot nginx \ postgresql-contrib openssl git cron wget g++ make sudo build-essential # Устанавливаем pnpm глобально sudo npm install -g pnpm systemctl start redis postgresql
Создание учетной записи
Для работы нам надо создать учетную запись с именем peertube и установить его домашнюю директорию:
sudo useradd -m -d /var/www/peertube -s /usr/sbin/nologin peertube
После устанавливаем ему пароль и убеждаемся, что корневой каталог peertube доступен:
passwd peertube ls -ld /var/www/peertube # должен вывести drwxr-xr-x. Если это не так, просто вызовите команду chown -R 755 /var/www/peertube
Создание базы данных
Создайте базу данных и пользователя peertube внутри PostgreSQL:
cd /var/www/peertube sudo -u postgres createuser -P peertube # Введите пароль для пользователя, который будет скопирован в файл продакшена. НЕ нажимайте Enter (!), иначе он будет пуст.
Дальше создаем базу данных и включаем расширения для Peertube:
sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod
Подготовка рабочего каталога
Создайте переменную с последней версией Peertube:
VERSION=$(curl -s https://api.github.com/repos/Chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Version: $VERSION"
Откройте каталог peertube и создайте несколько необходимых каталогов:
cd /var/www/peertube sudo -u peertube mkdir config storage versions sudo -u peertube chmod 750 config/ sudo chmod 755 /var/www/peertube
После скачайте последнюю версию клиента Peertube, разархивируйте его и удалите архив:
cd /var/www/peertube/versions sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip
И установите peertube с использованием pnpm (актуальный менеджер пакетов):
cd /var/www/peertube sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest cd ./peertube-latest && sudo -H -u peertube npm run install-node-dependencies -- --production # Сборка дополнительных модулей sudo -u peertube pnpm add --workspace-root --no-lockfile --prod node-addon-api node-gyp sudo -u peertube SHARP_FORCE_GLOBAL_LIBVIPS=1 npm explore sharp -- npm run build
Конфигурация Peertube
Скопируйте файл конфигурации по умолчанию (не обновляйте этот файл):
cd /var/www/peertube sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml
Затем скопируйте конфигурацию примера продакшена:
sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml
Затем отредактируйте config/production.yaml согласно вашему серверу и конфигурации базы данных. В частности:
webserver — ваш вебсервер (домен)
secrets (ручная генерация,
openssl rand -hex 32)database — настройки PostgreSQL (имя БД, пользователь, пароль)
redis — настройки redis (обычно оставляем по умолчанию)
smtp — если вы хотите использовать электронные письма
admin.email — электронная почта администратора
Также есть там и многие другие ключи, например, для разрешения стримов или регистрации пользователей. Можно настроить общую или дневную квоту загруженного контента на сервер, возможно даже принимать письма по электронной почте!
Обратите внимание: в новейших версиях PeerTube изменилась структура конфигурации, поэтому всегда сверяйтесь с официальной документацией и файлом default.yaml для актуальных ключей.
Не забудьте, что в webserver порт должен стоять 443 (https порт).
Ключи, определенные в config/production.yaml, будут переопределять ключи, определенные в config/default.yaml.
Peertube не поддерживает изменение хоста веб-сервера через конфигурацию. Есть официальный способ для изменения хоста — он описан в документации.
Вебсервер
Peertube имеет конфигурационные файлы только для Nginx.
Скопируйте шаблон конфигурации nginx:
sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
После нам надо будет немного подредактировать конфигурацию (замените [peertube-domain] на ваш домен)
sudo sed -i 's/${WEBSERVER_HOST}/[peertube-domain]/g' /etc/nginx/sites-available/peertube sudo sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube
Затем установите файл конфигурации веб-сервера. Обратите внимание на alias ключи статистических локаций. Он должен соответствовать путям ваших каталогов хранения (установленных в конфигурационном файле внутри файла storage)
sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube
Затем надо сгенерировать сертификат для вашего домена для работы https, мы будем использовать letsencrypt:
sudo systemctl stop nginx sudo certbot certonly --standalone --post-hook "systemctl restart nginx" sudo systemctl reload nginx
Certbot Должен был установить сервис cron для автоматического продления сертификата. Посколько nginx поддерживает обновление webroot, можно обновить файл конфигурации обновления для использования webroot:
sudo nano /etc/letsencrypt/renewal/<ваш домен без https>.conf
Тюнинг TCP/IP
Для улучшенной работы нашего сервера надо будет немного протюнинговать систему:
sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/ sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf
SystemD
Если ваша ОС использует systemD (почти 100% вероятность), то скопируйте шаблон конфигурации:
sudo cp /var/www/peeertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
Проверьте файл службы:
sudo nano /etc/systemd/system/peertube.service
Перезагрузите конфигурацию systemd и включите peertube:
sudo systemctl daemon-reload sudo systemctl enable peertube sudo systemctl start peertube
После этого советую сразу посмотреть журнал логов на случай ошибок:
sudo journalctl -feu peertube
И…
Наш инстанс готов! Теперь мы можем добавить его в общедоступный индекс экзепляров PeerTube, если хотите.
На том же сайте вы также можете посмотреть другие экземпляры peertube. Также в таблице есть информация, доступен ли сервер инстанса, регистрация и стримы.
После запуска сайта, вы можете войти как root (не забудьте про пароль, по умолчанию генерируется автоматически при первом запуске и его можно найти в логах PeerTube, либо можно задать заранее через переменную окружения PT_INITIAL_ROOT_PASSWORD) в админ-панель. Вы можете изменять некоторую конфигурацию сайта, добавлять пользователей и так далее.
Если у вас возникнут ошибки, пишите в комментарии или в личные сообщения, я постараюсь помочь.
Альтернативная установка: докер
Этот способ рекомендуется меньше, чем обыкновенная (выше). Возможно будут проблемы, но если хотитможете поставить peertube на свой сервер при помощи докера.
Начало предыдущего способа (создание базы данных) можно скомбинировать с этим.
Вам нужен будет docker и docker compose >=v2 (docker compose version).
Создайте рабочую директорию и перейдите в нее:
mkdir peertube cd peertube
Скачайте последний compose-файл:
curl https://raw.githubusercontent.com/chocobozzz/PeerTube/master/support/docker/production/docker-compose.yml > docker-compose.yml # не забудьте проверить файл, вдруг он поврежденный
И последний .env-файл
curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/docker/production/.env > .env
Измените docker-compose.yml по соответствии с вашими требованиями.
sudo nano docker-compose.yml
И измените .env.
Поля для изменения:
MY POSTGRES USERNAME
MY POSTGRES PASSWORD
MY DOMAIN
MY EMAIL ADDRESS
MY PEERTUBE SECRET
Веб-сервер
Установите шаблон для nginx. Докер будет генерировать конфигурацию путем замены WEBSERVER_HOST и PEERTUBE_HOST используя ваши файлы.
mkdir -p docker-volume/nginx curl https://raw.githubusercontent.com/Chocobozzz/PeerTube/master/support/nginx/peertube > docker-volume/nginx/peertube
Сгенерируйте первый сертификат SSL/TLS, используя LetsEncrypt:
mkdir -p docker-volume/certbot docker run -it --rm --name certbot -p 80:80 -v "$(pwd)/docker-volume/certbot/conf:/etc/letsencrypt" certbot/certbot certonly --standlaone
Выделенный контейнер в docker-compose автоматически обновит этот сертификат и перезагрузит nginx
Проверка настройки
Запустите контейнер:
docker compose up
Финальная настройка безопасности

Каждый знает, что северокорейские хакеры не спят ночами и пытаются взломать ваш сайт. Даже если это не так, обезопасить сервер будет не лишним.
Поднятие нашего ютуба заняло не больше 10 минут. Но сразу после запуска он попадает во враждебную среду, потому что открыт для всего интернета. Его быстро нащупают сканеры и обнаружат тысячи автоматически скриптовых ботов, которые рыскают по сети в поисках уязвимостей и неправильных конфигураций. Есть несколько вещей, которые следует сделать сразу после запуска, чтобы обеспечить базовую защиту.
Я не есть рут
Первое — надо отключить удаленное подключение для root-пользователя. Дело в том, что у пользователя root абсолютные привилегии в системе, а если разрешить ему удалённое администрирование, то вы сделаете половину работы для хакера, оставив для него валидный юзернейм.
Поэтому нужно завести другого юзера, а для рута отключить удалённое администрирование по SSH.
Новый пользователь создается командой useradd:
useradd -s /bin/bash username
Затем задаем пароль командой passwd (этой же командой можно изменить текущий пароль):
passwd username
Теперь нам нужно добавить пользователя в файл /etc/sudoers:
nano /etc/sudoers # Вставляем: username ALL=(ALL:ALL) ALL
Ключи вместо паролей SSH
Брутфорс или утечка данных — один из стандартных векторов кибератак. Брутфорс (от англ. brute force — грубая сила) является простым перебором паролей, утечка данных же может быть из-за программной ошибки или взлома.
Так что отключите вход по паролям в SSH, лучше используйте аутенфикацию по ключам.
Есть разные программы для реализации протокола SSH, такие, как lsh и Dropbear, но самой популярной является OpenSSH (прямиком из OpenBSD). Установка клиента OpenSSH на Ubuntu:
sudo apt install openssh-client
И установка на сервере:
sudo apt install openssh-server
Запускаем демон-службу:
sudo systemctl enable sshd sudo systemctl start sshd
Итак, для своего нового юзера сначала нужно сгенерировать rsa-ключи SSH на компьютере, с которого вы будете заходить на сервер (то есть с клиента):
ssh-keygen -t rsa
Публичный ключ хранится в файле .pub и выглядит как строка случайных символов, которые начинаются с ssh-rsa:
# Примерно так ssh-rsa aBSBDBsDs834774388-/sddhsds+sdu2388238382383283747374299sdbsddhsds user@host
Затем из-под рута создать на сервере директорию SSH в домашнем каталоге пользователя и добавить публичный ключ SSH в файл authorized_keys, используя nano или другой текстовый редактор:
mkdir -p /home/username/.ssh && touch /home/username/.ssh/authorized_keys micro /home/username/.ssh/authorized_keys # вставьте ключ # Установка прав chmod 700 /home/username/.ssh && chmod 600 /home/username/.ssh/authorized_keys chown -R username:username /home/username/.ssh
И… Можем входить на сервер от имени пользователя:
ssh username@hostname
Как упоминалось выше, в SSH нужно отключить аутентификацию для рута (по этой причине мы и заводили нового юзера).
Итак, теперь в файле /etc/ssh/sshd_config надо изменить строчки:
PermitRootLogin yes → PermitRootLogin no PasswordAuthentication yes → PasswordAuthentication no
Огненная стена
Нужно больше безопасности! Ставим фаервол UFW!
Файрвол гарантирует, что на сервер пойдёт только тот трафик по тем портам, которые вы напрямую разрешили. Это защищает от эксплуатации портов, которые случайно включились с другими сервисами, то есть сильно уменьшает поверхность атаки.
Перед установкой файрвола нужно убедиться, что SSH внесён в список исключений и не будет блокироваться. Иначе после запуска файрвола мы не сможем подключиться к серверу.
Разрешение SSH и других нужных служб в файрволе:
sudo ufw allow ssh sudo ufw allow "Nginx Full" sudo ufw allow "SMTP"
После этой процедуры можно запустить файрвол:
sudo ufw enable
Банхаммер
У любого уважающего себя админа должен быть банхаммер. В нашем случае это Fail2Ban — популярный инструмент для блокировки IP адресов, если они совершили несколько неудачных попыток аутенфикации.
В нем можно задать количество попыток, время блокировки.
Устанавливаем:
sudo apt install fail2ban
Теперь редактируем файл /etc/fail2ban/jail.conf:
[DEFAULT] ignorecommand = bantime = 60m findtime = 15m maxretry = 10
И, чтобы по случайности не заблокировать себя, добавляем свой IP в белый список (/etc/fail2ban/jail.local):
[DEFAULT] ignoreip = ipaddr
В моем примере, если за 15 минут было совершено 10 неудачных попыток подключения, мы баним IP на 60 минут.
Смена портов
SSH был разработан в 1995 году для замены telnet (порт 23) и ftp (порт 21), поэтому автор программы Тату Илтонен выбрал порт 22 по умолчанию, и его утвердили в IANA.
Естественно, все злоумышленники в курсе, на каком порту работает SSH — и сканируют его вместе с остальными стандартными портами, чтобы узнать версию программного обеспечения, для проверки стандартных паролей рута и так далее.
Смена стандартных портов — обфускация — в несколько раз сокращает объём мусорного трафика, размер логов и нагрузку на сервер, а также сокращает поверхность атаки. Хотя некоторые критикуют такой метод «защиты через неясность» (security through obscurity). Причина в том, что эта техника противопоставляется фундаментальной архитектурной защите. Поэтому, например, Национальный институт стандартов и технологий США в «Руководстве по безопасности сервера» указывает необходимость открытой серверной архитектуры: «Безопасность системы не должна полагаться на скрытность реализации её компонентов», — сказано в документе.
Теоретически, смена портов по умолчанию противоречит практике открытой архитектуры. Но на практике объём вредоносного трафика действительно сокращается, так что это простая и эффективная мера.
Номер порта можно настроить, изменив директиву Port 22 в файле конфигурации /etc/ssh/sshd_config. Он также указывается параметром -p в sshd. Клиент SSH и программы sftp тоже поддерживают параметр -p .
Параметр -p можно использовать для указания номера порта при подключении с помощью команды ssh в Linux. В sftp и scp используется параметр -P (заглавная P). Указание из командной строки переопределяет любое значение в файлах конфигурации.
Если серверов много, почти все эти действия по защите Linux-сервера можно автоматизировать в скрипте. Но если сервер только один, то лучше вручную контролировать процесс.
Я лично изменил порт, но вы можете и не изменять. Все в ваших руках!
Заключение

На мой взгляд, самая большая проблема децентрализованных систем (видео хостинга, в частности) — её децентрализованность.
Развёрнуто: имеется, допустим 150 различных децентрализованных серверов PeerTube и имеется скажем, какой-нибудь блогер, который хочет свой контент постить в этих децентрализованных сетях. Ему одному, по сути, нужно иметь учётные записи в максимально большом количестве серверов и загружать одно и тоже видео на разные сервера. Удобно? Не очень.
Получается, что в любом случае нужен как минимум один некий хаб, который бы агрегировал видео с других PeerTube серверов и показывал тренды посетителям. И нечто такое же создателям контента, чтобы в одном месте загрузил и всё это некой магией разлетелось по другим серверам.
Тренды общие, т.е. если мой инстанс фолловит какие-то другие, то на моем инстансе будут тренды по всем этим серверам.
PeerTube — часть Fediverse. А это значит, что автор может загружать свои видео на свою ноду, где он может быть вообще единственным пользователем, а его подписчики будут находиться на других нодах PeerTube (или вообще в Mastodon, Pleroma и т.д.) — и при этом они будут получать уведомления и видеть ваши видео в ленте вне зависимости от того на каком инстансе они находятся. Плюс в зависимости от настроек соседних нод по идее будет происходить мирроринг самих видеофайлов на случай если ваша нода уйдет в оффлайн, видео всё равно осталось. Тут уже могу ошибаться, но вроде как функционал зеркалирования там есть.
Так что блогер спокойно может заливать видео к себе или к другу на ноду, а его подписчики смогут это видео смотреть и видеть в общей ленте со своих нод. Плюс на тех нодах где у этого блогера есть подписчики, его видео будет появляться в федеративных лентах.
Децентрализованность ведь еще не означает анонимность. Это касается всех p2p сетей.
Ну и на всякий случай, полезные ссылки:
Я надеюсь, вам понравилась эта статья, заглядывайте на огонек, пишите в комментариях вопросы и свое мнение! До новых встреч!
