{"id":26682772,"url":"https://github.com/n-ce/ytify","last_synced_at":"2025-04-12T13:51:40.658Z","repository":{"id":40465118,"uuid":"452201043","full_name":"n-ce/ytify","owner":"n-ce","description":"Opus Audio Streaming Web App for YouTube. Stop watching, Listen \u0026 Save Data.","archived":false,"fork":false,"pushed_at":"2024-05-28T18:04:25.000Z","size":12377,"stargazers_count":114,"open_issues_count":6,"forks_count":41,"subscribers_count":3,"default_branch":"main","last_synced_at":"2024-05-29T01:48:17.656Z","etag":null,"topics":["audio","css","good-first-issue","html","invidious","lit-element","music","music-player","opus","piped","pwa","spotify","streaming","typescript","vanilla-typescript","vite","youtube","youtube-player","ytmusic"],"latest_commit_sha":null,"homepage":"https://ytify.netlify.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/n-ce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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-01-26T08:45:05.000Z","updated_at":"2024-06-03T11:41:59.432Z","dependencies_parsed_at":"2024-02-10T17:31:04.927Z","dependency_job_id":"bd0d874f-a26f-4c6c-91ba-ebbae4d97e63","html_url":"https://github.com/n-ce/ytify","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n-ce%2Fytify","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n-ce%2Fytify/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n-ce%2Fytify/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/n-ce%2Fytify/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/n-ce","download_url":"https://codeload.github.com/n-ce/ytify/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248575767,"owners_count":21127270,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["audio","css","good-first-issue","html","invidious","lit-element","music","music-player","opus","piped","pwa","spotify","streaming","typescript","vanilla-typescript","vite","youtube","youtube-player","ytmusic"],"created_at":"2025-03-26T08:28:04.714Z","updated_at":"2025-04-12T13:51:40.638Z","avatar_url":"https://github.com/n-ce.png","language":"TypeScript","funding_links":[],"categories":["music"],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n \u003ca href=\"https://ytify.netlify.app\"\u003e\u003cimg src=\"public/ytify_thumbnail_max.webp\" width=\"70%\"\u003e\u003c/a\u003e\n\n[![Netlify Status](https://api.netlify.com/api/v1/badges/fbbcc532-3ef6-41fc-b61e-26cb17cfb6ba/deploy-status)](https://app.netlify.com/sites/ytify/deploys)\n[![Telegram Members](https://img.shields.io/endpoint?style=flat\u0026url=https://mogyo.ro/quart-apis/tgmembercount?chat_id=ytifytg)](https://t.me/ytifytg)\n[![Telegram Online](https://img.shields.io/endpoint?style=flat\u0026url=https%3A%2F%2Ftg.sumanjay.workers.dev%2Fytifytg)](https://t.me/ytifytg)\n[![Matrix](https://img.shields.io/matrix/ytify:matrix.org?label=Matrix)](https://matrix.to/#/#ytify:matrix.org)\n\n\u003c/div\u003e\n\n\n\u003e [**ytify**](https://ytify.pp.ua) is the fastest (56KB to load) and the lightest (7.5K LOC only) centralised audio streaming web application built with an unprecedented hybrid [HTML + SolidJS] approach for maximum efficiency.\n\u003e  Listen to **Podcasts**, **Audiobooks**, **Music**, **Livestreams** and other Audio focused YouTube Videos, even under the lowest network conditions.\n\n\u003e As covered in https://blog.csdn.net/gitblog_00024/article/details/139895018 and https://medevel.com/ytify-youtube/\n\n## What else are you getting ?\n- **Queuing Features** 🚦\n- **ytify collections** 🎷: create your own playlists disconnected from YouTube, share it with the world with share link.\n- **YouTube Playlists** 🎶: View them, queue them to the player. You can also both subscribe and import it into your own collections.\n- **Theming** 🎨: Modern Autonomous themed UI based on stream thumbnail with High Contrast Mode for increased legibility.\n- **PWA** 📱: Install as an app on your device which also allows you to play YouTube links with it from your OS share menu.\n- **Radio** 📻: Fetches similar streams and creates a playlist for your stream, great for music listeners.\n- **Library** 📚: Discover feed, history, favorites, Channels, YouTube playlists, custom playlists (collections) \u0026 Subscription Feed!\n- **Download** ⬇️ : Download any audio stream using the button on the action menu.\n- **Lyrics** 🎼 : Immersive Synced Lyrics using the button on the action menu.\n- **For You** 🎻 : Get audio tailored specifically for you based on your Favorites, generated on device without any violation of privacy.\n- **Parental Controls** 👨‍👦 : Disable Parts of the application according to your needs.\n\n![1000012574](https://github.com/user-attachments/assets/450a1eed-0fb6-4fba-8d4a-c18431b935ad)\n![1000012580](https://github.com/user-attachments/assets/4abcd09d-d2ef-4e26-8632-1a50cedfbab8)\n![1000012579](https://github.com/user-attachments/assets/adf1254a-e565-4fb7-ab51-613bbe69e677)\n\n\n\n\n\n## WHY / The story of ytify with [n-ce](https://github.com/n-ce)\n- I was an avid [NewPipe](https://github.com/TeamNewPipe/NewPipe) user back in 2021, which I used for background playback.\n- I noticed it wasn't able to stream under low network conditions.\n- So i decided to create an [issue](https://github.com/TeamNewPipe/NewPipe/issues/5838).\n- Upon finding no active resolution on the issue, I took it to myself and created this project on Jan 2022.\n\n\n## Usage 👆\n- Instance\n  - [Official](https://ytify.pp.ua)\n  - [Secondary](https://ytify.netlify.app)\n  - [Testing](https://dev--ytify.netlify.app)\n- Full Usage Guide is available at [wiki\u003eusage](https://github.com/n-ce/ytify/wiki/usage)\n- Join our Telegram Community [@ytifytg](https://t.me/ytifytg)\n- Join our Matrix Community\n[@ytify](https://matrix.to/#/#ytify:matrix.org)\n\n\n## License 📝\n\u003e [Read More](https://github.com/n-ce/ytify/blob/main/LICENSE).\n\n## Contributing 📋\n\u003e This project is actively seeking contributors, [Read More Here](https://github.com/n-ce/ytify/blob/main/CONTRIBUTING.md).\n\n## Development 🔧\n1. Prerequisites : Node.js , Beginner TypeScript Knowledge. \n2. Clone repository with\n```\ngit clone https://github.com/n-ce/ytify --depth 1\n```\nor\n```\n gh repo clone n-ce/ytify -- --depth 1\n```\n3. Move to Directory, Update \u0026 Install Dependencies\n```\ncd ytify ; npm run update; npm i\n```\n4. If you prefer using DevTools, you may disable eruda in [`vite.config.ts`](https://github.com/n-ce/ytify/blob/main/vite.config.ts)\n`injectEruda(false),`\n\n5. Start the development server and open localhost \n```\nnpm run dev -- --open\n```\n6. Learn More at our [wiki](https://github.com/n-ce/ytify/wiki).\n\n\n#### Vite building the project on my entry-level phone.\n\n```bash\nvite v6.0.11 building for production...\n✓ 56 modules transformed.\ndist/manifest.webmanifest                          1.00 kB\ndist/index.html                                   15.98 kB │ gzip:   4.12 kB\ndist/assets/UpdatePrompt-BVWVWGFX.css              0.72 kB │ gzip:   0.40 kB\ndist/assets/ActionsMenu-CZvdWJ42.css               0.91 kB │ gzip:   0.45 kB\ndist/assets/Settings-tEADDnJ_.css                  2.25 kB │ gzip:   0.73 kB\ndist/assets/index--EX9VXLN.css                    20.68 kB │ gzip:   5.01 kB\ndist/assets/enqueueRelatedStreams-DdHTYd6g.js      0.35 kB │ gzip:   0.27 kB\ndist/assets/extractColorFromImage-Cxdm9n2W.js      0.62 kB │ gzip:   0.42 kB\ndist/assets/setAudioStreams-BVS_1Ljb.js            0.84 kB │ gzip:   0.56 kB\ndist/assets/setDiscoveries-TaEtEbHx.js             0.93 kB │ gzip:   0.54 kB\ndist/assets/virtual_pwa-register-CvOwgYno.js       0.96 kB │ gzip:   0.55 kB\ndist/assets/UpdatePrompt-D5n4sX3r.js               1.09 kB │ gzip:   0.62 kB\ndist/assets/supermix-BtwNGR11.js                   1.11 kB │ gzip:   0.68 kB\ndist/assets/importPipedPlaylists-B2u7XIyS.js       1.24 kB │ gzip:   0.60 kB\ndist/assets/Lyrics-zDQNW8E2.js                     1.24 kB │ gzip:   0.80 kB\ndist/assets/start-BQEMUpCE.js                      1.95 kB │ gzip:   1.06 kB\ndist/assets/partsManager-DmWC75D0.js               1.96 kB │ gzip:   0.67 kB\ndist/assets/WatchOnYtify-LiGdckDA.js               2.84 kB │ gzip:   1.22 kB\ndist/assets/ActionsMenu-BzqUfV6s.js                4.06 kB │ gzip:   1.72 kB\ndist/assets/workbox-window.prod.es5-DL_hIMXg.js    5.72 kB │ gzip:   2.36 kB\ndist/assets/en-D06fOH0-.js                        11.19 kB │ gzip:   3.67 kB\ndist/assets/pl-D1p_NQ5j.js                        11.99 kB │ gzip:   4.26 kB\ndist/assets/Settings-CBM8jAms.js                  13.25 kB │ gzip:   4.38 kB\ndist/assets/index-pbIhJqLG.js                     89.34 kB │ gzip:  32.19 kB\ndist/assets/hls-CySapf1N.js                      399.85 kB │ gzip: 123.78 kB\n✓ built in 9.51s\n```\n\n## Translations 🗺️\n[![Translation status](https://hosted.weblate.org/widget/ytify/multi-auto.svg)](https://hosted.weblate.org/engage/ytify/)\nytify is being translated into multiple languages using [Weblate](https://hosted.weblate.org/projects/ytify/web).\n \n## Acknowledgements 🙏\n- [Uma](https://github.com/n-ce/Uma) - Instances Manager\n- [Piped](https://github.com/teampiped/piped) - YouTube Data API \u0026 Adaptive Streaming Proxy\n- [Invidious](https://invidious.io) - YouTube Data API \u0026 Progressive Streaming Proxy\n- [Hyperpipe](https://codeberg.org/Hyperpipe/hyperpipe-backend) - YT Music Artist Data API\n- [Cobalt](https://github.com/wukko/cobalt) - YouTube Download API\n- [LRCLIB](https://lrclib.net) - Synced Lyrics Provider\n- [wsrv](https://wsrv.nl) - Image Proxy Provider\n- [Solid](https://github.com/solidjs/solid) - Delightful JSX Library\n- [HLS.js](https://github.com/video-dev/hls.js) - HLS Support Library\n- [Netlify](https://www.netlify.com) - Hosting, PR Previews, User Feedback Forms, Edge Functions\n- [Vite](https://vitejs.dev) - Development Server, Code Bundling, Project Scaffolding.\n- [Autoprefixer](https://github.com/postcss/autoprefixer) - CSS Prefixes Solution.\n- [Remix Icons](https://github.com/Remix-Design/RemixIcon) - Efficient Icon Solution.\n- [Google Fonts](https://fonts.google.com) - NotoSans Font.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn-ce%2Fytify","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fn-ce%2Fytify","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fn-ce%2Fytify/lists"}