MCPcopy Index your code
hub / github.com/ViewTube/viewtube

github.com/ViewTube/viewtube @v0.17.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.17.0 ↗ · + Follow
1,381 symbols 2,349 edges 303 files 3 documented · 0%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ViewTube

Github Actions Status Github Actions Status Daily Tests Status Docker Image Size (tag) GitHub last commit

ViewTube is an alternative YouTube frontend that lets you watch, search and discover YouTube videos without ads or tracking. It's built to be mobile and desktop friendly, with dark and light themes, and a touch-friendly video player with gestures. You can create an account separately from YouTube, read comments, watch playlists, subscribe to channels and receive push notifications for new uploads.
It's built using Nuxt and Nest.

[!NOTE] You can find the documentation at viewtube.wiki.
Check uptime.viewtube.io for updates and downtime status.

Features

  • Watch videos without ads or tracking
  • Built from the ground up to be mobile and desktop friendly
  • Dark and light themes
  • Touch friendly video player with gestures
  • Supports loop, speed, autoplay and volume
  • Create an account separately from Youtube
  • Read comments
  • Search for videos
  • Watch playlists
  • Subscribe to channels and see their latest uploads
  • Receive push notifications for subscribed channels
  • Integrated SponsorBlock support

Where does ViewTube get the data from?

ViewTube does not use the official Youtube API. It instead scrapes the data from the website using a combination of custom built tools and the following open source libraries.

Screenshots

Homepage

Screenshot-Homepage

Video

Screenshot-Video

Channel

Screenshot-Channel

Host it yourself

A comprehensive installation guide is available in the wiki

Development setup

Check out the wiki for a guide on how to set up the development environment.

Contributors

Thanks goes to these wonderful people

emoji reference

cyacedev cyacedev 💻 📖 Vendrix Vendrix 💻 Mennaruuk Mennaruuk 📖 Missu Missu 📖 beardeddude beardeddude 💻 Matt Fellenz Matt Fellenz 💻 Misir Misir 💻
Alvan Rahimli Alvan Rahimli 💻 Dominik Szymański Dominik Szymański 💻 Quentin Franchi Quentin Franchi 💻 frozenduck frozenduck 💻 Patric Gruber Patric Gruber 💻 📖

Extension points exported contracts — how you extend this code

ChannelInfoError (Interface)
(no doc) [1 implementers]
server/src/core/channels/yt-channel-info/app/types.ts
PageMeta (Interface)
(no doc)
client/nuxt.d.ts
CaptchaResponse (Interface)
(no doc)
client/app/store/captcha.ts
paths (Interface)
(no doc)
shared/src/api.schema.ts
ChannelCommunityPostsContinuationResponse (Interface)
(no doc) [1 implementers]
server/src/core/channels/yt-channel-info/app/types.ts
Representation (Interface)
(no doc)
client/app/interfaces/VideoState.ts
components (Interface)
(no doc)
shared/src/api.schema.ts
ChannelCommunityPostsResponse (Interface)
(no doc) [1 implementers]
server/src/core/channels/yt-channel-info/app/types.ts

Core symbols most depended-on inside this repo

useApiUrl
called by 47
client/app/composables/apiUrl.ts
useVtFetch
called by 34
client/app/composables/vtFetch.ts
vtFetch
called by 30
client/app/composables/vtFetch.ts
create
called by 19
server/src/core/channels/yt-channel-info/app/YoutubeGrabberHelper.ts
parseShortenedNumber
called by 15
server/src/mapper/utils/shortened-number.ts
checkParams
called by 14
server/src/core/channels/channels.helper.ts
throwChannelError
called by 13
server/src/core/channels/channels.helper.ts
parseVideo
called by 12
server/src/core/channels/yt-channel-info/app/YoutubeGrabberHelper.ts

Shape

Interface 438
Class 336
Function 312
Method 292
Enum 3

Languages

TypeScript100%

Modules by API surface

server/src/mapper/converter/search/search-source-approximation.ts250 symbols
server/src/mapper/converter/video-info/video-info-source-approximation.ts146 symbols
server/src/core/channels/yt-channel-info/app/types.ts28 symbols
server/src/mapper/converter/video-info/vt-video-info.extractors.ts27 symbols
server/src/core/channels/yt-channel-info/app/YoutubeGrabberHelper.ts25 symbols
client/app/utils/webVTTParser.ts24 symbols
client/app/utils/videoplayer/adapters/rxPlayerAdapter.ts22 symbols
server/src/core/channels/channels.controller.ts19 symbols
server/src/core/channels/channels.service.ts18 symbols
client/app/utils/videoplayer/adapters/hlsAdapter.ts18 symbols
server/src/user/user.service.ts17 symbols
server/src/user/subscriptions/subscriptions.service.ts17 symbols

Datastores touched

(mongodb)Database · 1 repos

For agents

$ claude mcp add viewtube \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact