현재 운용중인 Plex Media Server의 컨텐츠 업로드 시 활용하기 위한 용도.
토렌트 다운로드 프로세스의 비효율성 발생
- 미디어 업로드 요청 발생
- 토렌트 사이트 검색
- 토렌트 마그넷 복사 or 토렌트 파일
- Transmission을 통한 다운로드
- [User] Telegram Bot을 통해 검색어 입력
- [Bot] 토렌트 사이트 검색 결과 Telegram에 리턴
- [User] inline_keyboard 검색결과 선택
- [Bot] Transmission Magnet 주소를 통한 다운로드 Queue 추가
- Telegram Bot Api
- Telegram App
- NodeJS Web Server
- NodeJS Web Crawler
- Transmission-remote-cli
- 노드에서 유닉스 명령어 실행하기
- 자바스크립트 replace / replaceall
- 텔레그램 봇 인라인 키보드 샘플소스
- 텔레그램 봇 키보드 콜백 샘플소스
- 텔레그램 봇 + 노드 기본개념잡기
- 텔레그램 봇 토렌트 연동 - 파이썬
- 텔레그램 봇 토렌트 연동 - 개념잡기
- 노드JS 기본개념잡기 - 웹어플리케이션
- 노드JS 크롤링
- Telegram Api - NodeJS
- 텔레그랫 봇 만들기
-
Telegram 봇 생성
-
Telegram 봇 실행
-
NodeJS 설치 및 실행
-
개발환경 설정
- Atom - Remote-FTP 연결
-
Node-Telegram 봇 NPM 설치
-
Telegram Bot -> Node 서버로 요청
- Node 서버설정
- Telegram Bot API 사용
- Request
- Telegram Bot -> Node Server로 요청
- Response
- Node Server -> Telegram Bot 으로 응답
- Request
-
토렌트 크롤러 제작
- Scraping.js
- URL
- ID 가 반드시 필요함
- input : 검색어 메세지
- output : 게시물 ID
- URL
- Magnet parser
- input : 게시물 ID
- output : 마그넷 주소
- Transmission Application
- input : 마그넷 주소
- output : 토렌트 다운로드 시작 명령어 구동
- Scraping.js
-
Telegram Bot - Crawler 연동
- Request
- Telegram Bot -> Node Server로 요청
- 검색어 크롤링
- 리스트 리턴
- 텔레그램 이벤트 콜백
- 해당 내용에 대한 토렌트 파일 검색 및 다운로드
- transmission-remote -a magnet:?xt=urn:btih:7C82433685A1C8B65649836818C9783881FE6A47
- sh
- Response
- Node Server -> Telegram Bot 으로 응답
- 다운로드가 시작되었습니다
- 다운로드가 완료되었습니다
- 참고자료
- Request
-
2차
- 다운로드 후 스탑기능 추가
- 다운로드 컨펌창 추가
- 현재 다운로드 현황
- 용량 밸리데이션