[洽特] 在樹莓派上跑 Hentai@Home

看板AC_In作者 (アナタハソコニイマスカ)時間6年前 (2017/10/06 10:28), 6年前編輯推噓42(42017)
留言59則, 48人參與, 6年前最新討論串1/3 (看更多)
好讀版本 https://takahashi65.blogspot.tw/2017/09/raspberry-pi-3-raspbian-hentaihome.html 前前後後間斷的弄了一個月,確定可以穩定運作至少兩週了,所以來發個技術文 基本上這是一種在本地端跑 H@H 最廉價的方案,兩千不到的樹莓派,幾百塊的硬碟外接盒,再加上一個小容量的固態硬碟,五千塊以內打死,而且樹莓派還可以同時作其他事情,如果你不喜歡租 VPS 在遙遠又看不到的機房跑這種東西的話,是可以這樣玩 我省略了一些的東西,像是設定 DHCP 保留,將樹莓派的內部網路位址固定,以及設定 DHCP/NAT 的傳輸埠指定,將特定的傳輸埠開放到網路( WAN )上、並轉發給內部網路( LAN )的指定網路位址,這個各家無線網路分享器的實作介面都不一樣,請自己去查 申請 Hentai@Home 客戶端、網頁上設定客戶端的部分,請參閱版上其他文章 ====== 或許很多人會想樹莓派跟一般電腦的架構完全不一樣( ARM 架構的 Broadcom BCM2837 之於一般電腦的 x86-64 處理器)怎麼可能跑這些東西,但其實只要是使用跨平台的方式去撰寫,比如用 Python 或是 Qt 模式去撰寫的軟體通常都可以在各種平台上運行,而 Hentai@Home 這種運行在 Java 架構上的軟體更不是問題 首先來講一下要運行 Hentai@Home,在樹莓派所運行的 Raspbian 上需要安裝的軟體與設定 https://farm5.staticflickr.com/4397/36634099774_d9eb0e45f1_b.jpg
終端機登入樹莓派 https://farm5.staticflickr.com/4344/37296234096_6cf746d683_b.jpg
再來跑個 sudo apt-get update 跟 sudo apt-get upgrade https://farm5.staticflickr.com/4420/37086925220_d60f211dd0_b.jpg
使用 speedtest.py 腳本測速一下,確定樹莓派可以連線並跑出最大速度 https://farm5.staticflickr.com/4445/37343184071_4737dd0dcc_b.jpg
sudo apt-get install trickle 安裝限速模組,抓個想要讓 Hentai@Home 跑的速度 https://farm5.staticflickr.com/4350/23491969508_76345d5876_b.jpg
大概抓個 2 Mbps 然後輸出測試結果,然後去填寫客戶端申請 https://farm5.staticflickr.com/4506/37511013941_60d27d717c_b.jpg
sudo apt-get install default-jre 跟 sudo apt-get install default-jdk 之後 java -version 會像是這樣 其實一開始我也在想不安裝 Oracle Java SE 真的沒問題嗎,畢竟參閱不少資料都說需要 Oracle Java 套件,但跑起來確實是沒問題就是了 接著講一下硬體的部分,樹莓派是使用 MicroSD 記憶卡當作系統硬碟來運作,即使用大容量的記憶卡,但考慮到頻繁的讀寫還是建議使用外接硬碟,畢竟跑 Hentai@Home 就是要越大的檔案快取空間( Files Served / Maximum Disk Cache Size )越好,弄顆有一定容量的外接硬碟是最佳解,剛好手上有一顆小容量的固態硬碟,可以在讀取速度跟耗電量上取得不錯的平衡,畢竟樹莓派的 USB 埠最大輸出電流量只能到 1200mAh https://farm5.staticflickr.com/4454/36841884643_b5d18382dd_b.jpg
左邊是樹莓派跟它的風扇,右邊是中華電信光世代的數據機 https://farm5.staticflickr.com/4485/37252604930_07d28cb409_b.jpg
固態硬碟跟外接盒用 3M 魔鬼氈固定在櫃子頂部 接下來要把外接的固態硬碟掛載到樹莓派的系統,並能被運行的 Raspbian 系統存取使用 也就是要把外接硬碟資料清空、建立新的 GPT 分割表與一個 Ext4 格式分割區 因此請確定這顆硬碟裡面沒有你需要的資料 而 Linux 的硬碟管理邏輯跟 Windows 不太一樣,因此可能很多人不能理解把硬碟掛載到資料夾這個概念,沒關係,照作就好(欸? https://farm5.staticflickr.com/4457/36841893783_d45bf430b3_b.jpg
使用 df -h 指令顯示系統上的磁碟區跟可用空間 https://farm5.staticflickr.com/4507/37479893892_b94f9d8cb8_b.jpg
lsblk 指令顯示硬碟分割狀態跟分割區 https://farm5.staticflickr.com/4484/37479893692_37ae2f09e5_b.jpg
接上外接硬碟並重新開機後可以看到硬碟 sda 與磁碟區 sda1 https://farm5.staticflickr.com/4477/36841893773_184c7fa83d_b.jpg
https://farm5.staticflickr.com/4490/36841893143_314d855d30_b.jpg
使用 fdisk -l 來檢視硬碟與磁碟區的詳細資料,最下面的 /dev/sda 就是外接硬碟 https://farm5.staticflickr.com/4493/37479893592_86963519e9_b.jpg
使用 sudo fdisk /dev/sda 來編輯外接硬碟,先 d 後 w 來刪除硬碟上的分割表與磁碟區 https://farm5.staticflickr.com/4462/36841892713_f43cde6029_b.jpg
再一次 sudo fdisk /dev/sda 建立磁碟區,先 n 後 p、1、按兩次輸入,最後 w 儲存 https://farm5.staticflickr.com/4506/36841892373_ca3c676519_b.jpg
使用 sudo mkfs.ext4 /dev/sda1 來將分割區格式化成 Ext4 https://farm5.staticflickr.com/4473/36841892043_430b8ea047_b.jpg
結果是這樣,將 /dev/sda1 格式化成Ext4 https://farm5.staticflickr.com/4511/36841891553_8e9aec9a45_b.jpg
使用 sudo mkdir /media/hd 來建立一個資料夾,之後外接硬碟會掛載在這裡 並用 sudi chmod 777 /media/hd 的指令給予它權限 https://farm5.staticflickr.com/4485/36841891833_b5da92f554_b.jpg
s -lh /dev/disk/by-uuid 可以看到硬碟與分割區的 UUID sudo blkid /dev/sda1 列出外接硬碟分割區的 UUID https://farm5.staticflickr.com/4469/36841891353_9b9a2fbb8b_b.jpg
記住剛剛的 UUID,編輯 fstab 來達成開機自動掛載外接硬碟 https://farm5.staticflickr.com/4489/36841891053_9c2c27bbc0_b.jpg
在最下面加入剛剛的 UUID,並指向 /media/hd https://farm5.staticflickr.com/4465/36841890793_af75c85c6e_b.jpg
重新開機後外接硬碟就會掛載到 /media/hd 下 https://farm5.staticflickr.com/4462/36841890473_320874c31d_b.jpg
再輸入一次 sudo chmod 777 /media/hd 給予它權限 再來就跟正常安裝一樣,在 /media/hd 建立一個 hath 資料夾 把 HentaiAtHome.jar 丟進 /media/hd/hath,並設定 sudo chmod +x HentaiAtHome.jar 建議安裝一下 screen 這個套件來有效管理 Hentai@Home,畢竟 SSH 終端機登出就會關掉程序這點還蠻討厭的,請參考下面這篇文章 https://goo.gl/jirXb2 再來就是在開啟的 shell 中啟動 HentaiAtHomeGUI.jar,在啟動指令中設定資料夾指向,填入客戶端編號與金鑰就可以完成 https://farm5.staticflickr.com/4499/37511016191_e1a3892fc3_b.jpg
設定 /etc/motd 後可以在登入終端機時看到一些自訂提示 https://farm5.staticflickr.com/4509/37511016381_2cd7685429_b.jpg
使用 df -h 指令就可以看到資料都儲存在外接硬碟 https://farm5.staticflickr.com/4505/37252604300_0dbeeafed2_b.jpg
在 E-hentai 可以看到樹莓派上的客戶端已經連線 兩個客戶端 6000 KBps 大約是亞洲區的百分之二運算力 通常樹莓派都是以 Headless computer (沒有外接螢幕與鍵盤滑鼠)的方式運作,因此可以用一些自動化腳本來監控並在發生異常時提醒你去處理,當然樹莓派內建的硬體看門狗也是必須的 詳細請參考 https://goo.gl/5qomS2 而我也額外寫了一些基於 Python 的小程式來監控,並使用 Crontab 來達成自動化運作 並在異常時通知我,我把撰寫好的程式放在 GitHub 上,可以自由取用 https://github.com/Suzhou65/RaspberryPi-Automatically-Report https://farm5.staticflickr.com/4474/37252604030_5472a9382b_b.jpg
使用 Crontab 來來達成自動化運作,回報處理器溫度與 Hentai@Home 異常運作 https://farm5.staticflickr.com/4449/36841884903_e4e06bda78_b.jpg
定時回報處理器溫度與在 Hentai@Home 異常時回報 -- 為什麼你會這麼熟練啊!你和指揮官親過多少次了啊!你到底要把我甩開多遠你才甘心啊 是我,是我先,明明都是我先來的…接吻也好,擁抱也好,還是喜歡上指揮官那傢伙也好 這個基地..已然 沒有我的容身之處了 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 223.136.182.158 ※ 文章網址: https://www.ptt.cc/bbs/AC_In/M.1507256931.A.17D.html

10/06 10:36, 6年前 , 1F
快推以為我看得懂
10/06 10:36, 1F

10/06 10:40, 6年前 , 2F
誠實地表示自己看不懂
10/06 10:40, 2F

10/06 10:40, 6年前 , 3F
快推以免別人以為我看不懂
10/06 10:40, 3F

10/06 10:43, 6年前 , 4F
推就好了
10/06 10:43, 4F

10/06 10:49, 6年前 , 5F
寫得很詳細 幫推
10/06 10:49, 5F

10/06 10:54, 6年前 , 6F
看不懂 先推
10/06 10:54, 6F

10/06 10:56, 6年前 , 7F
是技術取向的朋友呢 好厲害
10/06 10:56, 7F

10/06 10:58, 6年前 , 8F
在實驗室碰pi這麼久,還沒想過,慚愧推
10/06 10:58, 8F
這板子可以惡搞的東西太多了,我還弄了個走 443 UDP 的 OpenVPN 去穿公眾無線網路

10/06 11:03, 6年前 , 9F
萬神殿新業務
10/06 11:03, 9F

10/06 11:16, 6年前 , 10F
看不懂 幫推
10/06 11:16, 10F
※ 編輯: takahashikag (223.136.182.158), 10/06/2017 11:19:26

10/06 11:25, 6年前 , 11F
看不懂 我比較熟高金素梅
10/06 11:25, 11F

10/06 11:35, 6年前 , 12F
我拿來當作音樂訊源的樹莓派3昨天死亡了XD
10/06 11:35, 12F

10/06 11:37, 6年前 , 13F
誠實的表示完全看不懂
10/06 11:37, 13F

10/06 11:40, 6年前 , 14F
話說我八月申請到H@H的帳號ID通過了 到現在還是沒有啟
10/06 11:40, 14F

10/06 11:40, 6年前 , 15F
用(就是啟動客戶端還有那個網路流量啥的,總之就是一個
10/06 11:40, 15F

10/06 11:40, 6年前 , 16F
ID沒用擺著) 不知道會怎麼樣??
10/06 11:40, 16F

10/06 11:42, 6年前 , 17F
第一次看到網路數據機裝風扇
10/06 11:42, 17F

10/06 11:52, 6年前 , 18F
趕快推不然別人以為我看不懂XD
10/06 11:52, 18F

10/06 11:58, 6年前 , 19F
恩恩 跟我想的一樣
10/06 11:58, 19F

10/06 12:13, 6年前 , 20F
看不懂先推
10/06 12:13, 20F

10/06 12:19, 6年前 , 21F
一般紳士還是買個金星領每日bonus比較省事XD
10/06 12:19, 21F

10/06 12:49, 6年前 , 22F
真巧,我也覺得可以這樣搞
10/06 12:49, 22F

10/06 12:54, 6年前 , 23F
沒想過可以這樣搞www
10/06 12:54, 23F

10/06 12:55, 6年前 , 24F
這是…破產版本的nas嗎…缺點是很多東西要自己寫,好處也
10/06 12:55, 24F

10/06 12:55, 6年前 , 25F
是什麼東西都可以自己寫
10/06 12:55, 25F

10/06 13:01, 6年前 , 26F
完全看不懂 有哪位小僧可以開導這個用途是?
10/06 13:01, 26F

10/06 13:43, 6年前 , 27F
諾貝爾獎就給你了
10/06 13:43, 27F

10/06 14:02, 6年前 , 28F
有心要玩的用rpi根本跑不了啥 hathrate基本上永遠過不
10/06 14:02, 28F

10/06 14:02, 6年前 , 29F
了10
10/06 14:02, 29F

10/06 14:03, 6年前 , 30F
bottleneck在rpi上 usb+ethernet轉接ic上
10/06 14:03, 30F

10/06 14:04, 6年前 , 31F
至於6000kb那不過是自慰罷了 那只是max burst speed
10/06 14:04, 31F

10/06 14:05, 6年前 , 32F
實際上傳力看hitrate或者h@h score才有參考力
10/06 14:05, 32F

10/06 14:14, 6年前 , 33F
科技來自於人性
10/06 14:14, 33F

10/06 14:21, 6年前 , 34F
嗯嗯嗯跟我想的差不多
10/06 14:21, 34F

10/06 16:24, 6年前 , 35F
果然是萬神殿
10/06 16:24, 35F

10/06 16:46, 6年前 , 36F
很有研究精神給推!自己也玩過 但是IO Performance太低
10/06 16:46, 36F

10/06 16:46, 6年前 , 37F
買NAS只要一萬多搞定收工..
10/06 16:46, 37F

10/06 17:17, 6年前 , 38F
推,這東西應該只要擔心運算能力跟零件不要掉件
10/06 17:17, 38F

10/06 17:17, 6年前 , 39F
做著玩我覺得還不錯
10/06 17:17, 39F

10/06 17:49, 6年前 , 40F
推 雖然各種懶....
10/06 17:49, 40F

10/06 17:52, 6年前 , 41F
看不懂 還是推
10/06 17:52, 41F

10/06 17:55, 6年前 , 42F
快推不然別人以為我不懂
10/06 17:55, 42F

10/06 18:06, 6年前 , 43F
vps共用回線搞這個...
10/06 18:06, 43F

10/06 18:07, 6年前 , 44F
快推別讓人覺得我看不懂
10/06 18:07, 44F

10/06 18:37, 6年前 , 45F
要當個紳士真不容易
10/06 18:37, 45F

10/06 20:08, 6年前 , 46F
最近才買了兩個樹梅派來玩要做自動化 你拿來做這種事
10/06 20:08, 46F

10/06 21:02, 6年前 , 47F
看不懂
10/06 21:02, 47F

10/06 21:21, 6年前 , 48F
有用PI跑過 但效果沒很好 就還是交給外面VPS的機器跑
10/06 21:21, 48F

10/06 23:38, 6年前 , 49F
所以這可以幹嘛? XD
10/06 23:38, 49F

10/07 00:24, 6年前 , 50F
非理工人表示連用途都不知道xdd
10/07 00:24, 50F

10/07 07:14, 6年前 , 51F
想知道hathchecker是怎麼寫的,GitHub 上好像沒有
10/07 07:14, 51F

10/07 08:50, 6年前 , 52F
就是 HentaiAtHomeDetector.py 啊
10/07 08:50, 52F

10/07 12:12, 6年前 , 53F
可以發布印象檔 隨裝及用
10/07 12:12, 53F

10/07 12:26, 6年前 , 54F
喔喔乾蝦,我還以為有指令可以查Hathrate
10/07 12:26, 54F

10/11 10:34, 6年前 , 55F
神猛推 科技始終來自於人性
10/11 10:34, 55F

10/12 13:58, 6年前 , 56F
萬神殿果然真的神
10/12 13:58, 56F

08/16 14:41, 6年前 , 57F
大大,在shell中要啟動的應該是HentaiAtHome.jar吧?
08/16 14:41, 57F

08/16 14:41, 6年前 , 58F
不是GUI...
08/16 14:41, 58F

09/03 00:11, 6年前 , 59F
干…我看不懂
09/03 00:11, 59F
文章代碼(AID): #1PrkfZ5z (AC_In)
文章代碼(AID): #1PrkfZ5z (AC_In)