docker emby
前言
由于xinjiawei1/emby_unlockd这个镜像里面的 mb6.top地址虽然能访问,但是对应接口已经无法访问,也不知道什么问题,作者也没有说明什么。 于是来动点手脚,自建一套服务器
准备一个Cloudflare Workers
https://workers.cloudflare.com/ 登录后即可开始创建
index.js代码如下,其他文件可以删除 welcome.html留下
|
|
Deploy之后, 获取到一个地址, 记下来
后面会用到这三个地址
https://xxxx.xxx.workers.dev/admin/service/registration/validate https://xxxx.xxx.workers.dev/admin/service/registration/getStatus https://xxxx.xxx.workers.dev/admin/service/registration/validateDevice
PS:下文中替换的时候, 要注意, 原地址是带.php
后缀的, 记得去掉
运行一个已处理的镜像
xinjiawei1/emby_unlockd
PUID和PGID 可以这样获取 id 当前用户名
, root用户的话就是 0
|
|
记录下镜像ID IMAGEID
拷贝出特定文件
|
|
然后把这几个文件拷贝到本地电脑
在windows下用VSCode和dnSpy进行处理
Emby.Web.dll
找到资源 Emby.Web.dashboard_ui.modules.emby_apiclient.connectionmanager.js
, 右键保存到本地, 搜索mb6.top,对应替换前缀为上面的地址
然后把原来的js删掉, 创建文件资源, 选择改好的js文件
MediaBrowser.Model.dll
因为上面的镜像已经改过了, 这个文件暂时不需要动
Emby.Server.Implementations.dll
Emby.Server.Implementations.Security下的PluginSecurityManager。 找到 MBValidateUrl, 右键编辑字段,替换为上面的地址
connectionmanager.js
同 Emby.Web.dll 里面的那个文件一样的处理方式
embypremiere.js
同上,找到地址替换即可
替换回去
我是用Winscp先覆盖已处理的文件, 然后执行
|
|
这样这个镜像就可以用,可以docker compose restart一下
或者也可以把当前镜像打包成一个新的, 防止下次手贱给更新了
|
|
然后把docker-compose文件里换一下
PS: 这里的emby是我docker compose文件里指定的容器名