Emby with the premium Emby Pre
Update 2019-01-17 - The Emby team has deleted the relevant GitHub isuses in an attempt to hide community backlash. Below are archived versions of those issues:
Issue 3075 - GPL Violation Issue 3479 - Source Code Missing (Going Proprietary)Announcing Jellyfin - An Emby Fork! - I am now focusing my time on Jellyfin: a free software fork of Emby.
For those using the emby-unlocked image - a drop-in replacement of Jellyfin is available on Docker Hub as jellyfin/jellyfin
.
This was spurred from Emby's decision to move to a proprietary license [source].
emby-unlockedEmby with the premium Emby Premiere features unlocked.
Note - I'm not going to be devoting much time to into maintaining emby-unlocked from here on. The upstream project is too hostile towards the free software community.
reliance upon proprietary blobs missing build scripts missing licenses missing source code ReleasesReleases including the patch are available below:
Arch Linux Docker Help! Premiere feature x does not work.While this patch makes your local server believe Emby Premiere features are unlocked, some features may still not function. For example, both tv.emby.media and the mobile apps rely upon validation with the Emby-owned mb3admin.com server.
ModificationsPluginSecurityManager.cs.patch
Before compilation, simply patch the existing file:
patch -N -p1 -r - Emby.Server.Implementations/Security/PluginSecurityManager.cs < ../PluginSecurityManager.cs.patch
connectionmanager.js
Not really sure what this unlocks outside of removing the nag on the Sync screen. Sync doesn't seem to work afterwards. Regardless - your own Emby server has zero need to contact the Emby-owned validation URL: https://mb3admin.com/admin/service/registration/validateDevice.
The included version of this in the source distribution is minified. Thus, making a patch is difficult.
The only difference boils down to replacing self.getRegistrationInfo
with this:
self.getRegistrationInfo = function (feature, apiClient, options) {
var cacheKey = getCacheKey(feature, apiClient, options);
appStorage.setItem(cacheKey, JSON.stringify({
lastValidDate: new Date().getTime(),
deviceId: self.deviceId()
}));
return Promise.resolve();
};
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。