달력

42024  이전 다음

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

안녕하세요 류지 입니다.

이번 글을 적기전에 예전에 OSMC  내용에 대해서 소개 한적이 있습니다.


2017/09/05 - [라즈베리파이3] - OSMC - KODI, transmission, 토렌트 비서(텔레그램), samba 설정



라즈베리파이랑 오드로이드xu4 를 같이 사용하고 있는데요

TV 에다가 물리면서 토렌트도 사용하고 tv도 같이 활용하고 동영상도 같이 볼수있게 환경을 조성을 하려고

여러가지 테스트를 거치다보니 OSMC 가 적합하다고 판단이 됬습니다.

라즈비안에 코디를 설치하거나 오드로이드에 kodi 를 활용했을때 자동실행을 하게해서 영상을 틀어보니

먹통되는 현상이 발견되었습니다. kodi 를 다시 껏다가 재기동하면은 영상이 잘나오구요

버그인것같은데 osmc 는 초기 부팅자체가 kodi 로 하다보니 이러한 문제를 해결하게되여

osmc 에 전부 올려보기로 한거였습니다.


기본 설치 순서랑 활용했던 소스를 공개하도록 하겠습니다.


사용했던 OSMC 이미지는 OSMC_TGT_rbp2_20180207.img 최신 버전으로 사용했습니다.


https://osmc.tv/ 에서 받으시거나

밑에 주소로 받으시면 됩니다.

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


sd 카드에 이미지 쓰는프로그램은


osmc 사이트에도 있지만 Etcher 프로그램이 워낙 편해서 이걸로 사용했구요


https://etcher.io/


Etcher-Portable-1.3.1-x64  버전을 활용


sd 카드에 이미지를 입히고 초기 부팅을 하면은


한글 셋팅은 패스 하도록 하겠습니다.


ssh 로 붙으면 환경설정하는중이라 잠시 기다리면됩니다. 1분 남짓 기다리면


콘솔 창이 출력 됩니다.



■ 접속 정보

ID : osmc

PW : osmc


■ 먼저 암호 변경

sudo passwd    <-  osmc 본계정으로 패스워드 변경

sudo passwd root


■ 한글 설정

sudo dpkg-reconfigure locales


ko_KR.UTF-8 선택


아래 3줄 입력


echo 'export LC_ALL=ko_KR.UTF-8' | sudo tee -a ~/.profile

echo 'export LANG=ko_KR.UTF-8' | sudo tee -a ~/.profile

echo 'export LANGUAGE=ko_KR.UTF-8' | sudo tee -a ~/.profile



■ 계정 추가

sudo adduser [ID]

패스워드 입력

나머지 정보는 엔터로 패스


■  Tvheadend 설치


sudo nano /etc/apt/sources.list


※ 소스에 보면 jessie 버전과 stretch 버전으로 분류가 됩니다.

   내용중에 최신버전은 stretch 버전이라 Tvheadend stretch 주소를 사용하시면 되겠습니다.


#Tvheadend jessie

deb https://dl.bintray.com/tvheadend/deb raspbianjessie unstable


#Tvheadend stretch

deb https://dl.bintray.com/tvheadend/deb raspbianstretch unstable


Ctrl+O, 엔터, Ctrl+X


한줄씩 차례대로 입력

apt-get install -y apt-transport-https

apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61

apt-get update

apt-get install -y tvheadend


한줄 입력

sudo apt-get install -y apt-transport-https && sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61  && sudo apt-get update  && sudo apt-get install -y tvheadend


&& 붙인 이유가 그냥 붙여 넣기를 4줄을 넣으면 명령어가 충돌 날수도 있어서

순서적으로 진행 하기 위해서 붙여서 사용합니다.


tvheadend 설치가 되면


계정 설정 화면 출력이 되며 계정ID 와 패스워드를 설정 합니다.


http:// IP :9981


접속후 영문으로 나옵니다. 로그인하고 언어 Korean 으로 설정후 다음으로 넘어가면

관리자 계정이랑 사용자 계정 입력란이 나옵니다.

추가 시켜주시면 관리자 계정으로 로그인시 한글로 출력이 됩니다.

새로 추가한 계정에 전체 권한을 다 부여하면은 한글 인터페이스로 전체 관리가 가능합니다.


tvheadend 설정은 아래 내용과 같습니다.


