눈 내린 세상
asus ac68u 트랜스미션 토렌트 다운 완료 후 자동 삭제 및 텔레그램 알림 받기 본문
asus ac68u 트랜스미션 토렌트 다운 완료 후 자동 삭제 및 텔레그램 알림 받기
녹은눈사람 2018. 3. 15. 17:56목적.
1. 토렌트 다운 완료 후 transsmisson에서 토렌트 리스트 자동 삭제.
2. 토렌트 다운 완료 후 텔레그램으로 알림받기.
3. 기존 텔레그램봇에 대한 내용은 많으나 asus 공유기 ac1900(ac68u)에 설치 과정은 쉽게 찾을 수 없어 작성.
준비사항.
1. 텔레그램 어플. - 플레이스토어에서 다운.
우선 텔레그램을 설정 해보자.
텔레그램을 설치하고 BotFather 와 대화 시작.
나같은 경우 이전에 텔레그램봇을 실행하려 했다가 실패해서 남은 흔적이 있다..
/newbot 입력 - 새로운 봇을 만듦.
snow - 나의 닉네임. 원하는거 써주면 된다.
snowlbot - 나의 ID. 원하는대로 수정. 누군가 쓰고 있으면 사용불가. 뒤에 꼭 bot를 붙여줘야 된다. 보통_bot 으로 많이들 쓰는듯.
snowbot이나 owlbot은 이미 누가 사용중이라 사용불가.
밑의 token은 컴퓨터에서 사용하기 쉽게 컴퓨터의 메모장이든 어디든 옮겨준다.
보통 숫자:알파벳대소문자혼합 이런식으로 이루어져있다.
숫자와 알파벳 부분 모두 필요하다.
e.g) 54645:AAdaDsQWEs
이제. CHAT ID가 필요하므로 다음과 같이 CHAT ID를 알아내보자.
위의 t.me/Snowlbot 를 클릭하면 자신이 만든 봇과 채팅을 할 수 있다.
채팅방에 들어가서 아무거나 입력.
채팅을 해줘야 아래 작업이 가능하므로.
혹시라도 아래 작업이 제대로 되지 않는다면 내가 만든봇에게 다시 말을 걸어주자.
https://api.telegram.org/bot토큰/getUpdates
브라우저(크롬, 익스등등) 주소창에 위와 같이 입력한다.
bot토큰에 위에서 따로 기록된 token을 입력하자.
e.g) https://api.telegram.org/bot54645:AAdaDsQWEs/getUpdates
그럼 위와 같은 화면이 나오는데
"chat":{"id":540000,"
저기서 숫자만이 우리가 필요로 하는 CHAT ID 이다.
역시 따로 메모해두자.
CHAT ID가 제대로 됐는지 다음과 같이 텔레그램봇을 시켜보자.
https://api.telegram.org/bot토큰/sendMessage?chat_id=챗아이디&text=Hello
역시 인터넷 브라우저 주소창에 위와 같이 입력하면
봇이 나에게 말을 건다.
여기까지 똑같이 따라왔다면 텔레그램 설정이 끝이난다.
이제 putty를 켜서 스크립트를 작성해보자.
opkg install transmission-remote-openssl
트랜스미션 리모트를 설치해준다. 보통 트랜스미션 설치 강좌에는 이 과정이 없다.
그리고 기존의 트랜스 미션 세팅을 바꿔준다.
/opt/etc/init.d/S88transmission stop
nano /opt/etc/transmission/settings.json
트랜스미션을 작동 중지 시키고
설정파일에서 아래와 같이 바꿔준다.
script-torrent-done-enabled : true
script-torrent-done-filename : "/opt/scripts/transmission-done.sh"
밑의 경로는 /opt/sh파일이 있는 폴더명/sh파일이름
이번 강좌에서는 저 경로와 파일이름을 쓰기로한다.
원하는대로 바꿔줘도 무방.
CTRL+O, 엔터, CTRL+X로 빠져나오고
/opt/etc/init.d/S88transmission start
다시 트랜스 미션을 실행.
mkdir /opt/scripts
스크립트 폴더를 생성.
이 폴더의 이름을 변경하면 위에서
"/opt/scripts/transmission-done.sh"
이 경로의 폴더명도 변경해주면 된다.
스크립트 생성 및 작성.
nano -w /opt/scripts/transmission-done.sh
transmission-done.sh 가 위에서 말한 파일 이름이다.
.sh 앞에는 원하는 대로 바꿔줘도 된다.
"/opt/scripts/transmission-done.sh"
파일이름을 변경하려면 위의 경로 파일이름을 같이 변경해준다.
아래와 같이 트랜스미션 자동 삭제 스크립트를 만들어 준다.
#!/bin/sh
# telegram configuration"
SERVER="PORT --auth ID:PASSWORD"
# token
TOKEN='토큰'
# CHAT_ID
CHAT_ID="CHATID"
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 -s -d " " -f 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
# telegram message send
curl --data-urlencode "text=$TR_TORRENT_NAME download completed." "$MSG_URL"$CHAT_ID"&"
fi
done
위의 트랜스미션 자동 삭제 스크립트를 붙여넣은 후
port/ID/PASSWORD/토큰/CHATID
이렇게 5개 부분을 수정해준다.
port - 트랜스미션 포트. 보통은 9091
ID/PASSWORD - 트랜스미션 접속 ID와 비밀번호
토큰 - 텔레그램봇에서 받은 token. 숫자:알파벳대소문자혼용 으로 이루어져있다.
CHATID - 내가 만든 봇의 챗아이디. 숫자로 구성.
다 입력했다면
CTRL+O, 엔터, CTRL+X 로 저장하고 빠져나온다.
chmod 755 /opt/scripts/transmission-done.sh
방금 만든 트랜스미션 자동 삭제 스크립트에 대한 권한을 설정해준다.
755로 해줘도 되고 777로 해줘도 된다.
777 소유자 및 기타 쓰기 읽기 실행 모두 가능.
755 소유자는 쓰기 읽기 실행 모두 가능. 소유자가 아니면 읽기랑 실행만 가능.
이제 트랜스미션을 이용해 토렌트를 다운 받으면
다운 완료 후 텔레그램으로 알림이 오고 트랜스미션에서 토렌트는 자동으로 삭제가 된다.
참고로 개인이 만들어서 배포하는 텔레그램봇은 꽤 있고 성능은 제각각이다.
대표적으로 곰탱이봇이나 망토봇이 있다.
저런 봇들의 경우 텔레그램 자신의 봇에게 어떠한 메시지를 보내면 자동으로 토렌트를 다운하는 기능도 있다.
다만 데비안을 설치해야 작동한다는 내용이 있어
나같은 경우는 굳이 그 정도 기능까진 필요치 않고 데비안 설치가 힘들어 설치하지 않았다.
출처 및 참고
'NAS(asus AC1900 = rt-AC68U) > transmission 설치 및 설정' 카테고리의 다른 글
Watch 폴더를 네트워크 드라이브로 연결해서 토렌트 바로 다운받기. (0) | 2018.03.18 |
---|---|
Transmission Remote GUI 를 이용한 토렌트 다운. (0) | 2018.03.18 |
Asus ac1900 (ac68u) 간이나스 활용하기 - transmission (11) | 2018.03.05 |