2024年网络安全最新比Wget、Curl更强大的下载工具!_分离仅做种任务(2),原理+实战讲解

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

$ aria2c "magnet:?xt=urn:btih:248D0A1CD082XXXXX8D5C717D8C"  


列出磁力链地址的下载内容(-S)
$ aria2c -S "https://www.escapelife.site/Dragon.torrent"  


指定索引来下载磁力链文件内容(--select-file=<INDEX>...)
$ aria2c --select-file=1,3 "https://www.escapelife.site/Dragon.torrent"  
$ aria2c --select-file=1-3,5 "https://www.escapelife.site/Dragon.torrent"  


配置文件

需要对软件进行定制化的话,就需要进行适合自己的配置了。

##########################################################################  
# 等号后面内容为默认设置,如为空则无默认设置,请自行选取需要更改的添加到你的配置文件中 #  
##########################################################################  
  
# 下载路径  
dir=  
  
# 日志文件的路径  
# 如果设置为 "-", 日志则写入到 stdout; 如果设置为空字符串(""), 日志将不会记录到磁盘上  
log=  
  
# 最大同时下载数  
max-concurrent-downloads=5  
  
# 检查完整性  
# 通过对文件的每个分块或整个文件进行哈希验证来检查文件的完整性  
# 此选项仅对BT、Metalink及设置了--checksum选项的HTTP(S)/FTP链接生效  
check-integrity=false  
  
# 断点续传, 继续下载部分完成的文件  
# 启用此选项可以继续下载从浏览器或其他程序按顺序下载的文件; 目前只支持HTTP(S)/FTP下载的文件  
continue=true  
  
# 设置所有协议的代理服务器地址  
# 如果覆盖之前设置的代理服务器, 使用""即可  
# 您还可以针对特定的协议覆盖此选项, 即使用--http-proxy/--https-proxy和--ftp-proxy选项  
# 此设置将会影响所有下载, 代理服务器地址的格式为[http://][USER:PASSWORD@]HOST[:PORT]  
all-proxy=  
  
# 代理服务器用户名  
all-proxy-user=  
  
# 代理服务器密码  
all-proxy-passwd=  
  
# 连接超时时间, 设置建立HTTP/FTP/代理服务器连接的超时时间(秒)  
# 当连接建立后, 此选项不再生效, 请使用--timeout选项  
connect-timeout=60  
  
# 模拟运行  
# 如果设置为"是", aria2将仅检查远程文件是否存在而不会下载文件内容  
# 此选项仅对HTTP/FTP下载生效; 如果设置为true的话, BT下载将会直接取消  
dry-run=false  
  
# 最小速度限制  
# 当下载速度低于此选项设置的值(B/s)时将会关闭连接, 0表示不设置最小速度限制  
# 您可以增加数值的单位K或M(1K = 1024, 1M = 1024K), 此选项不会影响BT下载  
lowest-speed-limit=0  
  
# 单服务器最大连接数  
max-connection-per-server=1  
  
# 找到重试次数, 设置为0将会禁用此选项  
# 如果aria2从远程HTTP/FTP服务器收到"文件未找到"的状态超过此选项设置的次数后下载将会失败  
# 此选项仅影响HTTP/FTP服务器; 重试时同时会记录重试次数, 所以也需要设置--max-tries这个选项  
max-file-not-found=0  
  
# 最大尝试次数  
# 设置最大尝试次数, 0表示不限制  
max-tries=5  
  
# 最小文件分片大小, 可以设置的值为:1M-1024M  
min-split-size=20M  
  
# .netrc 文件路径  
netrc-path=$(HOME)/.netrc  
  
# 禁用 netrc  
no-netrc=false  
  
# 不使用代理服务器列表  
# 设置不使用代理服务器的主机名/域名, 包含或不包含子网掩码的网络地址, 多个使用逗号分隔  
no-proxy=  
  
# 文件名  
# 下载文件的文件名; 其总是相对于--dir选项中设置的路径, 当使用--force-sequential参数时此选项无效  
out=  
  
# 代理服务器请求方法  
# 设置用来请求代理服务器的方法; 方法可设置为GET或TUNNEL; HTTPS下载将忽略此选项并总是使用TUNNEL  
proxy-method=get  
  
# 获取服务器文件时间  
# 从HTTP/FTP服务获取远程文件的时间戳, 如果可用将设置到本地文件  
remote-time=false  
  
