It is a minimalist desktop app to view YouTube videos without the recommendations, comments, or promotions. Just a pure video-viewing experience.
go install github.com/wailsapp/wails/v2/cmd/wails@latest)Before running the application, you need to set up OAuth2 credentials with Google:
http://localhost:8090client_secret.jsonclient_secret.json.example and fill in your credentialsThe file should have this structure:
{
"web": {
"client_id": "YOUR_CLIENT_ID.apps.googleusercontent.com",
"project_id": "your-project-id",
"auth_uri": "https://accounts.google.com/o/oauth2/auth",
"token_uri": "https://oauth2.googleapis.com/token",
"auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
"client_secret": "YOUR_CLIENT_SECRET",
"redirect_uris": ["http://localhost:8090"]
}
}
When you run the app for the first time:
~/.credentials/youtube-go.jsonTo run in live development mode, run wails dev in the project directory. This will launch a Vite development server, providing very fast hot reloads for your frontend changes. If you want to develop in a browser and access your Go methods, there is also a dev server available at http://localhost:34115. Connect to this in your browser, and you can call your Go code from the devtools.
# Install dependencies
cd frontend
npm install
cd ..
# Run in development mode
wails dev
To build a redistributable, production mode package:
wails build
The executable will be in the build/bin directory.
# For Linux
wails build
# For Windows (cross-compile from Linux/Mac)
GOOS=windows GOARCH=amd64 wails build
# For macOS (on Mac only)
wails build -platform darwin/universal
You can paste any YouTube URL format:
https://www.youtube.com/watch?v=VIDEO_IDhttps://youtu.be/VIDEO_IDhttps://www.youtube.com/embed/VIDEO_IDhttps://www.youtube.com/shorts/VIDEO_IDThe app will automatically extract the video ID and play it.
Escape - Close video player or settings modalEnter - Submit search (when in search box)Cause: The client_secret.json file is missing or in the wrong location.
Solution:
client_secret.json is in the same directory as the executableclient_secret.json (not .txt or other extension)Cause: Platform-specific browser opening might fail.
Solution:
Possible causes:
~/.credentials/youtube-go.json and re-authenticate)Solution:
YouTube Data API has a quota of 10,000 units per day for free tier:
If you exceed the quota, you'll need to wait 24 hours or upgrade to a paid plan in Google Cloud Console.
~/.credentials/youtube-go.jsonContributions are welcome! Please feel free to submit issues or pull requests.
This project is open source and available under the MIT License.
This project is not made by Google or YouTube, and it is not an alternative to YouTube. It is simply an app for people who want to keep using YouTube without getting distracted or addicted, like I did.