Professional Documents
Culture Documents
全家桶安装:
1.安装命令(先看下面的 2.安装步骤)
bash -c "$(curl http://docker.xiaoya.pro/emby_plus.sh)" -s /媒体库目录
Emby 的登入账号:
用户名:xiaoya
密码:1234
================================================
================================================
2.安装步骤:(不要跳跃,老老实实一步一步走)
2.0. 确保 xiaoya 升级到了 1031 版本,同时如果是自己手动配置的容器,那么记得要加上 2345-
>2345,2346->2346 这 2 个端口映射
2.1. 先确保 xiaoya 正常运行,去 xiaoya 网页的 /元数据 目录点击一个 MP4 文件,看看是否正常,这个是
所有后续的前提
2.5. 执行一键安装全家桶命令
===============================================
===============================================
3.同步更新:
建议使用 resilio-sync,以下是安装:
安装 resilio:
-----------------------------------
docker run -d \
-m 4096M \
--cpus=2 \
--name=resilio \
-e PUID=0 \
-e PGID=0 \
-e TZ=Asia/Shanghai \
-p 8888:8888 \
-p 55555:55555 \
-v /etc/xiaoya/resilio:/config \
-v /etc/xiaoya/resilio/downloads:/downloads \
-v /媒体库目录:/sync \
--restart=always \
lscr.io/linuxserver/resilio-sync:latest
-----------------------------------
注意 1:
如果机器非 X86 架构,比如 ARM 之类的,安装大概率会报错,这时删掉上面安装命令的第 3 行:--cpus=2 \就
可以了。如果内存小于 4G,建议把第 2 行中的 4096 数字改为你内存的一半,这个自己看着办吧。
注意 2:
自己根据自己实际情况,调整最大内存使用量,CPU 核心使用限制和媒体库目录(也就是映射的 /sync),如果
觉得会疯狂读写硬盘,那么还可以加上这个参数
--device-write-iops /dev/sda:30
也就是限制对 /dev/sda 这个磁盘一秒钟写入的操作不超过 30 次,具体数值根据你的接口和硬盘性质自己调整
-------------------------------------
以下为更新链接:
/每日更新/电视剧
B23GVMKMMB2S3VM6DPJ6FPR34WRVXK7ML
/每日更新/电影
BPRGGBYBUH5AG44FFPTXJK5AAE7EMNRVF
/电影/2023
BV5LOL6QDC52LRD22NFQHCEYTG2HFJDWX
/纪录片(已刮削)
BXMK5MMDDJ76P7N6NQMYUMVB7FTFIG6OK
config
BTVLZVAGKPR6NYKRC5HDYWV6KH6BG77DS
--------------------------------------
注意:
config 要打开“选择性同步“开关,在导入链接时选取,然后直接暂停,进入设置选择要同步的内容如下:
/cache
/metadata
/data/library.db
总共是 2 个目录和 1 个文件。这样更新时不会破坏你 emby 的设置和用户内容,包括用户名,观看记录等等。
===========================================================
===========================================================
4.无人值守更新 emby 的 library.db*数据库,做到完全自动化(可保留用户数据)(替换后如果非管理员帐号
打开空白,请参照本文 7)
以 root 用户在命令行输入:
crontab -e
在最下方加入以下 2 行内容:
30 6 * * * /usr/bin/docker stop emby
0 7 * * * /usr/bin/docker start emby
然后 ctr+x 保存
上面现行的计划任务是在早上 6 点 30 关闭 emby,这时 resilio 会同步 library.db*这几个数据库文件,然后
在 7 点重新开启 emby(3 个数据库文件大概 3 个多 G,半小时够了,如果带宽小,可以把间隔时间增加)。
另一种方法(更不容易出错,但更麻烦):
4.1 在 docker 里停止 emby
如果要保留用户数据:
先安装 sqlite(debian 举例,其它系统自行解决):
apt install sqlite3
然后
crontab -e
30 6 * * * docker stop emby && rm -f /root/xiaoya_emby_library_user.sql &&
sqlite3 /xiaoya_data/config_data/library.db ".dump UserDatas" >
/root/xiaoya_emby_library_user.sql && rm -f /xiaoya_data/config_data/library.db* &&
cp -f /xiaoya_data/config/data/library.db /xiaoya_data/config_data/ && sqlite3
/xiaoya_data/config_data/library.db "DROP TABLE IF EXISTS UserDatas;" && cat
/root/xiaoya_emby_library_user.sql | sqlite3 /xiaoya_data/config_data/library.db &&
docker start emby
注意:/xiaoya_data 为媒体库目录,替换成自己的。
===========================================================
===========================================================
5.自动清理网盘缓存:建议用模式 0,可以设定为早上 6 点执行
以下为群里转发:可以参考最下面的方法
----------------------------------------------------------
一劳永逸的 小雅 转存 清理 工具(20230801 更新:支持新版阿里云。支持 TG 推送功能,支持自动领取签到奖
励功能感谢 gavin liu 提供的脚本,支持实时清理,支持小雅镜像定时重启和定时更新,支持多个阿里云盘签到
功能,建议模式 3 或模式 5)
模式 0:每天自动清理一次。如果系统重启需要手动重新运行或把命令加入系统启动。
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
0 -tg
模式 1:一次性清理,一般用于测试效果。
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
1 -tg
模式 2:已废弃,不再支持
模式 4:同模式 3
模式 5:与模式 3 的区别是实时清理,只要产生了播放缓存一分钟内立即清理。签到和定时升级同模式 3
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
5 -tg
其它模式:也可以把脚本下载下来自己魔改。
签到功能说明:
1、执行时机和清理缓存完全相同
2、可以手动创建/etc/xiaoya/mycheckintoken.txt,定义多个网盘签到的 32 位 refresh token,每行
一个,不添加文件就是默认小雅转存的网盘签到。
3、自动刷新/etc/xiaoya/mycheckintoken.txt、/etc/xiaoya/mytoken.txt(可能可以延长 refresh
token 时效,待观察)
关于自动升级:
1、定时升级的命令保存在/etc/xiaoya/mycmd.txt 中,删除该文件变成定时重启小雅
2、完成清理和签到后自动执行/etc/xiaoya/mycmd.txt 中的命令,该文件中的内容默认升级小雅镜像,可以
修改该文件改编脚本的行为,不建议修改。
关于 tg 推送:
所有模式加上-tg 功能均可绑定消息推送的 TG 账号,只有第 1 次运行需要加-tg 参数
问题反馈:联系群里的 heiheigui
-------------------------------------------------------------
方法如下:
如果有翻墙环境,可以联动 telegram 做通知,如果没有就忽略。下面会具体说明
1.设置定时时间:
去/配置文件目录(默认为/etc/xiaoya/)目录中输入以下:
nano myruntime.txt
如果有内容先清掉,没有输入以下内容:
06:00
然后 ctr+x 保存
2.第一次运行
有翻墙环境并需要 telegram 通知运行以下命令:
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
0 -tg
然后去 telegram 找到 xiaoyahelper_bot 获取码并填入
无翻墙环境或不需要 telegram 通知运行以下命令:
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
0
以上命令输完后,请自行测试,如果没有问题了进行下一步设置开机自启:
命令行(debian 为例,其它的参考上面 5.自动清理网盘缓存 中的开机自启设置):
nano /etc/local
在最下面 exit 0 上面增加上述你已经测试好没问题的 4 行命令。
ctr+x 保存。
重启,测试无问题,OK。(有问题请去掉上面 4 行开机自启动项,重启后重新设置)
如果 5.自动清理网盘缓存 和 6.emby 端口禁用 8096 都需要,改完的 rc.local 是这样的:
/etc/rc.local 这个是文件名,以下线中间的是内容:
--------------------------------------------------------------------
#!/bin/bash
iptables -I INPUT -p tcp --dport 8096 -j DROP
iptables -I INPUT -p tcp -s 127.0.0.1 --dport 8096 -j ACCEPT
ip6tables -I INPUT -p tcp --dport 8096 -j DROP
ip6tables -I INPUT -p tcp -s fd58::/64 --dport 8096 -j ACCEPT
bash -c "$(curl -s https://xiaoyahelper.zngle.cf/aliyun_clear.sh | tail -n +2)" -s
0
exit 0
---------------------------------------------------------------------
===================================================================================
=====================
7.3 用浏览器打开:
http://IP:2345/Users/USERID?api_key=密钥,用几个用户就打开几个,自己更换 USERID
例:
http://IP:2345/Users/f7e087aa8fd**********e38ea604031e5f?
api_key=20a7bc5d**************7ebf4935e544
注意:可以按 7.1 中浏览器直接打开 http://IP:2345/Users?api_key=密钥 ,所有用户都在这。一个用户
一大段,不要遗漏。
7.4 在打开的页面中将“Policy”部分复制下来,应该是这样的:
“Policy":{
xxxxxxxxxxxx
}
中复制 Policy 后面{}中的内容,含”{}“。有几个帐户就得到几个,以下称为”用户策略 1,用户策略
2,......“。
注意 1:多用户,有几个用户就就新建几个文件:
update_userpolicy_1.sh
---------------------------------------------
#!/bin/bash
USER_POLICY='用户策略 1'
curl -i -H "Content-Type:application/json" -X POST -d "$USER_POLICY"
http://IP:2345/Users/USERID_1/Policy?api_key=密钥
---------------------------------------------
update_userpolicy_2.sh
---------------------------------------------
#!/bin/bash
USER_POLICY='用户策略 2'
curl -i -H "Content-Type:application/json" -X POST -d "$USER_POLICY"
http://IP:2345/Users/USERID_2/Policy?api_key=密钥
---------------------------------------------
注意 2:自行替换 用户策略,USERID,密钥,实际参考以下(以一个用户举例):
--------------------------------------------
#!bash
USER_POLICY='{"IsAdministrator":false,"IsHidden":false,"IsHiddenRemotely":false,"Is
HiddenFromUnusedDevices":true,"IsDisabled":false,"LockedOutDate":0,"AllowTagOrRatin
g":false,"BlockedTags":[],"IsTagBlockingModeInclusive":false,"IncludeTags":
[],"EnableUserPreferenceAccess":true,"AccessSchedules":[],"BlockUnratedItems":
[],"EnableRemoteControlOfOtherUsers":false,"EnableSharedDeviceControl":false,"Enabl
eRemoteAccess":true,"EnableLiveTvManagement":false,"EnableLiveTvAccess":false,"Enab
leMediaPlayback":true,"EnableAudioPlaybackTranscoding":false,"EnableVideoPlaybackTr
anscoding":false,"EnablePlaybackRemuxing":false,"EnableContentDeletion":false,"Rest
rictedFeatures":[],"EnableContentDeletionFromFolders":
[],"EnableContentDownloading":true,"EnableSubtitleDownloading":true,"EnableSubtitle
Management":false,"EnableSyncTranscoding":false,"EnableMediaConversion":false,"Enab
ledChannels":[],"EnableAllChannels":true,"EnabledFolders":
[],"EnableAllFolders":true,"InvalidLoginAttemptCount":0,"EnablePublicSharing":false
,"RemoteClientBitrateLimit":0,"AuthenticationProviderId":"Emby.Server.Implementatio
ns.Library.DefaultAuthenticationProvider","ExcludedSubFolders":
[],"SimultaneousStreamLimit":0,"EnabledDevices":
[],"EnableAllDevices":true,"AllowCameraUpload":false,"AllowSharingPersonalItems":tr
ue}'
curl -i -H "Content-Type:application/json" -X POST -d "$USER_POLICY"
http://192.168.1.5:2345/Users/f7e087aa8fd**********e38ea604031e5f/Policy?
api_key=20a7bc5d**************7ebf4935e544
-------------------------------------------
按 ctr+x 保存。
7.6 增加执行权限:
chmod +x /root/update_userpolicy.sh
7.7 加入自动处理
如果你在第 4 部分设置的是早上 6:30 执行数据库更新,那这个部分就设置为 6:40,留 10 分钟给 emby 启动,
具体如下:
命令行:
crontab -e
在最后(如有 exit 0,放 exit 0 前面)增加以下内容(单用户):
40 6 * * * sh /root/update_userpolicy.sh
如果是多用户增加以下内容(多用户):
40 6 * * * sh /root/update_userpolicy_1.sh && sh /root/update_userpolicy_2.sh
注意,这里有几个用户你应该就有几个文件,按 sh /root/update_userpolicy_x.sh 增加,用&&来连接
(如果多用户都放到一个文件里会大概率执行报错,原因未知,所以改成了多文件方式。)
然后 ctr+x 保存
===========================================================================