A desktop application that lets you easily watch your media files stored on Google Drive. Built with Tauri, React, and TypeScript.
- 🔐 Google OAuth Authentication – Secure sign-in with your Google account
- 📁 Google Drive Integration – Direct access to your Drive folders
- 🎬 Video Playback – Watch videos directly inside the application
- 📝 Subtitle Support – Supports SRT and VTT subtitle formats
- 💾 Video Download & Caching – Download videos for offline viewing
- 🎨 Modern UI – Dark theme designed with Tailwind CSS
- 🛡️ Easy Setup – If a
.envfile is not found, the app prompts you on first launch to enter your Google OAuth Client ID and Secret via a setup window and stores them locally. This enables a fast start without requiring technical setup.
- React 19
- TypeScript
- Tailwind CSS 4
- Vite 7
- Tauri 2
- Rust
- SQLite (tauri-plugin-sql)
- Clone the repository:
git clone https://github.com/yigit433/feather-stream.git
cd feather-stream- Install dependencies:
bun install-
Create a new project in the Google Cloud Console and follow these steps:
- Enable Google Drive API under APIs & Services > Library
- Create an OAuth 2.0 Client ID under APIs & Services > Credentials
- Add
http://localhost:8585as a Redirect URI
-
Create a
.envfile and add your Google OAuth credentials:
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secretNote: If you do not create a
.envfile, the application will ask for your Google OAuth Client ID and Secret via a setup window on first launch and store them locally. This allows you to complete the setup without manually managing environment files.
- Run in development mode:
bun run tauri devTo build for production:
bun run tauri buildfeather-stream/
├── src/ # React frontend
│ ├── components/ # React components
│ │ ├── FileBrowser.tsx
│ │ ├── FolderPicker.tsx
│ │ ├── GoogleSignInButton.tsx
│ │ ├── HomeView.tsx
│ │ ├── MediaCard.tsx
│ │ ├── MediaDetail.tsx
│ │ ├── Settings.tsx
│ │ └── VideoPlayer.tsx
│ ├── types/ # TypeScript types
│ ├── App.tsx
│ └── main.tsx
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── auth.rs # Google OAuth logic
│ │ ├── drive.rs # Google Drive API logic
│ │ ├── lib.rs # Tauri commands
│ │ └── main.rs
│ ├── Cargo.toml
│ └── tauri.conf.json
└── package.json
This project is licensed under the MIT License. See the LICENSE file for details.