1. 설정 - DVB 입력 - 네트워크

  네트워크 이름 : IPTV Automatic Network  <- 마음대로

  최대 # 입력 스트림 : 4

  URL : file:///home/osmc/pvr/iptv.m3u <-- m3u 파일이 있는 경로


2. 설정 - DVB 입력 - 먹스

  스캔상태가 유휴는 작업이 끝난 상태 

  진행 - 활성 - 유후 순

  헤더 오른쪽 서비스 구간 0 으로 되어있는 항목들을 정렬하여

  오른쪽 체크박스 TSID 값을 체크

  스캔상태를 활성으로 변경 - 저장


3. 설정 - 채널 / EPG - 채널

  모든 서비스 매핑


4. 설정 - 채널 / EPG - EPG 그래버

  채널 이름 업데이트 체크

  채널 번호 업데이트 체크

  저장


5. 설정 - 채널 / EPG - EPG 그래버 모듈

  외부 : XMLTV - 켜짐 체크, 우선순위 1, 채널번호(휴리스틱) 체크

  저장



-------------------- 참고 ---------------------------



※ tvheadend 등록한 채널 백업 후 이용시 권한 설정


백업폴더경로 /home/hts/.hts/tvheadend/

백업 폴더 : channel, epggrab, input


chown -R hts:video /home/hts/.hts/tvheadend/channel

chmod -R 700 /home/hts/.hts/tvheadend/channel

chmod -f 600 /home/hts/.hts/tvheadend/channel/*


chown -R hts:video /home/hts/.hts/tvheadend/epggrab

chmod -R 700 /home/hts/.hts/tvheadend/epggrab

chmod -Rf 600 /home/hts/.hts/tvheadend/epggrab/*

chmod -f 777 /home/hts/.hts/tvheadend/epggrab/xmltv.sock


chown -R hts:video /home/hts/.hts/tvheadend/input

chmod -R 700 /home/hts/.hts/tvheadend/input

chmod -Rf 600 /home/hts/.hts/tvheadend/input/*


재시작

service tvheadend restart

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



이후에 epg2xml 이라는 epg 를 가져오는 작업이 있습니다.


pvr.zip


위 첨부파일을 이용하시면되며


채널 정보는 B TV 기준으로 작업해논 상태 입니다.


osmc 폴더에 압축을 풀어둔후고 


epg2xml.php 파일을 호출할껀데


php 플러그인 들이 필요합니다.


sudo apt-get install php php-common php-json libapache2-mod-php php-curl php-gd php-mbstring php-mcrypt php-mysql php-xml php-xmlrpc php-intl php-imagick php-zip php-cgi


로 php 관련 플러그인을 설치 합니다.


하나씩 설치하면서 찾기 귀찮아 0-0그냥 몽땅 설치했습니다.


만약 기존에 해보셨던분들은 필요없는건 빼고 활용하셔도 되겠습니다.


설치 후에


sudo php /home/osmc/pvr/epg2xml.php 로 실행 해봅니다.


호출이 완료되면은 EPG 그래버 채널에 정보다 업데이트 됩니다.


여기서 해야할 일은


★ 헤더중 채널 갱신 옵션 부분에 수정을 해주셔야 합니다.

옵션항목중 번호만 선택해서 해줍니다.

해야하는 이유는 채넣 정보에 보면은 번호가 업데이트가 안되는 부분을 해결하기 위해서 입니다.

그래야 원하는 채널 순서대로 정렬이 됩니다.


이제 이걸 크론에 등록해서 알아서 갱신 하도록 설정 합니다.


크론을 설치하고


sudo apt-get install -f cron


sudo crontab -e


에디트로 들어갑니다.


선택하는 항목이 있으면 nano 에디터를 추천 합니다.


3 */12 * * * php /home/osmc/pvr/epg2xml.php 저는 이렇게 사용합니다.


2017/12/27 - [라즈베리파이3] - 라즈베리파이3 Crontab 예약 작업


12시간 기준에 3분마다 php 를 실행 합니다.



Ctrl+O, 엔터, Ctrl+X  하고 나오면 자동 반영됩니다.


# 으로 주석 처리하면은 정지 됩니다.


tvheadend 설정은 끝났습니다.


■ samba 설치


sudo apt-get -y install samba


삼바 계정은 리눅스에 사용중인 계정으로 만드셔야 합니다.


sudo smbpasswd -a osmc

패스워드 설정


sudo /etc/init.d/samba stop


sudo nano /etc/samba/smb.conf




맨 아래로 내려보시면


