title

一、Windows环境下的简单配置回顾

之前配置windows环境下Hentai@Home服务端过程简单介绍下,非常简单,根据论坛帖子指引,安装合适的jre(java运行环境)即可,
Hentai@Home相关解答帖
我是直接安装最新版本java环境就可以:
Java
正常来说会自动配置好系统环境变量,使得程序正确调用路径下的javaw.exe程序。

查看我的电脑 右键 属性 >>>系统高级设置>>>高级菜单>>>环境变量选项>>>系统变量>>>选择Path (路径),查看是否已经包括java环境正确的路径配置:
C:\Program Files (x86)\Common Files\Oracle\Java\javapath
PATH
如果没有,自行添加即可。
然后下载帖子提供的H@H最新稳定版地址,当前为1.61版本:
Hentai@Home v1.61stable
解压到合适地方,对自动启动脚本添加合适参数运行即可:

@start javaw  -Xms16m -Xmx5120m -jar HentaiAtHomeGUI.jar --silentstart --disable_logging

Start_config
-Xms -Xmx是指最初启动内存占用和最大内存占用,默认-Xmx应该是512m,我用的16GB内存杜甫,所以改的比较大
--silentstart是指静默启动
--disable_logging是指禁止日志,减少硬盘读写,在配置正确情况下关闭日志,可以在sata2这种辣鸡硬盘上减少一定的硬盘负荷
双击bat脚本运行,你就可以慢慢等待cache不断增加,积累奖励了,一般挂机一周后就有资格获得每周免费下载额度了

二、Centos 7 环境下Hentai@Home相关配置环境搭建

centos 7系统下,思路也很简单,安装jre环境,下载H@H配置后运行
多出来的细节是关于安全设置和服务配置方面的,我们依次理顺:

1. 网络加速配置

我们linux系统为了提升tcp访问体验,bbr或者bbrplus还是推荐安装一个的;

  • bbr网络加速模块安装

BBR加速模块安装


bbr一键脚本可以参考秋水一键:

wget --no-check-certificate https://github.com/teddysun/across/raw/master/bbr.sh && chmod +x bbr.sh && ./bbr.sh

一般来说新的centos内核自带bbr模块了,其实只需要编辑/etc/sysctl.conf系统配置文件,写入

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf

两行相关bbr配置开关即可,通过 sysctl -p查看是否生效

  • bbrplus加速内核安装

BBRPlus加速模块安装

而bbrplus内核更新,可以使用大佬们编译现成的,融合最新bbrplus模块的内核,比如:

wget https://github.com/UJX6N/bbrplus-5.10/releases/download/5.10.19-bbrplus/CentOS-7_Required_kernel-bbrplus-5.10.19-1.bbrplus.el7.x86_64.rpm
yum install kernel CentOS-7_Required_kernel-bbrplus-5.10.19-1.bbrplus.el7.x86_64.rpm

或者选择4.14内核:

wget https://github.com/UJX6N/bbrplus/releases/download/4.14.222-bbrplus/CentOS-7_Required_kernel-bbrplus-4.14.222-1.bbrplus.el7.x86_64.rpm
yum install kernel CentOS-7_Required_kernel-bbrplus-4.14.222-1.bbrplus.el7.x86_64.rpm

如果你是centos 8,可以安装此内核:

wget https://github.com/UJX6N/bbrplus-5.10/releases/download/5.10.19-bbrplus/CentOS-8_Required_kernel-bbrplus-core-5.10.19-1.bbrplus.el8.x86_64.rpm
yum install kernel CentOS-8_Required_kernel-bbrplus-core-5.10.19-1.bbrplus.el8.x86_64.rpm

查看当前可用内核项目

awk -F' '$1=="menuentry " {print i++ " : " $2}' /etc/grub2.cfg

查看默认启动内核

grub2-editenv list

设置默认启动内核

grub2-set-default 0

重启reboot
查看当前内核

uname -r

查看所有内核

rpm -qa | grep kernel

卸载不需要的内核,后面附带对应内核名即可
yum remove
写入bbrplus配置文件:

echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbrplus" >> /etc/sysctl.conf
sysctl -p

更换内核有风险,生产环境下请谨慎更换(谁生产环境安装H@H啊)

2.安装Java运行环境包

安装java环境前,建议阅读下hentai@home wiki文档,了解一些基本情况:
wiki_Hentai@Home

Minimum Requirements

java v8-11或者第三方jdk都是可以的
查看当前系统已安装的java版本:

yum list installed |grep java

如果版本过旧,使用yum -y remove 对应版本名卸载
查看当前库可安装java环境包:
yum -y list java*
Java_SDK
我们可以看到系统自带更新包括了java-11-openjdk.* 版本,还有我添加的epel源也包括了
java-latest-openjdk.* 最新版本,可以自行选择任意符合H@H的v8-11版本皆可

