라즈베리파이3

OSMC - KODI, transmission, 토렌트 비서(텔레그램), samba 설정

타카스 류지 2017. 9. 5. 10:48

라즈베리파이3 셋팅해보자...

kodi 를 기준으로 여러가지 미디어 버전이 있는데

그중 openelec, libreelec 이건 버려야됨 -_- apt-get 명령어도 안되고

자체가 root 계정이라 암호 변경도안됨.

할려면 개인키 만들어서 하라고 합니다. 엿먹으라는!!!


라즈비안으로 올려서 kodi 를 사용해보니 일단

라즈비안으 메인으로 올라가도 그닥 버벅임은 없었지만

kodi 해상도를 전부 지원을 못해줌 ..왜그런지는 모르겠네요...


결국 OSMC 로 선택 아주 필요한건 다 깔아서 쓰니 잘되네요



여기서 소개할껀 


KODI 자막 폰트, transmission, 텔레그램으로 토렌트 비서사용, samba 설정등이 있음


SD 카드는 8기가로 사용함


아래 사이트 접속

https://osmc.tv/


인스톨러 윈도우 버전으로 다운 받으면 됨

http://download.osmc.tv/installers/osmc-installer.exe


펌웨어는 가장 최신꺼로 사용함

http://download.osmc.tv/installers/diskimages/OSMC_TGT_rbp2_20170803.img.gz


SD 카드에 설치후

라즈베리에 꼽은후 부팅을 시키면

OSMC 화면이 뜨고 인스톨이 한참 진행후 설정화면으로 넘어감


초기 언어는 korean 으로 잡고 시작. 물론 한글이 깨져서 나오겠지만

그렇게 안하면 애드온을 추가해야되는 상황이 발생됨

초기 스킨은 OSMC 스킨 말고  kodi 스킨으로 하세요 그게 편헤요

ssh 활성화 시키고 진행시키면됩니다.


메인화면으로 넘어가면 글짜가 깨져서 나옵니다.


kodi 스킨으로 하셨으면 


왼쪽위 톱니바퀴(Setting) 클릭 - 왼쪽 두번째 라인 1번 아이콘(Appearance) 클릭 - 왼쪽 1번 메뉴(Skin) - 오른쪽 Fonts 클릭 Arial  로 변경



Setting-->Appearance-->Skin-->Fonts 에서 Arial


하면 글이 정상적으로 나와요(이미 작업을 다 해둔 상태라 스샷은 언제 새로 넣을지 ..;;;;)


기본 비밀번호는


osmc / osmc  입니다.


-$ sudo passwd


암호 먼저 변경 하시고


-$ sudo passwd root


root 계정도 암호를 변경 합니다.



■■■■ ssh 터미널 전체 한글 설정 ■■■■


-$ sudo dpkg-reconfigure locales


ko_KR.UTF-8  <-- 찾아서 선택(space) 엔터





-$ sudo nano ~/.profile


내용 마지막줄에


export LC_ALL=ko_KR.UTF-8

export LANG=ko_KR.UTF-8

export LANGUAGE=ko_KR.UTF-8


추가후  컨트롤+O, 컨트롤+X



■■■■ kodi 폰트 작업 ■■■■


-$ sudo apt-get install fonts-nanum

-$ sudo cp /usr/share/fonts/truetype/nanum/NanumGothic.ttf /usr/share/kodi/addons/skin.osmc/fonts/

 

-$ sudo vi /usr/share/kodi/addons/skin.osmc/16x9/Font.xml


vi에서 xxxxx.ttf로 설정된 것을 전부 NanumGothic.ttf 로 변경한다.

아래는 vi 명령어를 처리하면 된다.


: <-콜론 명령행으로 가서 한줄씩 복사하고 엔터


%s/SourceSansPro-Regular.ttf/NanumGothic.ttf/g

%s/NotoSans-Regular.ttf/NanumGothic.ttf/g

%s/OpenSans-Regular.ttf/NanumGothic.ttf/g

%s/Roboto-Light.ttf/NanumGothic.ttf/g

%s/NotoSans-Regular.ttf/NanumGothic.ttf/g

%s/Arial.ttf/NanumGothic.ttf/g

%s/LiberationMono-Regular.ttf/NanumGothic.ttf/g


마무리

:wq



※다음 스크랩퍼 및 자막 다운을 위한 리포지터리(아직안해봄)


wget https://github.com/hojel/xbmc-korea-addons/archive/master.zip


xbmc-korea-addons-master.zip


osmc 에서 애드온 설치

컨텐츠에서 Daum Scraper 선택

GomTV 자막 애드온 선택


■■■■ 외장하드 연결 방법 ■■■■


-$ sudo nano /boot/config.txt


맨 위에 추가

----------------------

max_usb_current=2

safe_mode_gpio=4

----------------------

컨트롤+O, 컨트롤+X


외장하드가 ntfs로 설정된 경우 ntfs 인식을 위해 ntfs-3g 설치

-$ sudo apt-get install ntfs-3g


※ 참고로 파일시스템을 exfat을 쓰려면 아래와 같이 설치

-$ sudo apt-get install exfat-fuse


마운트할 폴더를 만듭니다.권한설정까지

-$ sudo mkdir /home/osmc/exHDD

-$ sudo chmod -R 777 /home/osmc/exHDD


이후 마운트를 확인 합니다.


-$ df -h



이미 저는 자동 마운트를 시켜 놔서 위 이미지 처럼 나옵니다.

USB 를 꼽으면 고유 드라이버 명이

/dev/sda[숫자] 로 나옵니다.(하드웨어 경로)

수동 마운트를 하고 싶으면


-$ sudo mount -t [포멧형식] [하드웨어 경로] [마운트 경로]

-$ sudo mount -t auto /dev/sda1 /home/osmc/exHDD


포멧형식은 ntfs 로 적어도 되는데 auto 가 편합니다.


마운트를 끊고 싶으면

-$ sudo umount /home/osmc/exHDD


부팅후에 자동으로 마운트를 하고 싶으시면


-$ sudo nano /etc/fstab


--------------------------------------------------------------------------------

/dev/mmcblk0p1  /boot    vfat     defaults,noatime,noauto,x-systemd.automount    0   0

# rootfs is not mounted in fstab as we do it via initramfs. Uncomment for remount (slower boot)

#/dev/mmcblk0p2  /    ext4      defaults,noatime    0   0

--------------------------------------------------------------------------------

컨트롤+O, 컨트롤+X


위 처럼 기본 내용이 나오고 2번째 한줄 내리고


--------------------------------------------------------------------------------

/dev/mmcblk0p1  /boot    vfat     defaults,noatime,noauto,x-systemd.automount    0   0

/dev/sda1 /home/osmc/exHDD     ntfs     defaults          0     0

# rootfs is not mounted in fstab as we do it via initramfs. Uncomment for remount (slower boot)

#/dev/mmcblk0p2  /    ext4      defaults,noatime    0   0

--------------------------------------------------------------------------------

컨트롤+O, 컨트롤+X


이렇게 적어 주시면 됩니다.


그런데 하다보면 usb 포트를 바꿔 꼽거나 할경우 sda 번호가 바뀌는 경우가 있으므로

UUID 고유 아이디로 지정 해주는게 좋습니다.


-$ blkid


--------------------------------------------------------------------------------

/dev/mmcblk0: PTUUID="6244dd12" PTTYPE="dos"

/dev/mmcblk0p1: UUID="7A51-069A" TYPE="vfat" PARTUUID="6244dd12-01"

/dev/mmcblk0p2: UUID="fa43fc94-4ff7-439d-ad9d-ee0c2019e5b8" TYPE="ext4" PARTUUID="6244dd12-02"

/dev/sda1: UUID="08A8FC1BA8FC0948" TYPE="ntfs"

--------------------------------------------------------------------------------

컨트롤+O, 컨트롤+X


위처럼 나옵니다. 사용할 내용은  UUID="08A8FC1BA8FC0948" 이부분 입니다.

이렇게 확인후 적용 하면


--------------------------------------------------------------------------------

/dev/mmcblk0p1  /boot    vfat     defaults,noatime,noauto,x-systemd.automount    0   0

