先来说说使用体验吧,教程放在下面 ^-^
用了一段时间反馈一下目前使用起来有些不方便的地方。当然只是反馈使用体验,不是催更 ^-^(两个版本我都部署了,目前主要还是用1.x系列,2.x很棒但是还是有使用上不方便的一些小细节)另外也是给其他佬友们一个使用体验反馈。防止佬友们重复踩坑 ^-^如果佬友们发现我哪里写错了,欢迎指出。
- 历史记录界面和收藏界面功能不全
2.x版本的历史记录和收藏的逻辑没有1.x系列的要好一些。1.x支持单个删除,2.x只支持全部删除。收藏界面甚至连删除按钮好像都没做(也可能做了,可能是我没找到
)
以下是1.x和2.x的历史和收藏界面的区别,可以看出鼠标移动到图片上面2.x界面是没有显示播放和删除控件图标的。如果有无法接受的用户建议先不着急升2.x版本,目前2.x才刚出没多久,还有很多不成熟的地方,期待等之后慢慢增加吧。饭要一口一口吃,代码要一行一行写。码农彼此之间还是要互相理解。 
1.x界面

2.x界面

- Pansou搜索界面和正片播放界面缺失跳转网盘源链接的按钮
2.x版本相比于1.x,缺失了pansou搜索界面识别网盘源链接的功能,并且这个功能在1.x版本中的播放器界面也是显示的,2.x版本却是移除了的,这个功能很好用,可以点一下去看网盘内容有没有缺失。以及1.x的pansou搜索界面是显示网盘视频是来自哪个插件的,2.x则不显示。
另外,PanCheck可以检测到网盘链接失效还是没失效,但是对网盘缺失内容的支持却不是很好。有些时候还是需要点一下这个访问按钮来手动检查的。这时候有些佬友要问了,每次手动点击一下进去看一看不就可以了吗?
是的,这又回到第一个问题了,由于没有跳转访问,点进去就是播放,很多网盘链接并不全,你会得到几个甚至十几个不全的观看历史列表。最后终于找到一个能看的全集之后,你只能点击收藏,不然会由于观看历史界面只有一个删除所有的按钮。所以,bro,现在你不能逐一删除,只能选择删除全部观看记录来实现清理杂乱的播放记录列表。如果之前你没有点击收藏的话,这时候恭喜你又可以重新操作一遍搜索-逐个点击-播放-收藏-清非完整全集链接的步骤了 ^-^
1.x搜索界面和播放界面可显示访问源链接按钮


2.x搜索界面和播放界面则无此功能,导致播放界面可以看到集数不全,此时得关掉界面重新回去查找另一个能看的链接。没有跳转也不知道源链接究竟是命名不正确没被刮削正确,还是缺失丢失了很多视频文件只剩这几个了。 


另外顺便说一句,2.x的盘搜脚本(用的Silent1566/OmniBox-Spider的),脚本好像不如1.x系列内置的pansou界面搜索的准确,时灵时不灵,就很玄学。按理来说这后端都是同一个pansou,全局环境变量设置也没问题,不应该会出现这种问题啊。不知道能不能把后端配置改回来(当然不改也行,不是啥大问题)。
这个可能是我这边自己的问题,你们可以试试,应该不会和我一样奇怪 
废话说完了,接下来直接开整 
事先声明,如果是小白玩家的话,某个服务的compose.yaml文件在哪,那个配置的.env就在它相同的目录,还有.data/目录也是。每个服务需要自己手动新建一个文件夹放置。
比如假设一台主机上的docker目录被新建为/docker/,那么假设我就需要再/docker/目录下新建一个文件夹存放compose.yaml文件,当然名字可以随意起,只要是yaml或者yml格式就可以了。
/docker/
├── omnibox
│ ├── docker-compose.yml
│ └── .env
├── pancheck
│ ├── .data
│ ├── docker-compose.yml
│ └── .env
└── pansou
├── docker-compose.yml
└── .env
1.配置omnibox容器
关于2.x怎么部署我相信佬友们玩docker的肯定是会docker-compose的,不过还是以防万一,给小白玩家贴一个compose.yaml文件 ^-^
latest版本是最新主分支版本,lite版本是最新的轻量版本。
二者具体有什么区别可以看omnibox作者@dragoncoder的原话