yum -y install java-11-openjdk.*

输入java -version即可查看是否正确安装
当然你也可以选择安装oracle官方Jre环境包

查看下载地址:
oracle_java_SE_download_page
Oracle_java
选择我们64位系统压缩文件包,当然你喜欢用rpm包管理安装就下载安装对应rpm包

3.配置Hentai@Home

wget https://repo.e-hentai.org/hath/HentaiAtHome_1.6.1.zip

这里推荐下个人常备的一些工具,您也可以选择仅安装unzip解压工具:

yum -y install wget unzip zip screen fuse fuse-devel lrzsz

然后解压到喜欢的目录:

unzip HentaiAtHome_1.6.1.zip -d /home/HentaiAtHome/

运行:

java -jar /home/HentaiAtHome/HentaiAtHome.jar

Start_successful

一般来说就可以正常启动了,提示输入Client ID登录用户名,这样,我们的安装配置基本上完成,接下来就可以申请Hentai@Home client配额了

4.申请H@H client配额

如果你是首次加入Hentai@Home,那么登录论坛,在此页面应该有一个申请地址:
hentai@home
最低要求目前是,1个独立ipv4,尽量24小时可持续在线的服务器/vps之类的,6个月至少在线率75%以上,50mbps峰值带宽,300MB/hour的流量要求,10GB以上硬盘
从我个人经验来说,主要注意这个hathrate计算公式:
Hathrate/day = 1 + 0.15 * hitrate + 0.01 * static_ranges * min ( 1, low_quality_factor )
默认一台client起步1点hath/day,然后是每分钟命中文件频率,基本上挂机一周后就可以上1files/minute了,关键的是static_ranges,这个等于分配的静态文件数据块,关联你的硬盘空间大小和在线质量两个参数
硬盘大小,最小推荐是每250MB空间可获得1个static_range,
在线质量Quality达到7000分以上,则可以最高分配6000个static_range
也就是说,如果你硬盘分配1500GB以上,服务端运行ok,分数稳定7000分以上的话,最终可以获得低保6000个static_ranges,假设质量因子(<=1)没什么大问题的情况下,取min (1 , low_quality_factor) 中最小值为1,则能吃到每天低保hathrate=1+0.15 * 0_files_hitrate + 0.01 * 6000 * 1 = 61
即你存储的1500GB文件缓存没有任何人访问的情况下,也能拿到61点hath/day,当然,实际情况下,这个量级的hitrate应该上千了,也就是每日200+hath收益是有的
好了,说了这么多,申请要求就是贴一个speedtest.net测速结果,我们windows直接打开网页贴上去就可以申请了,带宽要求不高的,实际上你跑满1500GB访问,有200mbps峰值足够胜任,最低带宽要求也只要50mbps峰值
10GB硬盘也很低要求,如果搭配rclone或者gclone挂载google drive或者onedrive,实际上10GB本地盘应该可以承担100GB左右缓存网盘空间,api调用应该是足够支撑的
centos 7系统下,我们安装下speedtest测速工具吧:

wget -O speedtest-cli https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py
chmod +x speedtest-cli
./speedtest-cli --share

Speedtest

将最后分享结果网址复制粘贴到申请栏,填写好其他相关信息,提交即可,安心等待1-3天,就可以看到你的h@h页面多出来一个offline的client配额了,点击名称查看修改配置即可:
你的client ID和secrect也标明了,务必保存好,这样就可以登录运行了,成功后发现如图success提示,表示运行成功,可以ctrl+c终止进程。
Run_successful
简单来说,此刻安装screen后 screen -S task_name打开一个新的screen窗口挂后台运行就行,如果为了长期稳定运行和方便操控,我们可以设置对应的用户&用户组和相关服务配置,感兴趣的可以继续查阅:

5.配置对应用户组和相关服务

我们在之前将hath相关程序解压到/home/HentaiAtHome文件夹下,那么,接下来创建对应的用户&用户组 hath:hath,授予指定文件夹访问所有权,以防外部入侵hentai@home程序,直接获得root权限,降低风险:
编辑新增用户自定义hath.service:
vi /lib/systemd/system/hath.service
按i键编辑模式,粘贴写入:

[Unit]
Description=hentai_at_home
Documentation=https://e-hentai.org/hentaiathome.php
After=network.target

[Service]
User=hath
Type=forking
PIDFile=/home/HentaiAtHome/pid.txt
ExecStart=/bin/bash /home/HentaiAtHome/start.sh
ExecStop=/bin/bash /home/HentaiAtHome/stop.sh
PrivateTmp=true
Restart=always
RestartSec=10

