오라클 클라우드로 토렌트 자동 다운로드하고 나스로 전송하기

esk8er

서버포럼 자료 덕분에 918+ 헤놀로지 나스 구축하고 도커에 NPM 올려서 와일드카드 도메인 자동갱신도 잘 설정한 상태로 이용중입니다.

 

거기에 도커 트랜스미션으로 영상도 받아서 젤리핀으로 트랜스코딩 호작질도 해봤는데 별로 마음에 안 들어서 내부망은 SMB, 외부망은 Webdav 연결해서 MXplayer나 Nplayer로 영상을 잘 보고 있습니다.

 

혼자 사용한다면 이렇게만 사용해도 되긴한데 컴퓨터나 토렌트 사용할 줄 모르는 가족이 보고 싶은 영상을 바로 볼 수 있도록 나스로 토렌트 자료를 자동으로 받는 세팅을 추가했습니다.

 

찾아보니 작년만해도 국내 토렌트 사이트 자료도 공개적인 RSS로 자동으로 받아볼 수 있었는데 지금은 막혀서 안 되고, SJVA 라는 회원제 사이트는 비밀결사 조직 같은 곳으로 소수정예 이용이라 이것도 걸러줍니다.

결국 파이썬 스크립트로 토렌트 사이트를 크롤링해서 받아보는 방법이 남네요.

 

 

토렌트(마그넷) 자동 다운로드 프로젝트 - torrent_web_scraper
https://devinlife.com/project%20torrnet_web_scraper/torrent-web-scraper/
https://github.com/devinlife/torrent_web_scraper
토렌트 자동 다운로드 프로젝트 - torrent_web_scraper 실행 환경
실행 OS : 윈도우, 리눅스(우분투, 라즈비안) 등
실행 언어 : Python3

 

윗분의 자료를 베이스로, 설정을 웹 페이지에서 좀 더 편리하게 변경하고 쓸 수 있는 버전도 있더군요.

 

Torrent Scraper 2.0
https://hub.docker.com/r/istandthon7/torrentscraper
https://github.com/istandthon7/torrent_web_scraper


Torrent Scraper 2.0 설치와 토렌트 매니저 설정
https://www.youtube.com/watch?v=rawX0JXnqac

 

이렇게 시놀로지 나스에 도커로 올리는 영상 가이드도 있습니다.

위 두 게시물 잘 읽어보시면 토렌트 사이트 시사/교양 게시판에서 [시사교양프로이름 1080p 릴그룹] 자료를 자동으로 트랜스미션 전송 목록에 추가해주는 토렌트 웹 스크래핑 세팅은 쉽게 가능합니다.

 

 

시놀로지 나스에 트랜스미션이나 qbittorrent 가 해외VPN 연동해서 세팅된 분은 이렇게만 사용하셔도 되겠지만...

 

국내 법무법인의 토렌트 파일 공유 내용증명 합의금 공격을 방어하고 보다 안전하고 편리하게 이용하기 위해,

기존 나스에서 바로 트랜스미션을 돌려서 토렌트로 영상을 받는 환경에서 해외 클라우드 서버에서 토렌트를 돌리고 결과물 영상 파일만 나스로 전송하는 방식으로 바꿨습니다.

 

해외VPN 연동해서 토렌트를 돌리는 것보다는 해외 클라우드에서 직접 다운로드 받는게 안정적인것 같네요.

 

오라클 클라우드 ARM A1 프리티어가 4Core/24GB RAM/ 200GB 까지 무료고 위 목적으로 사용하면 트래픽은 월 5TB까지 가능합니다.

 

오라클 클라우드 일본 리전에 ARM A1 4Core/24GB RAM/ 200GB 우분투 인스턴스 만들고 도커 NPM, 와일드카드 인증서 세팅, 도커 트랜스미션, 도커 Torrent Scraper 2.0 이렇게 올리고

 

docker exec -t [Torrent Scraper 2.0 도커 이름] tom

