Crie Feeds RSS para Suas Mídias Sociais com RSS-Bridge

Uma fotografia de um laptop em cima de uma mesa de madeira.

RSS-Bridge é um poderoso gerador de Feed RSS auto-hospedado para Linux. Ele permite que você crie seus feeds a partir de quase qualquer site moderno hoje. Isso o torna incrivelmente útil para usuários de RSS que desejam combinar seus feeds de mídia em um só. Este artigo mostra como instalar e implantar o RSS-Bridge no Ubuntu Linux usando Docker.

Índice

  • Por que criar Feeds RSS com RSS-Bridge?
  • Obtendo as Dependências para o RSS-Bridge
  • Buscando e Construindo o RSS-Bridge
  • Criando um Proxy Reverso SSL usando Nginx
  • Adicionando Geradores de Feed RSS Personalizados no RSS-Bridge

Por que criar Feeds RSS com RSS-Bridge?

Um dos maiores pontos de venda do RSS-Bridge é que ele serve como um proxy para sites que não fornecem seus links de sindicação. Por exemplo, o YouTube exige que você use seu próprio aplicativo frontend apenas para verificar se seu criador favorito enviou um novo vídeo. Com o RSS-Bridge, você pode ser notificado via RSS quando há um novo vídeo.

Uma captura de tela de uma página de assinaturas do YouTube.

Outra vantagem do RSS-Bridge é que ele fornece maior controle e segurança entre você e o site que você está sindicando. Isso o torna atraente para usuários preocupados com a privacidade que não querem depender de serviços de terceiros para seus feeds RSS.

Dica: você também pode hospedar seu próprio aplicativo leitor de RSS usando o FreshRSS.

Obtendo as Dependências para o RSS-Bridge

Suposição: Este artigo assume que você está instalando o RSS-Bridge em um servidor Ubuntu que é acessível na internet. Também assume que você possui um nome de domínio ativo que você possui atualmente.

Comece obtendo a chave de assinatura do repositório do projeto 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

Use seu editor de texto favorito para criar o arquivo de repositório para o Docker:

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

Escreva a seguinte linha em seu novo arquivo “docker.list”:

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

Atualize os repositórios de pacotes do seu sistema e certifique-se de que os pacotes estão atualizados executando o seguinte:

sudo apt update &&sudo apt upgrade

Instale os binários do Docker e Docker Compose junto com as dependências para o RSS-Bridge:

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

Prepare seu sistema para o Certbot instalando o pacote snap “core”:

sudo snap install core

Instale o pacote Certbot da Electronic Frontier Foundation (EFF):

sudo snap install certbot --classic

Bom saber: aprenda como você pode implantar seu próprio site WordPress usando Docker.

Buscando e Construindo o RSS-Bridge

Crie uma nova pasta dentro do seu diretório inicial, em seguida, navegue para dentro dela:

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

Crie o arquivo “docker-compose.yml” usando seu editor de texto favorito:

nano ./docker-compose.yml

Cole o seguinte bloco de código dentro do seu novo arquivo Docker Compose. Este é o “docker-compose.yml” padrão para o RSS-Bridge que eu modifiquei para ter um volume mapeado para configurações personalizadas:

version: '2'  
  
services:  
  rss-bridge:  
    image: rssbridge/rss-bridge:latest  
    volumes:  
      - /home/$USER/rss-bridge/:/config  
# Substitua "/home/$USER/rss-bridge" por "/root/rss-bridge" se você estiver executando como root.  
    ports:  
      - 127.0.0.1:3000:80  
    restart: unless-stopped

Construa e execute seu contêiner Docker:

sudodocker compose up --detach

Confirme que o RSS-Bridge está funcionando corretamente listando todos os contêineres disponíveis no sistema:

dockerps

Um terminal mostrando o contêiner Docker do RSS-Bridge funcionando corretamente.

Criando um Proxy Reverso SSL usando Nginx

Neste ponto, você agora tem uma instância em execução do RSS-Bridge na porta 3000. Para usá-lo, no entanto, você precisa primeiro passar sua conexão de saída através de um proxy reverso SSL.

Crie um novo registro DNS “A” apontando para o endereço IP do seu servidor RSS-Bridge. No meu caso, vou definir o registro “A” para minha instância do RSS-Bridge para o subdomínio “rss.”

Volte para o seu servidor, em seguida, crie um novo arquivo de configuração do site Nginx:

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

Cole o seguinte bloco de código dentro do seu novo arquivo de configuração:

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;  
}  
}

Substitua o valor da variável “server_name” pelo registro DNS “A” do seu servidor.

Um terminal destacando a variável

Salve seu arquivo de configuração do site, em seguida, vincule-o à sua pasta “/etc/nginx/sites-enabled”:

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

Aplique suas novas configurações recarregando seu daemon Nginx:

sudo systemctl reload nginx.service

Solicitando SSL e Conectando ao RSS-Bridge

