diff --git a/README.md b/README.md index 18d2d37..4fa9501 100644 --- a/README.md +++ b/README.md @@ -1,45 +1,67 @@ -# CinePlex: Your Plex on Steroids 🚀 +# CinePlex: Your Media Universe on Steroids 🚀 ## 🤔 What the Heck Is This? Prepare for Takeoff! -Let's be real. You love your Plex server. It's your own little corner of the digital universe, packed with your movies, shows, music, and photos. But... don't you ever feel like the interface could be... *more*? A little more ✨ **magic and sparkle** ✨? +Let's be real. You love your Plex and Jellyfin servers. They're your own little corner of the digital universe, packed with your movies, shows, music, and photos. But... don't you ever feel like the interface could be... *more*? A little more ✨ **magic and sparkle** ✨? -Well, **CinePlex** is the answer to your digital prayers! It's like you bought your Plex a superhero cape and sent it to a futuristic spa. It's a modern, fast, and stunningly designed interface that sits on top of your Plex servers to give you a visually dazzling experience. +Well, **CinePlex** is the answer to your digital prayers! It's like you bought your media server a superhero cape and sent it to a futuristic spa. It's a modern, fast, and stunningly designed interface that sits on top of your servers to give you a visually dazzling experience. **In short:** CinePlex is not a streaming service. It's a *radical transformation* for the content **you already own**. It's your personal media universe, but with steroids and a lot more style! --- -## 🌐 We Speak All Languages! (Well, Almost) - -Goodbye, language barrier! 👋 We've been working hard in the lab, and now CinePlex is a polyglot. Thanks to the magic of Chrome's `i18n` API, the extension is fully translated and ready to speak your language. Yes, you heard that right! No more excuses not to dive into your favorite content. - -**We currently support:** Spanish, English, German, and French. And we're adding more! - ---- - ## ✨ The Feature Loot Drop (What Makes It Awesome!) Get ready to be amazed by everything CinePlex has under the hood. This isn't just an extension; it's an experience! * **🎬 Pimped-Out Interface:** Forget boring UIs. We use TheMovieDB's API to bring you high-res posters, spectacular backdrops, gripping synopses, ratings, cast info... all the juicy movie gossip you crave! -* **🗣️ Multilingual Maestro:** Hola! Bonjour! Hallo! CinePlex now speaks your language with full i18n support. No more getting lost in translation – your media, your language! -* **📡 Psychic Plex Scanner:** You give it your Plex tokens, and CinePlex goes into full detective mode. It scans your servers, figures out what you *actually* have, and jots it down in its secret notebook (a local IndexedDB database in your browser). It's like having a personal librarian for your media! -* **✅ "Got It" Badge of Honor:** See a movie you want to watch? CinePlex will let you know if you already have it on your server with a neat "Local" badge. No more blind searching! -* **🎶 Music Jukebox 2077:** It's not all about movies. We've built a full-fledged music player that connects directly to your Plex music library. Browse artists, listen to albums, and rock out with a **graphic equalizer and audio visualizer**! Your personal party, guaranteed! +* **🌐 Universal Translator:** Hola! Bonjour! Hallo! CinePlex speaks your language with full `i18n` support. No more getting lost in translation – your media, your language! +* **📡 **Multi-Server Fusion Engine (Plex & Jellyfin!):** CinePlex is no longer just for Plex! Now you can connect your Jellyfin servers too. It scans your Plex tokens and Jellyfin credentials, figures out what you *actually* have across all your servers, and unifies it all in one seamless interface. It's your personal librarian for a multi-platform media empire! +* **🤖 **Your Personal AI Assistant (Powered by Gemini):** This is the game-changer! CinePlex includes a built-in AI chat assistant. Ask it to find movies, play music, show you your stats, or even clean up your history. It's like having JARVIS for your media library. +* **✅ "Got It" Badge of Honor:** See a movie you want to watch? CinePlex will let you know if you already have it on any of your connected servers with a neat "Local" badge. No more blind searching! +* **🎶 Music Jukebox 2077:** It's not all about movies. We've built a full-fledged music player that connects to your Plex and Jellyfin music libraries. Browse artists, listen to albums, and rock out with a **graphic equalizer and audio visualizer**! Your personal party, guaranteed! * **📊 The Nerd Stats Panel:** Ever wondered how many 80s movies you have? Or what your most common genre is? Dive into the statistics panel and get a full breakdown of your media library with amazing charts. Unleash your inner nerd! * **🖼️ Your Personal Photo Gallery:** Connect to your Plex photo libraries and browse your albums and pictures with a beautiful, integrated lightbox viewer. Relive your memories in style! -* **📜 The Scroll of Power (M3U):** For the power users. Found that series you wanted to watch? Generate an `.m3u` file with all the episode links with a single click. Power in your hands! +* **📜 The Scroll of Power (M3U Generator):** For the power users. Select any server (Plex or Jellyfin), pick the libraries you want, and generate an `.m3u` file with all the direct stream links. Perfect for use in other players like VLC or IPTV apps. * **🔥 Stream Straight to Your Server:** This is where it gets wild. Configure a simple PHP script on your server, and you can send streams from CinePlex directly to your M3U playlist file with a single click. We even give you a **PHP script generator** to make it foolproof! * **❤️ Favorites & Goldfish Memory:** Save your favorite movies and shows. Plus, we've got a "History" section so you can remember what you were watching last night before you fell asleep on the couch. Never lose track again! * **🧠 AI-Powered Recommendations:** Based on your viewing history and favorites, CinePlex will suggest new content you might love. It's like having a personal movie critic living in your browser. -* **🔧 Customization Tuning Shop:** Don't like the dark theme? Switch to light mode! Don't want the giant hero banner? Hide it! Add your own TMDB API key. You're the boss, this is your extension! +* **🔧 Customization Tuning Shop:** Don't like the dark theme? Switch to light mode! Don't want the giant hero banner? Hide it! Add your own TMDB and Google AI API keys. You're the boss, this is your extension! + +--- + +## 🤖 Meet Your AI Assistant: Talk to Your Media! + +Click the chat bubble and say hello to your new AI-powered copilot. It's integrated with Google's Gemini and can understand and execute commands within CinePlex. It's not just a search bar; it's a command center. + +**Here are a few things you can ask it to do:** + +* **Navigate the App:** + * `"Show me my favorite movies."` + * `"Take me to the statistics page."` + * `"Open the M3U generator."` + +* **Find Content:** + * `"Do I have the movie 'Inception' on my server?"` + * `"Search for all the 'Star Wars' series."` + +* **Control Your Media:** + * `"Play music by Queen."` + * `"Add 'The Matrix' to my favorites."` + * `"I want to download a list of all James Bond movies I have, name the file 007.m3u"` + +* **Manage the App:** + * `"Clear my viewing history."` + * `"I need to delete all my favorites."` + * `"Update all my Plex servers."` + +Try it out! The possibilities are vast. --- ## 🛠️ Installation and First Steps: Liftoff in 3, 2, 1...! -Get ready for adventure! Getting this beast up and running is easier than finding popcorn at the movies. Follow these simple steps and you'll be navigating your Plex like a Starship captain. +Get ready for adventure! Getting this beast up and running is easier than finding popcorn at the movies. Follow these simple steps and you'll be navigating your media like a Starship captain. ### 1. Installing the Extension: The First Quantum Leap! @@ -56,31 +78,31 @@ Since we're not yet on the Chrome Web Store (but we will be, oh yes!), you'll ha When you first open CinePlex, it's like a newly built spaceship: impressive, but it needs fuel and coordinates. Let's bring it to life! -1. **Find Your Plex Token: The Master Key to the Universe!** This is the MOST important step. You need your `X-Plex-Token` to let CinePlex talk to your Plex server. The easiest way is to follow the official Plex guide: [Finding an Authentication Token / X-Plex-Token](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/). Don't share this key with anyone, it's yours and yours alone! +1. **Get Your Credentials: The Keys to the Kingdom!** + * **For Plex:** You need your `X-Plex-Token`. The easiest way is to follow the official Plex guide: [Finding an Authentication Token / X-Plex-Token](https://support.plex.tv/articles/204059436-finding-an-authentication-token-x-plex-token/). + * **For Jellyfin:** You'll need your server URL, username, and password. 2. **Open CinePlex Settings: The Control Panel!** * Click the CinePlex icon in your browser's toolbar to open the application in a new tab. * Click the **cogwheel icon (⚙️)** in the top-right corner to open the Settings modal. This is where the magic happens! -3. **Add Your Token: Injecting the Fuel!** - * Go to the **Plex** tab. - * You'll see a code editor. Paste your `X-Plex-Token` inside the square brackets `[]`. If you have more than one (how lucky!), separate them with commas. It should look something like this: +3. **Add Your Servers: Injecting the Fuel!** + * **For Plex:** Go to the **Plex** tab. Paste your `X-Plex-Token`(s) inside the code editor. ```json { "tokens": [ - "YourPlexTokenGoesHere_abc123", - "AnotherTokenIfYouHaveOne_def456" + "YourPlexTokenGoesHere_abc123" ] } ``` - * Click the **"Save Tokens"** button. You've secured the connection! + * **For Jellyfin:** Go to the **Jellyfin** tab. Enter your server URL, username, and password. + * **API Keys (Optional but Recommended):** In the **General** tab, add your free API key from [TheMovieDB](https://www.themoviedb.org/settings/api) for metadata and your [Google AI Studio](https://aistudio.google.com/app/apikey) key to power the AI Assistant. 4. **Start Your First Scan: The Great Exploration!** - * Still in the Plex tab, check the boxes for the content you want to scan (e.g., Movies, Series, Music, Photos). - * Click the big blue **"Start Scan"** button. It's time for CinePlex to discover all your treasures! - * A console will appear at the bottom of the main page, showing you the scanner's progress. Be patient, the first scan can take a few minutes if you have a gigantic library. Rome wasn't built in a day, and your Plex library won't be scanned in a second either! + * In the settings for Plex and/or Jellyfin, click the **"Start Scan"** or **"Connect and Scan"** button. It's time for CinePlex to discover all your treasures! + * A console will appear at the bottom of the main page, showing you the scanner's progress. Be patient, the first scan can take a few minutes if you have a gigantic library. -5. **Enjoy!** Once the scan is complete, the app will automatically refresh. Go back to the main view and start exploring your newly supercharged Plex interface! The galaxy of your content awaits! +5. **Enjoy!** Once the scan is complete, the app will automatically refresh. Go back to the main view and start exploring your newly supercharged media universe! --- @@ -88,19 +110,20 @@ When you first open CinePlex, it's like a newly built spaceship: impressive, but Want to take your experience to the next level and use the "Add Stream" button? It's like having a magic wand for your content! -1. In the CinePlex settings, go to the **"PHP Generator"** tab. +1. In the CinePlex settings, go to the **"PHP Gen"** tab. 2. Configure the options (like the filename, save path, and security key) and click **"Generate Script"**. Watch as the magic of code materializes! 3. Copy the generated PHP code. It's your secret recipe! -4. Save that code as a `.php` file (e.g., `playlist.php`) and upload it to a web server you control. Your own corner on the web for your streams! -5. Go to the **"General"** tab in settings and paste the public URL to your new script in the **"Stream Server URL"** field. Connecting the dots! +4. Save that code as a `.php` file (e.g., `playlist.php`) and upload it to a web server you control. +5. Go to the **"General"** tab in settings and paste the public URL to your new script in the **"PHP Script URL"** field. 6. Save, and you're ready! Now you can add streams with a single click. It's like teleporting your content wherever you need it! --- -## 🔒 Permissions: What Does CinePlex Need? +## 🔒 Permissions: What Does CinePlex Need and Why? CinePlex is designed to be as non-intrusive as possible, but it does need a few permissions to work its magic: -* **`storage`**: This allows CinePlex to store your Plex tokens, scanned library data, and your personalized settings directly in your browser's local storage. All your data stays on your machine, safe and sound! -* **`notifications`**: Used to send you helpful notifications, for example, when a scan is complete or if there's an important update. -* **`host_permissions` for `https://*.plex.tv/*`**: This is crucial! It allows CinePlex to communicate directly with your Plex servers to fetch your library information. Without this, CinePlex wouldn't be able to see your awesome media collection. \ No newline at end of file +* **`storage`**: Allows CinePlex to store your server credentials, scanned library data, and your personalized settings directly in your browser's local storage. All your data stays on your machine, safe and sound! +* **`notifications`**: Used to send you helpful notifications, for example, when a scan is complete. +* **`host_permissions` for `https://*.plex.tv/*`**: This is crucial! It allows CinePlex to communicate with the main Plex API to find your servers associated with your token. +* **`host_permissions` for `http://*/*` and `https://*/*`**: **This sounds scary, but it's necessary!** Because your Plex and Jellyfin servers can be on any IP address (e.g., `192.168.1.100`, `my-server.local`, a public domain), the extension needs this broad permission to be able to connect to *your specific server addresses*. **CinePlex ONLY communicates with the server URLs you provide or that it discovers via the official Plex API. It does not read data from any other websites you visit.** This permission is essential for the core functionality of connecting to your personal media servers. \ No newline at end of file