[Install]
WantedBy=multi-user.target

加载service文件

systemctl daemon-reload

编辑对应的启动终止脚本以匹配服务描述的路径
ExecStart=/bin/bash /home/HentaiAtHome/start.sh
ExecStop=/bin/bash /home/HentaiAtHome/stop.sh

vi /home/HentaiAtHome/start.sh
vi /home/HentaiAtHome/stop.sh

对应start.sh和stop.sh脚本内容依次为:
start.sh:

#!/bin/bash
cd /home/HentaiAtHome && java -jar -Xms16m -Xmx256m HentaiAtHome.jar &
echo $! > /home/HentaiAtHome/pid.txt

stop.sh:

#/bin/sh
ps -ef|grep HentaiAtHome.jar|grep -v grep|awk '{print "kill -9" " " $2}'|sh
rm -rf /home/HentaiAtHome/pid.txt

不放心的可以cat对应脚本查看内容是否正确:

cat /home/HentaiAtHome/start.sh
cat /home/HentaiAtHome/stop.sh

对应的-Xmx最大内存占用根据自己vps配置调整,我的是640MB内存,已经安装了v2ray和lnmp环境,后续还需要挂载gclone,所以设置最大占用256m,如果你的vps配置更好,推荐更高的内存占用,可以降低磁盘读写负荷,调试完毕后可以增加参数 --silentstart --disable_logging用来关闭日志,降低磁盘读写负荷。

配置完成后,如果你是复制的以上的配置(就是[Service]下配置了User=hath 的话)需要先配置对应的用户&用户组:

groupadd hath
useradd -g hath -s /sbin/nologin -M hath
passwd hath  //设置一个复杂的密码,无需记忆,因为不需要使用此用户登陆ssh,只是运行hath专用
chown -R hath:hath /home/HentaiAtHome
chmod -R 755 /home/HentaiAtHome

ls -al /home/HentaiAtHome查看对应文件夹归属是否正确设置:
Chown
如果你设置端口为443,记得不要和https服务冲突,如果设置大于1024端口,则记得开启对应端口的防火墙

firewall-cmd --list-all
firewall-cmd --permanent --add-port=23333/tcp
firewall-cmd --reload
firewall-cmd --list-all

因为部分用户高位端口可能无法访问,所以可能的话,推荐使用443端口最佳。
最后运行 systemctl start hath启动客户端 systemctl status hath查看运行状态。

最后,如果你想设置开机启动,只需要

systemctl enable hath

最后用 ps -aux|grep HentaiAtHome确认一下是不是在以hath用户运行:
Run_as_hath

至此,hentai@Home在centos 7的配置和运行基本上就结束了,如果你想通过rclone系列工具挂载google drive、OneDrive,获得更大的磁盘划分,通过云挂载获得拓展收益,那么请继续阅读:

6.通过gclone挂载Google Drive,提升磁盘空间,进行云读写

如果你对rclone和googledrive不太熟悉,建议搜索本博客rlcone/gclone等关键词先行了解一二,当你获取到自己的Service Account后,就可以通过安装gclone进行配置了:

  1. 安装配置rclone/gclone
    具体方法可以参考我的博客:

