网盘聚合搜索项目Aipan(爱盼)

本文软件由网友 刘源 推荐;

简介

什么是 Aipan(爱盼) ?

Aipan(爱盼)是一个基于 VueNuxt.js 技术构建的开源网盘搜索项目。其主要目标是为用户提供一个能够自主拥有和管理的网盘搜索网站。该项目持续维护和更新,鼓励用户自行部署和使用。AIPAN 旨在使每个人都能方便地访问和搜索网盘资源。

主要特点:

  • 开源:项目代码公开,允许用户自由修改和分发。
  • 技术栈:基于现代前端框架 VueNuxt.js
  • 功能丰富:支持多种网盘资源的搜索和管理。
  • 易于部署:提供多种部署方式,包括 DockerVercel 等。

Aipan 是一个用户友好的工具,致力于提升网盘资源的可访问性和管理效率。

主要功能:

  • 豆瓣热映:展示当前的豆瓣热门影视榜单
  • 影视资源搜索:抓的其它的网站的内容,实现网盘资源聚合搜索
  • 音乐搜索:基于开源项目的酷我音乐搜索下载
  • 在线观影:支持 Alist 聚合播放
  • 电视直播:内置部分 m3u8 视频源
  • 博客功能:支持博客功能

安装

在群晖上以 Docker 方式安装。

老苏采用的是官方镜像,但没什么资料,只能参考 vercel 版的部署说明和源码

在注册表中搜索 aipan-netdisk-search ,选择第一个 unilei/aipan-netdisk-search,版本选择 amd64

latest 版对应的是 arm64 ,如果选择了错误的平台,运行时会显示 standard_init_linux.go:230: exec user process caused: exec format error

env.txt

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# user
ADMIN_USER=laosu
ADMIN_PASSWORD=yp_laosu
ADMIN_EMAIL=wbsu2003@gmail.com

# app
JWT_SECRET=XnKZDR7OmPce9SxBjbPOqyMnMKDMdLLWNJP9iqsrYNk=

# db
POSTGRES_DB=aipan
POSTGRES_USER=aipan
POSTGRES_PASSWORD=aipan
DATABASE_SCHEMA=public
DATABASE_URL=postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/${POSTGRES_DB}
可变
ADMIN_USER 管理员用户名,用于登录后台管理系统
ADMIN_PASSWORD 管理员密码,用于登录后台管理系统
ADMIN_EMAIL 管理员的电子邮箱地址,通常用于密码重置或通知
JWT_SECRET 用于生成和验证 JSON Web Token (JWT) 的秘密密钥,确保用户身份验证的安全性
POSTGRES_DB 数据库库名
POSTGRES_USER 数据库用户
POSTGRES_PASSWORD 数据库密码
DATABASE_SCHEMA 数据库的架构名称,通常用于指定数据库的结构
DATABASE_URL 数据库连接字符串,用于连接到数据库
SHADOW_DATABASE_URL 用于 Prisma 的影子数据库连接字符串,通常在进行数据库迁移时使用

docker-compose.yml

采用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
version: '3'

services:
aipan-netdisk-search:
image: unilei/aipan-netdisk-search:amd64
container_name: aipan-netdisk-search-app
restart: unless-stopped
ports:
- 3295:3000
env_file:
- ./env.txt
depends_on:
postgres:
condition: service_healthy

postgres:
image: postgres:15
container_name: aipan-netdisk-search-db
restart: unless-stopped
# ports:
# - 5433:5432
volumes:
- ./data:/var/lib/postgresql/data
environment:
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_DB: ${POSTGRES_DB}
healthcheck:
test: ['CMD-SHELL', 'pg_isready -d ${POSTGRES_DB} -U ${POSTGRES_USER}']
interval: 10s
timeout: 5s
retries: 5

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 aipan 和 子目录
mkdir -p /volume1/docker/aipan/data

# 进入 aipan 目录
cd /volume1/docker/aipan

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose --env-file env.txt up -d

运行

在浏览器中输入 http://群晖IP:3295 就能看到主界面

网盘搜索

可以搜索一部影片,会返回网盘资源

也可以切换到在线观看

音乐搜索

点右上角的音乐图标

或者在浏览器中输入 http://群晖IP:3295/music

点搜索

电视 TV

点击左上角的 电视 TV

或者在浏览器中直接输入 http://群晖IP:3295/tv

频道 后,左侧会出现频道列表,可以切换观看

老苏安装的版本 Alist 设置不了,可能是需要在后台设置的

最新资源

在浏览器中输入 http://群晖IP:3295/latest-sources ,但没看到东西

不确定是什么原因,既然主页上没有入口,有可能已经废弃了

后台

在浏览器中输入 http://群晖IP:3295/login 就能看到后台界面

但是老苏安装的这个版本无法登录

这个在官方上有人提了 issues

  • https://github.com/unilei/aipan-netdisk-search/issues/67

  • https://github.com/unilei/aipan-netdisk-search/issues/61

按作者的提示查了数据库

发现有 User 表,但是字段是空的

作者讲解了注册逻辑

老苏也尝试着看了下代码

  • 调用 findUserByEmail(email) 检查用户是否已存在。
  • 如果用户存在,调用 loginUser(email, password) 进行登录,并返回相应的成功消息和数据。
  • 如果用户不存在,调用 registerUser() 进行用户注册,并返回相应的成功消息,指示用户已成功注册。

但是这么多人反馈同样的问题,很可能不是因为设置导致的,而真的就是一个 bug

因为不确定密码的加密方式,所以无法手动添加用户记录,来进行后面的功能探索,等作者更新之后吧

参考文档

unilei/aipan-netdisk-search: 本项目是一个基于vue、nuxt.js的网盘搜索项目,且持续开源和维护;目的实现人人都可以拥有自己的网盘搜索网站;建议自己部署,salute to all
地址:https://github.com/unilei/aipan-netdisk-search

爱盼:资源随心,娱乐无限
地址:https://www.aipan.me/

后台登录问题 · Issue #61 · unilei/aipan-netdisk-search
地址:https://github.com/unilei/aipan-netdisk-search/issues/61

使用最新的官方Docker镜像;无法登陆后台(邮箱或密码不正确) · Issue #67 · unilei/aipan-netdisk-search
地址:https://github.com/unilei/aipan-netdisk-search/issues/67