[print] 종류의 내용은 과감하게 삭제


프린트 공유 이런겁니다.


그리고 아래 3줄을 추가해줍니다. 


load printers = no

show add printer wizard = no

printcap name=/dev/null


그래야 samba 통해서 동영상 시청시 딜레이 안생깁니다.


그리고 아래 내용 추가 하시면 됩니다.


[Contents] <-- 공유 폴더 제목

        read list = guest   <-  읽기 전용

write list = osmc   <-  읽기 쓰기 전용

path = /media/exHDD   <-공유 폴더 경로

comment = Contents    <- 부가 설명


Ctrl+O, 엔터, Ctrl+X  


sudo /etc/init.d/samba start


이렇게 하면 samba 설정이 끝났습니다.


외부에서도 접속이 가능 합니다.


■ 외장 하드 마운팅


exHDD 폴더에 외장하드를 마운팅 할겁니다.


sudo nano /boot/config.txt


아래 내용 2줄 맨위에 추가


max_usb_current=2

safe_mode_gpio=4


아래 내용 2줄 맨 아래 추가 - 최대 해상도로 강제 지정해주는 부분


hdmi_group=2

hdmi_mode=82


Ctrl+O, 엔터, Ctrl+X  


sudo mkdir /media/exHDD && sudo chmod -R 777 /media/exHDD


blkid


/dev/sda5: UUID="01D395B80CF091D0" TYPE="ntfs" PARTUUID="04f839f0-05"


UUID 에 01D395B80CF091D0 정보가 고유 외장하드 이름입니다.


아래 내용을 입력하여

sudo nano /etc/fstab



기본으로 할시 외장하드가 연결되어있지 안으면 부팅 에러 걸림

UUID=01D395B80CF091D0 /media/exHDD ntfs defaults 0 0


권장 내용

UUID=01D395B80CF091D0 /media/exHDD ntfs nofail,auto,noatime,rw,user 0 0



Ctrl+O, 엔터, Ctrl+X



※ 한줄

echo 'UUID=01D395B80CF091D0 /media/exHDD ntfs nofail,auto,noatime,rw,user 0 0' | sudo tee -a /etc/fstab



■ transmission-daemon 설치


sudo apt-get install -y transmission-cli transmission-common transmission-daemon


transmission-daemon 정지 (정지 안하면 아예 수정이 안됨)


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



transmission 설정 수정

- 참고로 설정 내에서는 주석처리가 안됩니다.

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

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




수정한 내용은 아래와 같습니다.


"blocklist-enabled": true,

"blocklist-url": "http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz",   <-- 블랙 리스트 데몬 실행후 사이트 접속후 갱신

"download-dir": "/media/exHDD/contents/Downloads",  <-- 외장하드 마운팅 한 경로

"ratio-limit": 0,

"ratio-limit-enabled": true,

"rpc-password": "passwd",

"rpc-username": "admin",

"rpc-whitelist-enabled": false,

"script-torrent-done-enabled": true,

"script-torrent-done-filename": "/home/osmc/script/torrent_push.sh",   <-- 다운로드가 완료 되었을시에 telegram 에 푸쉬 요청

"speed-limit-down": 8000,

"speed-limit-down-enabled": true,

"speed-limit-up": 10,

"speed-limit-up-enabled": true,



Ctrl+O, 엔터, Ctrl+X


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


시작 서비스 등록

sudo update-rc.d transmission-daemon defaults




■ telegram 비서 활용


텔레그램으로 토렌트랑 tvheadend 컨트롤을 하며 토렌트도 다운받기 위해서 사용하는 내용입니다.


2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission (텔레그램 API 연동)

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission (토렌트 비서 사용하기)


실행은 파이썬으로 하기 때문에 설치가 또 필요 합니다.

먼저 첨부 파일을 받습니다.

telegram.zip


torrent_push.sh


telegram.zip 압축을 풉니다.


작업은 root 계정으로 작업하였습니다.


/home/osmc/ 경로에 풀고


cd /home/osmc/telegram


apt-get install -y python3 python3-pip netcat

pip3 install --upgrade setuptools

pip3 install wheel

pip3 install feedparser

pip3 install tzlocal

pip3 install -r pip-requirements.txt


설치 한줄 

apt-get install -y python3 python3-pip netcat && pip3 install --upgrade setuptools && pip3 install wheel && pip3 install feedparser && pip3 install tzlocal && pip3 install -r pip-requirements.txt