UUID="08A8FC1BA8FC0948" /home/osmc/exHDD     ntfs     defaults          0     0

# rootfs is not mounted in fstab as we do it via initramfs. Uncomment for remount (slower boot)

#/dev/mmcblk0p2  /    ext4      defaults,noatime    0   0

--------------------------------------------------------------------------------

컨트롤+O, 컨트롤+X


반영 후 재부팅을 하면은 자동으로 /home/osmc/exHDD 이 경로로 마운트가 됩니다.

재부팅

-$ sudo reboot



■■■■ ddns 설정된 ■■■■


이걸 하게 된 이유는 아이피가 매번 바뀌는 경우를 해소시킬려고 하는 이유입니다.

무료로 지원되는 사이트를 이용하여 사용중이지 아주 편합니다.

ddns.net 이사이트는 30일마다 갱신인증을 해줘야 하며 도메인 설정후 접속 하는데 

이상한 아이피로 튀는 경우도 다반사라 일주일 쓰다가 바로 다른걸로 갈아 탔습니다.


무료 DDNS : www.myq-see.com


위 사이트는 갱신 필요없고 신규 계정 만들고 도메인 등록만 하면은 바로 사용이 가능합니다.


위 사이트에서 가입후 하고 싶은 도메인을 만드시면

xxxx.myq-see.com  으로 사용 가능합니다.


그 후 ddclient 설치


-$ sudo apt-get install ddclient


설치 하면서 창이 몇번 전환 되면서 내용을 입력 하라고 하는데

그냥 공란으로 엔터쳐서 전부 넘김니다.

설치를 하면은 데몬을 정지 시켜 줍니다.


-$ sudo /etc/init.d/ddclient stop


설정 파일을 바꿔주도록 합시다.


-$ sudo nano /etc/ddclient.conf


--------------------------------------------------------------------------------

# Configuration file for ddclient generated by debconf

#

# /etc/ddclient.conf


pid=/var/run/ddclient.pid


# 5분마다 갱신

daemon=300

# 시스템 로그 남기기

syslog=yes


# WEB 방식으로 현재 IP 주소 획득시 사용이

use=web


# 로그인 이메일(가입시 이메일)

login=xxxxxx@gmail.com


# 패스워드

password=xxxxxx


server=www.myq-see.com

protocol=dyndns2


# 사용하려는 도메인을

xxxxxx.myq-see.com

--------------------------------------------------------------------------------

컨트롤+O, 컨트롤+X


데몬 시작

sudo /etc/init.d/ddclient start


디버그로 테스트 해볼시

-$ sudo /usr/sbin/ddclient -daemon=0 -debug -verbose -noquiet


기본적으로 재부팅시 자동 시작 되게 되어있는데 만약 안되면


서비스 등록

-$ sudo systemctl start ddclient.service




■■■■ samba 설정 ■■■■

미디어 서버를 사용중 네트워크 드라이버를 설정하기 위해서 입니다.


-$ sudo apt-get install samba

-$ sudo apt-get install samba-common-bin


설치 후 samba 에 사용할 계정을 지정합니다.

현재 실사용중인 계정에만 할당 할수 있습니다.

계정 생성하고 비밀번호 설정

-$ sudo smbpasswd -a osmc


samba 데몬 정지

-$ sudo /etc/init.d/samba stop


samba 서버 설정

-$ sudo nano /etc/samba/smb.conf


[global]은 아래 해당되는 것만 추가 (한글 사용 위한 설정)


---------------------------------------

[global]

workgroup=WORKGROUP


dos charset = CP949

display charset = UTF8

unix charset = UTF8

---------------------------------------


workgroup=WORKGROUP 은 기존에 있고

나머지 3줄은 추가해야될꺼에요


밑에 내용은 맨 하단에 복사 붙여넣기

---------------------------------------

#[Raspberry]  <-- 윈도우 표시 이름

#comment = [아무거나 입력]

#valid users = [위에서 설정한 계정]


[Raspberry]

comment = wellcom

valid users = osmc

path = /home/osmc

guest ok = no

writable = yes

browseable = yes

create mask = 0777

directory mask = 0777

