RSS-Bridge로 소셜 미디어용 RSS 피드 만들기

나무 테이블 위에 놓인 노트북의 사진.

RSS-Bridge는 리눅스를 위한 강력한 자체 호스팅 RSS 피드 생성기입니다. 이를 통해 오늘날 거의 모든 현대 웹사이트에서 피드를 생성할 수 있습니다. 이는 미디어 피드를 하나로 결합하고자 하는 RSS 사용자에게 매우 유용합니다. 이 문서에서는 Docker를 사용하여 Ubuntu 리눅스에서 RSS-Bridge를 설치하고 배포하는 방법을 보여줍니다.

목차

  • RSS-Bridge로 RSS 피드를 만드는 이유
  • RSS-Bridge의 종속성 얻기
  • RSS-Bridge 가져오기 및 빌드하기
  • Nginx를 사용하여 SSL 리버스 프록시 만들기
  • RSS-Bridge에 사용자 정의 RSS 피드 생성기 추가하기

RSS-Bridge로 RSS 피드를 만드는 이유?

RSS-Bridge의 가장 큰 장점 중 하나는 배급 링크를 제공하지 않는 웹사이트의 프록시 역할을 한다는 것입니다. 예를 들어, YouTube는 좋아하는 제작자가 새 비디오를 업로드했는지 확인하기 위해 자체 프론트엔드 앱을 사용해야 합니다. RSS-Bridge를 사용하면 새 비디오가 있을 때 RSS를 통해 알림을 받을 수 있습니다.

예시 YouTube 구독 페이지의 스크린샷.

RSS-Bridge의 또 다른 장점은 배급하는 사이트와 사용자 간의 더 큰 제어 및 보안을 제공한다는 것입니다. 이는 RSS 피드를 위해 제3자 서비스에 의존하고 싶지 않은 개인 정보 보호에 민감한 사용자에게 매력적입니다.

팁: FreshRSS를 사용하여 자신의 RSS 리더 앱을 호스팅할 수도 있습니다.

RSS-Bridge의 종속성 얻기

가정: 이 문서는 인터넷에 접근할 수 있는 Ubuntu 서버에 RSS-Bridge를 설치한다고 가정합니다. 또한 현재 소유하고 있는 활성 도메인 이름이 있다고 가정합니다.

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

“core” 스냅 패키지를 설치하여 Certbot을 위한 시스템을 준비합니다:

sudo snap install core

Electronic Frontier Foundation(EFF)에서 Certbot 패키지를 설치합니다:

sudo snap install certbot --classic

알고 있으면 좋은 정보: Docker를 사용하여 자신의 WordPress 사이트를 배포하는 방법을 알아보세요.

RSS-Bridge 가져오기 및 빌드하기

홈 디렉토리 내에 새 폴더를 만들고 그 안으로 이동합니다:

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

좋아하는 텍스트 편집기를 사용하여 “docker-compose.yml” 파일을 생성합니다:

nano ./docker-compose.yml

새로운 Docker Compose 파일에 다음 코드 블록을 붙여넣습니다. 이는 사용자 정의 구성을 위한 볼륨이 매핑된 RSS-Bridge의 기본 “docker-compose.yml”입니다:

version: '2'  
  
services:  
  rss-bridge:  
    image: rssbridge/rss-bridge:latest  
    volumes:  
      - /home/$USER/rss-bridge/:/config  
# 루트에서 실행 중인 경우 "/home/$USER/rss-bridge"를 "/root/rss-bridge"로 교체하세요.  
    ports:  
      - 127.0.0.1:3000:80  
    restart: unless-stopped

Docker 컨테이너를 빌드하고 실행합니다:

sudodocker compose up --detach

시스템에서 사용 가능한 모든 컨테이너를 나열하여 RSS-Bridge가 제대로 실행되고 있는지 확인합니다:

dockerps

RSS-Bridge Docker 컨테이너가 제대로 실행되고 있는 터미널.

Nginx를 사용하여 SSL 리버스 프록시 만들기

이제 포트 3000에서 실행 중인 RSS-Bridge 인스턴스가 있습니다. 그러나 사용하려면 먼저 SSL 리버스 프록시를 통해 나가는 연결을 전달해야 합니다.

