base on An alternative privacy-friendly YouTube frontend which is efficient by design. # Piped
[![AGPL v3](https://shields.io/badge/License-AGPL%20v3-blue.svg)](https://www.gnu.org/licenses/agpl-3.0.en.html)
[![Matrix](https://img.shields.io/matrix/piped:matrix.org)](https://matrix.to/#/#piped:matrix.org)
[![Lemmy](https://img.shields.io/lemmy/piped%40feddit.rocks)](https://feddit.rocks/c/piped)
[![Registered Users](https://pipedapi.kavin.rocks/registered/badge)](https://piped.video/register)
[![IPFS Build](https://github.com/TeamPiped/Piped/actions/workflows/ipfs-build.yml/badge.svg)](https://piped-ipfs.kavin.rocks/)
[![GitHub Repo stars](https://img.shields.io/github/stars/TeamPiped/Piped-Frontend?style=social)](https://github.com/TeamPiped/Piped/stargazers)
[![GitHub last commit](https://img.shields.io/github/last-commit/TeamPiped/Piped-Frontend)](https://github.com/TeamPiped/Piped/commits)
[![Translation status](https://hosted.weblate.org/widgets/piped/-/frontend/svg-badge.svg)](https://hosted.weblate.org/projects/piped/frontend/)
An open-source alternative frontend for YouTube which is efficient by design.
# The Problem
YouTube has an extremely invasive privacy policy which relies on using user data in unethical ways. You give them a lot of data - ranging from ideas, music taste, content, political opinions, and much more than you think.
By using Piped, you can freely watch and listen to content without the fear of prying eyes watching everything you are doing.
## Features:
**User Features**
- [x] No Ads
- [x] No Tracking
- [x] Lightweight on server and client
- [x] Infinite Scrolling
- [x] Light/Dark themes
- [x] Login
- [x] Feeds
- [x] Playlists
- [x] Integration with [SponsorBlock](https://github.com/ajayyy/SponsorBlock)
- [x] Integration with [LBRY](https://lbry.com/) for streaming
- [x] Integration with [Return YouTube Dislike](https://returnyoutubedislike.com/) via [RYD-Proxy](https://github.com/TeamPiped/RYD-Proxy)
- [x] 4K support
- [x] No connections to Google's servers
- [x] Playing just audio
- [x] PWA support
- [x] Locally saved Preferences
- [x] [Available in many languages](src/locales), thanks to [our translators](https://hosted.weblate.org/projects/piped/frontend/)
- [x] Embedded video support
- [x] No age restriction
- [x] Bypasses Geo restrictions if possible through a federated network
**Technical Features**
- [x] Multi-region load-balancing
- [x] Performant by design, designed to handle 1000s of users concurrently
- [x] Does not use official YouTube APIs
- [x] Uses [NewPipeExtractor](https://github.com/TeamNewPipe/NewPipeExtractor) to extract information
- [x] Public [JSON API](https://docs.piped.video/docs/api-documentation/)
- [x] Federated protocol on Matrix to let instances collaborate with each other
## Screenshots
| Player | Trending | Channel |
| ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------- |
| ![Screenshot 1](https://cloudflare-ipfs.com/ipfs/bafybeiaxhsog7jzydr7xb3xhlemxilqksceqg5fraaiuojzclhocsqrcvq) | ![Screenshot 2](https://cloudflare-ipfs.com/ipfs/bafybeigafumvrgbfyufxjptvufobstrywrfv2kteyuuictfko6kvghjszu) | ![Screenshot 3](https://cloudflare-ipfs.com/ipfs/bafybeiehs5xjqmmq34gmewxoqm3j3b2ze3pve4sdmanz7ukrxwgrcmxnry) |
## Having trouble?
If you have any general questions regarding how Piped works or trouble setting up your own instance, please consult the following public chat rooms and documentation for help. Please use these platforms exclusively for such cases and do NOT open an issue.
### Public Chat Rooms/Communities
- You can join us via Matrix at [#piped](https://matrix.to/#/#piped:matrix.org).
- You can join us on Lemmy on the [
[email protected]](https://feddit.rocks/c/piped) community.
### Self-Hosting
See https://docs.piped.video/docs/self-hosting/ for more details.
The source code of the documentation website is available at https://github.com/TeamPiped/Documentation.
### Documentation
The documentation can be found at https://docs.piped.video (accessible via IPNS as well).
## Extensions
To redirect all YouTube links to Piped, you are highly recommended to use either [Piped-Redirects](https://github.com/TeamPiped/Piped-Redirects), [Libredirect](https://github.com/libredirect/libredirect) or [Predirect](https://github.com/libreom/predirect).
## Contributing
### Translations
You can help by translating the project to a language you speak at https://hosted.weblate.org/projects/piped/frontend/
### Mirrors
- Cloudflare Pages - [cf.piped.video](https://cf.piped.video/)
- Vercel - [vc.piped.video](https://vc.piped.video/)
- Render - [re.piped.video](https://re.piped.video/)
- Fleek - [fl.piped.video](https://fl.piped.video/)
- DigitalOcean - [do.piped.video](https://do.piped.video/)
- Netlify - [nf.piped.video](https://nf.piped.video/)
- Azure - [az.piped.video](https://az.piped.video/)
### Forking, and contributing
- Fork the repository on GitHub: https://github.com/TeamPiped/Piped/fork
- Create your feature branch: `git checkout -b my-awesome-feature`
- Stage your files `git add .`
- Commit your changes `git commit -am 'Add awesome new feature'`
- Push to the branch `git push origin my-awesome-feature`
- Create a new pull request: https://github.com/TeamPiped/Piped/compare
### Development Setup
```
pnpm install
```
### Compiles and hot-reloads for development
```
pnpm dev
```
You can now make changes and view then in realtime!
## Contact
If you would like to contact me personally, you may do so with the following means:
- Matrix: @kavin1337:matrix.org
- Mastodon: https://mastodon.online/@kavin
- Email:
[email protected]
Please note that isn't meant for support, see [Public Chat Rooms/Communities](#public-chat-roomscommunities) for that.
## Donations
Donations can be made at:
- bc1qhq8zjxmu405nvp37njj6zv3s980zg400pu9jfe (BTC)
- 0x1D77D4cfB1a947514241bcf19B1F04738495e2fD (ETH)
- 84wyyeGTrg4U1daJufi78bAFrBQgdRhmxJZvgYv8dAFeFVwkJaBEmw5C7fNniUM9n4jfrz3NeG32Agxtp7JNAcCUFPACfwA (XMR, aka Monero)
- nano_1ngejzydncche4rdua3iebhj7sa95pw5geq4pb8phugtjf3tku933ktjb4pq (Nano)
- XpzgouDTKCUuE8a92XqjX9b43gKL8oLihw (Dash)
FIAT donations can be made at:
- https://liberapay.com/kavin (Author of project, used for Project infrastructure maintenance, and official instance)
- https://liberapay.com/Bnyro (Maintainer of repo)
Contributions in any other form are also welcomed.
# Made with Piped
**Mobile/desktop apps**
- [LibreTube](https://github.com/Libre-tube/LibreTube) - Alternative frontend for YouTube for Android.
- [YTDLnis](https://github.com/deniscerri/ytdlnis) - Video and audio downloader for Android that uses Piped to update formats.
- [Yattee](https://github.com/yattee/yattee) - Alternative frontend for YouTube for MacOS / iOS.
- [Pipeline](https://gitlab.com/schmiddi-on-mobile/pipeline) - Alternative frontend for YouTube for Linux.
- [PlasmaTube](https://apps.kde.org/plasmatube/) - Alternative frontend for YouTube for Linux.
- [PsTube](https://github.com/prateekmedia/pstube) - Watch and download videos without ads on Android, Linux, Windows, iOS, and Mac OSX.
- [Harmony Music](https://github.com/anandnet/Harmony-Music) - YouTube Music alternative for Android/Windows/Debian, built with Flutter that supports piped linking for playlists.
- [VibeYou](https://github.com/you-apps/VibeYou) - Privacy focused music player for Android supporting playback via Piped.
**Web apps**
- [Piped-Material](https://github.com/mmjee/Piped-Material) - Fork of Piped, focusing on better performance and a more usable design.
- [Hyperpipe](https://codeberg.org/Hyperpipe/Hyperpipe) - Alternative privacy respecting front-end for YouTube Music.
- [ytify](https://github.com/n-ce/ytify) - Complementary audio streaming frontend for YouTube & YouTube Music.
- [Musicale](https://github.com/Bellisario/musicale) - Alternative frontend for YouTube Music with style.
- [conduit](https://github.com/ai25/conduit) - Alternative frontend for YouTube, with a modern player and watch together capabilities.
- [DeskVideo](https://github.com/malisipi/DeskVideo) - Desktop styled, customizable alternative frontend for YouTube.
- [ReacTube](https://github.com/NeeRaj-2401/ReacTube) - Privacy friendly & distraction free YouTube frontend.
**Other**
- [vidyodl](https://github.com/MrKovar/vidyodl) - Simple API to download videos from YouTube, using Piped.
- [Piped Addon for Kodi](https://github.com/syhlx/plugin.video.piped) - Kodi plugin for Piped.
## YourKit
![](https://www.yourkit.com/images/yklogo.png)
YourKit has given an open source license for their profiler, greatly simplifying the profiling of Piped's performance.
YourKit supports open source projects with its full-featured Java Profiler.
YourKit, LLC is the creator of [YourKit Java Profiler](https://www.yourkit.com/java/profiler/)
and [YourKit .NET Profiler](https://www.yourkit.com/.net/profiler/),
innovative and intelligent tools for profiling Java and .NET applications.
", Assign "at most 3 tags" to the expected json: {"id":"3758","tags":[]} "only from the tags list I provide: [{"id":77,"name":"3d"},{"id":89,"name":"agent"},{"id":17,"name":"ai"},{"id":54,"name":"algorithm"},{"id":24,"name":"api"},{"id":44,"name":"authentication"},{"id":3,"name":"aws"},{"id":27,"name":"backend"},{"id":60,"name":"benchmark"},{"id":72,"name":"best-practices"},{"id":39,"name":"bitcoin"},{"id":37,"name":"blockchain"},{"id":1,"name":"blog"},{"id":45,"name":"bundler"},{"id":58,"name":"cache"},{"id":21,"name":"chat"},{"id":49,"name":"cicd"},{"id":4,"name":"cli"},{"id":64,"name":"cloud-native"},{"id":48,"name":"cms"},{"id":61,"name":"compiler"},{"id":68,"name":"containerization"},{"id":92,"name":"crm"},{"id":34,"name":"data"},{"id":47,"name":"database"},{"id":8,"name":"declarative-gui "},{"id":9,"name":"deploy-tool"},{"id":53,"name":"desktop-app"},{"id":6,"name":"dev-exp-lib"},{"id":59,"name":"dev-tool"},{"id":13,"name":"ecommerce"},{"id":26,"name":"editor"},{"id":66,"name":"emulator"},{"id":62,"name":"filesystem"},{"id":80,"name":"finance"},{"id":15,"name":"firmware"},{"id":73,"name":"for-fun"},{"id":2,"name":"framework"},{"id":11,"name":"frontend"},{"id":22,"name":"game"},{"id":81,"name":"game-engine "},{"id":23,"name":"graphql"},{"id":84,"name":"gui"},{"id":91,"name":"http"},{"id":5,"name":"http-client"},{"id":51,"name":"iac"},{"id":30,"name":"ide"},{"id":78,"name":"iot"},{"id":40,"name":"json"},{"id":83,"name":"julian"},{"id":38,"name":"k8s"},{"id":31,"name":"language"},{"id":10,"name":"learning-resource"},{"id":33,"name":"lib"},{"id":41,"name":"linter"},{"id":28,"name":"lms"},{"id":16,"name":"logging"},{"id":76,"name":"low-code"},{"id":90,"name":"message-queue"},{"id":42,"name":"mobile-app"},{"id":18,"name":"monitoring"},{"id":36,"name":"networking"},{"id":7,"name":"node-version"},{"id":55,"name":"nosql"},{"id":57,"name":"observability"},{"id":46,"name":"orm"},{"id":52,"name":"os"},{"id":14,"name":"parser"},{"id":74,"name":"react"},{"id":82,"name":"real-time"},{"id":56,"name":"robot"},{"id":65,"name":"runtime"},{"id":32,"name":"sdk"},{"id":71,"name":"search"},{"id":63,"name":"secrets"},{"id":25,"name":"security"},{"id":85,"name":"server"},{"id":86,"name":"serverless"},{"id":70,"name":"storage"},{"id":75,"name":"system-design"},{"id":79,"name":"terminal"},{"id":29,"name":"testing"},{"id":12,"name":"ui"},{"id":50,"name":"ux"},{"id":88,"name":"video"},{"id":20,"name":"web-app"},{"id":35,"name":"web-server"},{"id":43,"name":"webassembly"},{"id":69,"name":"workflow"},{"id":87,"name":"yaml"}]" returns me the "expected json"