
hun.events.onSearch
这个事件回调,所有搜索逻辑都要写在这里。比如要抓取某网盘的资源列表,就得构造符合该网站反爬机制的请求头,像模拟 Chrome 浏览器的 User-Agent 和 Cookie 管理。/search
接口,携带q
(关键词)和page
(页码)参数。那在规则里就得用 fetch 模拟这个请求:hun.events.onSearch = async (ctx) => {
const response = await fetch('https://example.com/search', {
method: 'POST',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36'
},
body: new URLSearchParams({ q: ctx.keyword, page: ctx.page })
});
const data = await response.json();
// 解析数据并返回结果
}
{ "list": [{ "name": "文件1", "url": "https://example.com/file1" }] }
,那就得遍历这个列表,把每个文件包装成混合盘要求的资源对象:const results = data.list.map(item => ({
name: item.name,
url: item.url,
size: item.size,
type: item.type,
timestamp: item.timestamp
}));
ctx.emit('results', results);
const skey = '1234567890123456';
const key = CryptoJS.enc.Latin1.parse(skey);
const iv = CryptoJS.enc.Latin1.parse(skey);
const decrypted = CryptoJS.AES.decrypt(encryptedData, key, { iv }).toString(CryptoJS.enc.Utf8);
console.log
打印中间结果,在混合盘的日志面板查看。比如想知道请求是否成功,就在 fetch 之后加一句console.log('Response status:', response.status);
。Alist 支持百度网盘、阿里云盘、OneDrive 等 29 款网盘,通过 WebDAV 协议挂载到本地,就像访问本地硬盘一样方便。部署步骤如下:
- 安装 Docker(Linux/macOS/Windows 都适用)。
- 运行启动命令:
docker run -d --name alist -p :5244 -v /path/to/alist/data:/opt/alist/data --restart always xhofe/alist
- 浏览器访问
http://localhost:5244
,按提示完成初始化。 - 添加网盘账号,比如百度网盘需要填写 refresh_token,在百度网盘开发者中心获取。
http://localhost:5244/webdav
,就能直接拖拽文件,而且百度网盘还能不限速下载。Rclone 适合喜欢用命令行的用户,支持 70 多种存储服务,同步、备份、加密功能一应俱全。以同步本地目录到 Google Drive 为例:
- 下载对应系统的 Rclone 二进制文件,解压后添加到环境变量。
- 运行
rclone config
添加远程存储:
n) New remote
name> gdrive
Storage> (Google Drive)
client_id> [留空按回车]
client_secret> [留空按回车]
scope> (Full access)
root_folder_id> [留空按回车]
- 按提示在浏览器授权,获取 token。
- 同步命令:
rclone sync /本地目录 gdrive:远程路径
crypt
类型,设置密码就能对文件加密。Aria2 搭配多网盘聚合工具能实现高速下载。以小米路由器老毛子固件为例,配置步骤如下:
- 安装 Aria2 插件,修改配置文件
/etc/config/aria2
:
dir=/mnt/aria/downloads
log=/mnt/aria/config/aria2.log
input-file=/mnt/aria/config/aria2.session
save-session=/mnt/aria/config/aria2.session
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
- 用混合盘或其他工具获取下载链接,通过 Aria2 RPC 接口添加任务。
- 配合 RSS 订阅,能自动下载更新的种子文件。
夸克网盘和阿里云盘都有对应的自动化脚本。以夸克网盘为例:
- 安装依赖:
sudo apt-get install jq
- 克隆仓库并配置:
git clone https://github.com/Cp0204/quark-auto-save.git
cd quark-auto-save
nano quark_config.json
3. 运行脚本:
python3 quark_auto_save.py quark_config.json
- 设置定时任务,每天自动执行:
(crontab -l ; echo "0 8 * * * python3 /root/quark/quark_auto_save.py /root/quark/quark_config.json >/dev/null 2>&1" ) | crontab -
用 NAS 搭建 FreshRSS 系统,订阅网盘资源更新:
- 在极空间 Z423 等 NAS 设备上安装 FreshRSS 容器。
- 添加网盘资源的 RSS 源,比如某字幕组的更新 feed。
- 配置自动化下载,当 RSS 有新内容时,自动触发 Aria2 或 Alist 下载。
IFTTT 能连接不同服务,实现自动化流程。比如设置当 Gmail 收到新邮件时,自动将附件保存到百度网盘:
- 注册 IFTTT 账号,添加 Gmail 和百度网盘服务。
- 创建 Applet:
- 触发条件:Gmail 收到新邮件。
- 执行动作:将邮件附件保存到百度网盘指定文件夹。
- 还能设置当 Dropbox 有新文件时,自动同步到阿里云盘。