---------------------------------------

컨트롤+O, 컨트롤+X


samba 시작

sudo /etc/init.d/samba start


PC 에서 접속시

네트워크에 표시가 되면 잘되겠지만

표시가 안될 경우가 있습니다.

이럴경우 공유기 내부 아이피를 직접 쳐주시면 됩니다.

주소줄에


\\192.168.0.45


이렇게 적고 osmc 계정 설정한 암호 쳐서 들어가면됩니다.


들여다 보면 osmc 폴더와 Raspberry 폴더 두개가 있는데

Raspberry 에 권한 설정을 다 넣었으므로 

Raspberry 폴더 위에 마우스 오른쪽 클릭


[네트워크 드라이브 연걸(M)...]


선택후 드라이버를 추가하면 편하게 접근 할수 있습니다



■■■■ transmission 설정 ■■■■

이제 핵심인 토렌트 입니다.

이걸 사용하는 목적중 하나 텔레그램 봇을 이용하여

토렌트를 검색하고 다운로드 까지 받게 하는부분을 진행 하겠습니다.


transmission-daemon 설치

-$ sudo apt-get install transmission-daemon 

-$ sudo apt-get install transmission-cli


transmission-cli 를 설치하는 이유는 transmission-remote 라는 명령어를 사용하기 위해서 입니다.

라즈비안에서는 구지 설치를 안해도 transmission-daemon 에서 transmission-remote 를 지원 합니다.

OSMC 에서는 따로 설치를 해야지만 같이 사용을 할수가 있겠습니다.


transmission-daemon 정지(stop 해놔야지만 옵션이 정상적으로 저장됩니다.)

sudo /etc/init.d/transmission-daemon stop


토렌트용 폴더를 생성 합니다.


토렌트 폴더 생성

-$ sudo mkdir /home/osmc/torrent

-$ sudo mkdir /home/osmc/torrent/torrent.temp

-$ sudo mkdir /home/osmc/torrent/torrent.seeds


누구나 읽고 쓰고 지울 수 있게 권한 설정

-$ sudo chmod -R 777 /home/osmc/torrent

-$ sudo chmod -R 777 /home/osmc/torrent/torrent.temp

-$ sudo chmod -R 777 /home/osmc/torrent/torrent.seeds



