안드로이드에서 Remote Transmission 사용법

안드로이드 폰에서 torrent를 돌릴까도 생각을 해 봤는데, 데이터 트래픽도 그렇고, 직장 WiFi 환경에서 안될 여지가 크기 때문에 그냥 Remote Transmission을 사용하기로 결정했다. Transmission은 Unix 계열 OS에서 실행할 수 있는 torrent client이다. 이 글은 NAS같은 장비에 transmission-daemon을 실행 한 후 Remote Transmission을 통해서 이를 콘트롤 하는 방법에 대한 얘기이다.

나는 NAS는 아니지만 집에 항상 켜 두는 장비로 Raspberry Pi를 사용하고 있다. 간단한 Linux 컴퓨터라고 볼 수 있는데, transmission-daemon및 lighttpd 서버가 실행중이다. 라즈베리파이에 transmission-daemon을 설치한 후 (여기 참조) rpc를 enable 시켜 Remote Transmission 프로그램에서 접속할 수 있도록 설정해준다.

Google Play - Remote Transmission
Google Play – Remote Transmission

https://play.google.com/store/apps/details?id=com.neogb.rtac&hl=ko

Rpc를 enable하면 Remote Transmission 프로그램 뿐만 아니라 브라우저를 통해서도 접속할 수 있다. http://hostname:9091/로 접속을 하면 (9091이 default port) 브라우저에서 torrent 전송 정보를 확인할 수 있다. 물론 torrent 파일을 추가하여 다운로드를 시작하게 할 수도 있다.

그러나 UI라든가 사용 경험을 생각해보면 Remote Transmission 어플을 사용하는게 여러모로 좋다. 브라우저를 통해서 torrent 파일을 다운로드 한 뒤, 다운로드한 파일을 실행하면 Remote Transmission 앱이 자동으로 실행되어 파일을 추가할 수 있다.

단말에 설치한 후 transmission-daemon이 설치된 서버와 포트번호를 넣어주면 설정 끝. 다운로드된 파일은 lighttpd를 통해서 브라우저로 확인할 수 있게 설정하면 편리하다.

Remote Transmission
Remote Transmission

동영상 다운로드 후 바로 감상할 수 있는 이런 기능은 아이폰에서는 안되는 안드로이드의 장점중 하나가 아닐까 생각한다.

내가 사용하는 설정은 다음과 같다.

1. transmission-daemon이 파일을 저장하는 경로를 USB로 변경 (예:/media/499a45f6-9635-4e09/downloads/)

2. /var/www/밑에 위 디렉토리를 symbolic link 생성

라즈베리파이 lighttpd + mysql + php 환경 설정

라즈베리파이에 lighttpd + mysql + php를 설치하여 저전력 웹 서버로 활용할 수 있다. 필요한 패키지들을 다음과 같이 설치한다.

pi@raspbmc:~$ sudo apt-get install lighttpd mysql-server php5 php-common php5-cgi php5-mysql lighty-enable-mod fastcgi-php
pi@raspbmc:~$ sudo service lighttpd force-reload

설치만 하면 부팅할 때마다 자동으로 lighttpd daemon이 실행된다. 기본적으로 80 포트를 사용하게 되어있지만 xbmc가 이미 사용하고 있으므로 포트를 변경해줘야 한다. 그리고 관리의 편의를 위해서 홈디렉토리 밑에 HTTP 루트 디렉토리를 설정한다.  서비스 포트, 홈디렉토리 변경, 로그 디렉토리 변경 그리고 dir-listing이 가능하도록 설정하였다.

pi@raspbmc:~$ cat /etc/lighttpd/lighttpd.conf 
server.modules = (
	"mod_access",
	"mod_alias",
	"mod_compress",
 	"mod_redirect",
#       "mod_rewrite",
)

server.document-root        = "/home/pi/www"
server.upload-dirs          = ( "/var/cache/lighttpd/uploads" )
server.errorlog             = "/var/log/error.log"
server.pid-file             = "/var/run/lighttpd.pid"
server.username             = "www-data"
server.groupname            = "www-data"
server.port                 = 8080

index-file.names            = ( "index.php", "index.html", "index.lighttpd.html" )
url.access-deny             = ( "~", ".inc" )
static-file.exclude-extensions = ( ".php", ".pl", ".fcgi" )

compress.cache-dir          = "/var/cache/lighttpd/compress/"
compress.filetype           = ( "application/javascript", "text/css", "text/html", "text/plain" )

# default listening port for IPv6 falls back to the IPv4 port
include_shell "/usr/share/lighttpd/use-ipv6.pl " + server.port
include_shell "/usr/share/lighttpd/create-mime.assign.pl"
include_shell "/usr/share/lighttpd/include-conf-enabled.pl"

# cky
dir-listing.activate        = "enable"
dir-listing.show-readme     = "enable"
dir-listing.hide-readme-file = "enable"
dir-listing.encoding        = "utf-8"
dir-listing.hide-dotfiles   = "enable"

설정을 수정한 후 lighttpd를 실행하면 잘 동작하는 것을 확인할 수 있을 것이다. 🙂

ps. 외부에서 접속하려면 Raspbmc Settings에서 Firewall을 disable하여야 한다.