Sign inSign up

acidpop/synobot

By acidpop

•Updated over 4 years ago

Synology Download Station Telegram Bot

Image
6

1M+

acidpop/synobot repository overview


⁠0.14 (2022/06/15)
  • OTP Secret Key 에 잘못된 값이 입력 되는 경우 오류 수정
⁠0.13 (2021/10/05)
  • OTP 자동입력 기능 추가 설정 방법⁠

  • 로그인 풀리는 경우 자동으로 다시 로그인(ID, PW 까지는 자동 입력, 2단계 인증이 설정 되어 있고 DSM_OTP_SECRET 비밀키까지 입력이 되어 있다면 자동으로 로그인)

  • DSM 연결 실패시 실패 메시지 전송 기능 추가

⁠0.12 (2021/07/10)
  • DSM 7.0 에서 OTP 로그인 안되는 오류 수정
⁠0.11 (2020/10/23)
  • DSM 7.0 또는 Download Station 을 2020년 10월 20일 전후로 업데이트 한 경우 에 대한 기능 변경

  • 텔레그램으로 파일 전송시 watch_dir 로 업로드 하도록 기능 변경

  • DSM_WATCH 환경 변수 추가, Torrent Watch 경로를 마운트 한 전체 경로명 설정 방법⁠

  • "알수 없는 에러" 알림 보내는 부분 수정

⁠0.10 (2020/09/11)
  • DSM 7.0 에서 작동하지 않는 문제 수정

  • 현재 DSM 7.0 과 synobot 0.10 버전에서 토렌트 파일을 텔레그램으로 전달시 작업 등록이 되지 않는 이슈가 있습니다.

  • /task 명령 추가 (다운로드 스테이션에 작동중인 작업 목록 조회, ID, 이름, 크기, 상태, 다운로드 된 크기, 업로드 된 크기, 다운로드 속도, 업로드 속도)

  • /stat 명령 추가 (다운로드 스테이션의 네트워크 속도 정보 조회, 다운로드 속도, 업로드 속도)

⁠0.9 (2020/06/02)
  • Download Station 상태 일림 메시지에서 Torrent 제목에 Markdown 문법이 포함 되는 경우 오류가 많아 Markdown 형식 삭제
⁠0.8 (2020/05/22)
  • 사설 인증서 사용시 전달 받은 토렌트 파일 등록이 실패 하는 오류 수정

  • 사설 인증서 사용시 warning 로그가 계속 출력 되는 부분 수정

  • 작업 삭제시 삭제 된 작업 목록을 계속 가지고 있었던 오류 수정

  • TG_LANG 환경변수 추가로 로컬라이징 지원, (ko_kr, en_us), 따로 설정하지 않으면 ko_kr 로 작동

⁠0.7 (2020/05/19)
  • DSM_AUTO_DEL 환경 변수 추가, 기본값은 0이며 작업 완료시 자동 삭제가 필요하면 1 로 변경해서 사용

  • Download Station 자동 삭제 기능 추가

⁠0.6 (2020/05/18)
  • DSM_PW 환경 변수가 없는 경우 Docker 가 시작 하지 못 하는 오류 수정

  • 텔레그램 봇에 /dslogin 명령 추가 (재 로그인 시도 명령)

  • 2단계 인증 지원 (OTP)

  • 로그인 코드 전체 변경

  • DSM_CERT 환경 변수 추가 (https 사용시 인증서 불일치인 경우 해당 값을 0으로 변경 해서 사용)

⁠0.5 (2019/09/03)
  • DS Download 알림 시 Markdown 문법 제거

  • LOG 관련 환경 변수 제거

⁠0.4 (2019/08/30)
  • Torrent 제목에 [] 중괄호가 포함 되어 있는 경우 오류 수정

  • 다운로드 중 삭제시 오류 케이스 수정

⁠0.3
  • 언어팩 관련 준비 (SYNO_LANG 환경 설정에 따라 언어팩 로딩)

  • 다운로드 취소시 중복 메시지 발생 오류 수정

⁠0.2
  • request 예외 처리
⁠0.1
  • synobot 최초 버전

⁠Synology DSM Download Station Task Monitor and Create Task Magnet, Torrent File

⁠synobot 기능

synobot 은 다음과 같이 간단한 기능만 제공 합니다.

  1. Download Station 작업 목록 Telegram 알림,
  • 알림 기준
    • 최초 작업 등록 후 받을 사이즈가 0이상인 경우
    • 상태 값이 바뀌는 경우 (다운로드중 -> 완료)
    • 작업 목록이 삭제 되는 경우
  1. Magnet 링크 지원
  • Telegram BOT 에 magnet 링크를 보내면 Download Station 에 등록 합니다.
  1. Torrent 파일 지원
  • Telegram BOT 에 Torrent 파일을 전송 하면 Download Station 에 등록 합니다.
  1. /dslogin 명령 지원
  • Telegram BOT 에 /dslogin 커맨드를 전송 하면 로그인을 재시도 합니다.

⁠도커 설치시 환경 변수에 다음 값을 설정 해야 합니다.

텔레그램 알람을 받을 사용자 chat id (여러명을 사용해야 하는 경우 ,콤마로 구분되며 공백이 없어야 합니다)

TG_NOTY_ID 12345678,87654321

텔레그램 봇 토큰을 입력합니다

