Skip to content
Permalink
master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
Latest commit d3402f1 Jul 29, 2020 History
1 contributor

Users who have contributed to this file

Build Status

English 繁體中文

xeHentai Web界面

快速入门

windows用户可以下载可执行文件 这里 或这里

或者可以运行源码

pip install -U requests[socks]
git clone https://github.com/fffonion/xeHentai.git
cd xeHentai
python ./setup.py install
xeH

新版本默认为命令行模式,如果需要使用交互模式,请运行xeH.py -i

详细说明

配置文件

使用源码运行的用户请先将xeHentai/config.py复制到当前目录。

配置的优先级为 交互模式 > 命令行参数 > 用户config.py > 内置config.py。

常用参数:

  • daemon 后台模式,仅支持posix兼容的系统,参见运行模式,默认为否
  • dir 下载目录,默认为当前目录
  • download_ori 是否下载原图,默认为否
  • jpn_title 是否使用日语标题,如果关闭则使用英文或罗马字标题,默认为是
  • rename_ori 将图片重命名为原始名称,如果关闭则使用序号,默认为否
  • make_archive 是否下载完成后生成zip压缩包,并删除下载目录,默认为否

高级参数:

  • proxy 代理列表,参见代理
  • proxy_image 是否同时使用代理来下载图片和扫描网页,默认为是
  • proxy_image_only 是否仅使用代理来下载图片,不用于扫描网页,默认为否
  • rpc_interface RPC绑定的IP,参见JSON-RPC,默认为localhost
  • rpc_port RPC绑定的端口,默认为None
  • rpc_secret RPC密钥,默认为None (不开启RPC服务器)
  • rpc_open_browser RPC服务端启动后自动打开浏览器页面,默认为是
  • delete_task_files 是否删除任务时同时删除下载的文件,默认为否
  • download_range 设置下载的图片范围,参见下载范围
  • scan_thread_cnt 扫描线程数,默认为1
  • download_thread_cnt 下载线程数,默认为5
  • download_timeout 设置下载图片的超时,默认为10
  • low_speed_threshold 设置最低下载速度,低于此值将换源重新下载,单位为KB/s,默认为10
  • ignored_errors 设置忽略的错误码,默认为空,错误码可以从const.py中获得
  • auto_update 自动检查更新,check 仅检查更新,download 下载更新,off 关闭检查;默认为download
  • update_beta_channel 设置是否更新到测试版,默认为否
  • log_path 日志路径,默认为eh.log
  • log_verbose 日志等级,可选1-3,值越大输出越详细,默认为2
  • save_tasks 是否保存任务到h.json,可用于断点续传,默认为否

命令行模式

用法: xeH [-u USERNAME] [-k KEY] [-c COOKIE] [-i] [--daemon] [-d DIR] [-o]
           [-j BOOL] [-r BOOL] [-p PROXY] [--proxy-image | --proxy-image-only]
           [--rpc-interface ADDR] [--rpc-port PORT] [--rpc-secret ...]
           [--rpc-open-browser BOOL] [--delete-task-files BOOL] [-a BOOL]
           [--download-range a-b,c-d,e] [-t N] [--timeout N]
           [--low-speed-threshold N] [-f] [--auto-update {check,download,off}]
           [--update-beta-channel BOOL] [-l /path/to/eh.log] [-v] [-h]
           [--version]
           [url [url ...]]

绅士下载器

必选参数:
  url                   下载页的网址

可选参数:
  -u USERNAME, --username USERNAME
                        用户名
  -k KEY, --key KEY     密码
  -c COOKIE, --cookie COOKIE
                        Cookie字符串, 如果指定了用户名和密码, 此项会被忽略
  -i, --interactive     交互模式, 如果开启后台模式, 此项会被忽略 (默认: False)
  --daemon              后台模式 (默认: False)
  -d DIR, --dir DIR     设置下载目录 (默认: 当前目录)
  -o, --download-ori    是否下载原始图片(如果存在), 需要登录 (默认: False)
  -j BOOL, --jpn-title BOOL
                        使用日语标题, 如果关闭则使用英文或罗马字标题 (默认: True)
  -r BOOL, --rename-ori BOOL
                        将图片重命名为原始名称, 如果关闭则使用序号 (默认: False)
  -p PROXY, --proxy PROXY
                        设置代理, 可以指定多次, 当前支持的类型: socks5/4a, http(s), glype.
                        代理默认只用于扫描网页 (默认: 空)
  --proxy-image         同时使用代理来下载图片和扫描网页(默认: True)
  --proxy-image-only    仅使用代理来下载图片, 不用于扫描网页 (默认: False)
  --rpc-interface ADDR  设置JSON-RPC监听IP (默认: localhost)
  --rpc-port PORT       设置JSON-RPC监听端口 (默认: None)
  --rpc-secret ...      设置JSON-RPC密钥 (默认: None)
  --rpc-open-browser BOOL
                        RPC服务端启动后自动打开浏览器页面 (默认: True)
  --delete-task-files BOOL
                        删除任务时同时删除下载的文件 (默认: False)
  -a BOOL, --archive BOOL
                        下载完成后生成zip压缩包并删除下载目录 (默认: False)
  --download-range a-b,c-d,e
                        设置下载的图片范围, 格式为 开始位置-结束位置, 或者单张图片的位置, 使用逗号来分隔多个范围, 例如
                        5-10,15,20-25, 默认为下载所有
  --low-speed-threshold N
                        设置最低下载速度低于此值将换源重新下载 (默认: 10 KB/s)
  -t N, --thread N      下载线程数 (默认: 5)
  --timeout N           设置下载图片的超时 (默认: 10秒)
  -f, --force           忽略配额判断, 继续下载 (默认: False)
  --auto-update {check,download,off}
                        检查并自动下载更新 (默认: download)
  --update-beta-channel BOOL
                        是否更新到测试分支 (默认: True)
  -l /path/to/eh.log, --logpath /path/to/eh.log
                        保存日志的路径 (默认: eh.log)
  -v, --verbose         设置日志装逼等级 (默认: 2)
  -h, --help            显示本帮助信息
  --version             显示版本信息

