实现基础:傻妞、qbittorrent、docker
自从有了傻妞,我就想着得让她成为我的小助理,有事儿了呼叫一下,剩下的就不管了。然后,今天就带来一个一键下载功能。
仓库开源,https://github.com/LeanFly/qBit-api
## 拉取镜像:
docker pull leanfly/qbit-api:latest
## 创建文件夹x,然后在x下创建一个qbit.py脚本,复制以下代码到qbit.py,也可以去仓库拿:https://github.com/LeanFly/qBit-api
# coding=utf-8
from qbittorrent import Client
from fastapi import FastAPI
import uvicorn
app = FastAPI()
@app.get("/qbit")
async def qBitDownload(magnet: str):
# 连接qbit的webUI,填写相应的qbit webUI访问地址
qbit = Client("http://ip:port")
# 登录webUI,填写相应的用户名、密码
qbit.login("username", "password")
# 开始下载
qbit.download_from_link(magnet)
return "done"
if __name__ == "__main__":
uvicorn.run(app, host='0.0.0.0', port=8000)
上面的代码中,qbit=Client("http://ip:port"),这里请填入自己的qbit的webUI访问地址,比如:qbit=Client("http://192.168.1.233:8080")。然后qbit.login("username", "password"),这里请填写qbit的用户名密码
## 一键梭哈:
docker run -dit --name qbit-api -p 8008:8000 -v $PWD/qbit.py:/code/qbit.py leanfly/qbit-api:latest
## 浏览器访问:http://ip:port/qbit?magnet=(下载链接),要传入的下载链接填在=后面,没有括号
## 对接傻妞:
- 进入傻妞主代码目录的develop下的replies目录,创建一个js文件,比如qbit.js,然后将下面的代码复制到qbit.js,获取直接去仓库拿 https://github.com/LeanFly/qBit-api
// [rule: 下载 ? ]
// 获取传入的下载链接
var key = param(1);
var data = request({
url: "http://ip:port/qbit?magnet=" + key,
method: "get",
})
sendText(data)
上面的代码中,rule可以自定义,需要的自己添加,复制一行,然后改掉文字就行。url这里填写上面搭建的qbit API的访问地址
## 重启傻妞,加载插件,然后就可以使用了。
#### 附上群晖的
拉取镜像

创建qbit.py文件,可以复制上面的代码,也可以去仓库下载:https://github.com/LeanFly/qBit-api

修改自己的配置

创建容器,在高级里面挂载qbit.py文件,在端口配置里配置自己喜欢的端口,配置完应用然后启动容器


对接傻妞的部分参考上面👆
对接完之后发送指令的效果如下


下载提示 不可接受的文件类型,只允许使用常规文件。 用QB web就可以
创建文件夹x 这个文件夹在哪创建呢?
傻妞插件开发没有文档吗?
学习了,感谢大佬
好的学习一下
您好,麻烦问下,我配置文件和傻妞js都已经配置好了,但是用指令‘下载’,傻妞毫无反应,是因为我把qbit.py放置的目录不对吗
这个牛逼了!
学到了
感谢分享,谢谢楼主,赞
想问下abit.js 里面的url 是docker IP 还是nas IP 还是傻妞IP呢
感谢分享
Ubuntu下Qbittorrent Web UI的安装能不能来个一键教程,大佬
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
e92996fd677187a09f96c5f934063461f45cdb57f621e218b31e3d793d092a59
不支持arm吗
又学习到了,写的非常好😁
谢谢分享
感谢分享,谢谢楼主,赞
谢谢分享,学习了
又学习到了,写的非常好😁
感谢大佬的教程