torrent_push.sh 와 telegram 에 setting.json 파일을 보시면 telegram API 정보를 입력해주세요


트렌스미션 데몬에 사용한 ID 와 패스워드도 같이 입력하신후


python3 telegram_torrent.py  로 실행 하시면


에러가 안나면은 텔레그램 어플을 이용해 확인 해보시면됩니다.


웹에서도 사용가능하니 해보시기 바랍니다.


rss 정보는 토렌트 킴에서 가져온 것이며


메뉴는

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

토렌트 검색

토렌트 리스트

토렌트 데몬 관리

- 토렌트 데몬 stsrt

- 토렌트 데몬 stop

- 홈

TvHeadEnd 관리

- TvHeadEnd start

- TvHeadEnd stop

- EPG 채널 갱신

- 홈

서버 상태 확인

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


이렇게 됩니다. 서버상태 확인은 토렌트하고 tvheadend 포트 확인해서 가동유무를 판단해주는 것입니다.


이제 텔레그램을 서비스에 등록해주셔야 합니다.


nano /etc/init.d/telegram

torrent_push.sh

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

#!/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)

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

    echo "telegram Bot start"

    ;;

  stop)

    sudo kill $(ps -e | grep python3)

    echo "telegram Bot stop"

    ;;

  *)

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

    exit 1

    ;;

esac

exit 0

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

Ctrl+O, 엔터, Ctrl+X


telegram


파일 첨부 했습니다.


osmc 계정에 권한 이동 밑 부여


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

sudo chmod 755 /etc/init.d/telegram


자동 시작 서비스 등록

sudo update-rc.d telegram defaults



사용법

sudo service telegram start

sudo service telegram stop





이제 작업은 거의다 끝났네요

대망의 작업은 코디 폰트 작업 입니다.

이거 바꾸는데 상당히 스트레스 더라구요

각각 폰드 경로 적어드립니다.


자막 폰트 경로

/usr/share/kodi/media/Fonts/ 


위 경로에 폰트를 넣으시면은 자막 폰드를 변경하실수 있습니다.


기븐 스킨 정보


◆ 스킨명 : estouchy

폰트 경로 : /usr/share/kodi/addons/skin.estouchy/fonts/

xml 경로  : /usr/share/kodi/addons/skin.estouchy/xml/Font.xml


◆ 스킨명 : estuary

폰트 경로 : /usr/share/kodi/addons/skin.estuary/fonts/

xml 경로  : /usr/share/kodi/addons/skin.estuary/xml/Font.xml


◆ 스킨명 : osmc

폰트 경로 : /usr/share/kodi/addons/skin.osmc/fonts/

xml 경로  : /usr/share/kodi/addons/skin.osmc/16x9/Font.xml




kodi 에서 신규로 설치한 스킨 경로

/home/osmc/.kodi/addons/

폰트 변경 작업

에디터 플러스나 notepad++ 로 font.xml 파일을 불러 옵니다.
PC 로 다운받아서 작업해야됩니다.
일괄 변경 할꺼니까요

정규식으로 폰트 변경할 건데요

찾아 바꾸기에서 검색어를
(<filename>.*)
위 처럼 입력하고
정규식 검색에 체크 해줍니다.

바꿀 내용에
<filename>폰트이름.ttf</filename> 이렇게 하고 전체 변경 해주시면 일괄 변경 됩니다.

그후에 파일만 교체 해주시면 되겠습니다.


kodi 에 사용 했던 에드온

https://github.com/hojel/xbmc-korea-addons/tree/master/download



ps. 이상 OSMC 풀 셋팅 방법 이였습니다.
     이걸 하면서 착오도 많이 있었고 오류도 생기고 했었는데 되긴 되네요 ..ㅎ
     그리고 kodi 에 무거운 스킨을 쓰면은 다운도 되고 합니다. 주의 하시기 바랍니다.


Posted by 타카스 류지
|

이번에 사용할 것은 핸드폰으로 텔레그램 어플을 이용하여

토렌트 파일을 검색하고 다운로드 하는 부분을 해보겠습니다.

시작 하기 전에 이전에 올린 글을 참고 하시고 하시기 바랍니다.

 

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission(토렌트)

2017/12/26 - [라즈베리파이3] - API 텔레그램 토큰 생성

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission (텔레그램 API 연동)

 

 

-$ cd /home/pi

 

받기
-$ git clone https://github.com/seungjuchoi/telegram-control-torrent

