{"id":22497331,"url":"https://github.com/ihebbelhadj/playpex","last_synced_at":"2026-04-08T16:32:29.409Z","repository":{"id":58878420,"uuid":"533063934","full_name":"IhebBelhadj/Playpex","owner":"IhebBelhadj","description":"A media streaming app built with electron , angular and expressJs","archived":false,"fork":false,"pushed_at":"2024-09-01T15:27:38.000Z","size":3094,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-23T19:43:31.275Z","etag":null,"topics":["desktop-app","expressjs","netflix-clone","node","streamer","torrent"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IhebBelhadj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-09-05T21:21:58.000Z","updated_at":"2025-01-23T19:07:55.000Z","dependencies_parsed_at":"2025-03-27T21:42:13.559Z","dependency_job_id":null,"html_url":"https://github.com/IhebBelhadj/Playpex","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IhebBelhadj/Playpex","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IhebBelhadj%2FPlaypex","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IhebBelhadj%2FPlaypex/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IhebBelhadj%2FPlaypex/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IhebBelhadj%2FPlaypex/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IhebBelhadj","download_url":"https://codeload.github.com/IhebBelhadj/Playpex/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IhebBelhadj%2FPlaypex/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31564900,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"ssl_error","status_checked_at":"2026-04-08T14:31:17.202Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["desktop-app","expressjs","netflix-clone","node","streamer","torrent"],"created_at":"2024-12-06T20:18:23.584Z","updated_at":"2026-04-08T16:32:29.390Z","avatar_url":"https://github.com/IhebBelhadj.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# \u003cimg src=\"https://i.ibb.co/wSwD1nB/logo-1.png\" alt=\"Playpex logo\" width=\"50\"/\u003e Playpex\n\nPlaypex is a media streaming platform with a 10-foot user interface with spacial navigation\n\n\u003ca href=\"https://www.youtube.com/watch?v=mj4EjDdVXTo\" target=\"_blank\"\u003e\n  \u003cimg src=\"https://lh3.googleusercontent.com/fife/ALs6j_F4HTHgkJP8ZGHWvr_ZVBSp5mJIAqxM4FZYs0lntlLTz_fSOKHJf5YNyQMMrgBBLMDrMjilq1rm52AvDELuYlRYWg4azJ3j-QHABydFMGVyB5D4nD8DJ5qh1Na9OFoKtUjB4b8mQ-y142StzuFiof6OOV9jO8XWfChyszdKOn3sam-KrlMtU4hmkr51QHbGfXqKpgew-nGEBz9eTGbnc0QkSsZyjj0RK1NsGLxIowu7HwiO-ZHDb0VXYYNzGbjle2WqzoNIFH3vA7G9NUxP80td7_GsNxRZwcMpWMid09cC8i_EmxTq04vXRCg-SApkhdjg6g0c1dQ1_Tp4mYsEL_1cCQVy8xjOxQLi0B07LfcCBzvLcL3qAGL_lkQPB6BrXhCfhEHjNNun_z56tLBRFoJBOY_cUnIY-KSWcDrbNKcW9M96v0HUhw9DpViF4f9JgwDOr0YDVjFnCgMj7v0IzqaiFzkvBDmjClSrxxUIBBze7Y9N_5haKAoH5UbqtJD56BM15evfkd93fA4OOgBzy6CeS5m9klX-85gUFS8L8Wm9yyB6G-SUTw3KYy7gVNTRZ1TArL4o8VF237m-JkOpki4mhS5j9mNIJVRkHijLFVRk9HUILYHZxqza3OSvHrv9B8pisIy7VYRS4GOjtLkU42_o6DMXGU5-oEV72pi5gIiVXFL4oy8iJiY1p7-TocarI75oehjAciVxGhgkzSwp1u8dlej8f7HasJL-29VkJBm8umAs0l6CozwcgcqoYW90zhPVVkF3jwi16M9S4NpMAlQt9o0y00wU7FF5sXaa_WcMV1poC4genUHe9EkBwG3jRp2dcgbPXvJC4_E8fwkXOL4hSNDhf3MyqIMRDXQ8Tuu1YDbGesi4G2mpwixkIaHe-1lncgFfQyYhbDYaWLA1ALIxHZ2LVik-k9P0GEcEhu_sNkU8V4DBep2H5nhUB7mZgJkNEsq1JSD5zY6ysOWQENXWKZ2puYm0Lv1pv4o_NDr14sm4x5ctawbRIM7UM2cEioVDA5BcUMB-oWutJWRXjI8dAVayyS5beWh1IccafSYZXwPLmbSsZzodLgOgacpmJqcnKvLAlyym7FlO7X-3entq9NsBumpFceK0LoR83GrIce0rVsgrrAXLd5gyGngM3QYBo_mlNVmeo07WilS9-NtddO9SMzTfwOZ4gKK0JSit3f9CVKgw6qzDokTrvrnnNH5FrV0cAPUMTmu1z_kRzIKArv6TwBwxye_bQ2yfmU2t3Vxabr-UmIdM_1OGeogd1UZqgITPQIiRD_I13onF9Xq8u7mNbGJnvmOAE8x6igjfUdAftsk9FezFrwtJUsce5NaIrLYIQWyrum_5HI7e4ilwcc7SpCmCVXErNBRYAjlinACnwrq34Wlq0_6gzs_vZkGn8nv9n6LJGJtXZHVWxcf0QR4q4qiKDR3a2Cc5IdXAvjjoXGZCALaB8EC5Kecx6HOY73ZgUgzbNw2_y8HEpDmbSBHNL0xsx5rAqyuP-WTKSrterbQQsRoPu61uIJQTVJ7JXtQvTvqOBCGof-t1ElEN6Hf3g3xv7HcrS_ei0kfaITt2jixfuIbebfwDlvpi2P9OtxvQHrLZ9TtroVU\" alt=\"Playpex screenshot\"\u003e\n\u003c/a\u003e\n\n\u003e Watch this Youtube video for [Playpex App Promo](https://www.youtube.com/watch?v=mj4EjDdVXTo)\n\n## How it works under the hood\n\nPlaypex uses a local server initiated by the electron runtime on application bootstrap to take care of streaming torrents\n\u003eDisclaimer :\n    This app is done for educational purposes and not intended for commercial use as it is illegal to stream pirated movies and shows\n\n### How streaming works ?\n\nThe Streaming part works using **media source extentions (MSE)** and :\n\n1. Appending a request listeners on the server for byte range requests\n2. Sending an event to the torrent streamer to prioritize that byte range \n3. Set the response headers and wait for data\n4. Pump the stream of downloaded data to the client that way you download the content from the Torrent Streamer and pump the downloaded content back to the client at the same time\n\n### The server part\n\nYou can check the [playpex server repo](https://github.com/IhebBelhadj/Playpex-backend) if you are intrested in the server implementation of playpex which provides a **Ready to use API for streaming torrents**\n\n### The client side\n\nThe client side is built with **angular v14**\n\nThe inerface works with spacial navigation(Navigation with keyboad) to simulate the TV app experience and in the next update i'm working on adding a remote app to download on your phone\n\n## State management solution\n\nPlaypex uses services and behavior subjects to manage state including \n* focused element\n* fetched movies for each categorie\n* last selected movie from each category and more\n\nThis ensures a smooth navigation between routes\n\n### How to use Playpex\n\nYou can build the app from scratch after cloning the app or download the compressed version ready to use [here](https://mega.nz/file/V80xwTyJ#VrSX1fnlIuXL0ghFYE65Qyi-Y1RqOIt-2Vaf2ysohgE)\n\n## Future updates\n\n* Adding remote controller app for mobile devices (cross platform using ionic )\n* Using RXJS for managing state\n* Recreating module structure and implementing lazy loading to get a better app performance\n* Adding account logging and saving movies to watch later and track watched movies\n* Add Tv shows section and account management section\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fihebbelhadj%2Fplaypex","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fihebbelhadj%2Fplaypex","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fihebbelhadj%2Fplaypex/lists"}