基于webtorrent和electron的磁力链下载器

376 阅读1分钟

bt-downloader是一个基于webtorrentelectron的磁力链下载器。

项目地址:github.com/Lstmxx/bt-d…

bt-downloader

技术栈

  • 框架:electron + vite + Vue3 + Typescript
  • 前端持久化 pinia
  • 磁力链下载:webtorrent
  • UI:TailwindCSS PrimeVue
  • 数据库: better-sqlite3
  • ORM: Typeorm
  • 配置保存:electron-store

对于想上手electron的朋友,可以看看

webtorrent

webtorrent是一个基于WebRTC的磁力链下载客户端。对比Aria2的优势在于webtorrent使用js写的,同时也有对应的types包,所以对于electron开发会比较友好。

better-sqlite3

对于桌面端应用的数据库选择,一般是选择sqlite3。而better-sqlite3要比sqlite3性能好一些,所以选择了better-sqlite3

image.png

ORM方面则选择了Typeorm。

electron-store

对于一些比较简单的数据,例如系统配置等数据,可以直接用来保存,非常快捷方便。

UI

ui方面taliwindcss是必选的,这个习惯之后真的太香了。而PrimeVue则是因为还没用过所作出的选择,不必太过在意。

结语

经过这次开发,大概是掌握和熟悉了electron的开发了,有一说一开发桌面应用的好玩程度比web端要好玩很多,主要是可以操作的范围多了很多,使得一些想法和实现变得可能。