BobHasNoSoul / jellyfin-mods

This is just a guide for various modifications and dumping ground for jellyfin mods so i dont have to make a new jftool for every platform and revision
307 stars 16 forks source link

trailers-tab-to-requests-tab doesn't work? #6

Closed Sim0nW0lf closed 2 years ago

Sim0nW0lf commented 2 years ago

Does trailers-tab-to-requests-tab not work anymore or am I doing something wrong? https://github.com/BobHasNoSoul/jellyfin-mods#trailers-tab-to-requests-tab This is in my Dockerfile:

# Replace Trailers tab to Requests tab
RUN find / -name "movies-moviesrecommended.*.bundle.js" -exec sed -i 's+{name:h.ZP.translate("Trailers")}+{name:h.ZP.translate("Wunsch")})}+g' {} \;
RUN find / -name "movies-movies-html.*.bundle.js" -exec sed -i 's&<div class="pageTabContent" id="trailersTab" data-index="2"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha"></span></button> <button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list"></span></button> </div> <div class="alphaPicker alphaPicker-fixed alphaPicker-fixed-right alphaPicker-vertical"> </div> <div is="emby-itemscontainer" class="itemsContainer vertical-wrap padded-left padded-right"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> <div class="pageTabContent" id="favoritesTab" data-index="3"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy"></span></button> </div> <div is="emby-itemscontainer" class="itemsContainer padded-left padded-right"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> <div class="pageTabContent" id="collectionsTab" data-index="4"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy"></span></button> <button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha"></span></button> <button type="button" is="paper-icon-button-light" class="btnNewCollection autoSize"><span class="material-icons add"></span></button> </div> <div is="emby-itemscontainer" class="itemsContainer vertical-wrap centered padded-left padded-right" style="text-align:center"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> &<div class="pageTabContent" id="trailersTab" data-index="2"> <div> <iframe src="https://wunsch.secureserver.de" width="100%" height="850px"></iframe> </div> </div> &g' {} \;
BobHasNoSoul commented 2 years ago

can i confirm the following:

i will try to replicate once confirmed and see if there is a workaround / fix

Sim0nW0lf commented 2 years ago

Yes, I am running Version 10.7.7. I am using a sub domain: https://filme.secureserver.de My Ombi is installed in a sub domain as well: https://wunsch.secureserver.de

Is there a way to make it work with a sub domain as well? It has worked in the past...

BobHasNoSoul commented 2 years ago

Content Security Policy was changed in jellyfin 10.6.x iirc, i will look into a way to change this with code edits pretty sure i might be able to set the iframe within the page itself one moment need to make a test and set it up

Sim0nW0lf commented 2 years ago

Thank you very much for looking into this and thanks also for your nice modding guide. Made it really simple! πŸ‘πŸΌ

BobHasNoSoul commented 2 years ago

