mirror of
https://github.com/ajayyy/SponsorBlock.git
synced 2025-12-07 03:57:09 +03:00
Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
167cff4693 | ||
|
|
99c343c2ce | ||
|
|
70239bc045 | ||
|
|
d1748f1758 | ||
|
|
ac3d27bf88 | ||
|
|
3fb5c1c14f | ||
|
|
b1d9cde715 | ||
|
|
aa8225c196 |
4
.github/workflows/release.yml
vendored
4
.github/workflows/release.yml
vendored
@@ -72,8 +72,8 @@ jobs:
|
|||||||
run: sudo apt-get install rename
|
run: sudo apt-get install rename
|
||||||
- name: Install signed file
|
- name: Install signed file
|
||||||
run: cd ./web-ext-artifacts
|
run: cd ./web-ext-artifacts
|
||||||
run: rename 's/.*/FirefoxSignedInstaller.xpi/' *
|
- run: rename 's/.*/FirefoxSignedInstaller.xpi/' *
|
||||||
run: cd ..
|
- run: cd ..
|
||||||
- uses: actions/upload-artifact@v1
|
- uses: actions/upload-artifact@v1
|
||||||
with:
|
with:
|
||||||
name: FirefoxExtensionSigned.xpi
|
name: FirefoxExtensionSigned.xpi
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"name": "__MSG_fullName__",
|
"name": "__MSG_fullName__",
|
||||||
"short_name": "__MSG_Name__",
|
"short_name": "__MSG_Name__",
|
||||||
"version": "1.2.28",
|
"version": "1.2.28.1",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"description": "__MSG_Description__",
|
"description": "__MSG_Description__",
|
||||||
"content_scripts": [{
|
"content_scripts": [{
|
||||||
|
|||||||
@@ -350,9 +350,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Unterstütze Invidious"
|
"message": "Unterstütze Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) ist ein Drittanbieter-YouTube-Client. Um Unterstützung zu aktivieren, müssen Sie die zusätzlichen Berechtigungen akzeptieren. Dies funktioniert NICHT im Incongnito-modus auf Chrome und anderen Chromium-Varianten."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Invidious Support aktivieren, Autoskip deaktivieren, Tasten ausblenden und vieles mehr."
|
"message": "Invidious Support aktivieren, Autoskip deaktivieren, Tasten ausblenden und vieles mehr."
|
||||||
},
|
},
|
||||||
@@ -489,21 +486,9 @@
|
|||||||
"category_sponsor": {
|
"category_sponsor": {
|
||||||
"message": "Sponsor"
|
"message": "Sponsor"
|
||||||
},
|
},
|
||||||
"category_intro": {
|
|
||||||
"message": "Intro"
|
|
||||||
},
|
|
||||||
"category_outro": {
|
|
||||||
"message": "Outro"
|
|
||||||
},
|
|
||||||
"category_interaction": {
|
|
||||||
"message": "Interaktion (Überflüssiges Liked, Abonniert, Folgt, usw.)"
|
|
||||||
},
|
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "Eigenwerbung und Merchandise"
|
"message": "Eigenwerbung und Merchandise"
|
||||||
},
|
},
|
||||||
"category_offtopic": {
|
|
||||||
"message": "Vom Thema Abweichende Tangente (Subjektiv)"
|
|
||||||
},
|
|
||||||
"disable": {
|
"disable": {
|
||||||
"message": "Deaktivieren"
|
"message": "Deaktivieren"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -350,9 +350,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Soutenir Invidious"
|
"message": "Soutenir Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) est un client YouTube tiers. Pour l'activer, vous devez accepter les autorisations supplémentaires. Cela ne fonctionne PAS en mode incongnito sur Chrome et d'autres variantes de Chromium."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Activer Invidious, désactiver le passage automatique, masquer les boutons et plus encore."
|
"message": "Activer Invidious, désactiver le passage automatique, masquer les boutons et plus encore."
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -337,9 +337,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Wesprzyj Invidious"
|
"message": "Wesprzyj Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) to nieoficjalny klient YouTube. Aby go wesprzeć musisz przyznać dodatkowe uprawnienia rozszerzeniowi. Ta opcja nie działa w incognito i innych wersjach Chromium."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Wesprzyj Invidious, wyłącz auto przewijanie, ukryj guziki i więcej."
|
"message": "Wesprzyj Invidious, wyłącz auto przewijanie, ukryj guziki i więcej."
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -331,9 +331,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Поддержка Invidious"
|
"message": "Поддержка Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) — это неофициальный клиент YouTube. Чтобы включить поддержку, Вам понадобится принять дополнительные разрешения. Это НЕ работает в приватном режиме в Chrome и других вариантах Chromium."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Включить поддержку Invidious, выключить автоматический пропуск, скрыть кнопки и не только."
|
"message": "Включить поддержку Invidious, выключить автоматический пропуск, скрыть кнопки и не только."
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -127,9 +127,6 @@
|
|||||||
"category_sponsor": {
|
"category_sponsor": {
|
||||||
"message": "Sponzor"
|
"message": "Sponzor"
|
||||||
},
|
},
|
||||||
"category_intro": {
|
|
||||||
"message": "Úvod"
|
|
||||||
},
|
|
||||||
"disable": {
|
"disable": {
|
||||||
"message": "Zakázať"
|
"message": "Zakázať"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -340,9 +340,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Stöd Invidious"
|
"message": "Stöd Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) är en tredjeparts YouTubeklient. För att aktivera stöd måste du acceptera de utökade rättigheterna. Detta kommer INTE att funka i incognito i Chrome och andra Cromium-varianter."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Aktivera Invidious stöd, avaktivera hoppa över automatiskt, dölj knappar och mer."
|
"message": "Aktivera Invidious stöd, avaktivera hoppa över automatiskt, dölj knappar och mer."
|
||||||
},
|
},
|
||||||
@@ -479,15 +476,9 @@
|
|||||||
"category_sponsor": {
|
"category_sponsor": {
|
||||||
"message": "Sponsormeddelande"
|
"message": "Sponsormeddelande"
|
||||||
},
|
},
|
||||||
"category_interaction": {
|
|
||||||
"message": "Interaktion (Redundant Gilla, Prenumerera, Följ, etc.)"
|
|
||||||
},
|
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "Självreklam och egna produkter"
|
"message": "Självreklam och egna produkter"
|
||||||
},
|
},
|
||||||
"category_offtopic": {
|
|
||||||
"message": "Orelevant tangent (Subjektivt)"
|
|
||||||
},
|
|
||||||
"disable": {
|
"disable": {
|
||||||
"message": "Avaktivera"
|
"message": "Avaktivera"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -490,19 +490,22 @@
|
|||||||
"message": "Sponsor"
|
"message": "Sponsor"
|
||||||
},
|
},
|
||||||
"category_intro": {
|
"category_intro": {
|
||||||
"message": "Başlangıç"
|
"message": "Giriş Animasyonu"
|
||||||
},
|
},
|
||||||
"category_outro": {
|
"category_outro": {
|
||||||
"message": "Bitiş"
|
"message": "Bitiş Ekranı/Jenerik"
|
||||||
},
|
},
|
||||||
"category_interaction": {
|
"category_interaction": {
|
||||||
"message": "Etkileşim (Beğeni, abone olma, takip etme gibi gereksiz)"
|
"message": "Etkileşim Hatırlatıcısı (Abonelik)"
|
||||||
},
|
},
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "Kendi Reklamını Yapma ve Ürün"
|
"message": "Kendi Reklamını Yapma ve Ürün"
|
||||||
},
|
},
|
||||||
"category_offtopic": {
|
"category_music_offtopic": {
|
||||||
"message": "Konudışı (Öznel)"
|
"message": "Müzik: Müzik Olmayan Bölüm"
|
||||||
|
},
|
||||||
|
"category_livestream_messages": {
|
||||||
|
"message": "Canlı Yayın: Bağış/Mesaj Okuma"
|
||||||
},
|
},
|
||||||
"disable": {
|
"disable": {
|
||||||
"message": "Devredışı"
|
"message": "Devredışı"
|
||||||
@@ -554,5 +557,14 @@
|
|||||||
},
|
},
|
||||||
"forceChannelCheckPopup": {
|
"forceChannelCheckPopup": {
|
||||||
"message": "Sponsorları Atlamadan Önce Kanal Kontrolünü Zorlamayı Gözden Geçir"
|
"message": "Sponsorları Atlamadan Önce Kanal Kontrolünü Zorlamayı Gözden Geçir"
|
||||||
|
},
|
||||||
|
"downvoteDescription": {
|
||||||
|
"message": "Hatalı"
|
||||||
|
},
|
||||||
|
"incorrectCategory": {
|
||||||
|
"message": "Yanlış Kategori"
|
||||||
|
},
|
||||||
|
"nonMusicCategoryOnMusic": {
|
||||||
|
"message": "Bu videonun kategorisi müzik olarak belirlenmiş. Müzik içermeyen bölümleri göndermek istediğinize emin misiniz? Eğer bu bir müzik videosu değilse, bu bölümleri göndermemelisiniz. Eğer ayırt edemiyorsanız, lütfen rehberi okuyunuz."
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -335,9 +335,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "Підтримка Invidious"
|
"message": "Підтримка Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) - це неофіційний клієнт YouTube. Щоб увімкнути підтримку, Вам знадобиться прийняти додаткові дозволи. Це НЕ працює в приватному режимі в Chrome і інших варіантах Chromium."
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "Увімкнути підтримку Invidious, вимкнути автоматичний пропуск, приховати кнопки і не тільки."
|
"message": "Увімкнути підтримку Invidious, вимкнути автоматичний пропуск, приховати кнопки і не тільки."
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -350,9 +350,6 @@
|
|||||||
"supportInvidious": {
|
"supportInvidious": {
|
||||||
"message": "支持 Invidious"
|
"message": "支持 Invidious"
|
||||||
},
|
},
|
||||||
"supportInvidiousDescription": {
|
|
||||||
"message": "Invidious (invidio.us) 是一个第三方 Youtube 客户端。要启用支持,您必须允许额外的权限。在 Chrome 及其他 Chromium 变种的匿名模式中无法工作。"
|
|
||||||
},
|
|
||||||
"optionsInfo": {
|
"optionsInfo": {
|
||||||
"message": "启用 Invidious 支持,禁用自动跳过,隐藏按钮等等。"
|
"message": "启用 Invidious 支持,禁用自动跳过,隐藏按钮等等。"
|
||||||
},
|
},
|
||||||
@@ -489,21 +486,9 @@
|
|||||||
"category_sponsor": {
|
"category_sponsor": {
|
||||||
"message": "赞助商广告"
|
"message": "赞助商广告"
|
||||||
},
|
},
|
||||||
"category_intro": {
|
|
||||||
"message": "开头"
|
|
||||||
},
|
|
||||||
"category_outro": {
|
|
||||||
"message": "结尾"
|
|
||||||
},
|
|
||||||
"category_interaction": {
|
|
||||||
"message": "互动(重复多次提醒您点击喜欢,订阅,关注等)"
|
|
||||||
},
|
|
||||||
"category_selfpromo": {
|
"category_selfpromo": {
|
||||||
"message": "自我推销和商品"
|
"message": "自我推销和商品"
|
||||||
},
|
},
|
||||||
"category_offtopic": {
|
|
||||||
"message": "离题(主观的)"
|
|
||||||
},
|
|
||||||
"disable": {
|
"disable": {
|
||||||
"message": "禁用"
|
"message": "禁用"
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ class SponsorTimeEditComponent extends React.Component<SponsorTimeEditProps, Spo
|
|||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
if (this.configUpdateListener) {
|
if (this.configUpdateListener) {
|
||||||
Config.configListeners.splice(Config.configListeners.indexOf(this.configUpdate.bind(this)));
|
Config.configListeners.splice(Config.configListeners.indexOf(this.configUpdate.bind(this)), 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -281,6 +281,16 @@ async function migrateOldFormats() {
|
|||||||
|
|
||||||
Config.config.whitelistedChannels = newChannelList;
|
Config.config.whitelistedChannels = newChannelList;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Check if off-topic category needs to be removed
|
||||||
|
for (let i = 0; i < Config.config.categorySelections.length; i++) {
|
||||||
|
if (Config.config.categorySelections[i].name === "offtopic") {
|
||||||
|
Config.config.categorySelections.splice(i, 1);
|
||||||
|
// Call set listener
|
||||||
|
Config.config.categorySelections = Config.config.categorySelections;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function setupConfig() {
|
async function setupConfig() {
|
||||||
|
|||||||
@@ -1130,13 +1130,16 @@ function getRoughCurrentTime(): number {
|
|||||||
let htmlCurrentTimeString = document.querySelector(".ytp-time-current").textContent;
|
let htmlCurrentTimeString = document.querySelector(".ytp-time-current").textContent;
|
||||||
let htmlDurationString = document.querySelector(".ytp-time-duration").textContent;
|
let htmlDurationString = document.querySelector(".ytp-time-duration").textContent;
|
||||||
|
|
||||||
// Used to check if endscreen content is visible
|
if (htmlCurrentTimeString == htmlDurationString) {
|
||||||
let endScreenContent = document.querySelector(".ytp-endscreen-content");
|
// At the end of the video
|
||||||
// Used to check autoplay display
|
return video.duration;
|
||||||
let autoPlayDisplay: HTMLDivElement = document.querySelector(".ytp-upnext");
|
}
|
||||||
|
|
||||||
if (htmlCurrentTimeString == htmlDurationString
|
// Used to check if replay button
|
||||||
|| endScreenContent.childElementCount > 0 || autoPlayDisplay.style.display !== "none") {
|
let playButtonSVGData = document.querySelector("ytp-play-button")?.querySelector("ytp-svg-fill")?.getAttribute("d");
|
||||||
|
let replaceSVGData = "M 18,11 V 7 l -5,5 5,5 v -4 c 3.3,0 6,2.7 6,6 0,3.3 -2.7,6 -6,6 -3.3,0 -6,-2.7 -6,-6 h -2 c 0,4.4 3.6,8 8,8 4.4,0 8,-3.6 8,-8 0,-4.4 -3.6,-8 -8,-8 z";
|
||||||
|
|
||||||
|
if (playButtonSVGData === replaceSVGData) {
|
||||||
// At the end of the video
|
// At the end of the video
|
||||||
return video.duration;
|
return video.duration;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user