transmission 설정 수정

 - 참고로 설정 내에서는 json 방식을 사용하므로 주석처리가 안됩니다.

 - { (대괄호)와 " (따옴표) 주의

 

-$ sudo nano /etc/transmission-daemon/settings.json


내용중 필요한것만 적용 하시면 됩니다.



▶ IP filter 설정(필요합니다.)

"blocklist-enabled": true,

"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz"


▶ 외부 웹 접속 설정

"rpc-authentication-required": true, 

"rpc-url": "/transmission/", ## 접속 URL

"rpc-username": "admin", ## 아이디

"rpc-enabled": true, 

"rpc-password": "password", ## 패스워드(차후 접속시 자동으로 암호화 됩니다.)

"rpc-port": 9091, ## 접속 포트

"rpc-whitelist": "127.0.0.1", 

"rpc-whitelist-enabled": false, ## 지정  접속 허가



▶ 최대 다운로드, 최대 업로드 관련 설정

"speed-limit-down": 5000, ## SD 카드 쓰기 속도를 못따라가면 프리징 현상 일어납니다. 적당히 설정

"speed-limit-down-enabled": true, ## true일 경우에만 speed-limit-down 가 적용

"speed-limit-up": 10, 

"speed-limit-up-enabled": true, ## true 일 경우에만 speed-limit-up 가 적용 



▶ 다운로드 경로 설정

"download-dir": "/home/osmc/exHDD", ## 다운 완료 폴더(라즈베리에 부하를 줄이기 위해 외장하드로 기록되게 해둠)

"incomplete-dir": "/home/osmc/torrent/torrent.temp", ## 임시 폴더

"incomplete-dir-enabled": fslae, ## true 일 경우에만 incomplete-dir 가 적용


▶ 자동 불러오기

"trash-original-torrent-files": true, ## 토렌트 파일 자동 삭제(true 로 해둬야 토렌트 파일이 안쌓입니다.)

- 밑에 내용은 기존에 없으므로 하단에 추가해주세요

"watch-dir": "/home/osmc/torrent/torrent.seeds", ## 토렌트 파일 자동 인식 폴더(해당경로에 .torrent 파일을 넣어두면 알아서 가져갑니다.)

"watch-dir-enabled": true


▶ 시딩 설정(이걸 해두면은 다운로드가 완료된시점에 배포를 안하고 바로 완료 처리가 됩니다.)

"ratio-limit": 0, ## 배포 비율

"ratio-limit-enabled": true, ## 시딩 활성화


transmission-daemon 시작

sudo /etc/init.d/transmission-daemon start

이나

sudo service transmission-daemon start


해당 IP:9091 이나 domain:9091 로 접속



※ 추가 적으로 위에서 IP filter 를 설정한게 있을겁니다. 이건 직접 웹으로 접속해서 갱신을 시켜주시면 됩니다.(자동갱신도 있다던데0-0)




기본적인 토렌트 설정은 끝났습니다.


이제 텔레그램을 쓰기 앞써서


비서를 사용안하고 그냥 알람용만 쓰고 싶다 하는 분도 있습니다.


더불어 토렌트 다운이 완료시 자동 삭제까지 하고싶은?? 


이제 텔레그램 푸쉬와 자동 시드삭제를 알려드리겠습니다.


※이 기능은 토렌트 다운로드가 완료후에 실행하는 스크립트를 이용해서 활용하는 방안입니다.


텔레그램 어플을 설치후


@botfather라는 봇을 검색 후 "시작" 또는 "재시작" 버튼을 클릭하여 BotFather와 대화를 시작합니다.


"/newbot"  입력 - 봇 생성

"토렌트 알림" 입력 - 봇 이름

"torrentPushBot" 입력 - 봇 username <- 마지막은 bot 이란 단어로 끝나야 됩니다.


그럼 BotFather는 새로운 봇을 생성하고 token을 알려줍니다.

("Use this token to access the HTTP API:" 밑에 있는 문자열이 token입니다.)


이 토큰은 외부 노출을 하시면 안되요~ torrentPushBot 의 비밀번호라고 생각하세요


위 토큰 메세지중 상단 2번쨰 라인에 t.me/torrentPushBot. 이라는 링크가 있는데


클릭하면은 생성한 봇하고 대화를 할수 있습니다.


중요한점은 푸쉬를 받을려고 할때 chatid 라는게 필요 합니다.


한마디로 현재 자신의 계정 id 입니다.


먼저 토렌트 알림 봇창에서 아무 대화를 한번 글을 적고


https://api.telegram.org/bot[아까 발급 받은 token]/getUpdates 를 입력합니다.


https://api.telegram.org/bot111222333:aaaabbbbccccddddeeeeffffgggghhhhiii/getUpdates

위와 같이 되겠죠?


입력하면 json 형태로 리턴이 되서 보여지는데

{"ok":true,"result":[{"update_id":413816513, "message":{"message_id":2,

"from":{"id":123456789  <-- 요기가 chat_id 입니다.  first_name":"\uc2b9\uc900","last_name":"\uc774","username":"test"},

"chat":{"id":48561232,"first_name":"\uc2b9\uc800","last_name":"\uc674","username":"test2","type":"private"},

"date":1467868645,"text":"\uc2dc\uc791"}}]}



자 이제 준비가 다됬네요

토큰 : 111222333:aaaabbbbccccddddeeeeffffgggghhhhiii

챗ID : 123456789




▶ 토렌트 텔레그램 스크립트 작성


경로는 마음데로 지정해두시면 됩니다.

-$ sudo mkdir /usr/script

-$ sudo chmod -R 777 /usr/script


폴더를 만들고 권한 부여

이제 스크립트 작성

-$ sudo nano /usr/script/torrent_push.sh



----------------------------------------------------------------------



#!/bin/sh


# telegram configuration

# SERVER="[포트(토렌트미션웹포트)] --auth [아이디]:[패스워드]"

SERVER="9091 --auth admin:password"

# 텔레그램에서 생성한 토큰

TOKEN='111222333:aaaabbbbccccddddeeeeffffgggghhhhiii'

# 텔레그램에서 본인 CHAT_ID

CHAT_ID="123456789"


URL='https://api.telegram.org/bot'$TOKEN

MSG_URL=$URL'/sendMessage?chat_id='


sleep 1s


# torrent remove 

TORRENTLIST=`transmission-remote $SERVER --list | sed -e '1d;$d;s/^ *//' | cut --only-delimited --delimiter=" " --fields=1`

for TORRENTID in $TORRENTLIST

do

    DL_COMPLETED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "Percent Done: 100%"`

    STATE_STOPPED=`transmission-remote $SERVER --torrent $TORRENTID --info | grep "State: Seeding\|Stopped\|Finished\|Idle"`

    if [ "$DL_COMPLETED" ] && [ "$STATE_STOPPED" ]; then

        transmission-remote $SERVER --torrent $TORRENTID --remove

    fi

done 


# telegram message send

res=$(/usr/bin/curl --data-urlencode "text=$TR_TORRENT_NAME 다운로드가 완료되었습니다." "$MSG_URL"$CHAT_ID"&")


----------------------------------------------------------------------

컨트롤+O, 컨트롤+X


실행가능 하게 변경 권한 변경

-$ sudo chmod a+x /usr/script/torrent_push.sh

-$ sudo chmod 777 /usr/script/torrent_push.sh



토렌트 정지

-$ sudo /etc/init.d/transmission-daemon stop


설정파일 열기

-$ sudo nano /etc/transmission-daemon/settings.json


▶ 다운로드 완료 후 파일 실행

"script-torrent-done-enabled": true, ## true 일 경우에만 script-torrent-done-filename 가 적용 

"script-torrent-done-filename": "/usr/script/torrent_push.sh",


transmission-daemon 시작

-$ sudo /etc/init.d/transmission-daemon start





▶ 토렌트 텔레그램 비서 만들기

오픈 소스를 가지고 작업을 했으며 파이썬언어를 사용하여 활용하는 것입니다.


토렌트 rss 가져올 사이트는


https://torrentkim10.net 사용 했으며


URL : https://torrentkim10.net/bbs/rss.php?k=


위주소를 가지고 다운로드할 토렌트 정보를 가져올겁니다.



기본 텔레그램 베이스


https://github.com/nickoala/telepot


telepot-master.zip


사용할 비서 텔레그램 토렌트 컨트롤러


https://github.com/seungjuchoi/telegram-control-torrent


telegram-control-torrent-master.zip




필요한 패키지를 먼저 설치 합니다.


Install Deluge

- $ sudo apt-get install deluge-common deluged deluge-console

- $ deluged


Install python package

- $ sudo apt-get install python3

- $ sudo apt-get install python3-pip

- $ sudo pip3 install tzlocal

- $ sudo pip3 install telepot

- $ sudo pip3 install feedparser

- $ sudo pip3 install apscheduler

- $ sudo pip3 install apscheduler --upgrade



위에 적어논 텔레그램 토렌트 컨트롤러를 다운

-$ wget https://github.com/seungjuchoi/telegram-control-torrent/archive/master.zip


압축 해제

-$ unzip master.zip


폴더 이름변경

-$ sudo mv /home/osmc/telegram-control-torrent-master /home/osmc/telegram


폴더 진입

-$ cd ./telegram


셋팅파일명 변경

-$ sudo mv setting_templete.json setting.json


내용 셋팅 하기

-$ sudo nano setting.json


설명 들어갑니다.

----------------------------------------------------------------------

{

  "common": {

    "token": "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw",  ## 텔레그램에서 받은 토큰

    "valid_users": [

      123456789, ## 텔레그램 사용자 CHAT_ID

      123456789

    ],

    "agent_type": "transmission",

    "download_path": "~/Downloads" ## 토렌트 다운로드 경로(외장하드로 잡으면 되겠죠? /home/osmc/exHDD )

  },

  "transmission": {

    "id_pw": "transmission:transmission",   ## 토렌트 미션 [아이디:패스워드]

    "port": ""    ## 토렌트 미션 포트번호 위에서 기본으로 9091 로 잡혀있습니다.

  }

}

----------------------------------------------------------------------

컨트롤+O, 컨트롤+X


이제 실행 하기 전에 실행 파일안에 내용을 일부 수정해야 합니다.


-$ sudo nano telegram_torrent.py


108 번 라인


 cmd = 'transmission-remote '  이것을 cmd = 'transmission-remote 192.168.0.45:9091 ' 이렇게 변경 합니다.(뒤에 공백포함)

 

 아이디나 도메인둘중 하나로 하시면 됩니다.

 [ip:9091 or domain:9091]


124 번 라인


os.system(self.transmissionCmd + pcmd + wcmd + '-a ' + magnet) 이것을 os.system(self.transmissionCmd + '-a ' + magnet)


216 번 라인


rssUrl = """https://torrentkim1.net/bbs/rss.php?k=""" 이것을 rssUrl = """https://torrentkim10.net/bbs/rss.php?k="""


이렇게 바꾸고 저장 [컨트롤+O, 컨트롤+X]


저 부분을 변경하지 않으면 localhost:9091  로 붙어서 작동이 안됩니다.


이제 실행

- $ python3 telegram_torrent.py


Listening ... 


위 글짜가 떠있으면 정상 실행이 된것입니다.


이제 텔레그램 봇창에서


HOME 이라고 입력하면은 키보드 레이아웃이 뜨면 정상적으로 작동 되는 것입니다.


telegram_torrent.py


위파일은 한글로 변경해논 파일입니다. 교체 하셔서 ip주소만 바꾸고 사용하시면 되겠습니다.


자 문제점~ 위에서 만든 파이썬은 자동실행 등록이 안되어 있어요.


그냥 놔두면 수동으로 실행을 시켜야 됩니다.


그래서 이걸 데몬으로 등록을 하려고 합니다.


그리고 그냥 파이썬을 실행하면 Listening ... 을 잡고 있어서


세션이 끈기면 저 실행파일도 종료가 되는 것이죠


이제 마지막 데몬 생성과 등록을 하겠습니다.


먼저 테스트를 해봐요



텔레그램 백그라운드 실행(테스트)

-$ nohup python3 -u /home/osmc/telegram/telegram_torrent.py &


텔레그램 백그라운드 검색 종료(테스트)

-$ kill $(ps -e | grep python3)

-$ kill $(ps aux |awk '/telegram_torrent.py/ {print $2}')


프로세스 내용을 간단하게 확인하실려면


-$ ps -ax 


마지막쯤 보입니다.

참 쉽죠?



▶ 토렌트 텔레그램 데몬 서비스 만들기

-$ sudo nano /etc/init.d/telegram


--------------------- telegram -----------------------

#!/bin/sh

### BEGIN INIT INFO

# Provides:          telegram

# Required-Start:    $network

# Required-Stop:     $network

# Default-Start:     2 3 4 5

# Default-Stop:      0 1 6

# Short-Description: Start/stop telegram

### END INIT INFO

 

case "$1" in

  start)

    nohup python3 -u /home/osmc/telegram/telegram_torrent.py &

    echo "텔레그램 봇 시작"

    ;;

  stop)

    sudo kill $(ps -e | grep python3)

    echo "텔레그램 봇 정지"

    ;;

  *)

    echo "Usage: /etc/init.d/telegram {start|stop}"

    exit 1

    ;;

esac

exit 0


---------------------------------------------------------

컨트롤+O, 컨트롤+X


권한 부여

-$ sudo chown osmc:osmc /etc/init.d/telegram

-$ sudo chmod 755 /etc/init.d/telegram



#Tip. update-rc.d 서비스 수동실행 명령어

-$ sudo /etc/init.d/telegram start

-$ sudo /etc/init.d/telegram stop



서비스 등록

-$ sudo update-rc.d telegram defaults


서비스 삭제

-$ sudo update-rc.d -f telegram remove


서비스 등록이 되었으면 밑에 구문으로 간단하게 실행 가능

-$ sudo service telegram start

-$ sudo service telegram stop