# URI复用  
# 当所有给定的URI地址都已使用, 继续使用已经使用过的URI地址  
reuse-uri=true  
  
# 重试等待时间  
# 设置重试间隔时间(秒); 当此选项的值大于0时, aria2在HTTP服务器返回503响应时将会重试  
retry-wait=0  
  
# 服务器状态保存文件  
# 指定用来保存服务器状态的文件名, 您可以使用--server-stat-if参数读取保存的数据  
server-stat-of=  
  
# 服务器状态超时  
# 指定服务器状态的过期时间(单位为秒)  
server-stat-timeout=86400  
  
# 单任务连接数  
# 下载时使用N个连接, 如果提供超过N个URI地址, 则使用前N个地址, 剩余的地址将作为备用  
# 如果提供的URI地址不足N个, 这些地址多次使用以保证同时建立N个连接  
# 同一服务器的连接数会被--max-connection-per-server选项限制  
split=5  
  
# 指定HTTP/FTP下载使用的分片选择算法  
# 分片表示的是并行下载时固定长度的分隔段, 如果设置为"默认", aria2将会按减少建立连接数选择分片  
# 由于建立连接操作的成本较高, 因此这是合理的默认行为; 如果设置为"顺序", aria2将选择索引最小的分片  
# 索引为0时表示为文件的第一个分片, 这将有助于视频的边下边播. --enable-http-pipelining 选项有助于减少重连接的开销  
# 请注意, aria2依赖于--min-split-size选项, 所以有必要对--min-split-size选项设置一个合理的值  
# 如果设置为"随机", aria2将随机选择一个分片. 就像"顺序"一样, 依赖于--min-split-size选项  
# 如果设置为"几何", aria2会先选择索引最小的分片, 然后会为之前选择的分片保留指数增长的空间  
# 这将减少建立连接的次数, 同时文件开始部分将会先行下载. 这也有助于视频的边下边播  
stream-piece-selector=default  
  
# 超时时间  
timeout=60  
  
# 指定URI选择的算法  
# 可选的值包括 "按顺序", "反馈" 和 "自适应"  
# 如果设置为"按顺序", URI将按列表中出现的顺序使用  
# 如果设置为"反馈", aria2将根据之前的下载速度选择URI列表中下载速度最快的服务器, 同时也将有效跳过无效镜像  
# 之前统计的下载速度将作为服务器状态文件的一部分, 参见--server-stat-of和--server-stat-if选项  
# 如果设置为"自适应", 将从最好的镜像和保留的连接里选择一项  
uri-selector=feedback  
  
# 检查证书  
check-certificate=true  
  
# 支持GZip  
# 如果远程服务器的响应头中包含Content-Encoding:gzip或Content-Encoding:deflate  
# 将发送包含 Accept: deflate, gzip 的请求头并解压缩响应  
http-accept-gzip=false  
  
# 认证质询  
# 仅当服务器需要时才发送HTTP认证请求头. 如果设置为"否", 每次都会发送认证请求头  
# 例外: 如果用户名和密码包含在URI中, 将忽略此选项并且每次都会发送认证请求头  
http-auth-challenge=false  
  
# 禁用缓存  
# 发送的请求头中将包含Cache-Control:no-cache和Pragma:no-cache header以避免内容被缓存  
# 如果设置为"否", 上述请求头将不会发送, 同时您也可以使用--header选项将Cache-Control请求头添加进去  
http-no-cache=false  
  
# HTTP默认用户名  
http-user=  
  
# HTTP默认密码  
http-passwd=  
  
# HTTP代理服务器  
http-proxy=  
  
# HTTP代理服务器用户名  
http-proxy-user=  
  
# HTTP代理服务器密码  
http-proxy-passwd=  
  
# HTTPS代理服务器  
https-proxy=  
  
# HTTPS代理服务器用户名  
https-proxy-user=  
  
# HTTPS代理服务器密码  
https-proxy-passwd=  
  
# 设置HTTP请求来源(Referer)  
# 此选项将影响所有HTTP/HTTPS下载, 如果设置为*, 请求来源将设置为下载链接  
# 此选项可以配合--parameterized-uri选项使用  
referer=  
  
# 启用持久连接  
# 启用HTTP/1.1持久连接  
enable-http-keep-alive=true  
  