을 crontab에 20분 마다 실행되도록 설정해서

20분마다 토렌트 게시판을 확인해 설정해둔 영상을 자동으로 다운받고

 

헤놀로지 나스 공유폴더에 rclone Webdav로 연결해 오라클 클라우드에서 나스로 자동으로 이동되도록 세팅했습니다. 

 

###  Torrent Scraper 2.0 도커 ARM 태그 지원합니다.

https://hub.docker.com/layers/istandthon7/torrentscraper/2.0.00-beta2.11-arm64/images/sha256-f656596148e265b65d1fadf1b42d5900ff5e8620f7b89f3921ce753501bcafa3?context=explore

도커 Torrent Scraper 2.0 이미지가 원래 ARM 태그는 없었는데 요청드리니 ARM 태그를 바로 추가해주셔서 ARM A1 인스턴스에서도 사용할 수 있게 되었습니다.

추가 안 해주셨으면 ARM A1 인스턴스에서는 파이썬 스크립트로만 돌려야되니 좀 불편했는데 도커로 돌리니 훨씬 편하고 좋네요.

istandthon7 님께 이 자리를 빌어 감사드립니다.

 

 

나스 공유 폴더에 토렌트 결과물만 자동으로 전송되니 좋네요.

헤비 업로더가 아니고, 국제공조수사 당할만한 자료만 공유하지 않는다면 마음 편하게 사용할 수 있는 방법인 것 같습니다.

 

 

### 개선 필요한 점

Torrent Scraper 2.0 사용중인데 지금은 변경되는 토렌트 사이트 주소를 수동으로 반영해줘야 합니다. 개발자님이 차기 버전에서 클라우드플레어 리다이렉팅 된 업데이트 주소를 자동으로 읽어오는 기능을 구현  준비중이라고 하시니 그 때까지는 며칠에 한 번씩 사이트 관리 페이지에서 수동으로 도메인 주소 숫자 증가를 반영해주어야합니다.

 

지금은 세팅해놓고 며칠 지나서 토렌트 자동 자운로드가 안 되어 로그를 보면 

토렌트사이트100.com 이런 주소에서 토렌트사이트101.com 이렇게 주소가 변경되어, 토렌트 스크래퍼 로그에  토렌트사이트100.com 접속 오류가 쌓여있습니다.

이걸 해결할 방법만 있으면 완벽할 것 같은데 어렵네요.

 

https://github.com/devinlife/torrent_web_scraper

를 사용하면 git pull로 변경되는 주소를 자동으로 반영할 수 있지만 해당 깃헙에 지정된 사이트로만 고정이라 아쉽고,

 

Torrent Scraper 2.0은 웹에서 바로 설정 변경해서 사용하기는 편한데 사이트 주소를 수동으로 변경해줘야 하는 불편함이 있습니다.

윈도우 같으면 오토핫키 돌려서 토렌트사이트100.com에서 토렌트사이트101.com로 리디렉션 되는걸 감지해서 Torrent Scraper 2.0 설정 페이지에 반영하도록 할 수 있겠는데 리눅스 상에선 어떻게 해야할지 감이 안 오네요.

 

토렌트사이트100.com

토렌트사이트101.com

토렌트사이트102.com

이런식으로 사이트 주소가 순차적으로 변경되는 규칙성이 있어서 그걸 이용하거나

 

변경되는 주소만 안내해주는 외부 블로그가 있는 곳에서 주소를 받아와서 반영할 수 있는 방법이 있으면

신경꺼놔도 완전 자동화가 되니 참 좋을 것 같은데 공부해봐야겠네요.

 

현재는 기본 사이트 외에 다른 사이트를 추가로 등록해 2개 사이트에서 동시에 받아오도록 해두고 있습니다.

한 사이트 주소가 변경되더라도 다른 한 사이트로 커버가 되니 며칠간 접속해서 주소를 바꾸어 주지 않아도 자료는 잘 받아지고 있기는한데 근본적인 해결책이 아니라 아쉽긴합니다.

 

 

 

