# 손쉬운 사용

# VPN 우회 접속 동작여부 확인 방법

VPN이 정상적으로 작동하고 있는지에 대한 확인 방법입니다.

1\. [https://ipleak.net/](https://ipleak.net/) 에 접속한 후 아래에 있는 "Torrent Address detection"의 "Activate"를 클릭합니다.

[![VPN1.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/fiGOT0JBVICNbcLy-vpn1.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/fiGOT0JBVICNbcLy-vpn1.jpg)

2\. "This Magnet Link"를 마우스로 우클릭 한후 "링크 주소 복사"를 선택 합니다. (이 브라우저의 창을 닫으시면 안됩니다.)

[![VPN2.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/mjdhSMZGX5xHkDf8-vpn2.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/mjdhSMZGX5xHkDf8-vpn2.jpg)

3\. Transmission GUI로 접속한 후 "Add Torrents"에서 복사된 Magnet 주소를 추가해 줍니다.

[![VPN3.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/g4ygecpODEPlEY1t-vpn3.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/g4ygecpODEPlEY1t-vpn3.jpg)

4\. 다시 [https://ipleak.net/](https://ipleak.net/) 브라우저 화면으로 이동하면 현재 가상 torrent를 받고 있는 IP가 나옵니다.  
 이 IP가 사용하는 공인 IP가 아닌 VPN에서 제공받은 IP라면 정상작동하고 있는 것입니다. 공인 IP가 나오면 VPN이 동작하지  
 않음을 의미 합니다.

[![VPN4.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/rPKlhjIlrnwHMu9B-vpn4.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/rPKlhjIlrnwHMu9B-vpn4.jpg)

5\. 옆에 있는 아래 화면의 "Activate"를 누르시면 구글앱에서 받고 있는 IP가 어느지역인지 지도로 표시 되기도 합니다.

[![VPN5.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/NbWHcz9fcC1JxWcf-vpn5.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/NbWHcz9fcC1JxWcf-vpn5.jpg)

6\. Test가 끝났으면 추가한 torrent를 수동으로 지워주셔야 합니다.

[![VPN6.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/scaled-1680-/WeVPPmFF0d2gYzEf-vpn6.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-10/WeVPPmFF0d2gYzEf-vpn6.jpg)

# 다운로드 완료 알림 및 다운로드목록 자동 삭제

다운로드가 완료되면 텔레그램봇으로 다운로드 완료 여부를 안내하고. Transmision에서 다운로드 완료 항목에 대한

리스트를 자동삭제하는 스크립입니다.

"tr.sh"라는 파일명으로 아래 스크립트를 작성 합니다.

텔레그램봇에 대한 부분은 설명을 생략하며 구글을 검색하시면 많은 정보들이 있습니다.

(텔레그램에 봇파더 설정 후 Token 값과 CHAT\_ID 값을 얻으셔야 합니다....)

1\. 도커 콘솔에 접속 합니다.

```shell
docker exec -it 컨테이너명 /bin/bash
```

또는 Portainer를 이용하면 편합니다.

2\. "/config"로 이동해 "tr.sh"라는 파일을 생성합니다.

```shell
cd config
touch tr.sh
```

3\. nano를 이용해 "tr.sh" 내용을 작성합니다.

```shell
nano tr.sh
```

입력해야할 내용은 아래와 같습니다. 내역 작성 후 ctrl + x 로 빠져나가고 엔터를 쳐줍니다.

```bash
#!/bin/sh

# telegram bot
SERVER="9091"
TOKEN='텔레그램_TOKEN'
CHAT_ID="텔레그램챗_ID"
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
    FILENAME=`/usr/bin/transmission-remote $SERVER --torrent $TORRENTID --info | grep Name | cut -c 9-60`
    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
        /usr/bin/curl --data-urlencode "text=Download Complete :  $FILENAME" "$MSG_URL"$CHAT_ID"&"
       
    fi
done
```

Log를 남기고 싶으면 아래 문장을 끝부분에 추가해 주시면 됩니다.

```shell
LOG_FILE=/config/tr.log
transmission-remote $SERVER --list >>$LOG_FILE
```

4\. 도커에서 "tr.sh"를 실행할 수 있는 권한을 부여해 줍니다.

```shell
chmod +x tr.sh
```

5\. 도커 콘솔을 빠져나갔니다.

6\. 작성한 "tr.sh"를 Transmission에 등록이 필요 합니다. Transmission GUI 페이지로 접속 후 "Settings"로 이동합니다.

"Torrets" 탭을 보면 "Run script when complete"라는 항목이 있고, 이 옵션을 활성화 합니다.

활성화 후 작성된 "/config/tr.sh"를 등록해 주시고, 도커를 재시작 합니다.

[![sh_set.jpg](https://wiki.dhcloud.me/uploads/images/gallery/2023-09/scaled-1680-/aw8hH7geY7JE7oF8-sh-set.jpg)](https://wiki.dhcloud.me/uploads/images/gallery/2023-09/aw8hH7geY7JE7oF8-sh-set.jpg)

또는 "settings.json"에 아래 내용출 추가하여 "tr.sh" 파일을 적용 시켜 줄수도 있습니다.

<p class="callout success">"script-torrent-done-enabled": true,  
"script-torrent-done-filename": "/config/tr.sh",</p>

JSON을 수정할 때 아래도 같이 해주시며 좋습니다.

<p class="callout success">"ratio-limit": 0,  
"ratio-limit-enabled": true,  
"blocklist-enabled": true,  
"blocklist-url": "http://list.iblocklist.com/?list=bt\_level1&amp;fileformat=p2p&amp;archiveformat=gz",</p>

<p class="callout warning">Docker를 이용하신다면 JSON 수정시 <span style="text-decoration: underline;"><span style="color: rgb(224, 62, 45); text-decoration: underline;">**컨테이너를 중지**</span></span> 후 JSON를 수정해 주셔야 Docker 재시작 시에도 변경값이 유지 됩니다. 중지를 안하고 수정하면 Docker 재시작이 이전 내용으로 원복 됩니다.</p>

# 다운로드 완료 후 자동 파일 처리

아래는 다운로드가 완료된 파일에 대해 자동으로 네이밍, 이동을 시켜주는 스크립트 입니다.

편의에 맞게 수정 후 시놀로지의 "스케줄러"에 등록하여 주기적으로 실행 시켜주면 됩니다.

```bash
#!/bin/bash

# .added 파일 삭제
rm -f /volume2/Transmission/torrentfile/*.added &

# 파일명의 특정 문자 삭제
find /volume2/Transmission/completed -name "*abcde*" | sed -e 'p' -e "s/abcde//g" | xargs -n 2 mv

sleep 1s

# txt, nfo 파일 삭제
find /volume2/Transmission/completed -iname "*.txt" -print0 | xargs --null rm -f
find /volume2/Transmission/completed -iname "*.nfo" -print0 | xargs --null rm -f
find /volume2/Transmission/completed -iname "*.html" -print0 | xargs --null rm -f
find /volume2/Transmission/completed -iname "*.url" -print0 | xargs --null rm -f

sleep 1s

# rar, zip, egg 파일 이동
\find /volume2/Transmission/completed -iname "*.rar" -print0 | xargs --null mv -t /volume2/Temp_Vol2/
\find /volume2/Transmission/completed -iname "*.zip" -print0 | xargs --null mv -t /volume2/Temp_Vol2/
\find /volume2/Transmission/completed -iname "*.egg" -print0 | xargs --null mv -t /volume2/Temp_Vol2/
sleep 1s

# 빈폴더 삭제
find /volume2/Transmission/completed/* -empty | xargs rm -r

sleep 1s

# 모든파일 GD Sync로 이동
mv -f /volume2/Transmission/completed/* /volume2/'GD Sync'/
```

\[설명\]

1\. "Transmission &gt; torrentfile" 디렉토리에 ".torrent" 파일을 업로드하면 자동으로 torrent 다운로드 리스트에 등록을하고 이   
 ".torrent" 파일은 ".torrent.added"로 변경이 됩니다, 이후 이 파일은 쓸모가 없으므로 삭제시키는 시크립트 입니다.

2\. 다운로드가 완료된 파일명을 보면 시더가 자신들을 홍보하려는 특정 문구들이 들어갈때가 있습니다. 다운로드 완료 후 이 부분을  
 삭제 시키는 스크립트 이며, 예제는 파일명에서 "abcde"를 찾아 삭제시키는 스크립드 입니다.

3\. 다운로드가 완료된 파일에는 txt, nfo와 같이 필요가 없는 파일이 있을 수 있습니다. 원하는 파일 확장자를 삭제시키는 스크립트  
 입니다.

4\. 다운로드가 완료된 파일에 특정 압축 파일이 있을 시 지정된 디렉토리로 자동 이동시키는 스크립트 입니다.

5\. 위 처리가 완료 된 자료를 원하는 특정 위치로 이동시키는 스크립트 입니다.