Merge branch 'main' into update/1.8.4
This commit is contained in:
@@ -236,7 +236,7 @@ brew install --cask spotube
|
||||
- Every dependency in [package.json](/materialious/package.json).
|
||||
- [LuanRT](https://github.com/LuanRT) for YouTube.js & SABR implementation.
|
||||
- [FreeTube](https://github.com/FreeTubeApp/FreeTube) for their subtitle fix.
|
||||
- [spotube](https://github.com/KRTirtho/spotube) for using their README layout for local installation.free
|
||||
- [spotube](https://github.com/KRTirtho/spotube) for using their README layout for local installation.
|
||||
|
||||
# Developers
|
||||
- [How Materialious is built](./docs/BUILDING.md)
|
||||
|
||||
@@ -1 +1,26 @@
|
||||
<p><i>Materialious</i> is a client for <a href='https://github.com/iv-org' target='_blank' rel='nofollow noopener'>Invidious</a> using material design. It lets you browse and watch videos, manage playlists and use channels.</p><p><br><b>Features:</b></p><ul><li><a href='https://github.com/Materialious/api-extended' target='_blank' rel='nofollow noopener'>Invidious API extended integration!</a></li><li>Sync your watch progress between Invidious sessions</li><li>Watch sync parties!</li><li>Preview video on hover.</li><li>Sponsorblock built-in.</li><li>Return YouTube dislikes built-in.</li><li>DeArrow built-in (With local processing fallback).</li><li>Video progress tracking & resuming.</li><li>No ads.</li><li>No tracking.</li><li>Light/Dark themes.</li><li>Custom colour themes.</li><li>Integrates with Invidious subscriptions, watch history & more.</li><li>Live stream support.</li><li>Dash support.</li><li>Chapters.</li><li>Audio only mode.</li><li>Playlists.</li><li>PWA support.</li><li>YT path redirects (So your redirect plugins should still work!)</li></ul>
|
||||
<i>Materialious</i> is a client for <a href='https://github.com/iv-org'>Invidious</a> using material design.
|
||||
It lets you browse and watch videos, manage playlists and use channels.
|
||||
|
||||
<b>Features:</b>
|
||||
<ul>
|
||||
<li><a href='https://github.com/Materialious/api-extended'>Invidious API extended integration!</a></li>
|
||||
<li>Sync your watch progress between Invidious sessions</li>
|
||||
<li>Watch sync parties!</li>
|
||||
<li>Preview video on hover.</li>
|
||||
<li>Sponsorblock built-in.</li>
|
||||
<li>Return YouTube dislikes built-in.</li>
|
||||
<li>DeArrow built-in (With local processing fallback).</li>
|
||||
<li>Video progress tracking & resuming.</li>
|
||||
<li>No ads.</li>
|
||||
<li>No tracking.</li>
|
||||
<li>Light and dark themes.</li>
|
||||
<li>Custom colour themes.</li>
|
||||
<li>Integrates with Invidious subscriptions, watch history & more.</li>
|
||||
<li>Live stream support.</li>
|
||||
<li>Dash support.</li>
|
||||
<li>Chapters.</li>
|
||||
<li>Audio only mode.</li>
|
||||
<li>Playlists.</li>
|
||||
<li>PWA support.</li>
|
||||
<li>YT path redirects (So your redirect plugins should still work!)</li>
|
||||
</ul>
|
||||
|
||||
@@ -53,26 +53,10 @@
|
||||
<content_attribute id="social-contacts">intense</content_attribute>
|
||||
</content_rating>
|
||||
<releases>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<release version="1.8.4" date="2025-5-29">
|
||||
<release version="1.8.4" date="2025-5-05">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.8.4</url>
|
||||
</release>
|
||||
<release version="1.8.3" date="2025-5-05">
|
||||
<release version="1.8.3" date="2025-5-05">
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.8.3</url>
|
||||
</release>
|
||||
<release version="1.8.2" date="2025-5-04">
|
||||
@@ -127,4 +111,4 @@
|
||||
<url>https://github.com/Materialious/Materialious/releases/tag/1.6.18</url>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
||||
</component>
|
||||
|
||||
@@ -44,4 +44,4 @@
|
||||
"capacitor",
|
||||
"electron"
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -71,4 +71,4 @@
|
||||
"terser": "^5.34.1",
|
||||
"youtubei.js": "^13.4.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -29,23 +29,21 @@ export async function patchYoutubeJs(videoId: string): Promise<VideoPlay> {
|
||||
enable_session_cache: false
|
||||
});
|
||||
|
||||
if (!get(poTokenCacheStore)) {
|
||||
const visitorData = youtube.session.context.client.visitorData ?? '';
|
||||
const visitorData = youtube.session.context.client.visitorData ?? '';
|
||||
|
||||
const requestKey = 'O43z0dpjhgX20SCx4KAo';
|
||||
const challengeResponse = await youtube.getAttestationChallenge('ENGAGEMENT_TYPE_UNBOUND');
|
||||
const requestKey = 'O43z0dpjhgX20SCx4KAo';
|
||||
const challengeResponse = await youtube.getAttestationChallenge('ENGAGEMENT_TYPE_UNBOUND');
|
||||
|
||||
if (!challengeResponse.bg_challenge) throw new Error('Could not get challenge');
|
||||
if (!challengeResponse.bg_challenge) throw new Error('Could not get challenge');
|
||||
|
||||
const platformMinter =
|
||||
Capacitor.getPlatform() === 'android'
|
||||
? androidPoTokenMinter
|
||||
: window.electronAPI.generatePoToken;
|
||||
const platformMinter =
|
||||
Capacitor.getPlatform() === 'android'
|
||||
? androidPoTokenMinter
|
||||
: window.electronAPI.generatePoToken;
|
||||
|
||||
poTokenCacheStore.set(
|
||||
await platformMinter(challengeResponse.bg_challenge, requestKey, visitorData)
|
||||
);
|
||||
}
|
||||
poTokenCacheStore.set(
|
||||
await platformMinter(challengeResponse.bg_challenge, requestKey, visitorData)
|
||||
);
|
||||
|
||||
const extraArgs: Record<string, any> = {
|
||||
playbackContext: {
|
||||
|
||||
Reference in New Issue
Block a user