src | ||
.dockerignore | ||
.env.sample | ||
.gitignore | ||
astro-i18next.config.mjs | ||
astro.config.mjs | ||
bun.lockb | ||
docker-compose.yml | ||
Dockerfile | ||
instances.json | ||
LICENSE | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
MinPluto
MinPluto is a modern privacy frontend for YouTube and Twitch(planned) giving your personal total anonymity. It provides additional features such as an account system, no annoying ads, multilingual support, custom video player, and additional customization.
Compatibility
Package Managers
Package Manager | Install Packages | Run Project |
---|---|---|
NPM | ❌ | ❌ |
PNPM | ✅ | ❌ |
Bun | ✅ | ✅ |
Yarn v1 | ✅ | ❌ |
Yarn v3 | ✅ | ❌ |
Yarn v4 | ✅ | ❌ |
There appears to be an issue with the
@astrojs/vue
package with all package manager, except for Bun.
Web Browsers
Browser | Live Streams | Player | CSS | JavaScript | Account System | Embed |
---|---|---|---|---|---|---|
Other Browsers | ||||||
FOSS Browser | ❌ | ✅ | ❌ | ✅ | 🔘 | 🔘 |
GNOME Web | ✅ | ❌*2 | ✅ | ✅ | 🔘 | 🔘 |
Ladybird*3 | ❌ | ❌ | ✅ | ✅ | 🔘 | 🔘 |
Safari | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
Electron Browsers | ||||||
Min | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Chromium Browsers | ||||||
Brave | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Chromium | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Google Chrome | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Microsoft Edge | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Opera | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Vivaldi | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Yandex | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Firefox Browsers | ||||||
🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | |
Falkon | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Firefox | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Floorp | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
IceCat | ❌ | ✅ | ❌ | 🔘 | 🔘 | 🔘 |
Librewolf | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Mull | ❌ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
Mullvad | ✅ | ❌ | ✅ | ✅ | 🔘 | 🔘 |
Tor | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
Waterfox | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
🔘: Untested
All browsers are tested as-is out of box. Some functions with ❌ can probably work if you tweak the settings or interact with a built-in extension.
For Firefox-based browsers: Timestamp may show wrong data on first load, everything works correctly after a reload and so on.
*1: This web browser is unstable to operate
*2: Seeking doesn't work
*3: Ladybird is a new web browser that is uncompleted. This browser is not expected to work correctly for MinPluto at the moment.
To Do
- i18n
- API
- Languages
- English
- Japanese
- French
- Spanish
- Russian
- Data
- Track Events (Users should be opted-out by default, OpenPanel will be used)
- Make privacy policy adaptive
- Mobile Support
- Server Configuration (.env)
- Quality
- Allow 1080p
- Allow 4K
- Allow 8K
- Quality
- Account System (Based on Account System Demo)
- Use Supabase Library
- Create Pages:
- Subscription Feed
- History (Maybe, maybe not)
- Login
- Register
- Account
- Preferences
- Delete
- Anomymous Account Creation
- Email Confirmation Code
- Ability to:
- Update Data
- Username
- Pasword
- Delete Account
- Update Data
- API
/api/update/name
/api/update/email
/api/update/password
/api/update/preference/ui/theme
/api/update/preference/ui/color-scheme
/api/update/preference/ui/zen
/api/update/preference/ui/sidebar/size
/api/update/preference/player-type
/api/update/preference/image-proxy
/api/update/preference/instance/invidious/media
/api/update/preference/instance/invidious/data
/api/update/preference/instance/safetwitch/media
/api/update/preference/instance/safetwitch/data
/api/auth/login
/api/auth/register
/api/auth/delete
/api/auth/confirm
/api/auth/logout
/api/anon/create
/api/anon/delete
/api/anon/signout
/api/subscription/add
/api/subscription/remove
- Revamp Design and Layout (UI Library Repo)
- Use Header over Sidebar
- Generic
- Dropdown
- Buttons
- Toggle
- Inputs
- Radio Buttons
- Toast
- Tooltip
- Hovercard (For Creators) Example
- Scrollable Areas
- KBD
- Empty State
- Create Footer
- Make more re-usable components
- Watch Page
- Video Player
- Title, Actions, and Description Area
- Comments/Chat
- Related Content
- Dialogs/Modal
- Share
- Download
- Error
- Watch Page
- Search
- Creator
- Video/Stream
- Playlist
- Paginations
- Discovery Pages
- Animation
- Automotive
- Comedy
- Courses
- Educational
- Family Friendly
- Fashion
- Fitness
- Food
- Games
- Music
- News
- Podcasts
- Science
- Sports
- Tech
- Web Series
- Twitch Support
- API
- Video Player HLS Support (Required to play streams)
- Polycentric Chat
- Categories
- Games
- Music
- Just Chatting
- IRL
- Sports
- Animals
- Creativity
- Inline Player
- Dedicated Redirect Page
- Should pull from instances list
- YouTube Playlists
- RSS
- Component for Search
- Add to Watch Page
- Search
- Revamp Experience
- Filters
- Auto Complete
- Video Player
- Dash Format (1080p/4K/8K)
- 360° Support
- Mobile Gestures
- Embed Page
- Download
- Share
- Report
- Controls
- Play/Pause
- Volume
- Fullscreen
- Close Captians
- Quality Changer
- Theater Mode
- Cast
- Video Page
Important Infomation Card (Example)Controversial, do not proceed- Viewers Note (Like Community Notes, in experimental phase at YouTube)
- Toggle:
- Audio Only
- Autoplay
- User Settings
- Invidious Server Selection
- SafeTwitch Backend Server Selection
- Platform Selection (YouTube/Twitch)
- Video Player
- Toggle:
- Proxy
- Theme
- Preferred Language (For audio track on YouTube)
- Custom CSS/JS
- Switch Auth Servers
- Import SafeTwitch Settings
- Import/Export Twitch/SafeTwitch Subscription (SafeTwitch needs to be looked into further)
- Import/Export YouTube/FreeTube/NewPipe Subscription
- Import/Export MinPluto User Settings
- Feed Page
- Universal Feed (YouTube and Twitch)
- Subscription Management