Создание RSS-каналов для ваших социальных медиа с помощью RSS-Bridge

Фотография ноутбука на деревянном столе.

RSS-Bridge — это мощный самостоятелный генератор RSS-каналов для Linux. Он позволяет вам создавать свои каналы практически с любого современного веб-сайта. Это делает его невероятно полезным для пользователей RSS, которые хотят объединить свои медиа-каналы в один. Эта статья покажет вам, как установить и развернуть RSS-Bridge на Ubuntu Linux с использованием Docker.

Содержание

  • Почему стоит создавать RSS-каналы с помощью RSS-Bridge?
  • Получение зависимостей для RSS-Bridge
  • Получение и сборка RSS-Bridge
  • Создание SSL обратного прокси с помощью Nginx
  • Добавление пользовательских генераторов RSS-каналов в RSS-Bridge

Почему стоит создавать RSS-каналы с помощью RSS-Bridge?

Одним из главных преимуществ RSS-Bridge является то, что он служит прокси для веб-сайтов, которые не предоставляют свои ссылки на синдикацию. Например, YouTube требует, чтобы вы использовали его собственное приложение для фронтенда, чтобы просто проверить, загрузил ли ваш любимый создатель новое видео. С помощью RSS-Bridge вы можете получать уведомления через RSS, когда появляется новое видео.

Скриншот страницы подписок на YouTube.

Еще одно преимущество RSS-Bridge заключается в том, что он обеспечивает больший контроль и безопасность между вами и сайтом, с которым вы синдицируете. Это делает его привлекательным для пользователей, заботящихся о конфиденциальности, которые не хотят полагаться на сторонние сервисы для своих RSS-каналов.

Совет: вы также можете разместить свое собственное приложение для чтения RSS с помощью FreshRSS.

Получение зависимостей для RSS-Bridge

Предположение: Эта статья предполагает, что вы устанавливаете RSS-Bridge на сервер Ubuntu, доступный в интернете. Также предполагается, что у вас есть активное доменное имя, которым вы в настоящее время владеете.

Начните с получения ключа подписи репозитория проекта Docker:

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Используйте свой любимый текстовый редактор, чтобы создать файл репозитория для Docker:

sudonano/etc/apt/sources.list.d/docker.list

Запишите следующую строку в вашем новом файле “docker.list”:

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Обновите репозитории пакетов вашей системы и убедитесь, что пакеты актуальны, выполнив следующее:

sudo apt update &&sudo apt upgrade

Установите бинарные файлы Docker и Docker Compose вместе с зависимостями для RSS-Bridge:

sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx git

Подготовьте вашу систему для Certbot, установив пакет “core”:

sudo snap install core

Установите пакет Certbot от Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Полезно знать: узнайте, как вы можете развернуть свой собственный сайт WordPress с помощью Docker.

Получение и сборка RSS-Bridge

Создайте новую папку в вашем домашнем каталоге, затем перейдите в нее:

mkdir ~/rss-bridge &&cd ~/rss-bridge

Создайте файл “docker-compose.yml” с помощью вашего любимого текстового редактора:

nano ./docker-compose.yml

Вставьте следующий блок кода в ваш новый файл Docker Compose. Это стандартный “docker-compose.yml” для RSS-Bridge, который я изменил, чтобы иметь смонтированный том для пользовательских конфигураций:

version: '2'  
  
services:  
  rss-bridge:  
    image: rssbridge/rss-bridge:latest  
    volumes:  
      - /home/$USER/rss-bridge/:/config  
# Замените "/home/$USER/rss-bridge" на "/root/rss-bridge", если вы работаете от имени root.  
    ports:  
      - 127.0.0.1:3000:80  
    restart: unless-stopped

Соберите и запустите ваш контейнер Docker:

sudodocker compose up --detach

Подтвердите, что RSS-Bridge работает правильно, перечислив все доступные контейнеры в системе:

dockerps

Терминал, показывающий, что контейнер Docker RSS-Bridge работает правильно.

Создание SSL обратного прокси с помощью Nginx

На этом этапе у вас уже есть работающий экземпляр RSS-Bridge на порту 3000. Однако, чтобы использовать его, вам нужно сначала пропустить его исходящее соединение через SSL обратный прокси.

Создайте новую запись DNS типа “A”, указывающую на IP-адрес вашего сервера RSS-Bridge. В моем случае я установлю запись “A” для моего экземпляра RSS-Bridge на поддомен “rss.”

Вернитесь на ваш сервер, затем создайте новый файл конфигурации сайта Nginx:

sudonano/etc/nginx/sites-available/rss-bridge

Вставьте следующий блок кода в ваш новый файл конфигурации:

server {  
  
        server_name SUBDOMAIN.YOUR-ROOT.DOMAIN;  
  
        location /{  
                proxy_pass http://127.0.0.1:3000;  
                proxy_http_version 1.1;  
                proxy_set_header Upgrade $http_upgrade;  
                proxy_set_header Connection "upgrade";  
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  
                proxy_set_header Host $host;  
}  
}

Замените значение переменной “server_name” на вашу запись DNS типа “A”.

Терминал, выделяющий переменную

Сохраните файл конфигурации сайта, затем свяжите его с вашей папкой “/etc/nginx/sites-enabled”:

sudoln-s/etc/nginx/sites-available/rss-bridge /etc/nginx/sites-enabled

Примените ваши новые настройки, перезагрузив демон Nginx:

sudo systemctl reload nginx.service

Запрос SSL и подключение к RSS-Bridge

