Building the Ultimate Media Library: A Journey to Merge Owned and Streamed Content
A Personal Quest for the Perfect Media Experience
I’ve always been passionate about creating the perfect media library, one that combines my owned media with streamed content seamlessly. In my previous attempts, I found myself struggling to balance the two, resulting in a cumbersome and disjointed experience. However, with the latest update to Jellyfin, I saw an opportunity to rethink my approach and create something truly special.
I started by rebuilding my media library from scratch, leveraging the strengths of Jellyfin and other tools like Seerr, Radarr, and Sonarr. My goal was to create a frontend, backend, and proxy system that would allow me to browse and play my media effortlessly, regardless of whether it was owned or streamed. I wanted to eliminate the need for multiple apps and clients, instead opting for a unified experience that would simplify my media consumption.
The Power of Jellyfin and .strm Files
Jellyfin’s ability to play .strm files was a game-changer for me. By using these files, I could create a seamless bridge between my owned media and streamed content. When I select a streamed item, my backend wakes up, grabs a fresh link from a provider, pulls the M3U8 master, and hands Jellyfin the best stream. This process happens automatically, without the need for any additional apps or clients.
One of the biggest challenges I faced was dealing with Cloudflare, which often blocks my requests. To overcome this, I implemented a captcha-solver as a temporary band-aid. While it’s not a long-term solution, it has allowed me to continue testing and refining my system.
A Call for Help: Scraping and Logic Experts Wanted
As I continue to develop my media library, I’m looking for experts in scraping and logic to help me refine my system. If you’re familiar with anti-bot quirks, reliability without puppeteers, and link resolution, I’d love to hear from you. Together, we can create a robust and scalable system that can handle large media libraries with ease.
My goal is simple: to create a system that allows me to enjoy both my owned media and streamed content in a single, unified interface. I want to focus on the logic and user experience, rather than writing apps for multiple platforms. By working together, we can create something truly special – a media library that is both powerful and easy to use.
Screenhots and Progress
I’ve included some screenshots of my progress so far, showcasing the main homepage, movies page, TV shows page, collections page, and Jellyfin TV shows page. While there’s still work to be done, I’m excited about the progress I’ve made and the potential for this project to revolutionize the way we consume media.






Budowanie ostatecznej biblioteki multimedialnej: podróż połączenia zawartości własnej i przesyłanej
Osobista misja stworzenia doskonałego doświadczenia multimedialnego
Zawsze byłem pasjonatem tworzenia idealnej biblioteki multimedialnej, która łączyłaby moją zawartość własną z przesyłaną w sposób bezproblemowy. W moich poprzednich próbach znalazłem się w sytuacji, w której musiałem balansować pomiędzy tymi dwoma, co skutkowało niewygodnym i rozproszonym doświadczeniem. Jednak z ostatnią aktualizacją Jellyfina, zobaczyłem okazję do przemyślenia mojego podejścia i stworzenia czegoś naprawdę wyjątkowego.
Zacząłem od odbudowy mojej biblioteki multimedialnej od podstaw, wykorzystując siłę Jellyfina i innych narzędzi, takich jak Seerr, Radarr i Sonarr. Moim celem było stworzenie systemu frontend, backend i proxy, który pozwoliłby mi przeglądać i odtwarzać moją zawartość w sposób bezproblemowy, niezależnie od tego, czy była własna, czy przesyłana. Chciałem wyeliminować potrzebę posiadania wielu aplikacji i klientów, zamiast tego wybierając zunifikowane doświadczenie, które uprościłoby moje korzystanie z multimediali.
Moc Jellyfina i plików .strm
Możliwość odtwarzania plików .strm w Jellyfinie była przełomem dla mnie. Dzięki tym plikom, mógł stworzyć bezproblemową most między moją zawartością własną a przesyłaną. Gdy wybieram przesyłaną pozycję, mój backend pobiera świeży link od dostawcy, ściąga master M3U8 i przekazuje Jellyfin najlepszy strumień. Proces ten odbywa się automatycznie, bez potrzeby dodatkowych aplikacji lub klientów.
Jednym z największych wyzwań, z którymi się zmierzyłem, było rozwiązanie problemu Cloudflare, które często blokuje moje żądania. Aby temu przeciwdziałać, wdrożyłem rozwiązanie captcha, jako tymczasowe rozwiązanie. Chociaż nie jest to długoterminowe rozwiązanie, pozwoliło mi ono na kontynuowanie testowania i udoskonalania mojego systemu.
Wezwanie do pomocy: eksperci od scrapingu i logiki poszukiwani
Ponieważ kontynuuję rozwój mojej biblioteki multimedialnej, szukam ekspertów od scrapingu i logiki, którzy pomogliby mi udoskonalić mój system. Jeśli jesteś zaznajomiony z takimi tematami, jak anti-bot, niezawodność bez puppeteerów i rozwiązanie linków, które nie zacznie się sypać, gdy zmieni się nagłówek, bardzo chciałbym usłyszeć od ciebie. Razem możemy stworzyć solidny i skalowalny system, który może obsłużyć duże biblioteki multimedialne z łatwością.
Mój cel jest prosty: stworzyć system, który pozwoli mi cieszyć się zarówno moją zawartością własną, jak i przesyłaną w jednym, zunifikowanym interfejsie. Chcę skupić się na logice i doświadczeniu użytkownika, zamiast pisać aplikacje na wiele platform. Pracując razem, możemy stworzyć coś naprawdę wyjątkowego – bibliotekę multimedialną, która jest zarówno potężna, jak i łatwa w użyciu.
Zdjęcia i postępy
Dołączyłem kilka zdjęć, które pokazują mój postęp, prezentując stronę główną, stronę filmów, stronę programów telewizyjnych, stronę kolekcji i stronę Jellyfina z programami telewizyjnymi. Chociaż jest jeszcze wiele do zrobienia, jestem podekscytowany postępem, jaki zrobiłem, i potencjałem tego projektu, który może zmienić sposób, w jaki korzystamy z multimediali.