Com isso feito, você pode agora proteger seu proxy reverso solicitando um certificado SSL do Certbot. Fazer isso garantirá que todas as conexões entre um cliente e sua instância sejam criptografadas e seguras.

Execute o seguinte comando para registrar seu nome de domínio no Certbot:

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

Digite “y,” em seguida, pressione Enter para receber as últimas atualizações da EFF.

Captura de tela

Solicite um novo certificado para seu subdomínio:

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

Teste se seu proxy reverso SSL está funcionando corretamente abrindo-o em seu navegador da web.

Teste de Aplicativo Web

FYI: aprenda mais sobre criptografia na web emitindo seus próprios certificados SSL usando OpenSSL.

Adicionando Geradores de Feed RSS Personalizados no RSS-Bridge

Por padrão, o RSS-Bridge só vem com 16 de seus geradores de feed personalizados. Embora a maioria deles cubra alguns dos sites populares, como Reddit e Twitch, o projeto também oferece mais de 400 geradores de feed mantidos por usuários em seu repositório do Github.

Para acessar isso, primeiro desative seu contêiner Docker:

sudodocker compose down

Crie uma nova pasta no seu diretório inicial, em seguida, navegue para dentro dela:

mkdir ~/git&&cd ~/git

Clone o repositório do RSS-Bridge para sua nova pasta:

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

Copie o diretório “bridges” dentro do repositório Git para a pasta do seu contêiner Docker:

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

Crie um novo arquivo de texto dentro da pasta do seu contêiner Docker:

nano ~/rss-bridge/whitelist.txt

Escreva “*” dentro do seu novo arquivo de texto, em seguida, salve-o para habilitar todos os geradores de feed para sua instância.

Um terminal destacando o asterisco da lista branca que habilita todos os módulos geradores para a instância do RSS-Bridge.

Você também pode filtrar os outros geradores de feed usando este arquivo de texto. Para fazer isso, execute ls bridge, em seguida, encontre o nome do gerador que você deseja que apareça em sua instância.

Um terminal mostrando uma pequena lista de geradores personalizados do repositório Git.

Abra o arquivo de texto, remova o “*”, em seguida, forneça o nome do gerador sem sua extensão “.php”.

Um terminal mostrando os geradores personalizados dentro do arquivo whitelist.txt.

Reinicie seu contêiner Docker para aplicar suas novas configurações.

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

Protegendo o RSS-Bridge com Autenticação HTTP

Além de adicionar feeds personalizados, você também pode incluir um pequeno desafio de autenticação para sua instância. Isso é especialmente útil para evitar que usuários anônimos abusem de seu aplicativo web.

Desative seu contêiner Docker do RSS-Bridge:

sudodocker compose down

Crie um novo arquivo “config.ini.php” no diretório do seu contêiner Docker:

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

Cole o seguinte bloco de código dentro do seu novo arquivo de configuração:

[authentication]  
  
enable = true  
username = "MeuNomeDeUsuarioRSSBridge"  
password = "MinhaSenhaForte"

Substitua o valor de ambas as variáveis “username” e “password” pelo seu próprio nome de usuário e senha.

Um terminal mostrando um nome de usuário e senha personalizados para a instância.

Salve seu arquivo de configuração, em seguida, reinicie seu contêiner para aplicar suas novas configurações:

sudodocker compose up --detach

Nota: Fazer isso também exigirá que você adicione um nome de usuário e senha para se inscrever em qualquer feed RSS personalizado de sua instância.

Criando Seu Primeiro Feed RSS Personalizado

Para criar seu primeiro feed personalizado, role pela lista de geradores, em seguida, procure um site que você deseja criar um feed.

Clique no link Mostrar mais abaixo da entrada do gerador.

Uma captura de tela destacando o gerador de feed RSS de Problemas do Github.

Forneça os detalhes para seu Feed RSS. No meu caso, quero criar um feed listando todos os problemas atualmente abertos no repositório Git do Urbit OS.

Clique em Gerar Feed para criar o feed RSS personalizado para seu site.

Uma captura de tela mostrando os detalhes de personalização para o gerador de feed de Problemas do Github.

Copie o endereço completo do RSS-Bridge da barra de endereços do seu navegador.

Uma captura de tela mostrando o endereço na barra de endereços do Firefox destacado e copiado.

Vá para seu leitor de feed RSS e crie uma nova entrada de assinatura usando o link que está na sua área de transferência.

Teste seu novo feed RSS listando o conteúdo do seu novo feed personalizado usando seu leitor de feeds.

Uma captura de tela mostrando o feed personalizado funcionando no Newsflash, um leitor RSS offline para Linux.

Instalar o RSS-Bridge para criar e publicar feeds RSS personalizados é o primeiro passo para retomar o controle sobre sua vida digital. Aprenda mais sobre auto-hospedagem e como ela pode protegê-lo online criando seu próprio servidor de aliases de email privado usando o SimpleLogin.

Crédito da imagem: Alejandro Escamilla via Unsplash e RSS-Bridge Github. Todas as alterações e capturas de tela por Ramces Red.