OSMC - KODI, transmission, 토렌트 비서(텔레그램), samba 설정
라즈베리파이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
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
사용할 비서 텔레그램 토렌트 컨트롤러
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 이라고 입력하면은 키보드 레이아웃이 뜨면 정상적으로 작동 되는 것입니다.
위파일은 한글로 변경해논 파일입니다. 교체 하셔서 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