2a79ae0a6e
Fully normalizes the baseUrl behaviour to better match how this sort of feature works in other programs. 1. The baseUrl is always appended to paths, even the built-in `/emby` and `/mediabrowser` paths. 2. The baseUrl is set statically at class instance creation, to ensure it persists through changes until the next restart. 3. Configuration is normalized using a function when set, to ensure it's in a standard `/mypath` format with leading `/`. 4. Cleans up the conditionals around default redirects. For sanity after changing the URL, it will match *any* path that doesn't match the current baseUrl and redirect it back to the main page (with baseUrl). 5. Adds a second method, NormalizeUrlPath, to avoid lots of `+ "/" +` string manipulations which are unclean - we should always have a leading slash. 6. Sets the default baseUrl to an empty string to avoid unexpected behaviour, though this would be worked-around automatically. 7. Adds some debug logs whenever a URL is normalized, to help track down issues with this code (if any arise). |
||
---|---|---|
.ci | ||
.copr | ||
.github | ||
.vscode | ||
BDInfo | ||
deployment | ||
DvdLib | ||
Emby.Dlna | ||
Emby.Drawing | ||
Emby.Naming | ||
Emby.Notifications | ||
Emby.Photos | ||
Emby.Server.Implementations | ||
Emby.XmlTv | ||
hooks | ||
Jellyfin.Drawing.Skia | ||
Jellyfin.Server | ||
MediaBrowser.Api | ||
MediaBrowser.Common | ||
MediaBrowser.Controller | ||
MediaBrowser.LocalMetadata | ||
MediaBrowser.MediaEncoding | ||
MediaBrowser.Model | ||
MediaBrowser.Providers | ||
MediaBrowser.WebDashboard | ||
MediaBrowser.XbmcMetadata | ||
Mono.Nat | ||
RSSDP | ||
tests | ||
.dockerignore | ||
.drone.yml | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
build | ||
build.yaml | ||
bump_version | ||
CONTRIBUTORS.md | ||
Dockerfile | ||
Dockerfile.arm | ||
Dockerfile.arm64 | ||
Doxyfile | ||
jellyfin.code-workspace | ||
jellyfin.ruleset | ||
LICENSE | ||
MediaBrowser.sln | ||
MediaBrowser.sln.GhostDoc.xml | ||
README.md | ||
SharedVersion.cs |
Jellyfin
The Free Software Media System
Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. Jellyfin is descended from Emby's 3.5.2 release and ported to the .NET Core framework to enable full cross-platform support. There are no strings attached, no premium licenses or features, and no hidden agendas: just a team who want to build something better and work together to achieve it. We welcome anyone who is interested in joining us in our quest!
For further details, please see our documentation page. To receive the latest updates, get help with Jellyfin, and join the community, please visit one of our communication channels on Matrix/Riot or social media.
For more information about the project, please see our about page.
Want to get started? Choose from Prebuilt Packages or Build from Source, then see our quick start guide.
Want to contribute? Check out our documentation for guidelines.
New idea or improvement? Check out our feature request hub.
Something not working right? Open an Issue.