이름변경(사용하기 쉽게)
-$ mv telegram-control-torrent telegram

-$ cd ./telegram


이름 변경
-$ mv setting_templete.json setting.json


수정
-$ nano setting.json

 

--------------------------------------------------------
{
  "common": {
    "token": "110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw",
    "valid_users": [
      123456789,
      123456789
    ],
    "agent_type": "transmission",
    "download_path": "~/Downloads"
  },
  "transmission": {
    "id_pw": "transmission:transmission",
    "port": ""
  }
}

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

위 내용이 보입니다. 아래는 설명

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

{
  "common": {
    "token": "텔레그램 API 토큰",
    "valid_users": [
      사용할 아이디
   123456789,987654321  <---- 이렇게 하면 두명이 사용 가능합니다.     
    ],
    "agent_type": "transmission",
    "download_path": "~/Downloads"  <-- 기본 다운로드 경로
  },
  "transmission": {
    "id_pw": "아이디:패스워드",
    "port": "포트번호 기본 9091 입니다."
  }
}
--------------------------------------------------------

 

폴더안에 보시면 pip-requirements.txt 파일이 있습니다. 이파일은 여러개 패키지가 적혀있는데 한번에 불러와 설치합니다.

-$ sudo pip3 install -r pip-requirements.txt

 

실행방법
-$ python3 telegram_torrent.py

실행후

 Listening ...

라고 떠있으면 성공 한겁니다.

 

이제 핸드폰으로 봇창을 열어서 아무 말을 걸어 메세지 창이 뜨면 잘연동된것 입니다.

 

이제 이걸 자동으로 실행 되게 설정 하겠습니다.

먼저 아래 테스트내용을 해보고난 다음 스크립트를 작성해보겠습니다.

 

백그라운드 실행(테스트)
- $ nohup python3 -u /home/osmc/telegram/telegram_torrent.py &

 

텔레그램 백그라운드 검색 종료(테스트)
- $ kill $(ps -e | grep python3)
- $ kill $(ps aux |awk '/telegram_torrent.py/ {print $2}')

 

 

★ 실행정지 데몬 만들기

 

-$ 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/pi/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

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

소유권 이동

-$ sudo chown pi:pi /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 service telegram start
-$ sudo service telegram stop

 

위 명령어가 이상 없이 잘되면은

아래 서비스를 등록하면 끝입니다.

 

 

시작 서비스 등록
-$ sudo update-rc.d telegram defaults

 

시작 서비스 삭제
-$ sudo update-rc.d -f telegram remove

 

아래 파일은 영문을 한글로 바꿔논 파일입니다.

기본 파일을 사용시에 시드가 죽거나, 받다가 시드가 없어지거나, 정지하거나 할 경우

해당 다운로드 시드를 지워버리는 부분이 보여서 수정하였습니다.

그리고 필요시에 transmission 을 종료 시키고 시작 시키는 버튼도 넣었으니 알아서 고쳐서 사용하시면 되겠습니다.

 

telegram_torrent.py

 

위 파일에서 transmission  종료는 이전 강좌에서 설명해 드렸던 내용중

 

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission(토렌트)

 

crontab 예약 작업을 제거하고 사용하시면 되겠습니다.

 

 

구동하고나서 텔레그램  비서로 확인한 스샷입니다.

 

 

   

 

 

 

Posted by 타카스 류지
|

이전에 transmission 을 설치하는 방법을 알려드렸습니다.

이번 시간엔 transmission 이 다운이 완료 되었을때 텔레그램 푸쉬로 알림이 오는 설정을 하겠습니다.

 

이 글을 읽기 전에 하단 링크에 작업이 완료후에 진행하시면 되겠습니다.

 

2017/12/27 - [라즈베리파이3] - 라즈베리파이3 transmission(토렌트)

2017/12/26 - [라즈베리파이3] - API 텔레그램 토큰 생성

 

 

폴더 생성
-$ sudo mkdir /usr/script


권한부여
-$ sudo chmod -R 777 /usr/script

 

작성

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

 

-------------------- torrent_push.sh ---------------

#!/bin/sh

# telegram configuration
SERVER="9091 --auth 아이디:패스워드"
TOKEN='111222333:aaaabbbbccccddddeeeeffffgggghhhhiii'
URL='https://api.telegram.org/bot'$TOKEN
MSG_URL=$URL'/sendMessage?chat_id='
CHAT_ID="123456789"

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 notify go
res=$(/usr/bin/curl --data-urlencode "text=$TR_TORRENT_NAME 다운로드가 완료되었습니다." "$MSG_URL"$CHAT_ID"&")
---------------------------------------------------

 