TG_BOT_TOKEN 186547547:AAEXOA9ld1tlsJXvEVBt4MZYq3bHA1EsJow

텔레그램 봇 명령 사용시 허용 할 사용자의 chat id, 여러명 허용시 ,콤마로 구분되며 공백이 없어야 합니다

TG_VALID_USER 12345678,87654321

DSM 로그인 할 사용자 ID를 입력합니다.

DSM_ID your_dsm_id

DSM 에 로그인 할 ID 를 입력합니다

TG_DSM_PW_ID 12345678

Download Station 에 로그인시 암호를 물어 볼 Telegram 사용자의 chat id를 입력합니다.

DSM_URL https://DSM_IP_OR_URL

DSM URL, http 또는 https 까지 모두 포함하여 입력하고 포트는 제외해야 합니다

예시) 올바른 예 - https://www.dsm.com⁠

잘못 된 예 - https://www.dsm.com:8000⁠

DS_PORT 8000

DSM 제어판 -> 응용 프로그램 포털 -> Download Station 의 포트를 입력합니다.

DSM_URL 에 입력한 http 또는 https 에 맞춰서 입력하셔야 합니다.

SYNO_LANG ko_kr

synobot 언어팩 설정입니다. 현재 버전에는 ko_kr 버전만 지원 합니다.

DSM_CERT 1

DSM_URL 에 https 사용시 DSM 인증서가 도메인과 일치하지 않는 경우에 사설 인증서를 사용 가능하도록 하는 환경 변수입니다.

사설 인증서를 사용 한다면 값을 0 으로 사용하시면 됩니다.

DSM_OTP_SECRET "VFGW"

DSM 2단계 인증 설정시 비밀 키의 값을 입력

설정 방법⁠

TZ Asia/Seoul

Synobot 도커가 작동하는 지역의 시간대 설정

링크(https://en.wikipedia.org/wiki/List_of_tz_database_time_zones⁠) 의 TZ database name 에 해당 하는 값을 사용

DOCKER_LOG

Synobot 도커의 로그를 컨테이너 상세보기의 로그 탭에서 확인 할 수 있도록 설정

1 : 컨테이너 로그 화면에서 확인 가능

0 : 도커 내부의 로그 파일에만 기록


DSM_PW 환경 변수가 없는 경우에는 synobot 도커가 재시작 될 때마다 텔레그램 봇이 DSM 로그인 암호를 요청합니다.

synobot 은 사용자 암호를 어느곳에도 저장하지 않습니다.

텔레그램 봇으로 전달 받은 암호 메시지는 수신 즉시 봇이 삭제 합니다.

매번 암호 입력하는것이 번거러운 경우 DSM_PW 환경 변수에 DSM 로그인 암호를 추가 하면 해당 암호를 이용하여 DSM 에 로그인합니다.

DSM_PW 환경 변수를 + 버튼을 클릭하여 직접 입력해주셔야 합니다

DSM_PW your_dsm_password


Synology Docker 에서 다음과 같이 화면에서 세팅하면 됩니다.

synobot_config_1

synobot_config_2

synobot_config_3


  • Tip

Telegram 사용자의 chat id 알아내기

chat id 알아내기⁠


synobot 안내 문구 커스터마이징 하기

  1. DSM 의 터미널에 접속 한 후 sudo -i 명령으로 root 권한으로 로그인.

  2. docker ps -a 명령으로 현재 실행 되어 있는 synobot의 Container ID 값을 알아낸다.

  3. docker exec -it {Container ID} /bin/bash 명령으로 Docker 내부에 접속한다.

  4. apt-get update

  5. apt-get install vim

  6. vim 으로 ko_kr.json 파일을 열어 문구를 알맞게 수정 한다.

  7. synobot 도커 재시작


⁠Torrent Watch 경로 설정하기

⁠Download Station 에서 설정 -> 위치 -> Torrent/NZB 감시 폴더를 먼저 설정 하셔야 합니다.

0.11 버전에서 신규 추가 된 DSM_WATCH 환경 변수를 설정 하는 방법은 다음과 같다.

  1. 고급 설정 버튼 클릭

synobot_config_4

  1. 볼륨 탭 선택 후 폴더 추가 버튼 클릭

synobot_config_5

  1. Download Station 에서 설정한 watch 경로를 선택

synobot_config_6

  1. 마운트 경로 부분에 /tor_watch 입력

synobot_config_7

  1. 환경 변수 설정 탭에서 DSM_WATCH 변수의 값에 /tor_watch 입력

synobot_config_8

⁠OTP 설정하기

0.13 버전에서 신규 추가 된 OTP 자동 입력 기능 설정 방법은 다음과 같다.

  1. 게정 설정에서 2단계 인증 추가를 클릭한다.

  2. QR 코드 스캔 화면이 나오면 "스캔 할 수 없습니까" 를 클릭한다.

synobot_config_9

  1. 비밀 키에 해당 하는 값을 기록 해 둔다.

synobot_config_10

  1. Synobot 의 Docker 세팅시 DSM_OTP_SECRET 환경 변수에 해당 비밀키를 입력한다.

문의 사항은 github synobot Repository 를 이용해 주세요

synobot github⁠

Tag summary

Content type

Image

Digest

Size

346.6 MB

Last updated

over 4 years ago

docker pull acidpop/synobot