С этим завершено, вы теперь можете защитить ваш обратный прокси, запросив SSL-сертификат от Certbot. Это обеспечит шифрование и безопасность всех соединений между клиентом и вашим экземпляром.

Выполните следующую команду, чтобы зарегистрировать ваше доменное имя в Certbot:

sudo certbot register --agree-tos-m [email protected]

Введите “y”, затем нажмите Enter, чтобы получать последние обновления от EFF.

Скриншот

Запросите новый сертификат для вашего поддомена:

sudo certbot --nginx-d SUBDOMAIN.YOUR-ROOT.DOMAIN

Проверьте, работает ли ваш SSL обратный прокси, открыв его в вашем веб-браузере.

Создание RSS-каналов RSS Bridge Linux 06 Тест веб-приложения

К вашему сведению: узнайте больше о веб-шифровании, выпустив свои собственные SSL-сертификаты с помощью OpenSSL.

Добавление пользовательских генераторов RSS-каналов в RSS-Bridge

По умолчанию RSS-Bridge поставляется только с 16 собственными генераторами каналов. Хотя большинство из них охватывают некоторые популярные веб-сайты, такие как Reddit и Twitch, проект также предлагает более 400 генераторов каналов, поддерживаемых пользователями, в своем репозитории на Github.

Чтобы получить доступ к этому, сначала отключите ваш контейнер Docker:

sudodocker compose down

Создайте новую папку в вашем домашнем каталоге, затем перейдите в нее:

mkdir ~/git&&cd ~/git

Клонируйте репозиторий RSS-Bridge в вашу новую папку:

git clone https://github.com/RSS-Bridge/rss-bridge.git

Скопируйте директорию “bridges” из Git-репозитория в папку вашего контейнера Docker:

cp-rv ./rss-bridge/bridges ~/rss-bridge/

Создайте новый текстовый файл в папке вашего контейнера Docker:

nano ~/rss-bridge/whitelist.txt

Напишите “*” в вашем новом текстовом файле, затем сохраните его, чтобы включить все генераторы каналов для вашего экземпляра.

Терминал, выделяющий звездочку в белом списке, которая включает все модули генераторов для экземпляра RSS-Bridge.

Вы также можете фильтровать другие генераторы каналов, используя этот текстовый файл. Для этого выполните ls bridge, затем найдите имя генератора, который вы хотите отобразить в вашем экземпляре.

Терминал, показывающий небольшой список пользовательских генераторов из Git-репозитория.

Откройте текстовый файл, удалите “*”, затем укажите имя генератора без его расширения “.php”.

Терминал, показывающий пользовательские генераторы внутри файла whitelist.txt.

Перезапустите ваш контейнер Docker, чтобы применить ваши новые настройки.

cd ~/rss-bridge  
sudodocker compose up --detach

Защита RSS-Bridge с помощью HTTP Auth

Помимо добавления пользовательских каналов, вы также можете включить небольшую аутентификацию для вашего экземпляра. Это особенно полезно для предотвращения злоупотреблений вашим веб-приложением анонимными пользователями.

Выключите ваш контейнер Docker RSS-Bridge:

sudodocker compose down

Создайте новый файл “config.ini.php” в директории вашего контейнера Docker:

nano ~/rss-bridge/config.ini.php

Вставьте следующий блок кода в ваш новый файл конфигурации:

[authentication]  
  
enable = true  
username = "MyRSSBridgeUsername"  
password = "MyStrongPassword"

Замените значение переменных “username” и “password” на ваше собственное имя пользователя и пароль.

Терминал, показывающий пользовательское имя пользователя и пароль для экземпляра.

Сохраните ваш файл конфигурации, затем перезапустите ваш контейнер, чтобы применить ваши новые настройки:

sudodocker compose up --detach

Примечание: Это также потребует от вас добавления имени пользователя и пароля для подписки на любой пользовательский RSS-канал из вашего экземпляра.

Создание вашего первого пользовательского RSS-канала

Чтобы создать ваш первый пользовательский канал, прокрутите список генераторов, затем найдите сайт, для которого вы хотите создать канал.

Нажмите на ссылку Показать больше под записью генератора.

Скриншот, выделяющий генератор пользовательского RSS-канала Github Issue.

Укажите детали для вашего RSS-канала. В моем случае я хочу создать канал, перечисляющий все открытые проблемы в репозитории Git Urbit OS.

Нажмите Сгенерировать канал, чтобы создать пользовательский RSS-канал для вашего веб-сайта.

Скриншот, показывающий детали настройки для генератора канала Github Issue.

Скопируйте весь адрес RSS-Bridge из адресной строки вашего браузера.

Скриншот, показывающий адрес в адресной строке Firefox, выделенный и скопированный.

Перейдите в ваш RSS-ридер и создайте новую запись подписки, используя ссылку из вашего буфера обмена.

Проверьте ваш новый RSS-канал, перечислив содержимое вашего нового пользовательского канала с помощью вашего ридера.

Скриншот, показывающий работу пользовательского канала в Newsflash, оффлайн-ридере RSS для Linux.

Установка RSS-Bridge для создания и публикации пользовательских RSS-каналов — это первый шаг к восстановлению контроля над вашей цифровой жизнью. Узнайте больше о самостоятелной хостинге и о том, как это может защитить вас в интернете, создав свой собственный сервер частных адресов электронной почты с помощью SimpleLogin.

Кредит изображения: Alejandro Escamilla через Unsplash и RSS-Bridge Github. Все изменения и скриншоты сделаны Ramces Red.