실행가능 하게 변경
-$ 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": false,
    "script-torrent-done-filename": "",

위 내용을 아래 처럼 변경 

 

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

 

 

transmission-daemon 시작

 

-$ sudo /etc/init.d/transmission-daemon start
OR
-$ sudo service transmission-daemon start
OR
-$ sudo transmission-daemon -g /etc/transmission-daemon

 

Posted by 타카스 류지
|

transmission-daemon 설치

-$ sudo apt-get install transmission-daemon

OSMC 사용시 : sudo apt-get install transmission-cli 설치


transmission-daemon 정지 (정지 안하면 아예 수정이 안된다)

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

 

 

토렌트 폴더 생성 - 이폴더에 토렌트 파일을 넣으면 자동 추가됨(필요없으면 안해도됨)

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

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

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



transmission 설정 수정

- 참고로 설정 내에서는 주석처리가 안됩니다.

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

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


transmission 설정 수정

- 참고로 설정 내에서는 주석처리가 안됩니다.

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

-$ 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": "admin12", ## 패스워드

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

"rpc-whitelist": "127.0.0.1", 

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



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

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

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


"speed-limit-down": 5000, 

"speed-limit-down-enabled": true, 

"speed-limit-up": 50,

"speed-limit-up-enabled": true, 



다운로드 경로 설정
"download-dir": "/home/pi/Downloads", ## 다운 완료 폴더


자동 불러오기
"trash-original-torrent-files": true, ## 토렌트 파일 자동 삭제
"watch-dir": "/home/pi/torrent.seeds", ## 토렌트 파일 자동 인식 폴더 기존폴더를 쓰던가 새로운 폴더생성해서 경로 지정
"watch-dir-enabled": true


시딩 설정-★이걸 해두면 다운로드가 완료된 후 배포를 하지않고 완료상태로 바뀜
"ratio-limit": 0, ## 배포 비율
"ratio-limit-enabled": true, ## 시딩 활성화


settings.json


※ 위파일은 기본 셋팅 설정해둔 파일입니다. 가져다가 필요한거 넣으시고 전체 복붙 하시면됩니다.



transmission-daemon 시작

-$ sudo /etc/init.d/transmission-daemon start
OR
-$ sudo service transmission-daemon start
OR
-$ sudo transmission-daemon -g /etc/transmission-daemon   <--추천

IP : 9091 접속

 

 

위에 아이디 패스워드로 접속후 밑에 사진처럼 필터 업데이트까지하면 설치는 완료 됩니다.

 

 

 



★ 여기서 중요한 부분이 토렌트 데몬을 계속 켜논상태에서 프로세스가 안죽으면
    다행이지만 이것저것 깔아서 쓰다보면 간혹 죽어버리는 상황이 발생함
    그리고 start 명령어가 어느 순간부터인진 모르겠지만 service 명령어가 안먹음 그래서
    위의 시작명령어중 3번째 명령어를 사용함
    해결방법 : 스크립트를 작성해 crontab 으로 예약을 걸어 수시로 죽으면 살리는 방법으로 해결


폴더 생성
-$ sudo mkdir /usr/script

권한부여
-$ sudo chmod -R 777 /usr/script

작성
-$ sudo nano /usr/script/transmission.sh

--------------------------------------------------
#!/bin/sh

# transmission configuration
portchk(){
    if nc -zv localhost 9091
    then
         echo "transmission Running...."
    else
         echo "transmission Stop -> running..."
         sudo transmission-daemon -g /etc/transmission-daemon
    fi
}
portchk
exit 0
--------------------------------------------------

 

실행가능 하게 변경

-$ sudo chmod a+x /usr/script/transmission.sh
권한 부여
-$ sudo chmod 777 /usr/script/transmission.sh

※ transmission 프로세스 죽이기

-$ sudo kill $(ps -ef | grep 'transmission-daemon -g /etc/transmission-daemon' | grep root |awk '/transmission-daemon/ {print $2}') 



후에 크론텝 등록
-$ sudo crontab -e

1분마다 작업
*/1 * * * * /usr/script/transmission.sh

 CTRL +  O 엔터 CTRL + X
 
Posted by 타카스 류지
|

라즈베리파이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


Posted by 타카스 류지
|