# 启用HTTP管线化  
# 启用HTTP/1.1管线化  
enable-http-pipelining=false  
  
# 自定义请求头  
# 增加HTTP请求头内容  
header=  
  
# Cookies保存路径  
# 以Mozilla/Firefox(1.x/2.x)/Netscape格式将Cookies保存到文件中  
# 如果文件已经存在将被覆盖, 会话过期的Cookies也将会保存, 其过期时间将会设置为0  
save-cookies=  
  
# 启用HEAD方法  
# 第一次请求HTTP服务器时使用HEAD方法  
use-head=false  
  
# 自定义User Agent  
user-agent=aria2/$VERSION  
  
# FTP默认用户名  
ftp-user=anonymous  
  
# FTP默认密码  
# 如果URI中包含用户名单不包含密码, aria2首先会从.netrc文件中获取密码  
# 如果在.netrc文件中找到密码, 则使用该密码; 否则, 使用此选项设置的密码  
ftp-passwd=ARIA2USER@  
  
# 在FTP中使用被动模式  
# 如果设置为"否", 则使用主动模式, 此选项不适用于SFTP传输  
ftp-pasv=true  
  
# FTP代理服务器  
ftp-proxy=  
  
# FTP代理服务器用户名  
ftp-proxy-user=  
  
# FTP代理服务器密码  
ftp-proxy-passwd=  
  
# 传输类型  
ftp-type=binary  
  
# 连接复用  
ftp-reuse-connection=true  
  
# 设置SSH主机公钥的校验和  
# TYPE为哈希类型, 支持的哈希类型为sha-1和md5; DIGEST是十六进制摘要  
# 例如: sha-1=b030503d4de4539dc7885e6f0f5e256704edf4c3  
# 此选项可以在使用SFTP时用来验证服务器的公钥; 如果此选项不设置, 即保留默认, 不会进行任何验证  
ssh-host-key-md=  
  
# 分离仅做种任务  
# 统计当前活动下载任务(参见-j选项) 时排除仅做种的任务  
# 这意味着, 如果参数设置为-j3时, 此选项打开并且当前有3个正在活动的任务, 并且其中有1个进入做种模式  
# 那么其会从正在下载的数量中排除(即数量会变为2), 在队列中等待的下一个任务将会开始执行.  
# 但要知道, 在RPC方法中, 做种的任务仍然被认为是活动的下载任务.  
bt-detach-seed-only=false  
  
# 启用哈希检查完成事件  
# 允许BT下载哈希检查(参见-V选项) 完成后调用命令  
# 默认情况下, 当哈希检查成功后, 通过--on-bt-download-complete设置的命令将会被执行  
# 如果要禁用此行为, 请设置为"否"  
bt-enable-hook-after-hash-check=true  
  
# 启用本地节点发现(LPD)  
bt-enable-lpd=false  
  
# BT排除服务器地址  
# 逗号分隔的BT排除服务器地址, 您可以使用*匹配所有地址, 因此将排除所有服务器地址  
# 当在shell命令行使用*时, 需要使用转义符或引号  
bt-exclude-tracker=  
  
# 外部IP地址  
# 指定用在BitTorrent下载和DHT中的外部IP地址, 它可能被发送到BitTorrent服务器  
# 对于DHT, 此选项将会报告本地节点正在下载特定的种子, 这对于在私有网络中使用DHT非常关键  
# 虽然这个方法叫外部, 但其可以接受各种类型的IP地址  
bt-external-ip=  
  
# 强制加密  
# BT消息中的内容需要使用arc4加密  
# 此选项是设置--bt-require-crypto/--bt-min-crypto-level=arc4这两个选项的快捷方式  
# 此选项不会修改上述两个选项的内容; 如果设置为"是", 将拒绝以前的BT握手, 并仅使用模糊握手及加密消息  
bt-force-encryption=false  
  
# 做种前检查文件哈希  
# 如果设置为"是", 当使用--check-integrity选项完成哈希检查及文件完成后才继续做种  
# 如果您希望仅当文件损坏或未完成时检查文件, 请设置为"否". 此选项仅对BT下载有效  
bt-hash-check-seed=true  
  
# 加载已保存的元数据文件  
# 使用磁链下载时, 在从DHT获取种子元数据之前, 首先尝试加载--bt-save-metadata选项保存的文件  
# 如果文件加载成功, 则不会从DHT下载元数据  
bt-load-saved-metadata=false  
  
