- no tracking/analytics
- no ads
- watch history
- sub/dub
![image](https://private-user-images.githubusercontent.com/77034153/257080798-8b406d82-6dd1-4aa3-b9c6-3f5be5ef47f1.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjE3MTU2NDIsIm5iZiI6MTcyMTcxNTM0MiwicGF0aCI6Ii83NzAzNDE1My8yNTcwODA3OTgtOGI0MDZkODItNmRkMS00YWEzLWI5YzYtM2Y1YmU1ZWY0N2YxLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MjMlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzIzVDA2MTU0MlomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPThhM2U2MzJiMjQ1NmIxOTcwOGMyZjZmZGEwNjU2N2VhNDkzNzkxZTQ1YWMwYTk5MGMzZDdiN2E3NjA1NWMwYTAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.R61T3LZIRUW0FNk5CbP3XCMN8JjIwdW8MpOJX4ZzjV0)
- Full stack framework: SvelteKit
- ORM: Prisma
- Auth library: Lucia
- Video player: Vidstack
- TypeScript
- TailwindCSS
Video guide: https://youtu.be/w-v5Pm-gcy4
.env
details
PUBLIC_PROXY="url to an instance of https://github.com/Eltik/M3U8-Proxy"
DATABASE_URL="mysql db"
# needed for discord authentication (https://discord.com/developers)
OWNER_ID="discord owner id"
CLIENT_ID="discord app client id"
CLIENT_SECRET="discord app client secret"
REDIRECT_URI="<url where hosted>/oauth/discord"
# if you dont want to use discord auth you can use username+pass auth
OWNER_USERNAME="<account name>"
# you have to then create an account with this username
/whitelist
with an admin account to whitelist other users
- Anify and Eltik
- shadcn-svelte