wget https://downloads.rclone.org/rclone-current-linux-amd64.zip
unzip rclone-current-linux-amd64.zip
chmod 0755 ./rclone-*/rclone
cp ./rclone-*/rclone /usr/bin/
rm -rf ./rclone-*
mkdir -p /root/.config/rclone/
bash <(wget -qO- https://git.io/gclone.sh)
cd  /root/.config/rclone/
rz
cd
rclone copy GdriveBackup:Backup/rclone/5000sa_rclone_unitymoe.com.zip /root
mkdir ./sa
unzip -d ./sa 5000sa_rclone_unitymoe.com.zip

自行选择,新手入门只安装rclone即可,熟练后整理好自己的sa账号后,再行下载gclone配置

类似于hath.service,我们对gclone挂载配置自定义服务:
vi /lib/systemd/system/gclone_hath.service

[Unit]
Description=gclone_for_hath
AssertPathIsDirectory=/home/HentaiAtHome/cache
Wants=network-online.target
After=network-online.target

[Service]
Type=notify
User=root
ExecStart=/usr/bin/gclone mount GdriveSA:{0AAgDLjTuI4rDUk9PVA} /home/HentaiAtHome/cache \
--transfers 4 \
--buffer-size 32M \
--vfs-read-chunk-size 128M \
--vfs-read-chunk-size-limit 0M \
--vfs-cache-max-size 8888M \
--vfs-cache-max-age 3360h \
--allow-non-empty \
--allow-other \
--dir-cache-time 3360h \
--umask 000 \
--vfs-cache-mode full \
--cache-dir /home/cache \
--no-modtime \
--log-file /root/rclone_log.txt \
--log-level ERROR \
--vfs-cache-poll-interval 30m
Restart=on-failure
ExecStop=/usr/bin/fusermount -qzu /home/HentaiAtHome/cache

[Install]
WantedBy=multi-user.target

其中最重要的参数是 --vfs-cache-max-size 指本地cache最大使用限额,请务必小于本地磁盘可用空间,并注意H@H默认配置在可用磁盘空间小于1GB时会自动退出,加上cache更新等时间差,建议此数值设置低于[本地磁盘可用空间减去3GB];
可以通过systemctl start gclone_hath ,systemctl stop gclone_hath管理启动终止挂载服务,systemctl enable gclone_hath加入自启动,选择此挂载方式的话,建议将hath.service配置启动顺序After修改为gclone_hath.service启动之后。
至于--transfers , --buffer-size主要影响内存占用,--vfs-read-chunk-size,--vfs-read-chunk-size-limit影响IO调用,针对你的配置优化修正即可;
--buffer-size和--transfers是乘积关系,最终结果为总的内存缓存限额,请合理计算避免内存爆炸;
如果你使用最新版本rclone的话,预载入到本地磁盘的单文件大小限额则需添加--vfs-read-ahead xxM/xxG;

基本上关于Hentai@Home在centos 7系统的配置流程到此结束,欢迎大家留言讨论!

7.温馨提示和细节补充

关于H@H,新手需要注意的地方:

  1. 网络连通性和访问通达性是评估quality的重要因素,长时间宕机的负面影响是非常严重的;
  2. 想要白嫖每周免费下载配额,请至少挂机168小时(一周),并且hitrate上1,才有7GB起步的额度,尽量一小时停机次数小于2次,单次停机时间小于4小时;
  3. 磁盘IO一般来说不是瓶颈,除非我这种sata2硬盘并且挂着pt下载上传,常年磁盘使用率上95%以上的,会造成响应超时,那么你的quality会不断下降,如果无法读取到对应cache文件,那么会降低trust信用;
  4. 新client建议认真普通玩法挂机,trust和quality会自然恢复变正数,低于2500的quality貌似不会给你分配cache的资格;
  5. 亚洲区域hitrate高于美洲,欧洲为最低,当然,亚洲的服务器成本也是最高的,如果不作弊,基本上都是动态平衡的,随缘挂吃灰小鸡即可;
  6. 云盘api都有调用限制,请不要太过贪婪,另外Google Drive团队盘文件上限是40万,大约是135GB的cache文件(按照平均350KB/file计算),所以你在https://e-hentai.org/hentaiathome.php页面分配超过135GB的空间的话,请注意两个月后cache文件数上40万后调整硬盘空间匹配static_ranges,不要让系统再给你分配静态范围,导致cache文件数撑爆,另外当你挂载rclone的默认transfer 线程数4x60=240files/minute api额度不堪重负的时候,请降低硬盘空间以减少cache分配,或者使用gclone添加更多线程数;
  7. 谷歌硬盘和微软的OneDrive都会在未来不断缩减配额和空间,请随时关注相关政策,同时注意ehentai站点规则改变,以及压榨缓存后你的quality实际表现情况,克制自己的贪婪;
  8. 娱乐为主,不要沉迷,比如我的4.57刀/年的virmach小水牛,挂个v2ray,博客镜像,同时挂hath娱乐,不伤身,不费钱。
  9. windows 环境下可以使用RunHiddenConsole 后台挂载rclone,bat脚本参考如下:
@echo off
echo Stopping rclone...
taskkill /F /IM rclone.exe > nul


set rclone_home=C:\Software\rclone-v1.56.2-windows-amd64


:start-rclone
echo Starting Rclone Mount...

C:/Software/RunHiddenConsole  %rclone_home%/rclone mount GdriveEx: C:/Software/HentaiAtHome_1.6.1/cache --copy-links --no-gzip-encoding  --no-check-certificate  --transfers 4 --buffer-size 32M --vfs-read-chunk-size 10M --vfs-read-chunk-size-limit 0M --vfs-cache-max-size 1888M --vfs-cache-max-age 3360h --allow-non-empty --dir-cache-time 3360h --vfs-cache-mode full --cache-dir C:/Software/rclone-v1.56.2-windows-amd64/cache --no-modtime --log-file C:/Software/rclone-v1.56.2-windows-amd64/rclone_log.txt --log-level ERROR --vfs-cache-poll-interval 30m

windows环境下 --allow-other和 --umask都是无效的,故剔除,另外挂载点不得提前创建。

Last modification:December 17, 2021
If you think my article is useful to you, please feel free to appreciate