# 最多打开文件数  
# 设置BT/Metalink下载全局打开的最大文件数  
bt-max-open-files=100  
  
# 最大连接节点数  
# 设置每个BT下载的最大连接节点数, 0表示不限制  
bt-max-peers=55  
  
# 仅下载种子文件  
# 仅下载种子文件, 种子文件中描述的文件将不会下载, 此选项仅对磁链生效  
bt-metadata-only=false  
  
# 设置加密方法的最小级别  
# 如果节点提供多种加密方法, aria2 将选择满足给定级别的最低级别.  
bt-min-crypto-level=plain  
  
# 优先下载  
# 尝试先下载每个文件开头或结尾的分片, 此选项有助于预览文件  
# 参数可以包括两个关键词:head和tail, 如果包含两个关键词, 需要使用逗号分隔  
# 每个关键词可以包含一个参数, SIZE; 如指定head=SIZE, 每个文件的最前SIZE数据将会获得更高的优先级  
# tail=SIZE表示每个文件的最后SIZE数据, SIZE可以包含K或M(1K = 1024, 1M = 1024K)  
bt-prioritize-piece=  
  
# 删除未选择的文件  
# 当BT任务完成后删除未选择的文件, 要选择需要下载的文件, 请使用--select-file选项  
# 如果没有选择, 则所有文件都默认为需要下载. 此选项会从磁盘上直接删除文件, 请谨慎使用此选项.  
bt-remove-unselected-file=false  
  
# 需要加密  
# 如果设置为"是", 将不会接受以前的BitTorrent握手协议(\\19BitTorrent协议)并建立连接  
# 因此aria2总是模糊握手  
bt-require-crypto=false  
  
# 期望下载速度  
# 如果一个BT下载的整体下载速度低于此选项设置的值, aria2会临时提高连接数以提高下载速度  
# 在某些情况下, 设置期望下载速度可以提高您的下载速度, 可以增加数值的单位K或M(1K = 1024, 1M = 1024K)  
bt-request-peer-speed-limit=50K  
  
# 保存种子文件  
# 保存种子文件为".torrent"文件. 此选项仅对磁链生效  
# 文件名为十六进制编码后的哈希值及 ".torrent"后缀  
# 保存的目录与下载文件的目录相同. 如果相同的文件已存在, 种子文件将不会保存  
bt-save-metadata=false  
  
# 不检查之前下载文件中每个分片的哈希值  
bt-seed-unverified=false  
  
# 无速度时自动停止时间  
# 当BT任务下载速度持续为0, 达到此选项设置的时间后停止下载; 如果设置为0, 此功能将禁用  
bt-stop-timeout=0  
  
# BT服务器地址  
# 逗号分隔的BT服务器地址; 如果服务器地址在--bt-exclude-tracker选项中, 其将不会生效  
bt-tracker=  
  
# BT服务器连接超时时间  
# 设置BT服务器的连接超时时间(秒); 当连接建立后, 此选项不再生效, 请使用--bt-tracker-timeout选项  
bt-tracker-connect-timeout=60  
  
# BT服务器连接间隔时间  
# 设置请求BT服务器的间隔时间(秒); 此选项将完全覆盖服务器返回的最小间隔时间和间隔时间, aria2仅使用此选项的值  
# 如果设置为0时, aria2将根据服务器的响应情况和下载进程决定时间间隔  
bt-tracker-interval=0  
  
# BT服务器超时时间  
bt-tracker-timeout=60  
  
# 修改 IPv4 DHT 路由表文件路径  
dht-file-path=$HOME/.aria2/dht.dat  
  
#修改 IPv6 DHT 路由表文件路径  
dht-file-path6=$HOME/.aria2/dht6.dat  
  
# DHT监听端口  
# 设置DHT(IPv4,IPv6)和UDP服务器使用的UCP端口; 多个端口可以使用逗号","分隔, 例如:6881,6885  
# 您还可以使用短横线"-"表示范围:6881-6999, 或可以一起使用:6881-6889,6999  
dht-listen-port=6881-6999  
  
# DHT消息超时时间  
dht-message-timeout=10  
  
# 启用DHT(IPv4)  
# 启用IPv4 DHT功能. 此选项同时会启用UDP服务器支持  
# 如果种子设置为私有, 即使此选项设置为"是", aria2也不会启用DHT  
enable-dht=true  
  
