AI 文章摘要
这篇文章介绍了如何破解最新的macOS Emby客户端。由于旧版破解脚本已失效,作者通过修改js代码实现了解锁。提供了解锁脚本的地址和分享链接。...
之前网上的流传的脚本,在最新的Emby版本上,已经不能使用了,看了下脚本内容,发现很简单,就是替换一段 js 代码,现在最新版本这部分 js 代码已经更改了,我稍微修改了下,发现可以正常解锁了,下面贴上地址。
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/psychopasss/ss_rule/main/macOS/EmbyUnlock.sh)"
分享名称: embyserver
分享链接: https://kb.itpno.com/#s/-9eRbLXg
提取密码: iTPno.
也可以下载以上分享中的sh,执行sh EmbyUnlock.sh
也可以用里面的破解版infuse,digit77下载的,文件密码就在文件名- 后面。感觉是比mac版的emby好一点?
EmbyUnlock.sh 文件内容
#!/usr/bin/env bash
if [[ `uname -a` =~ "Darwin" ]];then
echo -e "\033[33m开始检测是否已安装 Emby 客户端...\033[0m"
else
echo -e "\033[31m非 MacOS 系统,不能使用此脚本解锁 Emby 播放权限\033[0m"
exit 0
fi
EmbyApp="/Applications/Emby.app"
ConnectionManagerFile="${EmbyApp}/Contents/Resources/www/modules/emby-apiclient/connectionmanager.js"
if [ ! -f "$ConnectionManagerFile" ]; then
echo -e "\033[31m请先从 https://itunes.apple.com/us/app/emby/id992180193?ls=1&mt=8 安装 Emby 客户端,然后再运行本解锁程序\033[0m"
exit 0
fi
echo "已安装 Emby 客户端,准备解锁 Emby 播放权限"
reject='var status=(response||{}).status;return console.log("getRegistrationInfo response: "+status),403===status?Promise.reject("overlimit"):status&&status<500?Promise.reject():function(err){if(console.log("getRegistrationInfo failed: "+err),regCacheValid)return console.log("getRegistrationInfo returning cached info"),Promise.resolve();throw err}(response)'
embyVersion=`cat /Applications/Emby.app/Contents/Info.plist | grep -A1 CFBundleShortVersionString | grep string | sed 's/<[^>]*>//g' | sed 's/\t//g'`
echo -e "当前 Emby 版本: $embyVersion"
if [[ "$embyVersion" > '2.1.99' && "$embyVersion" < '2.2.11' ]]; then
echo -e "当前 Emby 版本大于2.2.0,使用新代码匹配"
reject='var status=(response||{}).status;if(console.log("getRegistrationInfo response: "+status),status&&status<500&&appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:-1,deviceId:params.deviceId,cacheExpirationDays:0,lastUpdated:Date.now()})),403===status)return Promise.reject("overlimit");if(status&&status<500)return Promise.reject();status=response;if(console.log("getRegistrationInfo failed: "+status),regCacheValid)return console.log("getRegistrationInfo returning cached info"),Promise.resolve();throw status'
fi
if [[ "$embyVersion" > '2.2.10' && "$embyVersion" < '2.2.33' ]]; then
echo -e "当前 Emby 版本大于2.2.10,使用新代码匹配"
reject='var status=(response||{}).status;if(console.log("getRegistrationInfo response: "+status),status&&status<500&&_servicelocator.appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:-1,deviceId:params.deviceId,cacheExpirationDays:0,lastUpdated:Date.now()})),403===status)return Promise.reject("overlimit");if(status&&status<500)return Promise.reject();status=response;if(console.log("getRegistrationInfo failed: "+status),regCacheValid)return console.log("getRegistrationInfo returning cached info"),Promise.resolve();throw status'
fi
if [ "$embyVersion" > '2.2.32' ]; then
echo -e "当前 Emby 版本大于2.2.32,使用新代码匹配"
reject='var status=(response||{}).status;if(console.log("getRegistrationInfo response: "+status),status&&status<500&&_servicelocator.appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:-1,deviceId:params.deviceId,cacheExpirationDays:0,lastUpdated:Date.now()})),403===status)return params.allowNonPremiere?Promise.reject("overlimit_nonpremiere"):Promise.reject("overlimit");if(status&&status<500)return Promise.reject();status=response;if(console.log("getRegistrationInfo failed: "+status),regCacheValid)return console.log("getRegistrationInfo returning cached info"),Promise.resolve();throw status'
fi
resolve='return _servicelocator.appStorage.setItem(cacheKey,JSON.stringify({lastValidDate:Date.now(),deviceId:params.deviceId,cacheExpirationDays:999})),Promise.resolve()'
sudo sed -i "" "s/$reject/$resolve/" $ConnectionManagerFile
echo -e "\033[32mEmby 播放权限解锁成功\033[0m"
pid=`ps -ef|grep ${EmbyApp}|grep -v grep|awk '{print $2}'`
if [ ! -z $pid ]; then
echo -e "\033[32m正在重启 Emby 客户端\033[0m"
kill -9 $pid
else
echo -e "\033[32m正在启动 Emby 客户端\033[0m"
fi
open $EmbyApp
exit 0






happy成功,谢谢ヾ(≧∇≦*)ゝ
这macos的emby是真拉,推荐一个,Infuse,绝好,iOS、MacOS、AppleTV上均有,简洁,能添加多种服务器。