Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何设置xiaoya的docker #77

Open
ericvlog opened this issue Aug 11, 2024 · 0 comments
Open

如何设置xiaoya的docker #77

ericvlog opened this issue Aug 11, 2024 · 0 comments

Comments

@ericvlog
Copy link
Owner

软路由盒子类似 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 “[email protected]" "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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant