update #1. DB없이 기존 RSS사이트 혹은 php 호출로 동작이 가능합니다.
일전에 작성한 RSS 다운로드용 Web UI가
https://www.clien.net/service/board/cm_nas/12457193CLIEN
어느정도 기능이 동작하여 공유합니다.
제공 기능은 아래와 같습니다.
1. List 출력 및 Paging (다음 검색)
2. Title 검색
3. 두가지 경로로 Download 요청 (/download 혹은 /video/TV/{제목})
4. Download 진행률 표시 및 완료시 Alert
5. Download 취소 및 삭제
아래 github project를 clone하여 build 및 실행하시면 됩니다. (Node.js 설치 필요)
https://github.com/tarpha/torrssen
Transmission 및 PostgreSQL이 설치된 환경에서 동작합니다.
(Table 생성 Script는 포함되어 있습니다.)
해당 환경 설정은 .env 파일에서 불러오도록 구성되었습니다.
설치의 용이성을 위해 Node.js + Nuxt.js로 통일하였습니다.
express.js를 사용하므로 따로 Web Server가 필요없습니다.
해당 스크립트를 실행하면 기본 3000 포트로 Web UI가 기동됩니다.
RSS를 DB로 주기적으로 넣어주는 기능은 이 project에는 포함되어 있지 않습니다.
(전 flexget에서 주기적으로 RSS php를 호출할 때 DB에 넣도록 구성되어 있습니다.)
현재 로그인 기능이 없어 내부 네트워크 용으로 사용하시길 권장드립니다.
차후에 Docker에 필요한 걸 다 설치하면 더 편리하게 구성이 가능하겠네요.
생각해보니 Download 경로가 무조건 제 환경에 맞춰져 있군요. 환경변수로 빼야겠네요.
환경변수 처리하였습니다.
https://global.download.synology.com/download/Document/DeveloperGuide/Synology_Download_Station_Web_API.pdf
자동감지 폴더에 선택한 자료의 .torrent 파일이 다운로드 되도록 구성하면
트랜스미션 없이도 간단하게나마 구성 가능하지 않을까요.
물론 배포용으로 구성하려면 각자 본인의 다운로드스테이션 자동감지 폴더가 어딘지 적용해서 사용
해야하게 하겠지만요.
그러면 제가 심혈을 기울여 만든 다운로드 진행률 및 삭제가 동작하지 않습니다. ㅠ
게다가 마그넷 링크로 된 RSS도 많아서요. 이래 저래 고려할게 많아지네요.
생각해보니 download station도 transmission을 사용하는 것이라 그냥 접속이 될 듯도 하네요.
아무튼, 감사합니다! :D
향후에 Docker로 확장해주시면 한번 도전해보겠습니다.
지금부터는 제가 공부할 시간이네요ㅜㅜ^^
DB 없이 동작 가능하도록 변경하였습니다. (옵션처리)
비슷한 로직으로 ajax로 rss php를 호출하면 DB없이 뿌릴 수 있습니다.
DB사용을 옵션처리로 변경하였습니다. (바로 RSS 사이트 호출)
그리고. Postgres는 시놀 DB가 아닌 자체 DB입니다.
git에 들어가있는 설명을 그대로 따라하기에는 어렵네요 ㅎㅎ...
설정은 rpc접속이 가능하도록 white list를 추가하거나 id, password setting을 하면 되겠네요.
시놀로지를 사용하시면 download station도 transmission 기반이라 rpc 접속이 가능하도록 어딘가에서 설정을 만져주면 될 것 같긴 합니다.
구글에 관련 내용이 있기도 하고요.
하지만 편의성으론 그냥 transmission을 설치하는 편이 더 간단하겠네요.
제가 트랜스미션을 사용하려다.. 약간 포기한 상태라고 보면 될거 같은데요..;;
이유는 다운로드 받은 파일이 nPlayer나 스마트TV 통해서 바로 리스트에 안 뜨더라고요. 찾아보니 시놀로지 나스 자체가 인덱싱에 문제가 있는걸로 보였고, 여러가지 시도 끝에 포기하고, DS files 이용해서 수동으로 파일을 옮겨서 인덱싱 되도록 사용하고 있습니다.
누군가의 블로그를 보고 다음과 같이 구성을 했었습니다 (실패 후 포기한 구성)
1. watch folder: /torrent/_transmission
2. ing folder: /torrent/_incomplete
3. completed folder: /torrent/_completed
이렇게 구성을 했고,
4. 제어판>색인서비스>색인이 지정된 폴더 에 /torrent/_completed 폴더를 추가
5. Append .part incompleted files 옵션을 켜기도 하고 꺼기도 해봄
이렇게 설정을 하면 IP:9091 로 접속되고, 토렌트 파일 올리면 자동으로 받긴하는데...
디바이스에서 미디어 검색이 안 되서, 제어판>색인서비스 들어가서 “색인 재설정”을 누르면 한참 후 미디어 검색되고, 플레이어에서 나오더라고요.
혹시.. 제가 간과한 설정이 있을까요?
가능하시면 고견 여쭙겠습니다~!
혹은 plex로 갈아타시면 자체 스캔합니다.
http://charlie0301.blogspot.com/2016/10/synology-nas-media-server.html?m=1
ftp접속하면 되지 않나요... 무조건 dlna를 이용해야 한다가 아니면야....
1. .env 설정은 빌드후에 바꿔도 되나요? 그러니까 .env 안의 설정을 바꾸면 다시 빌드해야하는지? 아님 다시 start만 해주면 되는건지...
2. rss로 보기는 잘 되는데 트랜스미션 연동이 잘 안되는것 같습니다. 403 실패가 나는걸보면 tmhost 주소나 password 파싱에 문제가 있을것 같은데... 게다가 패스워드에 특문도 들어가 있구요. 보통어떻게 넣어주셨나요? remote에서 쓸때...
3. 다수 rss 주소를 선택하거나 저장경로 pre-define 같은 건 개발 예정에 없겠죠? :)
4. flexget에서 db에 넣을때는 어떤식으로 넣나요? 특별한 방법이 있는지...
- flexget series list 하면 flexget에서 관리하는 리스트를 볼수가 있던데 그 디비를 어떻게 읽어오는 지가 궁금..
2. 아래와 같이 되어 있습니다. 특수문자 가능합니다.
TMHOST=10.0.1.10
TMPORT=9091
TMUSER=user
TMPASSWORD=pa5$w0rd
tf사이트의 경우 link의 주소가 게시물 주소라서 다운로드에 실패할 때에도 403에러가 떨어집니다. 저는 php를 수정하였습니다.
$node = $item_node->appendChild($root_node->createElement("link"));
$node->appendChild($root_node->createTextNode($downloadurl));
#$node->appendChild($root_node->createTextNode($pageurl));
3. 네 현재 버전으로는 저는 다수의 rss를 다 db에 밀어넣고 쓰고 있습니다. 말씀하신 내용 구현은 가능할 것 같네요.
4. flexget에서 호출하는 php에서 바로 db로 넣어버립니다. 지금 웹에 넣어도 될거 같긴 하네요.
https://github.com/tarpha/addInfo
말씀하신 flexget db를 바로 사용하지는 않습니다. (flexget이 sqlite를 사용하니 가능하긴 하겠네요.)
사용하시기에 필요한 부분 있으시면 반영해서 버전 업 가능합니다.
전 flexget에서 task를 하나 만들어서 make_rss 플러그인을 사용해서 일정기간동안의 rss를 출력하고, (이러면 flexget db를 거치기때문에 중복도 어느정도 걸러지고 필드 전환도 가능할 듯) 그걸 가져다 쓸까 싶기도 하고 그러네요. 다만 카테고리/폴더 기능 + 어디에 저장할까 가 조금 걸리는데 더 나은 방법이 없나 생각해 봐야겠어요. 써보면서 더 피드백 남기겠습니다.