如果参数未指定, 则使用config.py中的默认值;否则将覆盖config.py设置的值。

JSON-RPC

在指定rpc_interfacerpc_port后, xeHentai会启动RPC服务器。使用JSON-RPC 2.0标准。典型的请求如下:

$ curl localhost:8010/jsonrpc -d '{"jsonrpc": "2.0", "id": 1, "method":"xeH.addTask", "params":[[args],{kwargs}]}'
{"jsonrpc": "2.0", "id": 1, "result": "36df423e"}

rpc_secret可用于提高安全性。如果rpc_secret设置为hentai, 则需在params中带上这个值:

$ curl localhost:8010/jsonrpc -d '{"jsonrpc": "2.0", "id": 1, "method":"xeH.addTask", "params":["token:hentai",[args],{kwargs}]}'
{"jsonrpc": "2.0", "id": 1, "result": "36df423e"}

其中method为调用的方法,必须以xeH. 开头。在core.py的xeHentai类中,所有不以下划线_开头的方法均可以通过RPC调用,但需将方法名的下划线命名法改为驼峰命名法。如add_task需改为addTask

参数列表请参阅xeHentai类。

如果浏览器安装了用户脚本插件,可以下载xeHentaiHelper.user.js,将会在页面上添加Add to xeHentai链接,以支持将当前页面添加到xeHentai中。Chrome用户需要安装Tampermonkey, Firefox用户需要安装Greasemonkey,Opera和傲游用户需要安装暴力猴。

由于绅士站启用了https,而rpc走的是http,所以chrome用户需要点击地址栏右侧盾牌,选择“加载不安全的脚本”

运行模式

如果通过命令行或交互模式指定了下载url,xeHentai会在下载完成h.json中存储的任务(如果存在)及指定的url后退出。

如果命令行没有指定url,xeHentai将会在完成存档h.json中的队列(如果存在)后继续等待。

如果指定了后台模式(-d或设置daemonTrue),xeHentai将会在保持后台运行。

代理

目前支持三种模式的代理:

  • socks代理,如socks5h://127.0.0.1:1080;如果需要在客户端解析DNS,请使用socks5://127.0.0.1:1080
  • http(s)代理,如http://127.0.0.1:8080
  • glype代理,如http://example.com/browse.php?u=a&b=4。请根据实际情况修改b的名称。glype是目前使用最广的php在线代理,使用时请取消勾选“加密url(Encrypt URL)”、取消勾选“移除脚本 (Remove Scripts)”、勾选“允许cookies (Allow Cookies)”后随意打开一个网页,然后把网址粘贴进来

可以指定多个代理,格式如['socks5h://127.0.0.1:1080', 'http://127.0.0.1:8080']

默认情况下代理会被用于扫描网页和下载图片。如果不需要使用代理下载图片,请在配置文件中设置proxy_imageFalse

如果使用代理仅用于突破封锁的目的,则此项可以设置为False;如果需要保证隐私,请将此项设置为True。使用glype代理的用户建议将此项设为False

如果仅需要使用代理下载图片,不需要扫描网页,请在配置文件中设置proxy_image_onlyTrue,或者在运行时加上--proxy-image-only参数。如果在配置中的proxy_imageproxy_image_only均为True,则proxy_image将被忽略。

下载范围

下载范围的格式为使用开始位置-结束位置,例如5-10表示下载第5到第10张图片,包括第5和第10张;或者单个位置,例如15表示下载第15张图片。

可以通过逗号来分割多个范围,例如5-10,15表示下载第5到第10张图片以及第15张图片。

如果不输入下载范围,则默认下载所有图片。

其他说明

配额

直接从服务器及镜像途径下载的图片计入配额,从H@H下载的不计算;下载新发布的、冷门的漫画以及原图更有可能消耗配额,下载热门漫画基本不消耗配额

License

GPLv3


@fffonion@fffonion                         Blog  博客