Installing Transmission through Entware - XIYO/asuswrt-merlin.ng-kr GitHub Wiki
Asus์ DownloadMaster๋ ๋ค์ํ ๋ฌธ์ ๋ฅผ ๊ฒช๊ณ ์์ต๋๋ค. Transmission ๋ฐ OpenSSL์ ์ค๋๋ ๋ฒ์ , ๋์ญํญ์ ๋ชจ๋ ์ฐจ์งํ๋ aMule์ ๋นํ์ฑํํ ์ ์๋ ๋ฐฉ๋ฒ์ด ์๋ ๋ฑ์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค...
Download Master๋ฅผ ์ ๊ฑฐํ๊ณ ๋์ Entware๋ฅผ ํตํด Transmission์ ์๋์ผ๋ก ์ค์ ํ๋ ๊ฒ์ ๊ถ์ฅํฉ๋๋ค. ์ด๋ก ์ธํด ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ด์ ์ด ์์ต๋๋ค:
- ์ ๋ฐ์ ์ผ๋ก ๋ ๋์ ์ฑ๋ฅ
- ์์ ๋งํฌ ์ง์
- ๋๋ถ๋ถ์ ์ฌ๋๋ค์ aMule์ด๋ NZBGet์ ๊ด์ฌ์ด ์์ต๋๋ค. ์ด๋ก ์ธํด ๋ถํ์ํ ๋ถ๋ถ์ด ์ ๊ฑฐ๋ฉ๋๋ค.
์ด ์ค์ ์์๋ ๋์คํฌ๊ฐ /mnt/sda1/์ ๋ง์ดํธ๋์ด ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. (์๋ฅผ ๋ค์ด, ๋ง์ฝ ์ฌ๋ฌ๋ถ์ ๋์คํฌ๊ฐ /mnt/sdb1์ ๋ง์ดํธ๋์ด ์๋ค๋ฉด ๊ฒฝ๋ก๋ฅผ ํ์์ ๋ง๊ฒ ์กฐ์ ํ์ญ์์ค).
๋ํ ๋์คํฌ๊ฐ ์ด๋ฏธ Ext2 ๋๋ Ext3์ผ๋ก ํฌ๋งท๋์ด ์๋ค๊ณ ๊ฐ์ ํ๊ฒ ์ต๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๋์คํฌ๋ฅผ ๋ค์ ํฌ๋งทํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ ๋ณด๋ ์น์์ ์ฐพ์๋ณด์ธ์.
Entware ์ค์ ๋ฐ nano ํธ์ง๊ธฐ ์ค์น (vi ํธ์ง๊ธฐ๋ฅผ ์ด๋ฏธ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๊ฒฝ์ฐ๋ฅผ ์ ์ธํ๊ณ ):
opkg install nano
```## ์ค์น
Transmission์ ์ค์นํด์ผ ํฉ๋๋ค:
```shell
opkg install transmission-web transmission-daemon
opkg install transmission-remote transmission-daemon
์ผ๋ถ https ํธ๋์ปค์ ์ฐ๊ฒฐํ๊ธฐ ์ํด ์ธ์ฆ์ ํจํค์ง๋ฅผ ์ค์นํด์ผ ํ ์๋ ์์ต๋๋ค:
opkg install ca-bundle ca-certificates
๋ฐ์ดํฐ ๋๋ ํฐ๋ฆฌ๋ฅผ ์์ฑํ์ญ์์ค (์ํ๋ ๋๋ก ์กฐ์ ํ์ญ์์ค):
mkdir /mnt/sda1/Torrent/
mkdir /mnt/sda1/Torrent/Incomplete
mkdir /mnt/sda1/Torrent/Watch
mkdir /mnt/sda1/Torrent/Completed
Transmission์ด ์ด๋ฏธ ์คํ ์ค์ด ์๋์ง ํ์ธํ ํ ์ค์ ์ ํธ์งํ์ญ์์ค:
/opt/etc/init.d/S88transmission stop
nano -w /opt/etc/transmission/settings.json
๋ค์ ๊ฒฝ๋ก๋ฅผ ์กฐ์ ํด์ผ ํฉ๋๋ค:
"download-dir": "/mnt/sda1/Torrent/Completed",
"watch-dir": "/mnt/sda1/Torrent/Watch",
"incomplete-dir": "/mnt/sda1/Torrent/Incomplete",
๋ํ ์น ์ฌ์ฉ์ ์ธํฐํ์ด์ค์ ์ํธ๋ฅผ ์ค์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๋ค์ ๋งค๊ฐ๋ณ์๋ฅผ ์ค์ ํ์ญ์์ค:
"rpc-authentication-required": true,
"rpc-username": "admin",
"rpc-password": "yourpassword",
์ํธ๋ Transmission์ด ์ฒ์ ์คํ๋ ๋ ํด์๋ก ์ ์ฅ๋๋ฏ๋ก ์ฌ๊ธฐ์์ ํ๋ฌธ์ผ๋ก ์ ๋ ฅํด๋ ์์ ํฉ๋๋ค.## ๋ฐฉํ๋ฒฝ ๊ตฌ์ฑ ๋ฐฉํ๋ฒฝ์์ ํ์ํ ํฌํธ๋ฅผ ์ด์ด์ฃผ๋ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ๋ฅผ ๋ง๋ค์ด์ผ ํฉ๋๋ค. ์ค์ ํ์ผ(settings.json)์์ ๊ธฐ๋ณธ๊ฐ์ ๋ณ๊ฒฝํ๋ค๋ฉด ํด๋น ๋ด์ฉ์ ์ ๋ฐ์ดํธํ์ญ์์ค.
nano -w /jffs/scripts/firewall-start
๋ค์ ๋ด์ฉ์ ์ ๋ ฅํ์ญ์์ค (์ด๋ฏธ ๊ธฐ์กด ์คํฌ๋ฆฝํธ๊ฐ ์๋ ๊ฒฝ์ฐ ์ฒซ ๋ฒ์งธ ์ค์ ๋ฌด์ํ์ญ์์ค):
#!/bin/sh
iptables -I INPUT -p tcp --destination-port 51413 -j ACCEPT
iptables -I INPUT -p udp --destination-port 51413 -j ACCEPT
๊ทธ๋ฐ ๋ค์ ์คํ ๊ฐ๋ฅํ๊ฒ ๋ง๋ญ๋๋ค:
chmod a+rx /jffs/scripts/firewall-start
๋ชจ๋ ์ค์ ์ด ์ด์ ์๋ฃ๋์์ต๋๋ค. ์ฆ์ ์๋์ผ๋ก ์์ํ ์ ์์ผ๋ฉฐ (๋ถํ ์ ์๋์ผ๋ก ์์๋จ):
/jffs/scripts/firewall-start
/opt/etc/init.d/S88transmission start
๋ค์ ์ฃผ์๋ฅผ ํตํด ์ ์ํ ์ ์์ต๋๋ค: http://router.asus.com:9091/transmission### ์ด๋ฉ์ผ ์๋ฆผ ์ธํฐ๋ท ์ฐ๊ฒฐ์ด ๋๋ฆฐ ๊ฒฝ์ฐ ํ ๋ ํธ ๋ค์ด๋ก๋๊ฐ ์๋ฃ๋์์ ๋ ์๋ฆผ์ ๋ฐ๊ณ ์ถ๋ค๋ฉด, ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ _tmail.sh_๋ก ๋ถ๋ฅด๊ณ /jffs/scripts์ ์ ์ฅํ์ญ์์ค. ๋จผ์ SMTP, FROM, TO, USER ๋ฐ PASS๋ฅผ ์์ ์ ์๊ฒฉ ์ฆ๋ช ์ผ๋ก ์ฑ์ฐ์ง ์์ผ๋ฉด ์ ๋ฉ๋๋ค.
๊ฒฝ๊ณ : ๋ง์ ํ ๋ ํธ๋ฅผ ๋ค์ด๋ก๋ํ๋ ๊ฒฝ์ฐ ๊ท์ฐฎ์ ์ ์์ต๋๋ค.
#!/bin/sh
SMTP="your-smtp-server:587"
FROM="your-email-address"
TO="your-email-address"
USER="email-user-name"
PASS="email-password"
FROMNAME="Asus Router"
torrent_name="$TR_TORRENT_NAME"
echo "Subject: ๋ค์ด๋ก๋ ์๋ฆผ!" >/tmp/tmail.txt
echo "From: \\"$FROMNAME\\"<$FROM>" >>/tmp/tmail.txt
echo "Date: `date -R`" >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txt
echo Transmissionbt๊ฐ `date +\%d/\%m/\%Y`์ `date +\%T`์ "$TR_TORRENT_NAME" ๋ค์ด๋ก๋๋ฅผ ์๋ฃํ์ต๋๋ค. >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txt
echo "์น์ ํ ๋ผ์ฐํฐ." >>/tmp/tmail.txt
echo "" >>/tmp/tmail.txt
cat /tmp/tmail.txt | /usr/sbin/sendmail -S"$SMTP" -f"$FROM" $TO -au"$USER" -ap"$PASS"
rm /tmp/tmail.txt
Transmission ๋ฐ๋ชฌ์ ์ค์งํ๊ณ , /opt/etc/transmission/settings.json ํ์ผ์์ ๋ค์ ๋ ์ค์ ๋ณ๊ฒฝํ ๋ค์, Transmission์ ๋ค์ ์์ํ์ญ์์ค.
"script-torrent-done-enabled": true,
"script-torrent-done-filename": "/jffs/scripts/tmail.sh",
#!/bin/sh
SMTP="your-smtp-server:587"
FROM="your-email-address"
TO="your-email-address"
USER="email-user-name"
PASS="email-password"
FROMNAME="Asus Router"
torrent_name="$TR_TORRENT_NAME"
torrent_version="$TR_APP_VERSION"
logger -t "$0" "Mail sent, about "$TR_TORRENT_NAME""
echo MIME-Version: 1.0 >/tmp/tmail.html
echo Content-Type: text/html >>/tmp/tmail.html
echo "Subject: ๋ค์ด๋ก๋ ์๋ฆผ" >>/tmp/tmail.html
echo "From: \\"$FROMNAME\\"<$FROM>" >>/tmp/tmail.html
echo "Date: `date -R`" >>/tmp/tmail.html
echo "" >>/tmp/tmail.html
echo "<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">" >>/tmp/tmail.html
echo "<html>" >>/tmp/tmail.html
echo "<head><title></title>" >>/tmp/tmail.html
echo "</head>" >>/tmp/tmail.html
echo "<p>Transmissionbt v"$torrent_version"๊ฐ ๋ค์ด๋ก๋๋ฅผ ์๋ฃํ์ต๋๋ค:</p>" >>/tmp/tmail.html
echo "<p><b>"$TR_TORRENT_NAME"<b></p>" >>/tmp/tmail.html
echo "<p>`date +\%d/\%m/\%Y`์ `date +\%T`์</p>" >>/tmp/tmail.html
echo "" >>/tmp/tmail.html
echo "<p>๋ฉ์ง ๋ผ์ฐํฐ์
๋๋ค.</p>" >>/tmp/tmail.html
echo "<a href="http://tinypic.com?ref=2zod5ja" target="_blank"><img src="http://i40.tinypic.com/2zod5ja.png" border="0" alt="Image and video hosting by TinyPic"></a>" >>/tmp/tmail.html
echo "</body>" >>/tmp/tmail.html
echo "</html>" >>/tmp/tmail.html
cat /tmp/tmail.html | /usr/sbin/sendmail -S"$SMTP" -f"$FROM" $TO -au"$USER" -ap"$PASS"
rm /tmp/tmail.html
๋ฐ์ ์ด๋ฉ์ผ์ ์์:
๋ฌธ์ ๊ฐ ์์ ๊ฒฝ์ฐ ์ฌ๊ธฐ์ ๋ฌธ์ํ์ญ์์ค.
๋ค๋ฅธ ๊ฐ์ด๋๋ ์ฌ๊ธฐ์์ ํ์ธํ ์ ์์ต๋๋ค.## Transmission์ ์ถ๊ฐ ํธ๋์ปค ์ถ๊ฐํ๊ธฐ ์ด ์์ ์คํฌ๋ฆฝํธ๋ ํ์ฌ ํ์ฑ ํ ๋ ํธ๋ฅผ ์ถ๊ฐ ํธ๋์ปค๋ก ์ ๋ฐ์ดํธํฉ๋๋ค. ํด์๊ฐ ์ผ์นํ๋ ๊ฒฝ์ฐ ์ค์ .json์ ๋ค์๊ณผ ๊ฐ์ด ์ถ๊ฐํ์ฌ ์ฌ์ฉํฉ๋๋ค:
"script-torrent-added-filename": "/opt/bin/add_trackers.sh",
Transmission ์๊ฒฉ ๋๊ตฌ๋ฅผ ์ค์นํฉ๋๋ค:
opkg install transmission-remote-openssl
#!/bin/sh
# Transmission ์๊ฒฉ ์ฆ๋ช
๊ฐ์ ธ์ค๊ธฐ
auth= #(์: username:password)
add_trackers () {
torrent_hash=$1
base_url='https://torrentz2.eu'
pattern='announcelist_[0-9]+'
announce_list=`wget -qO - ${base_url}/${torrent_hash} | grep -Eo "${pattern}"`
if [ -z "$announce_list" ] ; then
echo '์ถ๊ฐ ํธ๋์ปค๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค, ์ฃ์กํฉ๋๋ค.'
continue
fi
echo "$torrent_hash์ ๋ํ ํธ๋์ปค ์ถ๊ฐ ์ค..."
for tracker in $(wget -qO - ${base_url}/${announce_list}) ; do
echo -n "* ${tracker}..."
if [ -z "$(transmission-remote --auth=$auth --torrent ${torrent_hash} -td ${tracker} | grep 'success')" ]; then
echo ' ์คํจํ์ต๋๋ค.'
else
echo ' ์๋ฃ๋์์ต๋๋ค.'
fi
done
}
# ํ์ฑ ํ ๋ ํธ ๋ชฉ๋ก ๊ฐ์ ธ์ค๊ธฐ
ids="$(transmission-remote --auth=$auth --list | grep -vE 'Seeding|Stopped' | grep '^ ' | awk '{ print $1 }')"
for id in $ids ; do
echo "# ํ ๋ ํธ #$id ์ฒ๋ฆฌ ์ค..."
hash="$(transmission-remote --auth=$auth --torrent $id --info | grep '^ Hash: ' | awk '{ print $2 }')"
add_trackers $hash
done