YouTube, tidied up. A simple, quiet player over YouTube's own: music and video on one screen, no Shorts, and a way back at any time.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
YouTube, tidied up.
RenewTube is a browser extension that replaces the YouTube page with a simple,
TV-like player. YouTube's own player keeps playing and your own account keeps
working; only the screen changes. Turn it off and plain YouTube is back.
It started from one wish: to open YouTube and see a menu, a list and a play
button, not a wall. Music and video in one place, nothing pulling at your
attention, and a way back at any time.
Website and download: https://jshsakura.github.io/renewtube/
Privacy policy: https://jshsakura.github.io/renewtube/privacy.html檢視完整 README ↗YouTube, tidied up.
RenewTube is a browser extension that replaces the YouTube page with a simple, TV-like player. YouTube's own player keeps playing and your own account keeps working; only the screen changes. Turn it off and plain YouTube is back.
It started from one wish: to open YouTube and see a menu, a list and a play button, not a wall. Music and video in one place, nothing pulling at your attention, and a way back at any time.
Website and download: https://jshsakura.github.io/renewtube/ Privacy policy: https://jshsakura.github.io/renewtube/privacy.html
chrome://extensions, turn on Developer mode, choose Load unpacked and
pick the unzipped folder.Press the toolbar icon to switch RenewTube on or off. Inside, Esc twice within a second always leaves, even if something has gone wrong, and if the screen has not appeared within eight seconds the extension steps aside on its own.
Two modes. Music mode keeps the picture out of the way (in a corner, or hidden on a phone) and shows lists as tracks. Video mode puts the picture on stage and shows the same lists as large thumbnails.
A menu you choose. The column follows a YouTube TV's menu, with Music first: Music, Home, Kids, Sports, Live, Gaming, News, Learning, Channels, Subscriptions, History, Queue, Playlists, Your videos. Every line except Music has a switch in Settings, and the TV genres start off. Only what you switch on appears.
Search that helps. Suggestions as you type, recent searches remembered, and results that include playlists and channels alongside videos. Search opens over whatever screen you are on.
A queue and playlists. Add a track, a whole search result or a playlist to the queue; play next; drag to reorder; save the queue as a playlist. Create, fill, reorder and delete your YouTube playlists. Start a radio (YouTube's mix) from any track.
The rest of a player. Playback speed, sleep timer, repeat and shuffle, lyrics, a channel screen for any channel, a history screen that merges what you played here with YouTube's history, theme (auto, light, dark), and links to YouTube's own account and settings pages.
Keyboard and remote. Arrow keys move focus the way a TV remote does on
every screen. Shortcuts: Space or K play/pause, J and L skip ten seconds,
S shuffle, R repeat, V show the picture, M mute, / search, Esc Esc leave.
Phones too. The same screens on m.youtube.com and on Orion for iPhone: a drawer instead of a sidebar, a two-line bar, sheets along the bottom.
Two scripts run on youtube.com. One draws RenewTube's screens inside a shadow
root; the other, in the page's own world, drives YouTube's player and asks the
page's own API (youtubei/v1) for lists, using the page's own session. The
TV genres are asked for as YouTube's TV client, because those feeds answer no
one else. YouTube's DOM is never edited: the page is hidden with CSS and the
player is placed over RenewTube's stage, so leaving is a deletion, not a
restore. The details are in docs/architecture.md.
A pressed track has three possible endings and no fourth: it plays, or the page moves to the video's own address and it plays there, or it is given up and the queue carries on and says so. What that guarantee rests on, and the laboratory of players built to fail that holds it in place, is in docs/playback.md.
Before a release, run the 60-second real-phone check.
npm install
npm run build # → dist/
npm test # builds, then runs the e2e suite against live youtube.com
npm run test:lab # the playback fault matrix; no network, ~4 minutes
npm run check # types only
npm run zip # renewtube.zip from dist/
npm run site # assembles the website the way GitHub Pages does
Releases are tags: release.yml checks that the tag, package.json and the
manifest agree, builds, verifies the package and attaches
renewtube-vX_Y_Z.zip to a GitHub release. The website is built from main.
The store upload is store.yml, run by hand with a tag. The listing copy of
record is docs/store-listing.md.
| Path | What is there |
|---|---|
src/main/ | the player engine, the API and parser, the screens |
src/popup/ | the toolbar switch |
public/ | manifest, icons, locales |
e2e/ | Playwright tests, run against live YouTube with the extension loaded |
site/ | the website and its images |
docs/ | architecture, safety notes, store listing |
RenewTube is an independent project, not affiliated with YouTube or Google. YouTube is a trademark of Google LLC.
GPL-3.0-or-later.