打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
几句代码写个飞快的下载软件,轻快版 aria2 支持 UPnP,独立 EXE 程序
userphoto

2022.11.04 江苏

关注

aria2 虽然很强大,配置就略有些复杂,一些懒人包说实话整成了累人包。

今天抽了点时间改进了一下 aardio 中的 process.aria2 扩展库,顺手解决了 aria2 不支持 UPnP 内网穿透的问题 —— 再也不用手动去配置了。

process.aria2 可以自动创建并管理 aria2 服务进程,自动获取并添加最新 Tracker 服务器,自动探测可用空闲端口,多个 aria2 进程不会冲突。并且自动检测系统环境并自动设置最佳配置。

写界面也要不了几句代码。下面介绍 2 种实现界面的方案:

1、用网页写界面。先用 WebView2 + AriaNg  演示一下。至于强大的 WebView2 请参考:放弃 Electron,拥抱 WebView2!JavaScript 快速开发独立 EXE 程序

2、直接用 aardio 创建原生界面。

这两种方案的完整源码我放到 process.aria2 扩展库的范例里了。运行「 aardio 工具 > 扩展库 」,在库名称中输入 process.aria2 找到扩展库,双击扩展库名字可以打开范例( 右键菜单也可以 ):

这里要注意一下,BT 下载如果一开始没速度是正常的,等一下或者先找个热门资源下载速度就会上来了。

▶ 方案一:网页( WebView2 + AriaNg )实现 aria2 界面


先看效果:

软件的全部 aardio 代码其实没几句,如下:











































aardio 用 simpleHttpServer 创建了一个嵌入式的微型 HTTP 服务端,另外 aardio 也可以将网页端的 AriaNg 自动嵌入 EXE 文件 —— 所以能生成独立 EXE。

aardio 支持类似 PHP 的服务端模板语法,这里我们简单地将初始化配置的 *.js 文件 改为 *.aardio 文件,然后在这个 aardio 文件里动态读取上面代码设置的 



就可以让  AriaNg 愉快地连接到 aardio 创建的 aria2 服务端了。

实际上就是修改 aria-ng-***.min.js,主要修改代码如下:








当然这种事就不需要自己动手去改动 AriaNg 了,我在范例里写了一个『 更新前端 HTML.aardio 』,直接运行这个代码就可以自动下载最新版 AriaNg,自动修改 AriaNg …… 全自动搞定。

▶ 方案二:直接用 aardio 创建原生界面


这个界面我写得比较简单,主要演示 aardio 直接调用 aria2 的 JSON-RPC 接口有多方便。这个先搞定了的话,单纯画个界面用什么界面组件就可以自由发挥了。


先看界面:

此方案生成的软件体积更小,下面看完整源码( 不再需要其他代码 )。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
AriaNg 无法连接 aria
试试激动人心的 WebView2
百度网盘26MB/S下载速度的电脑版,他来了~~
目前百度云能用的几种下载方法
全能的下载神器--Aria2配置WebUI界面
手把手教你如何抛弃度娘网盘桌面端软件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服