๐จ Warning
This repository is DEPRECATED and not maintained anymore.
An new app is available : HoloPlay in PWA, work on iOS, Android (PWA, with background sound !) and Desktop
HoloPlay
HoloPlay (HoP) is a audio only Youtube alternative app using Invidious API. You can add your Invidious token and save music to favoris or create your playlists. This project is fully open source.
If you want add more feature, PM or PR are welcome :)
Interface based on beautiful free Music Song.
Android version compatibility
HoloPlay has been tested on real devices with Android version 8, 9 and 10. Android 5, 6 and 7 on Emulator only.
For now, HoloPlay is designed for mobile, not optimized for tablet device.
Features
- Search by video and playlist
- Live video
- Create your playlists
- Save favourites
- Downloading video
- Background mode
- Offline
- Work on Android Auto
- Respect your privacy
- Open Source
- Cloud Syncing
- Dark Theme
- internationalization with EN (default) and FR
- Add your self hosted Invidious instance URL
Getting Started
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes. See deployment for notes on how to deploy the project on a live system.
Prerequisites
See React Native doc prerequisites
Installing
First, setup environment file :
cp .env.dist .env
Use correct Node version (>= 12) :
nvm use
Then, install dependencies :
yarn install
Start NodeJS development server :
yarn start
And run your Android emulator :
yarn android:run
Built With
- React Native
- React Navigation
- React Native Paper
- React Native Quick Actions
- React Waterfall
- TypeScript
And more.
Android permissions
INTERNET
: Connect to the networkFORGROUND_SERVICE
: used by react-native-music-controlREAD_EXTERNAL_STORAGE
,WRITE_EXTERNAL_STORAGE
andDOWNLOAD_WITHOUT_NOTIFICATION
: for download and save downloaded file
All STORAGE permissions are requested only when you need use them.
Error and performance monitoring
HoloPlay uses an self hosted Sentry instance crash reporting library, disabled by default. This reporting can be enabled and disabled via settings screen.
About Invidious
Invidious is an alternative front-end to YouTube. HoloPlay use all Invidious public instances. All instances are retrieved each time HoloPlay is launched.
Sync your Invidious account
Invidious can be used with or without a user account. If you have a user account on an Invidious instance, you can sync your videos with HoloPlay by adding the API auth token. For example, from the awesome snopyta instance, you can generate token with invidious.snopyta.org/authorize_token?scopes=:*. After generate your token, you can add it on HoloPlay from Settings screen.
Use your private instance
You can add your self hosted Invidious instance from Invidious Instances screen, from de drawler menu.
Invidious API documentations. Invidious Github repo.
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
License
This project is licensed under the MIT.
TODO
- Add video support
- UI for tablet
- Submit on f-droid store
- Adding music on playlist from all screen and player
- Can create playlist from adding music on playlist dialog
- Add popular/trending videos and search screen
- Add i18n with EN and FR translation (EN default language)
- Add update alert
- Adding search type (video, playlists)
- Show playlist on player view
- Settings screen