如果想使用1.x版本的话,就需要把镜像改为v1.4.4(这是最后一个1.x版本镜像)
image: lampon/omnibox:v1.4.4
以下是compose文件
services:
omnibox:
image: lampon/omnibox:lite #这里可以把lite改为latest,lite是轻量版本
container_name: omnibox #容器名,随便改
ports:
- "7023:7023" #端口号,冒号左边是物理主机端口,右边是容器内部端口。左边物理主机端口随便改一个未被占用的端口。改好之后如果需要外部访问权限记得防火墙放行下端口
restart: unless-stopped #重启规则,未手动停止则一直重启。如果有不论什么情况下都需要重启的需求,可改为always
#env_file:
# - .env #如果有环境变量需求,可手动取消注释,在compose文件同目录下新建.env文件
networks:
- omnibox #使用的容器网络。如果不喜欢用这种方式可以使用network_mode: 'bridge'这种来使用docker默认桥接网络,但是不建议使用默认网络,对代理配置不友好。
volumes:
- /dockerdata/omnibox/data:/app/data #这里是挂载本机目录映射,可修改为自己存放docker内部文件路径,也可以使用挂载卷的方式,二选一,挂载为本机目录的方式比较容易备份和修改
#mem_limit: 2g #内存限制
#cpus: 1 #CPU核心数限制
networks:
omnibox:
external: true #这里就是上面的容器网络,允许外部访问,后续可对接数据库或者pansou/pancheck服务
再贴一个omnibox的.env文件,如果有外置数据库需求或者容器代理需求可以取消.env的注释,~建议不要使用postgresql,因为作者还没修,不能用~(又看了一眼,最新版修好了) 
DATABASE_TYPE="mysql" #数据库类型,可以是mysql或者postgres
DATABASE_HOST="mysql" #数据库主机地址,如果是容器搭建的数据库,就填写启动的数据库容器名,如果是其他主机,就填写内网ip地址
DATABASE_PORT="3306" #数据库端口,mysql默认是3306,postgresql默认是5432
DATABASE_DATABASE="omnibox" #数据库名,自定义
DATABASE_USERNAME="omnibox" #数据库用户名,自定义
DATABASE_PASSWORD="" #数据库密码,自定义
TZ=Asia/Shanghai#时区
#HTTP_PROXY=http://192.168.1.1:7890 ##这三条可以不设置,omnibox界面自带,其他docker容器若需要代理可以参考此配置以供容器内部走代理。http代理,改为自己的代理主机ip和端口
#HTTPS_PROXY=http://192.168.1.1:7890 ##同上,https代理
#NO_PROXY=localhost,127.0.0.1,docker-internal.net ##排除不需要代理的地址
我这里用的是1panel面板,如果是NAS的话,也是一样的步骤,只需要改一下存放docker容器内部文件的位置就可以了。如果是和compose.yaml在同一路径,那就直接设置为如下。而.代表当前目录,指的是compose.yaml存在的目录。.env文件同理,指的是有一个环境变量配置.env文件存放在和compose.yaml文件存在的同一目录下。可以手动改为绝对路径。
volumes:
- ./data:/app/data