RSS-Bridge 서버의 IP 주소를 가리키는 새로운 “A” DNS 레코드를 생성합니다. 제 경우에는 RSS-Bridge 인스턴스의 “A” 레코드를 서브도메인 “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” 변수의 값을 서버의 “A” DNS 레코드로 교체합니다.

Nginx에서

사이트 구성 파일을 저장한 후, 이를 “ /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-Bridge 웹 앱 테스트 실행

참고: OpenSSL을 사용하여 자신의 SSL 인증서를 발급받아 웹 암호화에 대해 더 알아보세요.

RSS-Bridge에 사용자 정의 RSS 피드 생성기 추가하기

기본적으로 RSS-Bridge는 16개의 사용자 정의 피드 생성기만 제공합니다. 대부분은 Reddit 및 Twitch와 같은 인기 웹사이트를 다루지만, 이 프로젝트는 Github 저장소에 400개 이상의 사용자 유지 피드 생성기를 제공합니다.

이를 액세스하려면 먼저 Docker 컨테이너를 비활성화합니다:

sudodocker compose down

홈 디렉토리 내에 새 폴더를 만들고 그 안으로 이동합니다:

mkdir ~/git&&cd ~/git

RSS-Bridge 저장소를 새 폴더에 복제합니다:

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

Git 저장소 내의 “bridges” 디렉토리를 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

HTTP 인증으로 RSS-Bridge 보호하기

사용자 정의 피드를 추가하는 것 외에도 인스턴스에 약간의 인증 도전을 포함할 수 있습니다. 이는 익명의 사용자가 웹 앱을 남용하는 것을 방지하는 데 특히 유용합니다.

RSS-Bridge Docker 컨테이너를 끕니다:

sudodocker compose down

Docker 컨테이너의 디렉토리 아래에 새로운 “config.ini.php” 파일을 생성합니다:

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

새로운 구성 파일에 다음 코드 블록을 붙여넣습니다:

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

“username” 및 “password” 변수의 값을 자신의 사용자 이름과 비밀번호로 교체합니다.

인스턴스의 사용자 정의 사용자 이름과 비밀번호를 보여주는 터미널.

구성 파일을 저장한 후, 새로운 설정을 적용하기 위해 컨테이너를 재시작합니다:

sudodocker compose up --detach

참고: 이렇게 하면 인스턴스의 모든 사용자 정의 RSS 피드를 구독하기 위해 사용자 이름과 비밀번호를 추가해야 합니다.

첫 번째 사용자 정의 RSS 피드 만들기

첫 번째 사용자 정의 피드를 만들기 위해 생성기 목록을 스크롤하여 피드를 만들고자 하는 사이트를 찾습니다.

생성기 항목 아래의 더 보기 링크를 클릭합니다.

Github Issue 사용자 정의 RSS 피드 생성기를 강조 표시한 스크린샷.

RSS 피드에 대한 세부 정보를 제공합니다. 제 경우에는 Urbit OS의 Git 저장소에서 현재 열려 있는 모든 이슈를 나열하는 피드를 만들고 싶습니다.

피드 생성을 클릭하여 웹사이트에 대한 사용자 정의 RSS 피드를 생성합니다.

Github Issue 피드 생성기용 사용자 정의 세부 정보를 보여주는 스크린샷.

브라우저의 주소 표시줄에서 전체 RSS-Bridge 주소를 복사합니다.

Firefox의 주소 표시줄에서 강조 표시되고 복사된 주소를 보여주는 스크린샷.

RSS 피드 리더로 가서 클립보드의 링크를 사용하여 새로운 구독 항목을 생성합니다.

새로운 RSS 피드를 테스트하여 피드 리더를 사용하여 새로운 사용자 정의 피드의 내용을 나열합니다.

Linux용 오프라인 RSS 리더인 Newsflash에서 작동하는 사용자 정의 피드를 보여주는 스크린샷.

RSS-Bridge를 설치하여 사용자 정의 RSS 피드를 생성하고 게시하는 것은 디지털 생활을 다시 통제하는 첫 번째 단계입니다. SimpleLogin을 사용하여 자신의 개인 이메일 별칭 서버를 생성하여 자가 호스팅 및 온라인 보호 방법에 대해 더 알아보세요.

이미지 출처: Alejandro Escamilla via Unsplash 및 RSS-Bridge Github. 모든 수정 및 스크린샷은 Ramces Red에 의해 작성되었습니다.