본문 바로가기
  • fishing...
  • eating...
ENJOY LIFE

Synology NAS 토렌트 자동 다운로드 설정하기.

by 회색뿔 2019. 10. 11.

  Synology NAS DS218+ 구매 / 설정 후기

가정(개인)용 Synology NAS DS218+

  Synology NAS를 일종의 Media 서버로서의 역할을 기대하며 구매했다. 일단 내가 돈주고 산 영화 파일들을 저장하고 십 수년 동안 촬영한 사진들을 저장하였으며, 모바일기기와 실시간 동기화를 통해 자동으로 백업되는 기능까지 설정가능하다. 

  수 많은 기능이 있고 개발자라면 기능을 개발해서 추가할 수도 있다. 그러한 유용한 기능 중 토렌트를 이용한 다운로드가 있다. 토렌트 시드 파일을 등록하면 해당 파일을 다운로드해 주는 기능이다. NAS에서 토렌트를 사용할 때 가장 좋은 기능은 원하는 동영상을 자동으로 다운로드 받아 주는 기능일 것이다. 요약하면 토렌트 시드 파일 공유 사이트에 새로운 공유 글이 등록되면 RSS 파일이 업데이트 되고 이 RSS FEED를 수집한 후 다운로드 FILTER를 이용하여 필터링 한 결과 파일을 다운로드(저장) 하는 것이다. 

  이 토렌트 자동 다운로드 기능을 활성화 하기 위한 절차를 정리해 보려한다. 

  1. 필요한 3가지 패키지를 설치한다. Web Station, PHP 7.3(이미 Photo Station을 활성화 하였다면 7.0 사용 가능), Apache HTTP Server 2.4를 활성화 한다. 

Web Station의 PHP 설정창의 확장 기능을 열람한다.

 

  2. Web Station의 PHP 설정 탭에서 확장기능 중 curl과 openssl을 활성화 한다. 

<?php
	$url = '[site URL]/bbs/rss.php?k='.$_GET[k].'&b='.$_GET[b];
	$content = get_html($url);
	$content = preg_replace('/&(?![a-z]{2,5};)/', '&amp;', $content);
	
	print_r('<?xml version="1.0" encoding="UTF-8"?>');
	print_r($content);
	
function get_html($url) {
	
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_HEADER, 0);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64; Trident/7.0; rv:11.0) like Gecko" );
	
	$data = curl_exec($ch);
	curl_close($ch);
	
	return $data;
}
?>

  3. 위 코드를 복사하여 [File Station]\web\에 저장한다.

  4. Download Station에서 3.에서 저장한 파일이름을 참조하여 URL을 등록한다. 
    ex) http://localhost/rss.php?k=720p-next
         http://127.0.0.1/rss.php?k=720p-next
     '자동으로 모든 항목 다운로드'는 활성화 하지 않는다. 금세 디스크가 꽉차는 참변이 일어날 수 있다.

  5. 위 처럼 리스트가 확인된다면 4번까지의 절차가 정상적으로 진행 된 것이다.

  6. 다운로드 필터를 사용하여 원하는 키워드를 등록한다. 더 세세하게 필터링을 하고 싶다면 아래 주소를 참조해 보기를 추천한다.

정규식 생성기 : https://leekd123.tistory.com/91

 

정규식 생성기

다운로드 스테이션에서 정규식 만드는데 개발자들은 대부분 익숙하게 사용하지만 비개발자분들은 어려워 하시는 분들이 많은 것 같아서 한번 만들어 봤다. 사용법 1. 위쪽 텍스트 박스에 한줄에 한개씩 제목을 넣..

leekd123.tistory.com

  7. RSS 피드 갱신 시간을 설정한다. 

  위 절차대로 수행하여 RSS FEED를 생성 등록하여 자동으로 다운로드가 가능하다.

  굳이 RSS를 제공하는 토렌트 사이트에서 번거롭게 PHP 파일을 생성하여 이용하는 이유가 무엇인지 궁금하여 여러 날을 검색 해보았는데, 결국은 사이트에서 제공하는 RSS의 XML 문자열 중간에 & 문자가 문제로 이를 이스케이프 문자로 변경해 주는 코드가 필요한 것이다. 그일을 PHP 파일이 도와준다.

 

시놀로지 DiskStation NAS DS218