# 启用DHT(IPv6)  
# 如果种子设置为私有, 即使此选项设置为"是", aria2也不会启用DHT  
# 使用--dht-listen-port选项设置监听的端口  
enable-dht6=  
  
# 启用节点交换扩展  
# 如果种子设置为私有, 即使此选项设置为"是", aria2也不会启用此功能  
enable-peer-exchange=true  
  
# 下载种子中的文件  
follow-torrent=true  
  
# 监听端口  
listen-port=6881-6999  
  
# 全局最大上传速度  
# 设置全局最大上传速度(字节/秒), 0表示不限制; 您可以增加数值的单位K或M(1K = 1024, 1M = 1024K)  
max-overall-upload-limit=0  
  
# 最大上传速度  
# 设置每个任务的最大上传速度(字节/秒), 0表示不限制; 您可以增加数值的单位K或M(1K = 1024, 1M = 1024K)  
max-upload-limit=0  
  
# 节点ID前缀  
# BT中节点ID长度为20字节. 如果超过20字节, 将仅使用前20字节  
# 如果少于20字节, 将在其后不足随机的数据保证为20字节  
peer-id-prefix=A2-1-33-0-  
  
# Peer Agent  
# 指定BT扩展握手期间用于节点客户端版本的字符串.  
peer-agent=aria2/1.33.0  
  
# 最小分享率  
# 指定分享率. 当分享率达到此选项设置的值时会完成做种. 强烈建议您将此选项设置为大于等于1.0  
# 如果您想不限制分享比率, 可以设置为0.0; 如果同时设置了--seed-time选项, 当任意一个条件满足时将停止做种  
seed-ratio=1.0  
  
# 最小做种时间  
# 此选项设置为0时, 将在BT任务下载完成后不进行做种  
seed-time=  
  
# 下载Metalink中的文件  
follow-metalink=true  
  
# 基础URI  
metalink-base-uri=  
  
# 语言  
metalink-language=  
  
# 首选服务器位置  
# 首选服务器所在的位置, 可以使用逗号分隔的列表, 例如:jp,us.  
metalink-location=  
  
# 下载文件的操作系统  
metalink-os=  
  
# 下载文件的版本号  
metalink-version=  
  
# 指定首选使用的协议  
# 可以设置为 http, https, ftp 或"无", 设置为"无"时禁用此选项  
metalink-preferred-protocol=none  
  
# 仅使用唯一协议  
# 如果一个Metalink文件可用多种协议, 并且此选项设置为"是", aria2将只会使用其中一种  
# 使用--metalink-preferred-protocol参数指定首选的协议  
metalink-enable-unique-protocol=true  
  
# 启用JSON-RPC/XML-RPC服务器  
enable-rpc=false  
  
# 种子文件下载完后暂停  
pause-metadata=false  
  
# 接受所有远程请求  
rpc-allow-origin-all=false  
  
# 在所有网卡上监听  
# 在所有网络适配器上监听JSON-RPC/XML-RPC的请求, 如果设置为"否", 仅监听本地网络的请求  
rpc-listen-all=false  
  
# 监听端口  
rpc-listen-port=6800  
  
# 最大请求大小  
# 设置JSON-RPC/XML-RPC最大的请求大小; 如果 aria2检测到请求超过设定的字节数, 会直接取消连接  
rpc-max-request-size=2M  
  
# 保存上传的种子文件  
rpc-save-upload-metadata=true  
  
# 启用SSL/TLS  
rpc-secure=  
  
# 允许覆盖  
# 如果相应的控制文件不存在时从头重新下载文件, 参见--auto-file-renaming选项  
allow-overwrite=false  
  
# 允许分片大小变化  
allow-piece-length-change=false  
  
# 始终断点续传  
always-resume=true  
  
# 异步DNS  
async-dns=true  
  
# 文件自动重命名  
# 重新命名已经存在的文件, 此选项仅对HTTP(S)/FTP下载有效  
# 新的文件名后会在文件名后、扩展名(如果有)前追加句点和数字(1..9999)  
auto-file-renaming=true  
  
# 自动保存间隔  
auto-save-interval=60  
  
# 条件下载  
conditional-get=false  
  
# 配置文件路径  
conf-path=$HOME/.aria2/aria2.conf  
  