如果你不需要pansou插件和pancheck插件,那么到上面就已经配置完成了。如果你想要更好一些的体验的话,可以如下再安装两个容器。
其中,pansou是负责搜索一些频道分享的视频资源的,pancheck是检测并筛选有无失效视频链接的,如果有,就会从pansou之中移除失效的链接,防止你点进去发现无法播放。
2.配置pansou容器
上面解释了大致配置意思,以下就简写了,不重复解释
services:
pansou:
image: ghcr.io/fish2018/pansou:latest
container_name: pansou
restart: unless-stopped
ports:
- "8888:8888" #此处冒号左边需要更改为你本地主机需要提供pansou服务的端口
env_file:
- .env
volumes:
- pansou-cache:/app/cache #此处就是上面说的除了挂载目录之外的挂载卷的形式了
network_mode: "omnibox"
healthcheck:
test: ["CMD", "wget", "-q", "--spider", "http://localhost:8888/api/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 10s
volumes:
pansou-cache: #需要在此处写了pansou-cache等挂载卷名,上面才可以填写简写卷名,实现代替挂载路径的效果,但是没挂载路径容易备份和修改,只能进终端修改容器内部文件
name: pansou-cache
pansou的.env文件
PORT=8888
CHANNELS="tgsearchers4,Aliyun_4K_Movies,bdbdndn11,yunpanx,bsbdbfjfjff,yp123pan,sbsbsnsqq,yunpanxunlei,tianyifc,BaiduCloudDisk,txtyzy,peccxinpd,gotopan,PanjClub,kkxlzy,baicaoZY,MCPH01,MCPH02,MCPH03,bdwpzhpd,ysxb48,jdjdn1111,yggpan,MCPH086,zaihuayun,Q66Share,ucwpzy,shareAliyun,alyp_1,dianyingshare,Quark_Movies,XiangxiuNBB,ydypzyfx,ucquark,xx123pan,yingshifenxiang123,zyfb123,tyypzhpd,tianyirigeng,cloudtianyi,hdhhd21,Lsp115,oneonefivewpfx,qixingzhenren,taoxgzy,Channel_Shares_115,tyysypzypd,vip115hot,wp123zy,yunpan139,yunpan189,yunpanuc,yydf_hzl,leoziyuan,pikpakpan,Q_dongman,yoyokuakeduanju,TG654TG,WFYSFX02,QukanMovie,yeqingjie_GJG666,movielover8888_film3,Baidu_netdisk,D_wusun,FLMdongtianfudi,KaiPanshare,QQZYDAPP,rjyxfx,PikPak_Share_Channel,btzhi,newproductsourcing,cctv1211,duan_ju,QuarkFree,yunpanNB,kkdj001,xxzlzn,pxyunpanxunlei,jxwpzy,kuakedongman,liangxingzhinan,xiangnikanj,solidsexydoll,guoman4K,zdqxm,kduanju,cilidianying,CBduanju,SharePanFilms,dzsgx,BooksRealm,Oscar_4Kmovies,douerpan,baidu_yppan,Q_jilupian,Netdisk_Movies,yunpanquark,ammmziyuan,ciliziyuanku,cili8888,jzmm_123pan" # 必须指定启用的插件,多个插件用逗号分隔
ENABLED_PLUGINS="labi,zhizhen,shandian,duoduo,muou,wanou,hunhepan,jikepan,panwiki,pansearch,panta,qupansou,hdr4k,pan666,susu,thepiratebay,xuexizhinan,panyq,ouge,huban,cyg,erxiao,miaoso,fox4k,pianku,clmao,wuji,cldi,xiaozhang,libvio,leijing,xb6v,xys,ddys,hdmoli,yuhuage,u3c3,javdb,clxiong,jutoushe,sdso,xiaoji,xdyh,haisou,bixin,djgou,nyaa,xinjuc,aikanzy,qupanshe,xdpan,discourse,yunsou,qqpd,ahhhhfs,nsgame,gying,quark4k,quarksoo,sousou,ash"
CACHE_ENABLED=true
CACHE_PATH=/app/cache
CACHE_MAX_SIZE=100
CACHE_TTL=60
ASYNC_PLUGIN_ENABLED=true
ASYNC_RESPONSE_TIMEOUT=4
ASYNC_MAX_BACKGROUND_WORKERS=20
ASYNC_MAX_BACKGROUND_TASKS=100
ASYNC_CACHE_TTL_HOURS=1
# 认证配置(可选)
# AUTH_ENABLED=true
# AUTH_USERS=admin:admin123,user:pass456
# AUTH_TOKEN_EXPIRY=24
# AUTH_JWT_SECRET=your-secret-key-here
# 如果需要代理,取消下面的注释并设置代理地址
# PROXY=socks5://proxy:7897
3.配置pancheck容器
由于pancheck依赖redis和mysql数据库,所以先安装两个数据库,Lampon提供的compose文件是整合到一起的,我个人是倾向于将数据库容器分配置来管理,因为不只是这个容器会用到数据库,其他容器可能也会使用到。如果你没有其他场景可以使用到数据库,可以直接使用Lampon老哥的版本,另外,这个容器对postgresql支持也不好
如果有需求可以自己拉取源码改一改编译一个。不过很多佬友可能没有postgresql数据库的需求,下面我就用mysql来展示了。
(postgresql修好了,有需求的可以自己改,把mysql的type类型和port端口的行注释掉,取消注释postgresql的type类型和port端口的行就可以了)
首先提供一个pancheck的仓库地址,如果对整洁度单容器管理无需求的话,可以直接用Lampon老哥的整合版Lampon/PanCheck
services:
mysql:
container_name: mysql
image: mysql:8.0
network_mode: "omnibox"
ports:
- "3306:3306"
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD=""#mysql的root管理密码
volumes:
- ./data/:/var/lib/mysql
- ./conf/my.cnf:/etc/my.cnf
- ./log:/var/log/mysql
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
services:
redis:
container_name: redis
image: redis:latest
network_mode: "omnibox"
ports:
- "6379:6379"
restart: unless-stopped
command: redis-server --appendonly yes
volumes:
- ./data:/data
- ./conf/redis.conf:/etc/redis/redis.conf
- ./logs:/logs
services:
pancheck:
image: lampon/pancheck:latest
container_name: pancheck
ports:
- "6080:6080"
env_file:
- .env
volumes:
- ./data:/app/data
restart: unless-stopped
network_mode: "omnibox"
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:6080/api/v1/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
pancheck的.env文件内容
SERVER_PORT="6080" #服务端口
SERVER_MODE="release" #服务模式
SERVER_CORS_ORIGINS="*" #跨域请求允许的源
DATABASE_TYPE="mysql" #数据库类型,支持mysql和posgres,如果需要postgresql,则注释该行并取消下面这行注释
#DATABASE_TYPE="postgres"
DATABASE_HOST="mysql" #数据库地址(Docker中使用服务名)
DATABASE_PORT="3306" #数据库端口,postgresql是5432,如果需要postgresql,则注释该行并取消下面这行注释
#DATABASE_PORT="5432"
DATABASE_USER="pancheck" #数据库用户名
DATABASE_PASSWORD="" #数据库密码
DATABASE_DATABASE="pancheck" #数据库名称
DATABASE_CHARSET="utf8mb4" #数据库字符集,如果使用postgresql,则这一项需要注释掉
CHECKER_DEFAULT_CONCURRENCY="5" #默认并发数
CHECKER_TIMEOUT="30" #超时时间(秒)
REDIS_ENABLED="true" #是否启用Redis
REDIS_HOST="" #Redis地址(确保容器能访问)
REDIS_PORT="6379" #Redis端口
REDIS_USERNAME="" #Redis用户名
REDIS_PASSWORD="" #Redis密码
REDIS_INVALID_TTL="168" #失效链接缓存时间(小时)
ADMIN_PASSWORD="admin" #后台管理密码,自定义
4.配置弹幕danmu_api
services:
danmu-api:
image: logvar/danmu-api:latest
container_name: danmu
ports:
- "9321:9321"
# 热更新支持:挂载 .env 和 config.yaml 文件,修改后容器会自动重新加载配置(无需重启容器)
volumes:
# - /opt/1panel/apps/danmu:/app
- /opt/1panel/apps/danmu/.env:/app/.env
- /opt/1panel/apps/danmu/config.yaml:/app/config.yaml
- /opt/1panel/apps/danmu/.chche:/app/.cache
restart: unless-stopped
network_mode: "omnibox"
至此为止容器配置已经结束了,接下来说说启动之后的页面配置
页面配置
1.弹幕配置界面在我的-管理-系统设置-插件设置里面
弹幕API的默认设置如下
http://[换成你自己的本地主机ip]:9321/87654321

2.爬虫管理配置
爬虫脚本获取
Silent1566/OmniBox-Spider
我们以盘搜配置为例
首先添加一个爬虫源,起个名字,标签随意,不填也行,优先级越高爬虫源越显示在前面,优先级越低,越显示在后面。可以调整优先级数字来排序。

再点击右侧的尖括号按钮编辑脚本

首先我们先安装几个必要的NPM全局依赖,它们的作用是在你看采集源的时候不会报错
cheerio、crypto、axios

安装好之后我们编辑一下环境变量,环境变量是爬虫脚本可以调用的一些配置参数。设置好之后就可以使用之前配置的pansou,pancheck,danmu_api等容器提供的接口了
点击左侧的小钥匙图标,可以设置环境变量,其实脚本中也提示我们哪些是这个脚本以来的环境变量了。那些等号前面的荧光青绿色的变量就是。我们点击新增。

以下是一些常用的键值对key=value,备注随意填写,知道是哪个变量的就可以了。

以下都简写了,对应的是
[名称/键]
[值]
[备注]
DANMU_API
http://[换成你自己的本地主机ip]:9321/87654321
弹幕接口
PANSOU_CLOUD_TYPES
quark,uc
盘搜网盘类型
声明:可选这些选项,我只选了两个常用的baidu,aliyun,quark,115,tianyi,xunlei,123,mobile,uc
PANCHECK_PLATFORMS
quark,uc
Pancheck网盘平台
PANSOU_API
http://[换成你自己的本地主机ip]:8888
盘搜API
PANCHECK_API
http://[换成你自己的本地主机ip]:6080
盘搜检测API
PANSOU_CHANNELS
tgsearchers4,Aliyun_4K_Movies,bdbdndn11,yunpanx,bsbdbfjfjff,yp123pan,sbsbsnsqq,yunpanxunlei,tianyifc,BaiduCloudDisk,txtyzy,peccxinpd,gotopan,PanjClub,kkxlzy,baicaoZY,MCPH01,MCPH02,MCPH03,bdwpzhpd,ysxb48,jdjdn1111,yggpan,MCPH086,zaihuayun,Q66Share,ucwpzy,shareAliyun,alyp_1,dianyingshare,Quark_Movies,XiangxiuNBB,ydypzyfx,ucquark,xx123pan,yingshifenxiang123,zyfb123,tyypzhpd,tianyirigeng,cloudtianyi,hdhhd21,Lsp115,oneonefivewpfx,qixingzhenren,taoxgzy,Channel_Shares_115,tyysypzypd,vip115hot,wp123zy,yunpan139,yunpan189,yunpanuc,yydf_hzl,leoziyuan,pikpakpan,Q_dongman,yoyokuakeduanju,TG654TG,WFYSFX02,QukanMovie,yeqingjie_GJG666,movielover8888_film3,Baidu_netdisk,D_wusun,FLMdongtianfudi,KaiPanshare,QQZYDAPP,rjyxfx,PikPak_Share_Channel,btzhi,newproductsourcing,cctv1211,duan_ju,QuarkFree,yunpanNB,kkdj001,xxzlzn,pxyunpanxunlei,jxwpzy,kuakedongman,liangxingzhinan,xiangnikanj,solidsexydoll,guoman4K,zdqxm,kduanju,cilidianying,CBduanju,SharePanFilms,dzsgx,BooksRealm,Oscar_4Kmovies,douerpan,baidu_yppan,Q_jilupian,Netdisk_Movies,yunpanquark,ammmziyuan,ciliziyuanku,cili8888,jzmm_123pan
盘搜频道
PANSOU_PLUGINS
labi,zhizhen,shandian,duoduo,muou,wanou,hunhepan,jikepan,panwiki,pansearch,panta,qupansou,hdr4k,pan666,susu,thepiratebay,xuexizhinan,panyq,ouge,huban,cyg,erxiao,miaoso,fox4k,pianku,clmao,wuji,cldi,xiaozhang,libvio,leijing,xb6v,xys,ddys,hdmoli,yuhuage,u3c3,javdb,clxiong,jutoushe,sdso,xiaoji,xdyh,haisou,bixin,djgou,nyaa,xinjuc,aikanzy,qupanshe,xdpan,discourse,yunsou,qqpd,ahhhhfs,nsgame,gying,quark4k,quarksoo,sousou,ash
盘搜插件