Installation
There is no Chrome Web Store listing. The extension is loaded unpacked from a local checkout, which also means there is no build step, no bundler, and no dependencies to install for the extension itself.
Requirements
Section titled “Requirements”- A Chromium-based browser with Manifest V3 support (Chrome, Edge, Brave, Vivaldi)
- A CyTube channel you can add media to
- Nothing else - the extension is plain JavaScript, HTML, and CSS
Load the extension
Section titled “Load the extension”-
Clone or download the repository:
Terminal window git clone https://github.com/rennerdo30/send-to-cytube.git -
Open
chrome://extensionsin your browser. -
Enable Developer mode using the toggle in the top-right corner.
-
Click Load unpacked.
-
Select the repository root - the folder containing
manifest.json. -
The
Send to CyTubeaction icon appears in the toolbar, and a floating button appears the next time you open a YouTube watch page.
Grant site access to your CyTube host
Section titled “Grant site access to your CyTube host”The manifest declares no CyTube host up front. Instead it declares
optional_host_permissions for http://*/* and https://*/*, and the extension asks
for exactly one origin at a time - the origin of the tab you targeted.
The first time you send to a given CyTube host, Chrome shows a site-access prompt. Accept it once per host and it is remembered.
What the extension declares
Section titled “What the extension declares”From manifest.json:
| Field | Value |
|---|---|
manifest_version |
3 |
permissions |
storage, tabs, scripting, contextMenus |
optional_host_permissions |
http://*/*, https://*/* |
content_scripts |
youtube-page.js + youtube-page.css on YouTube origins, document_idle |
background |
background.js as a service worker |
action |
popup.html |
tabs is needed to enumerate open tabs and read their titles and URLs so candidate
CyTube tabs can be listed. scripting performs the one-shot injection into the target
tab. storage keeps your three saved defaults in chrome.storage.sync.
Install the SponsorBlock channel script
Section titled “Install the SponsorBlock channel script”This part is independent of the extension. It is CyTube channel JS and runs for every viewer in the channel who has channel JS enabled.
-
Open your channel on
cytu.be. -
Go to Channel Settings.
-
Open the admin/customization section that holds the channel JS field.
-
Paste the full contents of
cytube-sponsorblock.js. -
Save, then refresh the channel page.
A small status pill appears on the page once it is running. See the SponsorBlock guide for what it does and where it stops short.
Documentation site
Section titled “Documentation site”The docs you are reading live in docs/ and are built with Astro Starlight.
npm run install:docsnpm run dev # local previewnpm run build # static output in docs/distcd docsnpm installnpm run devnpm run build