트랜스미션을 설치하고 원격으로 토렌트를 관리하는 방법을 알아봅니다.
트랜스미션은 여러 토렌트 대몬 중에서 웹 UI가 내장된, 간단한 토렌트 대몬입니다. 대체로 NAS에서 사용되는 편이지만, 에이수스 라우터에서도 사용할 수 있습니다.
ENVIRONMENT
설치 환경입니다.
| 분류 | 상세 정보 | | :------- | :-------------------: | | Hardware | AC88U | | Firmware | ASUSWRT-MERLIN 386.12 | | Package | Entware armv7sf-k2.6 |
REQUIREMENTS
필수 요구 사항은 다음과 같습니다.
- ASUSWRT-MERLIN 설치
- SSH 접근 허용
- Entware 설치
- 충분한 용량의 USB 스토리지
이 문서에서는 두 개의 스토리지를 사용합니다. - 추가 쿨러
기본 방열 기능만으로는 열기가 배출이 안 됩니다.
INSTALLATION
-
터미널에서 SSH로 라우터에 접속
-
패키지 설치
opkg update opkg install transmission-web
엔트웨어를 업데이트 후, 웹 인터페이스를 설치합니다.
CONFIGURATION
KILL TRANSMISSION
설정을 수정하기전에 전에 트랜스미션을 종료합니다.
종료하지 않으면 수정할 수 없습니다.
/opt/etc/init.d/S88transmission stop
스크립트를 이용하여 트랜스미션을 종료합니다.
EDIT SETTINGS
기본 에디터, vi 를 이용해 트랜스미션 설정파일, /opt/etc/transmission/settings.json 를 수정합니다.
-
설정 파일을 엽니다.
vi /opt/etc/transmission/settings.json
vi를 이용해 설정파일을 엽니다.
-
속성을 수정합니다.
-
수정할 속성 확인
"download-dir": "/mnt/XIYOsD10/home/xiyo/downloads", "incomplete-dir": "/mnt/XIYOsD10/var/tmp/transmission/incomplete", "rpc-password": "test1234", "rpc-username": "root", "watch-dir": "/mnt/XIYOsD10/home/xiyo/watchdir",
XIYOsD10 는 마운트된 스토리지의 이름입니다.
- download-dir
내려받은 파일을 저장할 위치 입니다. - incomplete-dir
내려받는 중인 토렌트 파일이 저장될 위치입니다.
incomplete-dir-enabled 속성을 true (기본값)로 > 설정해야 합니다. - rpc-password
원격으로 접속할 때 사용할 암호입니다.
기본값은 공백으로, 암호 없이 접속할 수 있습니다.
대몬을 실행후 최초 접속시 암호화 됩니다. - rpc-username
원격으로 접속할 때 사용할 ID 입니다.
기본값은 root 입니다. - watch-dir
토렌트 파일을 자동으로 불러올 위치입니다.
watch-dir-enabled 속성을 true (기본값)로 > 설정해야 합니다.
트랜스미션은 설정 파일에 입력한 디렉토리가 없다면 자동으로 생성하기 때문에 따로 디렉토리를 생성하지 않아도 됩니다.
- download-dir
-
단어 찾기
/를 입력하고 찾을 텍스트를 입력하면 됩니다. -
텍스트 수정
i를 입력하면 입력 모드로 전환 됩니다.
수정이 끝난 후에는 ESC를 입력해서 명령 모드로 전환합니다. -
저장
명령 모드에서, :wq를 입력하고 Enter를 입력하면 저장하고 에디터를 종료합니다.
-
START TRANSMISSION
트랜스미션을 시작합니다.
/opt/etc/init.d/S88transmission start
스크립트를 이용하여 트랜스미션을 시작합니다.
OPEN FIREWALL
방화벽을 열어 효과적으로 피어와 연결될 수 있도록합니다.
OPEN PORT
인바운드를 허용할 포트를 방화벽에 추가합니다.
iptables -I INPUT -p tcp --dport 51413 -j ACCEPT
iptables -I INPUT -p udp --dport 51413 -j ACCEPT
트랜스미션에서 사용하는 포트를 방화벽에 추가합니다.
TCP 는 파일을 내려받을 때 사용하고, UDP 는 트래커와 피어에 연결할 때 사용합니다.
SAVE RULES
라우터가 재시작 될 때마다 방화벽 규칙이 사라지므로, 재시작 할 때 마다 방화벽 규칙이 적용되도록 설정합니다.
FILE="/jffs/scripts/firewall-start"; \
[ ! -f "$FILE" ] && \
echo "#!/bin/sh" > "$FILE" && \
chmod +x "$FILE"; \
echo -e "\n# Allow Transmission" >> "$FILE"; \
echo "iptables -I INPUT -p tcp --dport 51413 -j ACCEPT" >> "$FILE"; \
echo "iptables -I INPUT -p udp --dport 51413 -j ACCEPT" >> "$FILE"
firewall-start 파일이 없다면 생성하고, 파일에 방화벽 규칙을 추가합니다.
AUTO START
트랜스미션을 라우터가 재시작 될 때마다 자동으로 시작되도록 설정합니다.
트랜스미션은 추가 스토리지를 사용하고 있기 때문에 스토리지가 마운트 되기 전에는 실행되면 안됩니다.
드라이브가 마운트된 직후 트랜스미션을 실행하도록 설정합니다.
-
파일 확인
마운트 후 실행할 스크립트가 존재하는지 확인하고, 없다면 생성합니다.FILE="/jffs/scripts/post-mount"; \ [ ! -f "$FILE" ] && \ touch "$FILE" && \ chmod +x "$FILE" && \ echo "#!/bin/sh" > "$FILE"
post-mount 파일이 없다면 생성하고 실행 권한을 추가합니다.
-
자동 실행 스크립트 추가
마운트 후에 자동 실행되도록 명령어를 추가 합니다.FILE="/jffs/scripts/post-mount"; \ SEARCH_STRING=". /jffs/addons/diversion/mount-entware.div # Added by amtm"; \ ADD_COMMAND="/opt/etc/init.d/S88transmission start"; \ grep -q "$SEARCH_STRING" "$FILE" || \ echo -e "\n# Entware addmon start" >> "$FILE" && \ echo "$ADD_COMMAND" >> "$FILE"
diversion 을 설치하거나 제거한적이 있다면 diversion 의 마운트 스크립트가 존재할 것입니다.
그러면 이미 자동 실행 스크립트가 들어 있기 때문에 아무런 작업을 하지 않습니다. 없다면, 트랜스미션을 자동 실행하는 스크립트를 추가합니다.
USAGE
WEB UI
브라우저에서 http://라우터IP:9091 에 접속하면 웹 UI를 확인할 수 있습니다.
ID 와 암호는 설정파일에서 설정한 값입니다.
TRANSMISSION CLIENT
트랜스미션 클라이언트는 리모트 서버에 대한 접근 기능이 있습니다.
실행 후 웹 접근과 같이 똑같은 정보를 입력하면됩니다.
TROUBLESHOOTING
MOUNTED DIRECTORY CHANGES
스토리지 마운트를 기본 설정으로 사용할 경우 사용자의 마운트된 스토리지 이름은 sda1, sdb1 으로 되어있을 것입니다.
이 경우 라우터가 재시작 될 때마다 스토리지 이름이 변경 될 수 있습니다. 그렇기 때문에 마운트를 항상 고정시켜줘야합니다.