ericvlog / note

6 stars 1 forks source link

如何设置xiaoya的docker #77

Open ericvlog opened 1 month ago

ericvlog commented 1 month ago

软路由盒子类似 n1 等,具有 openwrt环境 (可以终端上一键配置)

NAS 等具有docker插件 (无法或很难登入终端,需要图形化自行配置)

云服务器也就是俗称的 vps (可以终端上一键配置)

openwrt控制面板左侧(“系统”或“服务”下找到“TTY终端”)

bash -c "$(curl http://docker.xiaoya.pro/update\_new.sh)"

This video format (mp4) can't be played on this device.

Learn more

配置的内容和格式参考 “容器内 /data 目录的文件功能说明” 章节,有些平台需要额外在服务器的防火墙上开放端口,选择放行 5678或者6789端口

请参照下面的 群晖配置截图,其它NAS产品的配置大同小异

有的群晖因为固件原因,装载路径是 /data 保存应用会失败,那么尝试这样

记住 端口映射是 5678 → 80 不是 5244 不然搜索会失效,出现下面的错误

配合TVBOX 的json文件,可以搜索xiaoya的docker内容

把密码保存到 /etc/xiaoya/guestpass.txt (不过不要设置稀奇古怪的符号,例如;&#“~@()*$ 之类的)

如果你的xiaoya放在公网,为了防止别人蹭网,可以设置强制登入,新增 /etc/xiaoya/guestlogin.txt 这个文件,重启即可,文件有没有内容无所谓,如果取消强制登入就删除这个文件。强制登入的账号为 dav,密码使用 /etc/xiaoya/guestpass.txt 里设置的,同时webdav连接使用 dav 这个用户

上述2个功能设置好后需要重启docker才会生效。

标注*** 的文件为必要,必须存在和有内容,所有的配置文件缺省位置在宿主机的 /etc/xiaoya

如果你升级到了阿里云盘app 4.9或以上,那么整个账号的设置会有大改动,你需要在新的“资源库”创建一个目录,先转存这个

然后打开浏览器,打开转存后的目录,在浏览器的url里获取folder id

文件:pikpak.txt 用途:用来观看pikpak分享 格式:"xxxxxxxx" "yyyyyyyy" 备注:账号可以是邮箱和手机号,手机号前面要加区号,也就是 "+86xxxx" 这样,注册如果用谷歌快捷方式登入的话是无法使用谷歌邮箱登入的(alist不支持)

文件:guestpass.txt 用途:自己修改 guest 账号的密码 备注:如果开启了强制登入则 登入账号 dav 也使用此密码

文件:guestlogin.txt 用途:通过此文件的存在与否来决定是否开启强制登入 格式:空白文件,不需要强制登入功能,则删除此文件

文件:show_my_ali.txt 用途:通过此文件的存在与否来决定是否加载自己的阿里云盘 格式:空白文件,不需要加载的,则删除此文件

文件:docker_address.txt 用途:配合 TVBOX的alist搜索 格式:http://xxxxx:5678 (最后不要加 /)

TVBOX 配置地址 http://xxxxx:5678/tvbox/my.json TVBOX 配置地址(多仓,需要TVBox壳支持) http://xxxxx:5678/tvbox/juhe.json

文件:docker_address_ext.txt 用途:外网地址,配合tvbox外网访问,对应的配置地址是 http://xxxx/tvbox/my\_ext.json 格式:http://xxxxx:5678 (最后不要加 /)

文件:iptv.m3u 用途:在my.json中自定义额外的直播源 "我的私用” 格式:标准的m3u格式

文件:tv.txt 用途:挂载自定义直播源到xiaoya 格式:tvbox的直播源格式,如图所示

备注:直播源有格式,区域限制等问题,有的可以在网页观看,有的需要用播放器才能看

文件:proxy.txt 用途:使用代理,http,https,socks5 协议 格式:http://xxxxx:7890 或 socks5://xxxxx:7891 (最后不要加 /)

文件:alist_token_expire_time.txt 用途:设置alist auth token的有效期,缺省4800(对于无所谓安全的用户来说方便) 格式:72 (数字,单位是小时)

文件:alist_auth_token.txt 用途:无需设置,自动生成,可以用来配置alist v3方式套娃,删除后会重新生成一个新的 格式:alist-09ceb38a-f143-47f7-b255-c3eec819cd7bxxxxxxxxxxxxx

文件:tvbox_security.txt 用途:开启tvbox的随机订阅地址,防止公网上被人蹭,让别人猜不到你的订阅地址 格式:空白文件,没有则不开启

文件:tvbox_config.txt 用途:无需设置,自动生成, 格式:http://xxxxx:5678/tvbox/sdfh02ye.my.txt

文件:tvbox_config_ext.txt 用途:无需设置,自动生成,外网的随机订阅地址, 格式:http://xxxxx:5678/tvbox/sdfh02ye.my\_ext.txt

文件:my.json 用途: 自定义tvbox配置文件 格式: TVBOX 兼容的json配置文件格式

文件:pikpak_list.txt 用途:挂载自己一个或多个 pikpak账号 格式:挂载名 "账号" "密码" ,用空格分开(pikpak2 “abc@hotmail.com" "123456"),每行一个

文件:alist_list.txt 用途:挂载一个或多个 Alist 套娃 格式:挂载名 alist版本(v2或v3)网址 目录,用空格分开每行一个 备注:挂载名不能有空格,网址最后不要有斜杠

文件:pikpakshare_list.txt 用途:挂载自己一个或多个 pikpak分享 格式:挂载名 分享ID 分享目录 ,用空格分开(赵霸道 VNRT8Wr8BGyw1kt1HkijKR4Qo1 VNQf6ZmWE3pVWGpuFriGqyPzo1),每行一个 备注:挂载名不能有空格

文件:alishare_list.txt 用途:挂载自定义分享ID 格式:挂载名 阿里分享ID 文件folder id,用空格分开,每行一个 120T电影资源 ZpevUcDZ2Pn 636c8ba0703acd24cd44b19dd00312ef15b1e8 60T各种资料 s6NBDauc5VZ 63b16e82a50ca34f6c7466293235a06d1af8ea3

另外提醒一下,不同平台导致的文本文件格式有差别,确保是 unix格式,utf-8编码,不然会出现乱码,网页报错,无法进入目录等奇奇怪怪的问题,看截图,确保编码格式正确

文件:ali2115.txt 用途:阿里转存115,然后利用115来播放(需要115会员) 格式:

purge_ali_temp=true cookie="UID=800012347_F1_1712345;CID=0f99357f000xxxxx67af8e167fcd68;SEID=0f439555555559d9b227595c0cd37b63c065e5d934d70045e8bfb3089b09b8d843662ad6ac00a90c6ecc3faf0e5abff45d73797470" purge_pan115_temp=true dir_id=0

文件:115share_list.txt 用途:挂载自己一个或多个 115分享 格式:挂载名 分享ID 分享目录id 提取码 ,用空格分开(影视合集1 sw6pw793wfp 2628478209115264315 w3y6),每行一个 备注:挂载名不能有空格

文件:115_list.txt 用途:挂载自己的 115 格式:挂载名 目录cid,用空格分开(电视剧 2628478209115264315 w3y6),每行一个

备注:挂载名不能有空格,cid可以从浏览器url中获得

文件:quark_cookie.txt 用途:填写quark cookie 格式:直接填入即可,类似

_UP_A4A_11=wb9661773ece49319cc81d3ccb724660;UP_335_2B\=1;isg=BDMz5jObUbYREB1ihUUuJCVpwjddaMcqM8V2QuXR_tIu5FOGbTtIeMK3mhQKxB8i;UP_D\=pc;UP_F7E_8D\=WBDD1kwZRCu368g0c9aKuUPwKLOVbxJPcg0RzQtV6ZMgPh38l93pgubgHDQqhaZ2Sfc0qv%2BRantbfg1mWGAUpRMP4RqXP78Wvu%2FCfvkWWGc5NhCTV71tGOIGgDBR3%2Bu6%2Fjj47YIBD1O2jZ5buq3xLpEcQZvOTidzNw8s%2FWtKAIxWbnCzZn4%2FJMBUub1SIMcW89g57pn1LjcdRquFsosEUhicbLGHxn%2BQeHsJVs9WoOh6nFPh2nIAcu7v22Uw2o%2FxMY0xBdeC9Korm5%2FNHnxl6K%2Bd6FXSoT9a3XIMQO359auZPiZWzrNlZe%2BqnOahXcx7SOapSmL4ygJor4r5isJhRuDoXy7vJAVuH%2FRDtEJJ8rZTq0BdC23Bz%2B0MrsdgbK%2BiW;UP_30C_6A\=st966620199zkpf96cd06anjap3pj9nt;UP_TS\=sg1bac392b287cad2c687101b846cxxxxxxxxx

文件:quarkshare_list.txt 用途:挂载自己一个或多个 pikpak分享 格式:挂载名 分享ID 分享目录id 提取码 ,用空格分开(短剧 3aa684b06180 954f8a55e7434c4590a9f6f13bb91bb7 7e8u),每行一个 备注:挂载名不能有空格,分享目录id获取方式,看截图红色部分

文件:open_api.txt 用途:使用自己的阿里开发者参数去连接阿里open接口 格式:htt ps://openapi.alipan.com/oauth/access_token(空格)app_id(空格)app_secret

申请开发者权限,理由自己想办法编,我让gpt帮忙编的。

最简单就是用host模式(端口6789)安装一次,可以规避桥接模式遇到防火墙规则冲突等问题

bash -c "$(curl -s http://docker.xiaoya.pro/update\_new.sh)" -s host

正常的加载时间是在1分钟-5分钟内,如果超过5分钟,那么可能有问题了,检查日志

docker stop xiaoya docker stop xiaoya-hostmode (如果是host模式安装的镜像) docker stop alist

docker start xiaoya docker start alist

或者可以通过科学 上网切换节点的方式变更IP来规避这个限制(因为它是以IP计算的)

替换token, mytoken.txt 那个32位长的token

如果没有获取到版本号,那么就是网络问题,先解决网络联通的问题。

如果上面检测能获取版本号,说明网络没问题,那么就大概率是防火墙的问题,有可能是其它软件干扰了docker的防火墙规则,可以这样尝试修复docker防火墙规则

目的是重启 Docker Daemon管理进程来重建docker 防火墙规则,然后再

iptables -F service dockerd restart docker restart xiaoya

阿里更新了接口,有好几个人都出现一会儿能放一会儿不能放的情况,共同点就是都是使用infuse,然后在刮削扫描,那么综合起来,可以判断出阿里对短时间同IP大量请求会出现限制,

表现在网页就是出现 ParamFlowException

所以现在不要刮削,阿里开始动态连接管理了,短时间大量请求直接抛出错误,长时间不确定会怎么处理,肯定对token和账号会做出限制,因为从被连接放来说,看起来就像流量攻击,我之前防止别人对我的网站建索引也是采用差不多的手段

使用kodi,plex,jellyfin,emby进行刮削

一定要小心不要让短期限制变成对你账户的长期限制,停止上述3种行为

IOS 平台: infuse, fileball,nplayer

安卓平台: nplayer, Kodi, Reex, NovaPlayer(魔改版)

rclone,davfs2,raidrive,Mountain Duck

参考 potplayer, nplayer, kodi 的配置截图

把你的docker url 填写进 docker_address.txt (缺省在 /etc/xiaoya 目录下)

比如 http://192.168.2.1:5678

在TVBOX 的配置地址填入 http://192.168.2.1:5678/tvbox/my.json

如何想自定义配置的json文件,则放置在 /etc/xiaoya/my.json 即可

然后,在终端命令行 (xxxxxxxxxxxxxxxx 就是你获取的token)

echo xxxxxxxxxxxxxxxxxxxxxx > /etc/xiaoya/mytoken.txt

或者将你自己获取到的token粘贴至 etc/xiaoya/mytoken.txt文件里并保存。

NAS或者其它自行配置的请放入自己在配置中设定的文件夹中,文件名是 mytoken.txt

docker exec -it xiaoya cat /data/mytoken.txt

把你的pikpak账号 保存到 /etc/xiaoya/pikpak.txt

"xxx" "yyy" (将xxx替换为账号,yyy替换为为密码,"账号" "密码"中间有空格,切记引号要英文字符的,是 " 不是 “)

如果账号是手机号,要 +区号 ,比如你的手机号 12345678900 ,那么就填 “+8612345678900”

通过第三方认证注册的(比如谷歌),请留意看 “我的账号填对了,为什么还看不到pikpak目录下的内容” 的内容

注册后在 如图所示位置输入”兑换码“ 73900974 既可获得5天的试用会员资格,然后你利用5天时间去把空间塞满,5天会员到期后内容不会被删除,只能看不能存,这个账号也会被限速,你就把它当作分享盘(分享给自己的另一个账号或别人)

注册另一个账号,不要存超过6G的东西,只要不超过基本会员的免费6G空间,就可以不限速,这个用来看别人的分享或者自己的另一个账号的分享

如果出现下面几个这样的图示,则表示你需要科学上网,有的地区可以直连,有的地区不行

docker exec -it xiaoya cat /data/pikpak.txt

如果不是账号密码填错,那么我猜你是这样的情况,注册的时候使用了google,FB等第三方快捷注册,虽然看起来账号是谷歌邮箱,但实际上是不能用邮箱登入,而必须使用第三方验证,alist现在还不支持这种跳转到第三方的验证,所以你要么在账号设置里绑定一个邮箱,或者重新注册一个新账号

你可以自己验证一下,选择邮箱登入,输入你的gmail邮箱看行不行

如果出现一大堆内容,则表示能联通pikpak,反之则否

如果是用浏览器有的能放,有的不能放,那么大概率是浏览器视频解码能力不足,请调用第三方播放器尝试,或者通过webdav连接alist来播放(一般浏览器不支持 H.265 和 AC3 编码视频)

无法刷新opentoken(60分钟10次的限制)

你删除了转存目录(即使你再重新创建一个同名的也没用,folder id变了)

docker exec -i xiaoya sqlite3 data/data.db <<EOF select value from x_setting_items where key = "token"; EOF

把令牌填到 Authorization, Server 选用本地的docker 地址,不要填账号和密码

302: A访问B,B告诉A,你要的东西在C那里,我给你个地址,你直接找C,然后A直连C

因为 A 最好播放的时候直接连 C了,所以不消耗 B的流量,也就是B所在的vps流量

本地代理: A访问B,B去访问C,把内容取回来,直接返回A,B做了中间人做转发

B 在C的播放过程中消耗了 从C取内容(拉)+ 传给A (推),一进一出的流量

http://alist.xiaoya.pro/d/音乐/流行/自听无损音乐545首%20全部有封面歌词/王忻辰、苏星婕%20-%20清空.flac

继续顺着跳转的url 连接会得到最终的阿里云的临时CDN资源的实际位置

这个一长串的才是真正的资源存放地址,播放器就是通过这个最终的url,打开资源播放,这个资源是有有效期的,就是这个标志,是个unix的时间戳,你转换一下就知道是6个小时

也就是六小时后你再用同样的url是打不开这个连接的,因为失效了,为什么要搞那么复杂,阿里直接给个资源存放地址不就完了,这是因为为了给用户最好的体验,更快的打开,使用了前置的缓存,也就是CDN,不同的用户获取到的CDN资源地址是有可能不一样的,阿里的CDN遍布全国,北京有,广东也有,北京的用户去广东取就会慢,才去就近最快速度的原则,北京附近的就指向北京的CDN资源,广东附近的就指向广东的CDN资源,但是CDN是中间层做缓存用的,就好像你硬盘的一级缓存,不是资源的最终存放地,量有限而且贵(使用内存加高速硬盘肯定贵),所以需要把不用的资源删除腾出地方给有用的,所以就有了有效期这个限制,过了有效期就删除腾地。

另外,要说明的是alist的代理角色,它是流量代理,不是缓存代理,所以并不能提高真实的视频播放流畅度,我以水管作为例子,

在网络通畅的情况下A → C 直管连接是最快的,B就好比水管的弯头/三通,A和C之间有一堵墙没法直连,那只能A → B, 然后 B → C , 这样通了多少是有损毁的,流速(用网络的名词就是多了延迟),实际体验就是不能看的变成能看了

在A 和 C通和不通的情况下都可以实现,这是B的角色更像是增压阀,A → B 的管子应该比 B→ C 的管子粗,通过增压阀来保证B→ C 的(水压)流速,缓存代理是包含了上面流量代理的功能,实际体验就是不但能看而且看起来不卡了

如果你是基于Linux系统的(包括openwrt),可以用以下方法设置定时更新,终端执行

0 6 * * * docker restart xiaoya

就是每天凌晨6点自动重启xiaoya docker去同步数据,你把6改成13,那就是下午1点,至于编辑器vi的使用方法请自行百度。

https://www.aliyundrive.com/s/RAofD2V2hHa

通过我的分享链接注册有500G,可以注册小号来配合docker用

docker exec xiaoya /checktoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxx 是你的 token

docker exec xiaoya /checkopentoken xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxx 是你的 open token

docker exec xiaoya /ali_auto_checkin.sh xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

xxxxxxxxxxxxxxxxxxxxxxxxxx 是你的 token