最後更新日期 -2015/01/15
事前準備
- Raspberry Pi Type B / B+,Type A 沒有內建網卡,必須自行安裝。
- Raspbian 作業系統。
- USB 外接硬碟,請特別注意,由於 Raspberry Pi 的供電不足以推動外接硬碟,所以一定要有獨立電源。
開始安裝
- 可以直接從 Raspbian 套件庫安裝。
sudo apt-get -y install amule amule-daemon
- 最後的版本是在 2011/11/26 更新的,完全不需要從原始碼重來一次,不過,若是想自己改些什麼的話,那就自行到 aMule 官網下載 吧。
wget http://sourceforge.net/projects/amule/files/aMule/2.3.1/aMule-2.3.1.tar.bz2
接下來將檔案解壓縮。
tar jxvf aMule-2.3.1.tar.bz2
解壓縮完畢之後,會出現一個新的目錄,進入這個目錄。
cd aMule-2.3.1
開始進行主程式的編譯及安裝。
./configure
make && sudo make install
建立設定檔
我們利用 aMule 的背景服務程式 - amule daemon,來幫我們建立基本的設定檔 。
amuled
由於我們是第一次執行,會自動在家目錄產生一個 .aMule 目錄,設定檔都在裡面。
如果要限制使用者必須通過密碼的驗證才能使用,在輸入設定檔裡的密碼欄位時,就必須使用 MD5 編碼過的文字,所以我們要轉換一下我們的密碼。
echo -n 'amule-password' | md5sum | cut -d ' ' -f 1
「4c551147a4c6b690fb7ef5ed51752123」,這就是經過 MD5 編碼後的文字,別忘了將「amule-password」改成自訂的密碼。
先修改 aMule 主設定檔,調整一些必要的參數。
vi ~/.aMule/amule.conf
找到「AcceptExternalConnections」,把 0 改成 1,允許外部網路進行連線。
找到「ECPassword」,貼上剛剛用 MD5 轉換過的密碼。
找到「Language」,後面加上 zh_TW。
找到「WebServer」,將下一行的「Enabled」,把 0 改成 1。
下二行的「 Password」,貼上剛剛用 MD5 轉換過的密碼。
最後,把暫存目錄及下載目錄指定到外接硬碟。
sudo mkdir /mnt/usb
sudo mount /dev/sda1 /mnt/usb
sudo mkdir /mnt/usb/Incoming
sudo mkdir /mnt/usb/Temp
sudo ln -s /mnt/usb/Incoming /home/pi/.aMule/Incoming
sudo ln -s /mnt/usb/Temp /home/pi/.aMule/Temp
如果現在馬上去試著啟動 aMule daemon。
sudo service amule-daemon restart
只會得到「warning」的訊息,原因是尚未設定 aMule daemon 執行服務用的使用者。
接著,我們編輯 amule daemon 的設定檔,設定 AMULED_USER = "pi"。
sudo vi /etc/default/amule-daemon
這時候再重新啟動 aMule daemon 才會成功。
sudo service amule-daemon restart
開啟防火牆的通訊埠
如果 Raspberry Pi 是放在 IP 分享器、無線基地台或防火牆的後面,就算我們安裝好主程式,也將設定檔編輯完成,沒有設定通訊埠轉送 (port forwarding) 時,此時也沒有辦法開始對外連線下載。
aMule 有幾個通訊埠需要開啟,下列是預設的埠號,可參考 eMule 官網的說明。
- 與伺服器連線: TCP 4661, UDP 4665
- 用戶端來源交換 : TCP 4662
- 排隊資訊: UDP 4672
- Web UI: TCP 4711
這裡以 Tomato Firmware 為例,打開「通訊埠轉送」裡的「基本設定」,我把上面這些通訊埠對應到 Raspberry Pi 的 Private IP 10.0.0.41。
管理下載檔案
由於 aMule daemon 有內建 Web Server,只要用瀏覽器連上 http://x.x.x.x:4711,就可以打開主畫面了。
在 Enter Password 的欄位,輸入先前自訂的密碼「amlue-password」, 就可以進入管理介面了。
我們就拿一個在 eMule 界流傳已久,永久斷頭,絕對不會完檔的「PTT 好友檔」來測試。
ed2k://|file|[PTT]emule_friend.rar|23007826|CF52D1CAD8FFF93CF03DB26DF23260D2|/
把上面這行 ed2k 的連結,貼到畫面最下方的輸入框裡,再點選「Download link」按鈕開始下載。
aMule 就會把這串 ed2k 解析之後,進行下載動作。
連結是被加入了,但是等了很久,為什麼一直找不到來源呢??? 有兩個最大的原因 !!!
- 沒有連上任何一台伺服器,也沒有連上 Kad。
- 這個連結已經斷種,或是所有來源都下線,暫時沒在供檔。
先看一下最下方的連線狀況,兩個伺服器都是「Not connected」,難怪沒有來源。
首先,馬上檢查一下防火牆的設定, Port Forwarding 的設定是否正確,Raspbian 本機的 iptables 設定是否也開放了。
由於 ed2k 伺服器必須有實體的伺服器存在,而各國政府其實都對這種 P2P 技術沒什麼好感,所以幾乎都被掃光光了。
如果真的要加的話,Gruk.org 的电驴服务器列表 這邊還有一些可連線的清單,不過安全性請自行考量,希望哪天不會在社會版上看到各位的消息。
而 Kad 就沒有這個問題了,它並不需要實體伺服器的存在,可以參閱 維基百科 - Kad 網路;只要 Port Forwarding 的設定是正確的,Kad 會好好的完成它的工作。
至於,斷種的問題,這個就只能求老天了 !!!
ed2k 跟 BT 的玩法不同,BT 不講究上下傳的比例與貢獻度 (除非是玩 PT),所以大多人都是抓完就閃,導致熱門種幾乎可以滿速下載,可是斷種時間超快,而且幾乎沒有人在補種。
ed2k 非常注重貢獻度,早年在網速還在 256K 的時候,光個上傳 1 vs 下載 4 的規則,為了抓個檔案,還要想方設法供熱門檔來衝高貢獻度,但是也因為如此,ed2k 上面的檔案通常可以活得很久。
我自己就曾經遇過,某次找一個四、五年前的大檔案,本來想說兇多吉少,死馬當活馬醫,放著老騾慢慢拖它個兩個禮拜,沒想到真的還是可以完檔,標準的以時間換取空間。
參考資料
更新紀錄
- 2014/05/11 撰文。
- 2015/01/15 更新 - 加入了安裝畫面,修正錯誤的內容,加入了 WebUI 的操作方法。
0 意見 :
張貼留言