# 控制台日志级别  
console-log-level=notice  
  
# 使用UTF-8处理Content-Disposition  
content-disposition-default-utf8=  
  
# 启用后台进程  
daemon=false  
  
# 延迟加载  
deferred-input=false  
  
# 禁用IPv6  
disable-ipv6=false  
  
# 磁盘缓存  
disk-cache=16M  
  
# 下载结果  
download-result=default  
  
# DSCP  
dscp=  
  
# 最多打开的文件描述符  
rlimit-nofile=  
  
# 终端输出使用颜色  
enable-color=true  
  
# 启用MMap  
# 内存中存放映射文件, 当文件空间没有预先分配至, 此选项无效, 参见--file-allocation  
enable-mmap=false  
  
# 事件轮询方法  
event-poll=  
  
# 文件分配方法  
file-allocation=prealloc  
  
# 强制保存  
force-save=false  
  
# 保存未找到的文件  
# 当使用--save-session选项时, 即使当任务中的文件不存在时也保存该下载任务, 此选项同时会将这种情况保存到控制文件中  
save-not-found=true  
  
# 仅哈希检查  
# 如果设置为"是", 哈希检查完使用--check-integrity选项, 根据是否下载完成决定是否终止下载  
hash-check-only=false  
  
# 控制台可读输出  
# 在控制台输出可读格式的大小和速度(例如, 1.2Ki, 3.4Mi)  
human-readable=true  
  
# 保留未完成的任务  
keep-unfinished-download-result=true  
  
# 最多下载结果  
max-download-result=1000  
  
# MMap最大限制  
max-mmap-limit=9223372036854775807  
  
# 最大断点续传尝试次数  


## 学习路线:

这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:  
 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7a04c5d629f1415a9e35662316578e07.png#pic_center)





**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化资料的朋友,可以点击这里获取](https://bbs.csdn.net/forums/4f45ff00ff254613a03fab5e56a57acb)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
BT中的Tracker 是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。 客户端连上tracker服务器,就会获得一个下载人员的名单,根据这个,BT会自动连上别人的机器进行下载。它是提供bt的服务器。把文件用bt发布出来的人需要知道该使用哪个服务器来为要发布的文件提供tracker。由于不指定服务器,BitTorrent采用BT文件来确定下载源。 BT中的Tracker 是指运行于服务器上的一个程序,这个程序能够追踪到底有多少人同时在下载同一个文件。 客户端连上tracker服务器,就会获得一个下载人员的名单,根据这个,BT会自动连上别人的机器进行下载。它是提供bt的服务器。把文件用bt发布出来的人需要知道该使用哪个服务器来为要发布的文件提供tracker。由于不指定服务器,BitTorrent采用BT文件来确定下载源。 tracker服务器是BT下载中必须的角色。一个BTclient在下载开始以及下载进行的过程中,要不停的与tracker服务器进行通信,以报告自己的信息,并获取其它下载client的信息。这种通信是通过HTTP协议进行的,又被称为tracker HTTP协议,它的过程是这样的: client向tracker发一个HTTP的GET请求,并把它自己的信息放在GET的参数中;这个请求的大致意思是:我是xxx(一个唯一的id),我想下载yyy文件,我的ip是aaa,我用的端口是bbb。。。 tracker对所有下载者的信息进行维护,当它收到一个请求后,首先把对方的信息记录下来(如果已经记录在案,那么就检查是否需要新),然后将一部分(并非全部,根据设置的参数已经下载者的请求)参与下载同一个文件(一个tracker服务器可能同时维护多个文件的下载)的下载者的信息返回给对方。 Client在收到tracker的响应后,就能获取其它下载者的信息,那么它就可以根据这些信息,与其它下载者建立连接,从它们那里下载文件片断。 tracker服务器架设 BitTorrent Tracker是一个高性能增强型BitTorrent服务器。BitTorrent Tracker同时支持HTTP和UDP的Tracker协议,采用高性能服务器技术, 支持多端口同时监听,数据新插件。BitTorrent Tracker通过了8万个文件和80万个在线用户的高强度测试。用户可根据需要自行改写数据库通信插件, 打造属于自己的服务器, 配合服务器端脚本可实现一个功能完备的BT服务器。   架设好后,您的tracker服务器地址格式为   外网ip:端口/announce
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值