###

헤놀로지 서버 구축부터 도커 사용, NPM 세팅, 트랜스미션, 오라클 클라우드 A1 인스턴스, 우분투 등 위 글에서 필요한 모든 내용은 다 서버포럼에서 검색으로 찾을 수 있습니다. 달소님을 비롯해 하나하나 친절하게 정리해주신 모든 분들께 감사드립니다.

 

 

 

### P.S

헤놀로지 나스에 rclone Webdav로 연결해 오라클 클라우드에서 나스로 영상 파일이 자동 이동되도록 세팅할 때 문제가 있더군요.

rclone으로 헤놀로지 나스 공유폴더를 마운트해서 나스로 파일을 옮겨봐도,

rclone move나 rclone moveto로 나스로 파일을 옮겨봐도 1MB 미만 파일은 잘 이동되는데 그 이상 크기는 안 되어서 이유를 보니

413 Request Entity Too Large 오류 때문이네요.

NPM 프록시 설정에 

client_max_body_size 0;

옵션을 추가하니 해결되었습니다.

 

413 Request Entity Too Large #914
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/914

At the Edit Proxy Host window, click Custom locations and click the gear button, set the following attributes to an appropriate value
it works, when set the advanced tab

client_max_body_size 0;

 

나스에 jlesage/nginx-proxy-manager 이미지를 사용중일 때는 이런 문제가 없었는데

오라클 클라우드 인스턴스에는 jc21/nginx-proxy-manager 이미지로 사용중인데 이 차이 때문인가 싶기도 하네요.

애초에 이런 문제가 안 생기게 그냥 sFTP로 연결하는게 나을것 같기도 합니다만 Webdav로 연결하실 분은 참고하세요.

.

적용중인 도장이 없습니다.

* 가입일 : 2022-09-06

최근댓글 모음

