deno-torrent

268 天前
 xlsepiphone

近期对于 BT 相关技术产生了浓厚的兴趣。

我现在的主要是想实现一个基于 deno 的 B/S 架构的完整 BT 下载器(并非迅雷那类的 Leech )。

鉴于 deno 相关的库资源很少,只能重写一些种子相关的库,比如 bencode 编码、peerid 解析,以及 DHT 协议等。

经过几天的连续高强度编程,目前完成的有:

下一步准备继续实现 deno 的 DHT 协议。

搞了个 deno-torrent 的 organization ,把所有的开源代码都集合在一起了。

点这里:deno-torrent

organization 头像有彩蛋。

ps. qBittorrent 其实很好用了,但是一些个性化的需求难以实现,或者实现很麻烦。比如实现防吸血的功能,或者批量改名后继续做种。

1426 次点击
所在节点    分享创造
13 条回复
xlsepiphone
268 天前
说到 qBittorrent 的改名做种功能,其实目前是支持手动改的,只能一个一个的改。

太繁琐了,如果能支持基于正则的替换,就更好了。
billzhuang
268 天前
手动点赞!给高强度编程点赞。

能不能直接网页边下载边播放么?
xlsepiphone
268 天前
@billzhuang #2
1 、我只是想实现一个下载器
2 、我想实现对于番剧的重命名,让 plex 可以很好的识别,例如 S1E01 这种格式,现在的字幕组基本都不按照这个格式命名,我用脚本修改后,就无法做种了,用 qb 改太繁琐。
3 、想实现防吸血功能
4 、目前主要的痛点就是 2 和 3 ,想通过插件的形式来完成,我只完成最核心的能力。把重命名和防吸血都做成插件,毕竟一个人的精力是有限的,看看后面能不能实现插件开发的正向反馈。
xlsepiphone
268 天前
前段时间写了一个 Electron 的用来查看种子元数据和生成种子的小工具,有需要的朋友自取。

![Tor]( https://github.com/Sloaix/Tor/raw/master/screenshot/en/1.png)

[Tor]( https://github.com/Sloaix/Tor)
Trim21
268 天前
@xlsepiphone 你这个 2…用脚本调用 qb 的 API 进行文件重命名不行就了,繁琐和继续做种的问题都解决了
xlsepiphone
268 天前
@Trim21 #5 我才发现有 renameFile 这个 api 。。。发现的太晚了,代码都写了这么多了,只能硬着头继续了。

不过即便是这样,还需要手动维护一份脚本,还要定时跑,年纪大了,很容易就忘了 nas 里面有这么一个脚本。。。

我还是想把这些小功能插件化,实现一个官方的插件库,这一样我就不用在软件外面另外维护一个改名的脚本了。
20160409
267 天前
插件方式的话,deluge BT 的一些功能就是靠这实现的。
moonsn
267 天前
说到 bt ,有没有能查看活跃度的工具?就是对下载上传做一些按时间维度的统计。目前的软件上只能看到一个总数(瞬时值)。
需求比如看某个种子在某个时刻的上传下载。
有 api 是不是可以搞个时序数据库采集加 grafana 展示?有现成的就好了。
Trim21
263 天前
Trim21
263 天前
@xlsepiphone 如果是 go 或者 Python 的话我就来了,可惜是 ts…
Trim21
263 天前
@moonsn 这个是直接采集数据到 prometheus 的,查看数据,通过 grafana 查看数据
moonsn
263 天前
@Trim21 能看某一个种子的吗?还是只能看总量?
Trim21
263 天前
@moonsn 能看,每个种子的上传和下载量都有导出。

不过我提供的这个 dashboard 没有对应的选项,你可以用 grafana 的 explorer 看。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/966881

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX