Skip to content

Commit

Permalink
merge1.33.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mneunomne committed Mar 9, 2021
2 parents 04689a0 + 28b25f5 commit 7e35604
Show file tree
Hide file tree
Showing 68 changed files with 4,218 additions and 1,272 deletions.
140 changes: 86 additions & 54 deletions assets/resources/scriptlets.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,40 +468,40 @@
// to match all.
// delayMatcher
// The delay matcher, an integer, defaults to 1000.
// Use `*` to match any delay.
// boostRatio - The delay multiplier when there is a match, 0.5 speeds up by
// 2 times and 2 slows down by 2 times, defaults to 0.05 or speed up
// 20 times. Speed up and down both cap at 50 times.
/// nano-setInterval-booster.js
/// alias nano-sib.js
(function() {
let needle = '{{1}}';
let delay = parseInt('{{2}}', 10);
let boost = parseFloat('{{3}}');
if ( needle === '' || needle === '{{1}}' ) {
needle = '.?';
} else if ( needle.charAt(0) === '/' && needle.slice(-1) === '/' ) {
needle = needle.slice(1, -1);
let needleArg = '{{1}}';
if ( needleArg === '{{1}}' ) { needleArg = ''; }
let delayArg = '{{2}}';
if ( delayArg === '{{2}}' ) { delayArg = ''; }
let boostArg = '{{3}}';
if ( boostArg === '{{3}}' ) { boostArg = ''; }
if ( needleArg === '' ) {
needleArg = '.?';
} else if ( needleArg.charAt(0) === '/' && needleArg.slice(-1) === '/' ) {
needleArg = needleArg.slice(1, -1);
} else {
needle = needle.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
needle = new RegExp(needle);
if ( isNaN(delay) || !isFinite(delay) ) {
delay = 1000;
}
if ( isNaN(boost) || !isFinite(boost) ) {
boost = 0.05;
}
if ( boost < 0.02 ) {
boost = 0.02;
}
if ( boost > 50 ) {
boost = 50;
needleArg = needleArg.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
window.setInterval = new Proxy(window.setInterval, {
const reNeedle = new RegExp(needleArg);
let delay = delayArg !== '*' ? parseInt(delayArg, 10) : -1;
if ( isNaN(delay) || isFinite(delay) === false ) { delay = 1000; }
let boost = parseFloat(boostArg);
boost = isNaN(boost) === false && isFinite(boost)
? Math.min(Math.max(boost, 0.02), 50)
: 0.05;
self.setInterval = new Proxy(self.setInterval, {
apply: function(target, thisArg, args) {
const a = args[0];
const b = args[1];
if ( b === delay && needle.test(a.toString()) ) {
const [ a, b ] = args;
if (
(delay === -1 || b === delay) &&
reNeedle.test(a.toString())
) {
args[1] = b * boost;
}
return target.apply(thisArg, args);
Expand All @@ -519,40 +519,40 @@
// to match all.
// delayMatcher
// The delay matcher, an integer, defaults to 1000.
// Use `*` to match any delay.
// boostRatio - The delay multiplier when there is a match, 0.5 speeds up by
// 2 times and 2 slows down by 2 times, defaults to 0.05 or speed up
// 20 times. Speed up and down both cap at 50 times.
/// nano-setTimeout-booster.js
/// alias nano-stb.js
(function() {
let needle = '{{1}}';
let delay = parseInt('{{2}}', 10);
let boost = parseFloat('{{3}}');
if ( needle === '' || needle === '{{1}}' ) {
needle = '.?';
} else if ( needle.startsWith('/') && needle.endsWith('/') ) {
needle = needle.slice(1, -1);
let needleArg = '{{1}}';
if ( needleArg === '{{1}}' ) { needleArg = ''; }
let delayArg = '{{2}}';
if ( delayArg === '{{2}}' ) { delayArg = ''; }
let boostArg = '{{3}}';
if ( boostArg === '{{3}}' ) { boostArg = ''; }
if ( needleArg === '' ) {
needleArg = '.?';
} else if ( needleArg.charAt(0) === '/' && needleArg.slice(-1) === '/' ) {
needleArg = needleArg.slice(1, -1);
} else {
needle = needle.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
needle = new RegExp(needle);
if ( isNaN(delay) || !isFinite(delay) ) {
delay = 1000;
}
if ( isNaN(boost) || !isFinite(boost) ) {
boost = 0.05;
}
if ( boost < 0.02 ) {
boost = 0.02;
needleArg = needleArg.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
}
if ( boost > 50 ) {
boost = 50;
}
window.setTimeout = new Proxy(window.setTimeout, {
const reNeedle = new RegExp(needleArg);
let delay = delayArg !== '*' ? parseInt(delayArg, 10) : -1;
if ( isNaN(delay) || isFinite(delay) === false ) { delay = 1000; }
let boost = parseFloat(boostArg);
boost = isNaN(boost) === false && isFinite(boost)
? Math.min(Math.max(boost, 0.02), 50)
: 0.05;
self.setTimeout = new Proxy(self.setTimeout, {
apply: function(target, thisArg, args) {
const a = args[0];
const b = args[1];
if ( b === delay && needle.test(a.toString()) ) {
const [ a, b ] = args;
if (
(delay === -1 || b === delay) &&
reNeedle.test(a.toString())
) {
args[1] = b * boost;
}
return target.apply(thisArg, args);
Expand Down Expand Up @@ -665,7 +665,10 @@
if ( selector === '' || selector === '{{2}}' ) {
selector = `[${tokens.join('],[')}]`;
}
const rmattr = function() {
let behavior = '{{3}}';
let timer;
const rmattr = ( ) => {
timer = undefined;
try {
const nodes = document.querySelectorAll(selector);
for ( const node of nodes ) {
Expand All @@ -676,10 +679,39 @@
} catch(ex) {
}
};
if ( document.readyState === 'loading' ) {
window.addEventListener('DOMContentLoaded', rmattr, { once: true });
} else {
const mutationHandler = mutations => {
if ( timer !== undefined ) { return; }
let skip = true;
for ( let i = 0; i < mutations.length && skip; i++ ) {
const { type, addedNodes, removedNodes } = mutations[i];
if ( type === 'attributes' ) { skip = false; }
for ( let j = 0; j < addedNodes.length && skip; j++ ) {
if ( addedNodes[j].nodeType === 1 ) { skip = false; break; }
}
for ( let j = 0; j < removedNodes.length && skip; j++ ) {
if ( removedNodes[j].nodeType === 1 ) { skip = false; break; }
}
}
if ( skip ) { return; }
timer = self.requestIdleCallback(rmattr, { timeout: 67 });
};
const start = ( ) => {
rmattr();
if ( /\bstay\b/.test(behavior) === false ) { return; }
const observer = new MutationObserver(mutationHandler);
observer.observe(document.documentElement, {
attributes: true,
attributeFilter: tokens,
childList: true,
subtree: true,
});
};
if ( document.readyState !== 'complete' && /\bcomplete\b/.test(behavior) ) {
self.addEventListener('load', start, { once: true });
} else if ( document.readyState === 'loading' ) {
self.addEventListener('DOMContentLoaded', start, { once: true });
} else {
start();
}
})();

Expand Down
49 changes: 49 additions & 0 deletions dist/description/description-he.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
חוסם יעיל: חותמת נמוכה של המעבד והזיכרון, ועדיין יכול לטעון ולאפשר אלפי מסננים יותר מאשר חוסמים פופולריים אחרים.

סקירה כוללת על היעילות שלו: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared

שימוש: לחצן ההפעלה הגדול בחלון הפופאפ הוא בשביל לבטל/להפעיל את uBlock עבור האתר הנוכחי. הוא חל על האתר הנוכחי בלבד, זהו לא לחצן הפעלה גלובלי.

***

גמיש, יותר מ "חוסם פרסומות": הוא יכול גם לקרוא וליצור מסננים מקבצי hosts.

היישר מהקופסה, רשימות המסננים הללו נטענות ומאופשרות:

- EasyList
- Peter Lowe’s Ad server list
- EasyPrivacy
- Malware domains

רשימות נוספות אלו זמינות לבחירתך אם תרצה:

- Fanboy’s Enhanced Tracking List
- Dan Pollock’s hosts file
- hpHosts’s Ad and tracking servers
- MVPS HOSTS
- Spam404
- ועוד רבים אחרים

כמובן שככל שכמות מסננים גדולה יותר מופעלת, ככה גם חתימת הזיכרון גדולה יותר. ובכל זאת, אפילו לאחר הוספת שתי הרשימות הנוספות של Fanboy ו hpHosts’s Ad and tracking servers, ל uBlock עדיין יש חתימת זיכרון נמוכה יותר מלחוסמים פופולריים אחרים שם בחוץ.

כמו כן, תהיה מודע שבחירה של חלק מהרשימות הנוספות הללו עלולה להוביל בסבירות גבוהה לשבירה של אתרי אינטרנט -- במיוחד הרשימות אשר בדרך כלל משומשות כקובץ hosts.

***

ללא רשימות מסננים מוגדרים מראש, תוסף זה לא שווה כלום. אז אם אי פעם תרצה באמת לתרום משהו, תחשוב על האנשים שעובדים לילות כימים כדי לתחזק את רשימות המסננים שאתה משתמש בהן, אשר הובאו לשימוש על ידי כולם ללא כל תשלום.

***

תוכנה חופשית.
קוד פתוח עם רשיון ציבורי (GPLv3)
בשביל המשתמשים על ידי המשתמשים.

תורמים @ Github: https://github.com/gorhill/uBlock/graphs/contributors
תורמים @ Crowdin: https://crowdin.net/project/ublock

***

קח בחשבון שזוהי גרסה מוקדמת בזמן הסקירה שלך.

רשימת השינויים של הפרויקט:
https://github.com/gorhill/uBlock/releases
44 changes: 21 additions & 23 deletions dist/description/description-hy.txt
Original file line number Diff line number Diff line change
@@ -1,49 +1,47 @@
An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there.
Արդյունավետ արգելափակիչ. չի ծանրաբեռնում մշակիչը և օպերատիվ հիշողությունը, միևնույն ժամանակ աջակցում է հազարներով ավելի շատ զտիչիեր, քան այլ հանրաճանաչ արգելափակիչները։

Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared
Դրա արդյունավետության պատկերազարդ ակնարկ՝ https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared

Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button.
Օգտագործումը. ելնող լուսամուտի հոսանքի մեծ կոճակը ծառայում է ընթացիկ կայքի համար uBlock-ն անջատելու/միացնելու համար։ Դա ընդհանուր հոսանքի կոճակ չէ, այլ վերաբերում է միայն ընթացիկ կայքին։

***

Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files.
Ճկուն, ավելին, քան պարզապես «գովազդի արգելափակիչ». uBlock֊ն կարող է կարդալ և ստեղծել զտիչներ հոսթ-նիշքերից։

Out of the box, these lists of filters are loaded and enforced:
Լռելյայն կբեռնվեն և կկիրառվեն զտիչների հետևյալ ցանկերը՝

- EasyList
- Peter Lowe’s Ad server list
- Գովազդի սպասարկիչների ցանկ Փիթեր Լոուից
- EasyPrivacy
- Malware domains
- Վնասակար տիրույթներ

More lists are available for you to select if you wish:
Ցանկության դեպքում կկարողանաք ընտրել մատչելի այլ ցանկեր՝

- Fanboy’s Enhanced Tracking List
- Dan Pollock’s hosts file
- hpHosts’s Ad and tracking servers
- Հետագծող սպասարկիչների ընդլայնված ցանկ Fanboy-ից
Dan Pollock hosts նիշքը
- Գովազդային և հետագծման սպասարկիչներ hpHosts-ից
- MVPS HOSTS
- Spam404
- And many others
- Եվ բազում այլ

Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHosts’s Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there.
Իհարկե, որքան շատ զտիչներ են միացված, այնքան բարձր է հիշողության օգտագործումը։ Այնուամենայնիվ, նույնիսկ Fanboy-ի երկու լրացուցիչ ցանկերը, hpHosts-ի գովազդային և հետագծող սպասարկիչներն ավելացնելուց հետո, uBlock֊ն ավելի քիչ է գործածում հիշողությունը, քան շատ սիրված այլ արգելափակիչները։

Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file.
Նաև նկատի ունեցեք, որ լրացուցիչ ցանկերից մի քանիսը կարող են հանգեցնել կայքի կոտրման մեծ հավանականության, հատկապես այն ցանկերի, որոնք սովորաբար օգտագործվում են որպես hosts նիշք։

***

Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free.
Առանց զտիչների նախադրված ցուցակների այս ընդլայնումը ոչինչ է։ Այնպես որ, եթե դուք իսկապես ցանկանում եք ներդրում ունենալ, մտածեք այն մարդկանց մասին, ովքեր ջանասիրաբար աշխատում են զտիչների ցանկերի վրա, որոնք տրամադրվում են անվճար օգտագործման համար։

***

Ազատ։
Open source with public license (GPLv3)
For users by users.
Անվճար։
Բաց ելակետային կոդ հրապարակավ թույլատրագրով (GPLv3)։
Օգտվողներին օգտվողների կողմից։

Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Contributors @ Crowdin: https://crowdin.net/project/ublock
Աջակցողները Github-ում՝ https://github.com/gorhill/uBlock/graphs/contributors
Աջակցողները Crowdin-ում՝ https://crowdin.net/project/ublock

***

It's quite an early version, keep this in mind when you review.

Project change log:
Փոփոխությունների մատյան՝
https://github.com/gorhill/uBlock/releases
47 changes: 47 additions & 0 deletions dist/description/description-it.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
uBlock è un efficiente ad-blocker: occupa poca memoria e poca CPU, ma può usare migliaia di filtri in più rispetto ad altri software simili.

Consulta questa pagina (in inglese) per verificare la sua efficacia https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared

Uso: il pulsante power nel popup serve per disabilitare/abilitare permanentemente uBlock nel sito che stai visitando. e non serve per disabilitare/abilitare l'estensione.

***

Molto più che un ad-blocker: può anche creare filtri dal file host.

Per default sono attivate queste liste:

- EasyList
- Peter Lowe’s Ad server list
- EasyPrivacy
- Malware domains

Puoi anche attivare moltre altre liste:

- Fanboy’s Enhanced Tracking List
- Dan Pollock’s hosts file
- hpHosts’s Ad and tracking servers
- MVPS HOSTS
- Spam404
- Ecc.

Ovviamente, più liste attivi, maggiore sarà l'impatto sulla memoria. Anche aggiungendo altre due liste di Fanboy, ad di hpHosts e tracking server, uBlock userà meno memoria di molti altri ad-blocker.

Selezionando alcuni di questi filtri può portare ad una maggiore probabilità di problemi nel visualizzare alcuni siti web.

***

Senza queste liste di filtri, questa estensione non è niente. osì se vuoi contribuire, pensa alle persone che lavorano duramente per mantenere queste liste che stai usando, che sono disponibili gratuitamente.

***

Libero.
Open source with public license (GPLv3)
Fatto dagli utenti per gli utenti.

Collaboratori @ Github: https://github.com/gorhill/uBlock/graphs/contributors
Collaboratori @ Crowdin: https://crowdin.net/project/ublock

***

Per leggere le novità di ogni versione consulta questa pagina (In Inlgese):
https://github.com/gorhill/uBlock/releases
2 changes: 1 addition & 1 deletion dist/description/description-zh_TW.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
一個高效率的阻擋器:使用不多的記憶體以及 CPU 資源,卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則
一個高效率的阻擋器:uBO 使用不多的記憶體 (RAM) 以及 CPU 資源,但卻能比其他熱門的阻擋器多載入並執行數以千計的過濾規則

效能比較示意圖:https://github.com/gorhill/uBlock/wiki/%C2%B5Block-vs.-ABP:-efficiency-compared

Expand Down
6 changes: 3 additions & 3 deletions dist/firefox/updates.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
"[email protected]": {
"updates": [
{
"version": "1.31.3.105",
"browser_specific_settings": { "gecko": { "strict_min_version": "55" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.31.3rc5/uBlock0_1.31.3rc5.firefox.signed.xpi"
"version": "1.32.5.104",
"browser_specific_settings": { "gecko": { "strict_min_version": "57" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.32.5rc4/uBlock0_1.32.5rc4.firefox.signed.xpi"
}
]
}
Expand Down
2 changes: 1 addition & 1 deletion dist/firefox/updates.template.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"updates": [
{
"version": "$ext_version",
"browser_specific_settings": { "gecko": { "strict_min_version": "55" } },
"browser_specific_settings": { "gecko": { "strict_min_version": "57" } },
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0_$tag_version.firefox.signed.xpi"
}
]
Expand Down
2 changes: 1 addition & 1 deletion dist/version
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.32.4
1.33.0
Loading

0 comments on commit 7e35604

Please sign in to comment.