跳到主要内容
版本:Next

Dfdaemon

Dragonfly 中的高性能 P2P 下载守护进程,可以下载不同协议的资源。当用户触发文件下载任务时, dfdaemon 将从其他 peer 下载文件片段。同时,它将充当上传者,支持其他节点从它下载片段(如果它拥有这些片段)。

Dfdaemon 可选参数

 -c, --config <CONFIG>
Specify config file to use

[default: /etc/dragonfly/dfdaemon.yaml]

--lock-path <LOCK_PATH>
Specify the lock file path

[default: /var/lock/dragonfly/dfdaemon.lock]

-l, --log-level <LOG_LEVEL>
Specify the logging level [trace, debug, info, warn, error]

[default: info]

--log-dir <LOG_DIR>
Specify the log directory

[default: /var/log/dragonfly/dfdaemon]

--log-max-files <LOG_MAX_FILES>
Specify the max number of log files

[default: 24]

--verbose
Specify whether to print log

-h, --help
Print help (see a summary with '-h')

-V, --version
Print version

例子

使用 Proxy 下载

dfdaemon 启动会附带启动一个 HTTP Proxy,用户可以通过 HTTP Proxy 将下载流量转发至 P2P 网络。

使用 HTTP 协议下载

编辑配置文件 Linux 环境下默认 Dfdaemon 配置路径为 /etc/dragonfly/dfdaemon.yaml, 参考文档 Dfdaemon

注意:可以根据下载路径修改 proxy.rules.regex 来调整路由匹配规则。如果匹配的话,流量转发至 P2P 网络。

proxy:
server:
port: 4001
rules:
- regex: 'example.*'
curl -v -x 127.0.0.1:4001 http://example.com/file.txt --output /tmp/file.txt

使用 HTTPS 协议下载

使用 Insecure HTTPS 协议下载

编辑配置文件 Linux 环境下默认 Dfdaemon 配置路径为 /etc/dragonfly/dfdaemon.yaml, 参考文档 Dfdaemon

注意:可以根据下载路径修改 proxy.rules.regex 来调整路由匹配规则。如果匹配的话,流量转发至 P2P 网络。

proxy:
server:
port: 4001
rules:
- regex: 'example.*'

使用 Insecure HTTPS 请求下载文件

curl -v -x 127.0.0.1:4001 https://example.com/file.txt --insecure --output /tmp/file.txt
使用自签 CA 证书进行 HTTPS 协议下载

手动生成自签名证书。

openssl req -x509 -sha256 -days 36500 -nodes -newkey rsa:4096 -keyout ca.key -out ca.crt

信任自签名证书。

  • Ubuntu:
cp ca.crt /usr/local/share/ca-certificates/ca.crt
update-ca-certificates
  • Red Hat (CentOS etc):
cp ca.crt /etc/pki/ca-trust/source/anchors/ca.crt
update-ca-trust

编辑配置文件 Linux 环境下默认 Dfdaemon 配置路径为 /etc/dragonfly/dfdaemon.yaml, 参考文档 Dfdaemon

注意:可以根据下载路径修改 proxy.rules.regex 来调整路由匹配规则。如果匹配的话,流量转发至 P2P 网络。

server:
port: 4001
caCert: ca.crt
caKey: ca.key
rules:
- regex: 'example.*'

使用 HTTPS 请求下载文件

curl -v -x 127.0.0.1:4001 https://example.com/file.txt --output /tmp/file.txt

Dfdaemon 日志

1. 终端日志输出需要增加命令行参数 --verbose
2. 正常情况日志目录: /var/log/dragonfly/dfdaemon/