하드를 몇 개나 사용하실건지, 공간은 중요한 문제인지에 따라 가격차이가 많이 납니다. 나스용 케이스들은 예쁘고 부피가 작아 공간활용이 좋은 대신 매우 비싸고, 주로 itx 보드용이다보니 기존 보드 활용하시려면 잘 보고 구매하셔야합니다. 공간 제약만 없다면 일반 케이스 중 3.5인치 하드디스크 많이 들어가는 케이스 추천합니다. NFS 마운트 하실 때 보안은 어떻게 처리하셨는지 알 수 있을까요? 속도 자체는 NFS가 제일 나은데 아무래도 프로토콜 특성상 내부망을 염두에 두고 만든거라 보안에는 좀 그렇더군요. 올려주신 글은 예전에 보았는데 중간쯤 *추후 토렌트 사이트 주소 변경 시 수동으로 숫자 변경 (ex. 62.com -> 63.com) 이렇게 되어있어서 도메인 넘버링 자동증가가 안 되는줄 알았습니다.   오라클 클라우드를 4C/24G 로 만들어놔서 계정을 하나 더 파야 Tsharp을 시도해볼텐데 가족 카드는 다 거부네요. 오라클 고시 합격하면 Tsharp 시도해보겠습니다. 혼자 쓸 때는 궂이 다운로드 받지 않고 웹에서 스트리밍으로 바로 보았는데 토렌트 사용할 줄 모르는 부모님이 편하게 쓰려니 자동 다운로드 밖에 답이 없네요. 자동으로 다운로드 받게 설정해두고, 3주정도 지나면 자동으로 삭제되도록 스크립트 이용하니 편안합니다. 오라클 클라우드 프리티어가 열일하네요. 감사합니다. 서버포럼에서 찾아보면 답이 다 있었네요. 아직 설치는 해보지 않고 TSharp 자료 찾아보면서 둘러보고 있는데 Notice 본 이미지는 amd64 이외 아키텍처에서의 동작을 보증하지 않습니다. 라고 되어있어서 잠시 멈칫했다가 도커 태그 보니 aarch64 linux/arm64/v8 이미지가 있네요. 오라클 클라우드 계정 하나 더 파서 시도해봐야겠습니다. 도메인 넘버링 자동 증가기능이 참 기대되네요.  
* 총 게시글 수 : 1
* 총 댓글 수 : 5
* 추천받은 게시글 개수 : 1
* 추천받은 댓글 개수 : 1
댓글
14
  • 나린이2
    2022.10.05

    반야자비님의 T# 도커 추천합니다.

    It's Torr 이용해서 RSS 가져오고 주소변경에 대해서도 도메인 넘버링 자동 증가기능이 추가되어있습니다.

    Torrssen2 통해서 웹으로 토렌트 리스트 확인 및 자동 다운로드 가능하며 트랜스미션 모듈까지 모두 포함되어있습니다.

    https://www.clien.net/service/board/cm_nas/16430755?po=0&sk=title&sv=TORR&groupCd=&pt=0

    https://hub.docker.com/r/banyazavi/tsharp

  • 나린이2
    esk8er
    작성자
    2022.10.05
    @나린이2 님에게 보내는 답글

    감사합니다. 서버포럼에서 찾아보면 답이 다 있었네요.

    아직 설치는 해보지 않고 TSharp 자료 찾아보면서 둘러보고 있는데

    Notice

    본 이미지는 amd64 이외 아키텍처에서의 동작을 보증하지 않습니다.

    라고 되어있어서 잠시 멈칫했다가 도커 태그 보니 aarch64 linux/arm64/v8 이미지가 있네요.

    오라클 클라우드 계정 하나 더 파서 시도해봐야겠습니다.

    도메인 넘버링 자동 증가기능이 참 기대되네요.

     

  • 달소
    2022.10.05

    좋은 팁 감사드립니다.

    저같은경우 매번 수동으로 작업중인데,, 자동화도 한번 고려해봐야겠네요!

  • 달소
    esk8er
    작성자
    2022.10.06
    @달소 님에게 보내는 답글

    혼자 쓸 때는 궂이 다운로드 받지 않고 웹에서 스트리밍으로 바로 보았는데 토렌트 사용할 줄 모르는 부모님이 편하게 쓰려니 자동 다운로드 밖에 답이 없네요. 자동으로 다운로드 받게 설정해두고, 3주정도 지나면 자동으로 삭제되도록 스크립트 이용하니 편안합니다. 오라클 클라우드 프리티어가 열일하네요.

  • theb1ue
    2022.10.06

    ARM용으로 banyazavi/tsharp:aarch64 올리고 rss 주소만 바꿔주면 잘 됩니다. 실제 사용중이에요^^

  • theb1ue
    theb1ue
    2022.10.06
    @theb1ue 님에게 보내는 답글

    https://m.clien.net/service/board/cm_nas/16726795?combine=true&q=T%20sharp%20arm&p=0&sort=recency&boardCd=&isBoard=false

  • theb1ue
    theb1ue
    2022.10.06
    @theb1ue 님에게 보내는 답글

    https://svrforum.com/321026

  • theb1ue
    esk8er
    작성자
    2022.10.06
    @theb1ue 님에게 보내는 답글

    올려주신 글은 예전에 보았는데 중간쯤

    *추후 토렌트 사이트 주소 변경 시 수동으로 숫자 변경 (ex. 62.com -> 63.com)

    이렇게 되어있어서 도메인 넘버링 자동증가가 안 되는줄 알았습니다.

     

    오라클 클라우드를 4C/24G 로 만들어놔서 계정을 하나 더 파야 Tsharp을 시도해볼텐데 가족 카드는 다 거부네요.

    오라클 고시 합격하면 Tsharp 시도해보겠습니다.

  • esk8er
    theb1ue
    2022.10.06
    @esk8er 님에게 보내는 답글

    계정을 또 팔 이유가 없다고 설명 드린 거에요 ㅎㅎ 저도 arm 버전에서 tsharp 돌리고 있습니다.

  • theb1ue
    2022.10.06

    1. 나스에 오라클 특정 폴더를 nfs 마운트

    2. 나스에 t sharp 깔고 다운로드 폴더를 1에서 마운트 한 폴더로 지정

    3. 다운로드 완료 후 나스 내 다른 폴더로 이동하도록 tsharp transmission 에 완료 스크립트 설정

    이렇게도 되는데 편한 방법으로 하세요~

    저도 결과적으론 작성자님 처럼 오라클로 다운로드 폴더들을 설정해둬서 최대한 제 하드를 혹사시키지 않도록 세팅해두고 쓰고 있어요 ㅎㅎ

  • theb1ue
    esk8er
    작성자
    2022.10.06
    @theb1ue 님에게 보내는 답글

    NFS 마운트 하실 때 보안은 어떻게 처리하셨는지 알 수 있을까요? 속도 자체는 NFS가 제일 나은데 아무래도 프로토콜 특성상 내부망을 염두에 두고 만든거라 보안에는 좀 그렇더군요.

  • esk8er
    theb1ue
    2022.10.06
    @esk8er 님에게 보내는 답글

    https://blog.dalso.org/article/oracle-cloud-torrent-nfs-xpenology

    달소님 가이드대로 서버IP만 오라클에서 접속할 수 있도록 열어주면 따로 보안은 걱정하지 않아도 될꺼 같아요

  • DarkAcid
    2022.10.23

    저는 일일이 수동으로 돌리고 있었는데 능력자분들이 이미지도 만들어 두셨군요!

  • 지딱코

    저도 토렌트 사용에 대한 여러 제약땜에 고민이었는데 토렌트 서비스를 해외 리전에 설치하는 방법을 사용하셨네요.

    저도 오라클 클라우드에 아예 설치하려다가 저장된 파일을 다시 옮기는 수고가 싫어서 포기하고,

    그대신 오라클 클라우드에 wireguard vpn 설치해서 Transmission 컨테이너가 wireguard 네트워크를 사용하도록 설정해서 해결했습니다. 즉, 오라클 클라우드를 wireguard 서버로 사용하는 방식입니다.

     

    그리고 토렌트 사이트를 연결해주는 인덱스 서비스로는 jackett이 있습니다.

    jackett에 카테고리별로 대표적인 무료/유료 토렌트 사이트가 수백개 등록되어 있어서 용도에 맞게 선택하시면 해당 사이트의 토렌트 목록을 검색할 수 있습니다.

    그렇다고 jackett이 뭔가 대신 해주는건 아니고 jackett과 Transmission 사이에 브로커 서비스가 있어야 합니다.

    영화 - radarr

    TV드라마 - sonarr

    이북/만화 - lidarr 등등

     

    이 브로커 서비스의 기능이 막강합니다.

    - 토렌트 사이트 검색(jackett으로 부터)

    - 영화(드라마 등) 프로필(국가, 언어, 해상도, 확장자, 용량)에 따른 맞춤 정보 제공 및 자동 다운로드 예약(토렌트 서버로 전달)

    - 파일명 자동 변경 (예 : 제목-출시일-해상도)

    - 완료된 파일 원하는 위치로 이동 (기존 파일 삭제 여부 설정 등)

    - 이미 다운받은 파일보다 향상된 버전이 있을 경우 교체 등등등

     

    transmission(또는 여타 토렌트 서비스)  + radarr(또는 sonarr, lidarr...) + jackett 조합으로 활용하시면 거의 업체(?) 수준으로 운영하실 수 있습니다.

     

    linuxserver에 가보시면 radarr, sonarr, jacket이 별점과 다운로드수 상위를 기록하고 있습니다.

     

     

    스크린샷 2022-10-23 오후 10.26.51.png.jpg

댓글 쓰기
권한이 없습니다.