no problem, one down side i cannot seem to find where they have put the content security policy. maybe it was cooked into the binary (possibly requires making a new binary from source to modify :( ) i will look into that route tomorrow but looks like for now it will be easier to change it to a sub folder instead of subdomain.

if you have nginx you could add a proxy pass to give it to the other url as a subdomain

   location ^~ /ombi {
        proxy_pass https://wunsch.secureserver.de/;

then point the request tab to https://filme.secureserver.de/ombi

note: this assumes you have nginx as a reverse proxy sorry i couldnt find a simple fix for this today (pretty sure they have it cooked in the binary)

Sim0nW0lf commented 2 years ago

I have changed everything like you suggested but it still doesn't work? Using Traefik I made Ombi accessible from https://wunsch.secureserver.de AND https://filme.secureserver.de/wunsch like this. Ombi docker-compose.yml:

version: "3.8"
services:
  ombi:
    image: lscr.io/linuxserver/ombi:latest
    container_name: ombi
    networks:
      - proxy
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/Berlin
      - BASE_URL=/wunsch # necessary if PathPrefix is defined
    volumes:
      - ./Container-Daten/ombi/appdata/config:/config
    ports:
      - 3579:3579
    restart: unless-stopped
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.ombi.entrypoints=http"
      - "traefik.http.routers.ombi.rule=Host(`wunsch.secureserver.de`) || Host(`filme.secureserver.de`) && PathPrefix(`/wunsch`)"
      - "traefik.http.middlewares.ombi-https-redirect.redirectscheme.scheme=https"
      - "traefik.http.routers.ombi.middlewares=ombi-https-redirect"
      - "traefik.http.routers.ombi-secure.entrypoints=https"
      - "traefik.http.routers.ombi-secure.rule=Host(`wunsch.secureserver.de`) || Host(`filme.secureserver.de`) && PathPrefix(`/wunsch`)"
      - "traefik.http.routers.ombi-secure.tls=true"
      - "traefik.http.routers.ombi-secure.tls.certresolver=http"
      - "traefik.http.routers.ombi-secure.service=ombi"
      - "traefik.http.services.ombi.loadbalancer.server.port=3579"
      - "traefik.docker.network=proxy"
      - "traefik.http.routers.ombi-secure.middlewares=secHeaders@file"

networks:
  proxy:  ###
    external: true

That works perfectly fine but after changing my Dockerfile like this:

RUN find / -name "movies-moviesrecommended.*.bundle.js" -exec sed -i 's+{name:h.ZP.translate("Trailers")}+{name:h.ZP.translate("Wunsch")})}+g' {} \;
RUN find / -name "movies-movies-html.*.bundle.js" -exec sed -i 's&<div class="pageTabContent" id="trailersTab" data-index="2"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha"></span></button> <button is="paper-icon-button-light" class="btnFilter autoSize" title="${Filter}"><span class="material-icons filter_list"></span></button> </div> <div class="alphaPicker alphaPicker-fixed alphaPicker-fixed-right alphaPicker-vertical"> </div> <div is="emby-itemscontainer" class="itemsContainer vertical-wrap padded-left padded-right"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> <div class="pageTabContent" id="favoritesTab" data-index="3"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy"></span></button> </div> <div is="emby-itemscontainer" class="itemsContainer padded-left padded-right"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> <div class="pageTabContent" id="collectionsTab" data-index="4"> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> <button is="paper-icon-button-light" class="btnSelectView autoSize" title="${ButtonSelectView}"><span class="material-icons view_comfy"></span></button> <button is="paper-icon-button-light" class="btnSort autoSize" title="${Sort}"><span class="material-icons sort_by_alpha"></span></button> <button type="button" is="paper-icon-button-light" class="btnNewCollection autoSize"><span class="material-icons add"></span></button> </div> <div is="emby-itemscontainer" class="itemsContainer vertical-wrap centered padded-left padded-right" style="text-align:center"> </div> <div class="flex align-items-center justify-content-center flex-wrap-wrap padded-top padded-left padded-right padded-bottom"> <div class="paging"></div> </div> </div> &<div class="pageTabContent" id="trailersTab" data-index="2"> <div> <iframe src="https://filme.secureserver.de/wunsch" width="100%" height="850px"></iframe> </div> </div> &g' {} \;

Still the movie category is just not clickable anymore and if I try to load the page it shows no more than this: grafik

Sim0nW0lf commented 2 years ago

This is what Firefox tells me trying to open this url: https://filme.secureserver.de/web/index.html#!/movies.html?topParentId=7a2175bccb1f1a94152cbd2b2bae8f6d grafik

Sim0nW0lf commented 2 years ago

Oooops just saw my typo after readig through my commands again... RUN find / -name "movies-moviesrecommended.*.bundle.js" -exec sed -i 's+{name:h.ZP.translate("Trailers")}+{name:h.ZP.translate("Wunsch")})}+g' {} \; is supposed to be RUN find / -name "movies-moviesrecommended.*.bundle.js" -exec sed -i 's+{name:h.ZP.translate("Trailers")}+{name:h.ZP.translate("Wunsch")}+g' {} \; Now it works with that subfolder fix πŸ‘πŸ½

BobHasNoSoul commented 2 years ago

sorry for slow reply's, its late here. that is a weird error its trying to say the syntax is wrong on the file, could you send me the file? also note if on the same domain you can use this as a url instead of typing it out in full

<div class="pageTabContent" id="trailersTab" data-index="2"> <div> <iframe src="/wunsch" width="100%" height="850px"></iframe> </div> </div>

sed is not my strong suit but there may be something causing this error (like if the file split the line or forgot a space)

would it be possible for you to modify the file manually by hosting the webserver directory locally as a shared folder and then use the host machine to edit the file?

edit: while writing this response i saw you had fixed it :D i am glad you have fixed the issue and it is working using the subfolder fix i will see if i can find the binary to modify tomorrow and will update this issue if i can find it.

Sim0nW0lf commented 2 years ago

Nice, thank you very much for your help and your work on this! πŸ‘πŸ½

BobHasNoSoul commented 2 years ago

okay so bad news, i have tried looking for the csp in the binarys and for some reason cant find them sadly this means the only way to do this is to have it on the same domain in a subfolder. sorry again.