mirror of
https://github.com/gorhill/uBlock.git
synced 2025-10-05 21:32:39 +02:00
Compare commits
623 Commits
1.62.1rc1
...
2a2e223fd9
Author | SHA1 | Date | |
---|---|---|---|
|
2a2e223fd9 | ||
|
cdc5a4a0e7 | ||
|
be14670b76 | ||
|
4ee38a056e | ||
|
0d4f55ff30 | ||
|
a43d1d8c42 | ||
|
41a65315f9 | ||
|
5bcdf3731d | ||
|
cc30763c57 | ||
|
d376adaae8 | ||
|
d8ed2c2866 | ||
|
52bc354bce | ||
|
bf09ec0b99 | ||
|
a03de94729 | ||
|
f36d2b8496 | ||
|
2b8ef3ee8e | ||
|
9f8d74b60f | ||
|
0ee49bcc29 | ||
|
8d721f6a68 | ||
|
bbd12ec2f3 | ||
|
54326a350b | ||
|
dd4f764920 | ||
|
6623889920 | ||
|
4b1f87710c | ||
|
e91c47846b | ||
|
bb8e3d4d47 | ||
|
be1502feb3 | ||
|
80cf4d9286 | ||
|
f40dac91b9 | ||
|
575f018c69 | ||
|
6a9357e903 | ||
|
12418ae664 | ||
|
2581004e8f | ||
|
f89de42364 | ||
|
10e48d7ec5 | ||
|
f441773f30 | ||
|
3e5ea3b03f | ||
|
34d202f79d | ||
|
93c5c077a0 | ||
|
91d36749bb | ||
|
4598ef3edc | ||
|
8af80be5b2 | ||
|
4fb4aa1b25 | ||
|
e2325f5e79 | ||
|
9aa91ba111 | ||
|
705e6329eb | ||
|
8de47f250d | ||
|
5127e17573 | ||
|
511a59584d | ||
|
1209119206 | ||
|
87dddb7d78 | ||
|
836e04d110 | ||
|
b3b2142fb6 | ||
|
e9e1626f8e | ||
|
889c0eb208 | ||
|
cb767f4534 | ||
|
edd26d27eb | ||
|
9a5703fa0d | ||
|
b7f4c1f5d7 | ||
|
3609ea66ed | ||
|
087bef3837 | ||
|
2943ef5112 | ||
|
e016a63f7b | ||
|
126495d17a | ||
|
30e5e8c8ce | ||
|
23056514cc | ||
|
e1028c299f | ||
|
8ce7a8d1e4 | ||
|
50cb780107 | ||
|
52dba4116e | ||
|
5d88b72b47 | ||
|
f290d0a142 | ||
|
946a3d202c | ||
|
7eab358165 | ||
|
0936b9b8b7 | ||
|
abe144a79d | ||
|
80f7bd155a | ||
|
da9491c94e | ||
|
4fbcabbc66 | ||
|
8281eaba17 | ||
|
e86e1db87b | ||
|
a0a996916f | ||
|
d2bce26e7d | ||
|
8cdada4899 | ||
|
7cdd78b595 | ||
|
07056c2de5 | ||
|
64858e9b9e | ||
|
17c6334cbd | ||
|
d1a29d9899 | ||
|
bc05f31cc2 | ||
|
57557ea116 | ||
|
6f6724ce1a | ||
|
6327aae56c | ||
|
31cd8b3983 | ||
|
0d442f097f | ||
|
353e1bacc1 | ||
|
aab425719c | ||
|
30266e5107 | ||
|
69fa0c2e09 | ||
|
f9ee5e2a64 | ||
|
0e821284ab | ||
|
052c36aada | ||
|
cb62e38f50 | ||
|
23d51b80df | ||
|
e8f6b7cd00 | ||
|
c7e4ac48c3 | ||
|
9711039726 | ||
|
5d7e5ee3a0 | ||
|
bc4e829427 | ||
|
807d1b6cdb | ||
|
da025fef26 | ||
|
69b2fdf396 | ||
|
060442c636 | ||
|
4b33b7bd7a | ||
|
f5d3d776d5 | ||
|
4814992c54 | ||
|
895033de02 | ||
|
72e6c89b74 | ||
|
9327e19233 | ||
|
fad0af591f | ||
|
b7b5d926f0 | ||
|
4194fdec4b | ||
|
5957656a5b | ||
|
4d2cfd1487 | ||
|
a3e2cd4396 | ||
|
60ab2ad59c | ||
|
e9273470c5 | ||
|
0ce643bfc5 | ||
|
aaf35d9d71 | ||
|
25d9964b1e | ||
|
d54c4a7052 | ||
|
718b3cdb97 | ||
|
f3651bd866 | ||
|
07a1a51256 | ||
|
7d4e016297 | ||
|
5beca43c69 | ||
|
a6c9a9e9a4 | ||
|
9be4661294 | ||
|
17a363c2ff | ||
|
972ed1e520 | ||
|
22c07bd68b | ||
|
264acd5b10 | ||
|
5f14c816d0 | ||
|
e5fdfbb9f7 | ||
|
e6a8c87e0e | ||
|
3f73887e47 | ||
|
704f2dd734 | ||
|
18f9acd844 | ||
|
28ea00fd11 | ||
|
a1a5f3690f | ||
|
19a3de901c | ||
|
07e9f805bb | ||
|
4d4826a029 | ||
|
b0ce6b6ac7 | ||
|
faff035203 | ||
|
5629bf8a23 | ||
|
3ecad9a8c5 | ||
|
38ca6d41ff | ||
|
cf70f2abbc | ||
|
b9956a8d18 | ||
|
c8da231453 | ||
|
dfa47baddf | ||
|
af6c247c0d | ||
|
93206e3241 | ||
|
5d0283d2ee | ||
|
5dd0165359 | ||
|
e645fe7468 | ||
|
b6829698cc | ||
|
31795fb6e6 | ||
|
2d2de3a53b | ||
|
1e0c64076f | ||
|
e390822930 | ||
|
472e8b53cd | ||
|
028893fe86 | ||
|
bbfe7400ac | ||
|
bb1d085c8c | ||
|
32bf5ebde3 | ||
|
e713e133eb | ||
|
171ddd3e06 | ||
|
14a9572c86 | ||
|
5911a8ea7a | ||
|
02f90d58f4 | ||
|
4f273c4284 | ||
|
581144eeb8 | ||
|
a986b45433 | ||
|
7d9317bb17 | ||
|
abeb5d1567 | ||
|
beab99b54a | ||
|
626b9c7f2d | ||
|
1476ae4262 | ||
|
d88814bc12 | ||
|
348f151e36 | ||
|
a94b4e12a9 | ||
|
47cbb43a0e | ||
|
23155d81cd | ||
|
4baf61371c | ||
|
fef50e59f2 | ||
|
fed7f4a0b8 | ||
|
8ae7c1501b | ||
|
d7686a815e | ||
|
e07e7bbd09 | ||
|
bb9e2c0fc7 | ||
|
9f5893cd88 | ||
|
3e0462e619 | ||
|
3d155889e9 | ||
|
b7510eee61 | ||
|
1e955bebbe | ||
|
eb28988054 | ||
|
2c91bfc872 | ||
|
cc7e7894c7 | ||
|
e75e128a34 | ||
|
6bfa7245f3 | ||
|
1a8238e03e | ||
|
255b143c80 | ||
|
9a20412a4a | ||
|
5c57415d7a | ||
|
d94107284b | ||
|
b0396029bd | ||
|
2809b6cd18 | ||
|
689182f30b | ||
|
f88ffcea04 | ||
|
887ae607dd | ||
|
d17afabffb | ||
|
1bcb7520dd | ||
|
6b7f929ec5 | ||
|
891b750de2 | ||
|
d0e87d3521 | ||
|
28bc5905a8 | ||
|
4dee9cd79c | ||
|
1eec92419e | ||
|
a2d8429738 | ||
|
a38aa48368 | ||
|
f1551c56ea | ||
|
7dd6688ed3 | ||
|
a393322f82 | ||
|
ca222fa40e | ||
|
624ad67da8 | ||
|
3a4897db93 | ||
|
ac159c5f08 | ||
|
45ab7feca6 | ||
|
78305e11c9 | ||
|
0b0294af4f | ||
|
cf13c4b4dc | ||
|
7c237e8217 | ||
|
b398bd8487 | ||
|
76b72c9e65 | ||
|
eec2045645 | ||
|
b5fae23329 | ||
|
f23518173e | ||
|
a25564559c | ||
|
e27bb85222 | ||
|
66b68b4442 | ||
|
9c08e902bd | ||
|
9bcfc8ff1c | ||
|
27936f476e | ||
|
3a473f8c48 | ||
|
d9aba4acca | ||
|
8bcf533fc0 | ||
|
56ecd04816 | ||
|
e33bfc1f01 | ||
|
219c07609f | ||
|
0b6eea542f | ||
|
253ef7ade3 | ||
|
1b00490a4d | ||
|
001bd5841f | ||
|
e8fb0e1cc9 | ||
|
527b4a201f | ||
|
8d24b7130c | ||
|
69a2959028 | ||
|
d66d592ebb | ||
|
6e466cf945 | ||
|
754f61717a | ||
|
d853f036c7 | ||
|
1f5b4ccc53 | ||
|
b73034523f | ||
|
c1bd62ae24 | ||
|
5327502a32 | ||
|
2f6fe675da | ||
|
7b3589b0d3 | ||
|
35750688bc | ||
|
0a8ea58bb7 | ||
|
33b92f91cb | ||
|
f106a81052 | ||
|
f87d2955d5 | ||
|
59680e61f4 | ||
|
87e0434c90 | ||
|
3a2bb62519 | ||
|
28d2326808 | ||
|
786cf0c802 | ||
|
9ee42b26c1 | ||
|
88d090b20a | ||
|
b50341089d | ||
|
a12ed895dd | ||
|
43a883396d | ||
|
ff8c527b99 | ||
|
7060be775c | ||
|
e43de8c185 | ||
|
950f7920b3 | ||
|
9f3282d74f | ||
|
76d8b97869 | ||
|
deb3247ea2 | ||
|
4803e6f69b | ||
|
508138764d | ||
|
a960140c30 | ||
|
b81076224c | ||
|
fd049c9e1f | ||
|
26381a557a | ||
|
e96e380ad1 | ||
|
b2c4242138 | ||
|
1a9c63254c | ||
|
eb46f42419 | ||
|
0983e62437 | ||
|
0dac2206c3 | ||
|
5de5d8c4a7 | ||
|
30a271a7ff | ||
|
4affe343dd | ||
|
fad39c6ce5 | ||
|
837451c17a | ||
|
670e8dc367 | ||
|
e1f2c6f88d | ||
|
ffb3fef073 | ||
|
aa1c813763 | ||
|
55d45a6fb1 | ||
|
008fc488c1 | ||
|
bc32794a47 | ||
|
44f04e3d3b | ||
|
ed9999efd6 | ||
|
fbb96c7234 | ||
|
3d5d8e8220 | ||
|
16a42566ff | ||
|
b69f809d91 | ||
|
c142d9af67 | ||
|
6221cecf57 | ||
|
03f06ab6a9 | ||
|
1824a2bccf | ||
|
90547cdbf3 | ||
|
d8298bb067 | ||
|
eb3f5a44a9 | ||
|
6647ae55a9 | ||
|
f2c0633216 | ||
|
cac62c6dc0 | ||
|
9339a75952 | ||
|
4e2585545b | ||
|
686eefd6b0 | ||
|
e077d36c6e | ||
|
93d8e639ce | ||
|
2076d42239 | ||
|
13886f728d | ||
|
ecc64ae125 | ||
|
69d584a283 | ||
|
ca4430c0ba | ||
|
c5d1eb109e | ||
|
4eae23065e | ||
|
408b538e75 | ||
|
c44f043ed3 | ||
|
eee279be01 | ||
|
ee7af6f005 | ||
|
943a63d1e6 | ||
|
1b0f2ac14c | ||
|
0130fdf4a1 | ||
|
cdd46c5c7b | ||
|
4888ec6d35 | ||
|
7ee99e6875 | ||
|
a59daf5978 | ||
|
13b7f381b2 | ||
|
05f7a7b8c3 | ||
|
be8b6238d3 | ||
|
ed10973717 | ||
|
4c6f8222af | ||
|
4aa16e9409 | ||
|
ce4a4fcd75 | ||
|
6d2123b196 | ||
|
b2c9be14cf | ||
|
aa696d0669 | ||
|
4c99471a25 | ||
|
a551d1cc01 | ||
|
907e33ef59 | ||
|
2322038e8f | ||
|
ae461f47d3 | ||
|
9491fcdb2e | ||
|
fd5da3fcd2 | ||
|
d12e7817d2 | ||
|
7e239db9a8 | ||
|
ed3a0b8ab9 | ||
|
71244bc37b | ||
|
3e39e5beab | ||
|
84db4585f5 | ||
|
9763a79c01 | ||
|
569dfea3cb | ||
|
82c6d5e8ff | ||
|
7c5c9beda6 | ||
|
c02c571b3e | ||
|
8cd6212867 | ||
|
e3a3026cac | ||
|
a075442e1c | ||
|
2e7d0a07e7 | ||
|
3ff54b7f2a | ||
|
63eeaae5e9 | ||
|
3508176fcc | ||
|
60735f88f9 | ||
|
5c029b3532 | ||
|
3650117b4f | ||
|
b604524c2f | ||
|
3292f128d2 | ||
|
a83be19987 | ||
|
8a7f1589ec | ||
|
1c98faf46c | ||
|
df9cd6c9a2 | ||
|
cc2760f4d6 | ||
|
0ee6e3044d | ||
|
f40b989dc8 | ||
|
58f5c53fbb | ||
|
3cd04c3806 | ||
|
47f1a19e9e | ||
|
e384f2b612 | ||
|
48146f8351 | ||
|
6a088a7477 | ||
|
a4ba51a790 | ||
|
e94ba8afad | ||
|
03bea3aafc | ||
|
3f59f94b60 | ||
|
ea0c400c51 | ||
|
457dd7acdb | ||
|
1d1490523d | ||
|
9ac12647d1 | ||
|
2c4819ac74 | ||
|
8df96e4718 | ||
|
526af62864 | ||
|
e048790036 | ||
|
c2eee87029 | ||
|
daa0025157 | ||
|
cf7777e9fd | ||
|
b4aea4ab27 | ||
|
6c84ae7aba | ||
|
5e64ace64d | ||
|
ef9709fb07 | ||
|
a56e13156f | ||
|
e5efe64d20 | ||
|
e029060889 | ||
|
84ad64daea | ||
|
ed66a8d157 | ||
|
203b2235aa | ||
|
83d62b9aca | ||
|
0e5dec7fbb | ||
|
bd6263078f | ||
|
79a77f915a | ||
|
0243a141a7 | ||
|
b4eae1ef0b | ||
|
c86beb3a37 | ||
|
89ba371fbe | ||
|
59f4aca010 | ||
|
9c523f0325 | ||
|
6cc63d825e | ||
|
2ee90bf22f | ||
|
8b964a8c54 | ||
|
b5642ba602 | ||
|
d3f39c97d1 | ||
|
d17da2b081 | ||
|
1d53441456 | ||
|
22e848c9c2 | ||
|
34d6abca6d | ||
|
d0e32a5f47 | ||
|
782fff35ea | ||
|
2bd09e6f84 | ||
|
de7a406920 | ||
|
39b505a52e | ||
|
39913a8212 | ||
|
8a14a8dc6b | ||
|
fbe1ba018e | ||
|
b5651417aa | ||
|
8016e7733a | ||
|
63ea23f334 | ||
|
fd3a8720e9 | ||
|
c299d39117 | ||
|
a1689fb9d0 | ||
|
b8adf5b027 | ||
|
3b34f9439a | ||
|
ec19e352b1 | ||
|
e20e6addf0 | ||
|
eaedaf5b10 | ||
|
87007e62c0 | ||
|
b5eea3ce3a | ||
|
e11335f5ad | ||
|
20f52daf9b | ||
|
f15adcf2d5 | ||
|
51db128dc2 | ||
|
7c5c93f073 | ||
|
dc3602985f | ||
|
9bf05023c1 | ||
|
50f87c21ea | ||
|
f51a4c79db | ||
|
12c8bc6c5b | ||
|
a33e2e4115 | ||
|
5ed1b07034 | ||
|
cac420a22d | ||
|
c15dc9d8ff | ||
|
dfd42ebf5f | ||
|
d1fc38c473 | ||
|
cc987cb072 | ||
|
b4a8dd0754 | ||
|
20dd606504 | ||
|
a06f09acda | ||
|
ad2add4676 | ||
|
af054f7980 | ||
|
1e783d62e0 | ||
|
f25a437fd1 | ||
|
90e3c352ec | ||
|
ad68834479 | ||
|
809d4f93c4 | ||
|
11e159fd31 | ||
|
15e832da8a | ||
|
3d2f70ac56 | ||
|
d1c57d3fa6 | ||
|
70bdcfbae6 | ||
|
ae336c3688 | ||
|
d0e303ca19 | ||
|
981be2d5b2 | ||
|
2679aafc17 | ||
|
9029d1d715 | ||
|
0fdcd44794 | ||
|
01e36db23a | ||
|
f6f7333b5d | ||
|
c38101cd34 | ||
|
cdc63d03cf | ||
|
eb7f23b173 | ||
|
2bb6999e3f | ||
|
d8b29cf1a3 | ||
|
699bf42fdb | ||
|
ee53980b68 | ||
|
b55247bbcb | ||
|
8b696a691a | ||
|
370107b9a6 | ||
|
6b9968d804 | ||
|
595f9fd469 | ||
|
ac28ab58c8 | ||
|
09ce8f05e2 | ||
|
5574404358 | ||
|
4ce26b63ff | ||
|
2501eae25f | ||
|
6ffffb7b2b | ||
|
0c6cbb7fcb | ||
|
58a92b91c1 | ||
|
9351497f16 | ||
|
c15278522e | ||
|
8632cd6072 | ||
|
9adedbc30e | ||
|
cdb1afc3b2 | ||
|
f4b2d48873 | ||
|
86210368f5 | ||
|
5587111d21 | ||
|
97e740bd2c | ||
|
935ce74d3a | ||
|
fbdc09a7aa | ||
|
b381ceda72 | ||
|
44c038b9a1 | ||
|
862557fd63 | ||
|
5f9f7d050d | ||
|
564f3f3442 | ||
|
caa25cdaf3 | ||
|
b18daa53aa | ||
|
1ce00e4fda | ||
|
d7f01065a5 | ||
|
0a13683167 | ||
|
0e303060dd | ||
|
d5fd1de150 | ||
|
5936451082 | ||
|
d7ae3a185e | ||
|
760bd23c5e | ||
|
69ff3ca6fb | ||
|
231269808d | ||
|
419786feb7 | ||
|
68a256bdde | ||
|
5e9737d38e | ||
|
d0c028386a | ||
|
e100f9e85c | ||
|
620678fc17 | ||
|
3520c2fd9e | ||
|
d18311213d | ||
|
484ae68528 | ||
|
0fce659bb0 | ||
|
0c8de6b550 | ||
|
07a4a6a35d | ||
|
fbabd4eaac | ||
|
f09aeef6d9 | ||
|
8f78faf980 | ||
|
7bded976a8 | ||
|
a07d01285c | ||
|
95a3be9d56 | ||
|
27e2d6a513 | ||
|
7a2f4960d0 | ||
|
ab458b492a | ||
|
0f2a374585 | ||
|
a88594599f | ||
|
2774dfe38f | ||
|
88fa550a96 | ||
|
451e1c24a4 | ||
|
5b81369fc2 | ||
|
7dba69dc48 | ||
|
e7651f73f4 | ||
|
d8cda00cd3 | ||
|
b93871117c | ||
|
76b80baaea | ||
|
94f73015ed | ||
|
18349292a6 | ||
|
eda245a1a6 | ||
|
ebec5a1865 | ||
|
fe744816f1 | ||
|
98b011f64c | ||
|
839e240ec1 | ||
|
dfe3d48fa3 | ||
|
d36ea89a02 | ||
|
0e8de98411 | ||
|
99cb84fab6 | ||
|
2d559c43db | ||
|
4aebdbb0a9 | ||
|
fba662421d | ||
|
c3187d85e8 | ||
|
4d12ac788c | ||
|
19cc3b127a | ||
|
1e2a7072d8 | ||
|
9e946ce0c3 | ||
|
b98a8d5c02 | ||
|
e84d3cd7a3 |
7
.github/workflows/RELEASE.HEAD.md
vendored
Normal file
7
.github/workflows/RELEASE.HEAD.md
vendored
Normal file
@@ -0,0 +1,7 @@
|
||||
[Commits to Master Since This Release](https://github.com/gorhill/uBlock/compare/%version%...master)
|
||||
|
||||
#### How to Install the Developer Build:
|
||||
|
||||
- **Firefox**: Signing pending <!-- Download the build from [uBlock0_%version%.firefox.signed.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.firefox.signed.xpi). -->
|
||||
uBO works best on Gecko-based browsers, check out [why](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox).
|
||||
- **Chromium**: Install directly from the [Chrome Web Store](https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii).
|
4
.github/workflows/main.yml
vendored
4
.github/workflows/main.yml
vendored
@@ -29,12 +29,11 @@ jobs:
|
||||
run: |
|
||||
tools/make-chromium.sh ${{ env.VERSION }}
|
||||
tools/make-firefox.sh ${{ env.VERSION }}
|
||||
tools/make-thunderbird.sh ${{ env.VERSION }}
|
||||
- name: Assemble release notes
|
||||
run: |
|
||||
> release.body.txt
|
||||
grep -m1 -B10000 -- "----------" CHANGELOG.md >> release.body.txt
|
||||
sed -e 's/%version%/${{ env.VERSION }}/g' RELEASE.HEAD.md >> release.body.txt
|
||||
sed -e 's/%version%/${{ env.VERSION }}/g' .github/workflows/RELEASE.HEAD.md >> release.body.txt
|
||||
- name: Create GitHub release
|
||||
id: create_release
|
||||
uses: softprops/action-gh-release@v2
|
||||
@@ -49,4 +48,3 @@ jobs:
|
||||
files: |
|
||||
dist/build/uBlock0_${{ env.VERSION }}.chromium.zip
|
||||
dist/build/uBlock0_${{ env.VERSION }}.firefox.xpi
|
||||
dist/build/uBlock0_${{ env.VERSION }}.thunderbird.xpi
|
||||
|
6
.gitmodules
vendored
Normal file
6
.gitmodules
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
[submodule "platform/mv3/extension/lib/codemirror/codemirror-ubol"]
|
||||
path = platform/mv3/extension/lib/codemirror/codemirror-ubol
|
||||
url = https://github.com/gorhill/codemirror-ubol.git
|
||||
[submodule "publish-extension"]
|
||||
path = publish-extension
|
||||
url = https://github.com/gorhill/publish-extension.git
|
107
CHANGELOG.md
107
CHANGELOG.md
@@ -1,3 +1,110 @@
|
||||
- [Improve `href-sanitizer` scriptlet](https://github.com/gorhill/uBlock/commit/a43d1d8c42)
|
||||
- [Fix `editInboundObjectFn` utility scriptlet](https://github.com/gorhill/uBlock/commit/d376adaae8)
|
||||
- [Improve `trusted-replace-argument` scriptlet](https://github.com/gorhill/uBlock/commit/52bc354bce)
|
||||
- [Add ability to test against regex in JSONPath expressions](https://github.com/gorhill/uBlock/commit/f36d2b8496)
|
||||
- [Improve `proxy-apply` utility scriptlet](https://github.com/gorhill/uBlock/commit/dd4f764920)
|
||||
- [Fix `removeparam` for multiple query parameters with same name](https://github.com/gorhill/uBlock/commit/3e5ea3b03f)
|
||||
- [Improve `trusted-click-element` scriptlet](https://github.com/gorhill/uBlock/commit/9aa91ba111)
|
||||
- [Improve `google-ima` shim](https://github.com/gorhill/uBlock/commit/8de47f250d)
|
||||
- [Add back a uBO-specific version of "CERT.PL's Warning List"](https://github.com/gorhill/uBlock/commit/87dddb7d78)
|
||||
|
||||
----------
|
||||
|
||||
# 1.66.4
|
||||
|
||||
- [Fix potential infinite loop when scanning for `$` anchor](https://github.com/gorhill/uBlock/commit/889c0eb208)
|
||||
- [Allow generic exception for `replace=` option](https://github.com/gorhill/uBlock/commit/52dba4116e)
|
||||
|
||||
----------
|
||||
|
||||
# 1.66.2
|
||||
|
||||
- [Fix version snafu](https://github.com/gorhill/uBlock/commit/50cb780107)
|
||||
|
||||
----------
|
||||
|
||||
# 1.66.0
|
||||
|
||||
- [Improve `prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/d2bce26e7d)
|
||||
- [Add support to strict-block from `ipaddress=` option](https://github.com/gorhill/uBlock/commit/6327aae56c)
|
||||
- [Improve rendering with high-contrast theme](https://github.com/gorhill/uBlock/commit/5d7e5ee3a0) (fix suggested by @emv33)
|
||||
- [Fix undue fetch from remote server at first install](https://github.com/gorhill/uBlock/commit/9327e19233)
|
||||
- [Improve compatibility of `uritransform=` with DNR syntax](https://github.com/gorhill/uBlock/commit/aaf35d9d71)
|
||||
- [Allow usage of `csp=`/`permissions=` with resource type object](https://github.com/gorhill/uBlock/commit/07e9f805bb)
|
||||
- [JSONPath: Add ability to select root node for appending/modifying](https://github.com/gorhill/uBlock/commit/faff035203)
|
||||
- [JSONPath: Add ability to substitute a pattern within a string value](https://github.com/gorhill/uBlock/commit/38ca6d41ff)
|
||||
- [Remove "CERT.PL's Warning List" from stock lists](https://github.com/gorhill/uBlock/commit/e713e133eb)
|
||||
- [Fix incorrect CNAME-related test in advanced settings](https://github.com/gorhill/uBlock/commit/171ddd3e06)
|
||||
- [Remove "AdGuard Tracking Protection"from stock list](https://github.com/gorhill/uBlock/commit/14a9572c86)
|
||||
- [Add filter list for experimental filters](https://github.com/gorhill/uBlock/commit/d88814bc12)
|
||||
- [Improve `fingerprint2.js` shim](https://github.com/gorhill/uBlock/commit/7d9317bb17)
|
||||
- [Make `google-ima` a valid injectable scriptlet](https://github.com/gorhill/uBlock/commit/47cbb43a0e)
|
||||
- [Improve `abort-current-script` scriptlet](https://github.com/gorhill/uBlock/commit/fef50e59f2)
|
||||
- [Fix potential exception in procedural operator `:matches-attr`](https://github.com/gorhill/uBlock/commit/e07e7bbd09)
|
||||
- [Improve reporting of `reason` option in strict-blocked pages](https://github.com/gorhill/uBlock/commit/b7510eee61)
|
||||
- [Improve `prevent-innerHTML` scriptlet](https://github.com/gorhill/uBlock/commit/b0396029bd)
|
||||
|
||||
----------
|
||||
|
||||
# 1.65.0
|
||||
|
||||
## Fixes / changes
|
||||
|
||||
- [Reset `important` option flag at `header` evaluation time](https://github.com/gorhill/uBlock/commit/66b68b4442)
|
||||
- [Fix broken reverse lookup of filter lists](https://github.com/gorhill/uBlock/commit/527b4a201f)
|
||||
- [Add `[trusted-]edit-inbound-object` scriptlets](https://github.com/gorhill/uBlock/commit/6e466cf945)
|
||||
- [Improve `remove-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/0a8ea58bb7)
|
||||
- [Add `json-edit`-related scriptlets](https://github.com/gorhill/uBlock/commit/87e0434c90)
|
||||
- [Improve `trusted-set-cookie` scriptlet](https://github.com/gorhill/uBlock/commit/3a2bb62519)
|
||||
- [Force cache bypass reload when no-scripting switch is toggled](https://github.com/gorhill/uBlock/commit/4affe343dd)
|
||||
- [Improve `jsonl[...]` suite of scriptlets](https://github.com/gorhill/uBlock/commit/ed9999efd6)
|
||||
- [Add support for network filter option `message`](https://github.com/gorhill/uBlock/commit/d8298bb067)
|
||||
- [Complete support for reporing strict-block messages](https://github.com/gorhill/uBlock/commit/253ef7ade3)
|
||||
- [Make `header=` syntax compatible with DNR rules](https://github.com/gorhill/uBlock/commit/408b538e75)
|
||||
- [Counter CodeMirror's `pointer-events: none` on scrollbars](https://github.com/gorhill/uBlock/commit/c44f043ed3)
|
||||
- [Fix element picker issue with explicit dark theme](https://github.com/gorhill/uBlock/commit/0130fdf4a1)
|
||||
|
||||
----------
|
||||
|
||||
# 1.64.0
|
||||
|
||||
## Fixes / changes
|
||||
|
||||
- [Use custom blank page for embedded iframe in dashboard](https://github.com/gorhill/uBlock/commit/8cd6212867)
|
||||
- [Use `color-scheme` `meta` tag, as suggested](https://github.com/gorhill/uBlock/commit/5c029b3532)
|
||||
- [Bring zapper look in line with uBO Lite's zapper](https://github.com/gorhill/uBlock/commit/3f59f94b60)
|
||||
- [Ignore `start_page` transition for popup-blocking purpose](https://github.com/gorhill/uBlock/commit/0243a141a7)
|
||||
- [Exclude `chrome:` as valid openers for popup candidates](https://github.com/gorhill/uBlock/commit/59f4aca010)
|
||||
- [Fetch diff patches from "reliable" servers only](https://github.com/gorhill/uBlock/commit/8b964a8c54)
|
||||
- [Add `trusted-create-html` scriptlet](https://github.com/gorhill/uBlock/commit/20dd606504)
|
||||
- [Mind potential race condition when dynamically registering scriptlets](https://github.com/gorhill/uBlock/commit/15e832da8a)
|
||||
- [Fix undue unchecking of setting in "My filters"](https://github.com/gorhill/uBlock/commit/2bb6999e3f)
|
||||
- [Add path support as target option in static extended filtering](https://github.com/gorhill/uBlock/commit/8b696a691a)
|
||||
- [Add `trusted-prevent-fetch` scriptlet](https://github.com/gorhill/uBlock/commit/4ce26b63ff)
|
||||
- [Code viewer shouldn't be maximizable](https://github.com/gorhill/uBlock/commit/97e740bd2c)
|
||||
- [Add `json-edit` suite of scriptlets; extend `replace=` option](https://github.com/gorhill/uBlock/commit/b18daa53aa)
|
||||
- [Improve `trusted-prevent-dom-bypass` scriptlet](https://github.com/gorhill/uBlock/commit/68a256bdde)
|
||||
- [Add `jsonl-prune-xhr-response`/`jsonl-prune-fetch-response` scriptlets](https://github.com/gorhill/uBlock/commit/95a3be9d56)
|
||||
- [Improve `[json-prune|trusted-replace]-fetch-response` scriptlets](https://github.com/gorhill/uBlock/commit/88fa550a96)
|
||||
|
||||
----------
|
||||
|
||||
# 1.63.2
|
||||
|
||||
## Fixes / changes
|
||||
|
||||
- [Fix TypedArray overflow](https://github.com/gorhill/uBlock/commit/76b80baaea)
|
||||
- [Add prevent-innerHTML scriptlet](https://github.com/gorhill/uBlock/commit/fe744816f1)
|
||||
|
||||
----------
|
||||
|
||||
# 1.63.0
|
||||
|
||||
## Fixes / changes
|
||||
|
||||
- [Improve `prevent-set[Timeout|Interval]` scriptlets](https://github.com/gorhill/uBlock/commit/d36ea89a02)
|
||||
- [Add quit button to element zapper mode](https://github.com/gorhill/uBlock/commit/4aebdbb0a9)
|
||||
- [Improve `trusted-override-element-method` scriptlet](https://github.com/gorhill/uBlock/commit/9e946ce0c3)
|
||||
- [Disable obsolete cache-control workaround for Firefox](https://github.com/gorhill/uBlock/commit/34cea70924)
|
||||
- [Improve `overlay-buster` scriptlet](https://github.com/gorhill/uBlock/commit/fc231998b9)
|
||||
- [Add ability to inject scriptlets according to origin of ancestor contexts](https://github.com/gorhill/uBlock/commit/a483f7955f)
|
||||
|
121
Makefile
121
Makefile
@@ -2,13 +2,24 @@
|
||||
run_options := $(filter-out $@,$(MAKECMDGOALS))
|
||||
|
||||
.PHONY: all clean cleanassets test lint chromium opera firefox npm dig \
|
||||
mv3-chromium mv3-firefox mv3-edge \
|
||||
compare maxcost medcost mincost modifiers record wasm
|
||||
mv3-chromium mv3-firefox mv3-edge mv3-safari ubol-codemirror \
|
||||
compare maxcost medcost mincost modifiers record wasm \
|
||||
publish-chromium publish-edge publish-firefox \
|
||||
publish-dev-chromium publish-dev-firefox \
|
||||
upload-firefox upload-dev-firefox
|
||||
|
||||
sources := $(wildcard assets/* assets/*/* dist/version src/* src/*/* src/*/*/* src/*/*/*/*)
|
||||
platform := $(wildcard platform/* platform/*/* platform/*/*/* platform/*/*/*/* platform/*/*/*/*/*)
|
||||
sources := ./dist/version $(shell find ./assets -type f) $(shell find ./src -type f)
|
||||
platform := $(wildcard platform/*/*)
|
||||
assets := dist/build/uAssets
|
||||
mv3-data := $(wildcard dist/build/mv3-data/*)
|
||||
mv3-sources := \
|
||||
$(shell find ./src -type f) \
|
||||
$(wildcard platform/mv3/*) \
|
||||
$(shell find ./platform/mv3/extension -name codemirror-ubol -prune -o -type f) \
|
||||
platform/mv3/extension/lib/codemirror/codemirror-ubol/dist/cm6.bundle.ubol.min.js
|
||||
mv3-data := $(shell find ./dist/build/mv3-data -type f)
|
||||
|
||||
mv3-edge-deps := $(wildcard platform/mv3/edge/*)
|
||||
mv3-safari-deps := $(wildcard platform/mv3/safari/*)
|
||||
|
||||
all: chromium firefox npm
|
||||
|
||||
@@ -44,15 +55,6 @@ init: node_modules
|
||||
lint: init
|
||||
npm run lint
|
||||
|
||||
test: npm
|
||||
cd dist/build/uBlock0.npm && npm run test
|
||||
|
||||
test-full-battery: npm
|
||||
cd dist/build/uBlock0.npm && npm run test-full-battery
|
||||
|
||||
check-leaks: npm
|
||||
cd dist/build/uBlock0.npm && npm run check-leaks
|
||||
|
||||
dist/build/uBlock0.dig: tools/make-nodejs.sh $(sources) $(platform) $(assets)
|
||||
tools/make-dig.sh
|
||||
|
||||
@@ -65,20 +67,28 @@ dig-snfe: dig
|
||||
dist/build/mv3-data:
|
||||
mkdir -p dist/build/mv3-data
|
||||
|
||||
dist/build/uBOLite.chromium: tools/make-mv3.sh $(sources) $(platform) $(mv3-data) dist/build/mv3-data
|
||||
ubol-codemirror:
|
||||
$(MAKE) -sC platform/mv3/extension/lib/codemirror/codemirror-ubol/ ubol.bundle
|
||||
|
||||
dist/build/uBOLite.chromium: tools/make-mv3.sh $(mv3-sources) $(platform) $(mv3-data) dist/build/mv3-data
|
||||
tools/make-mv3.sh chromium
|
||||
|
||||
mv3-chromium: dist/build/uBOLite.chromium
|
||||
mv3-chromium: ubol-codemirror dist/build/uBOLite.chromium
|
||||
|
||||
dist/build/uBOLite.firefox: tools/make-mv3.sh $(sources) $(platform) $(mv3-data) dist/build/mv3-data
|
||||
dist/build/uBOLite.firefox: tools/make-mv3.sh $(mv3-sources) $(platform) $(mv3-data) dist/build/mv3-data
|
||||
tools/make-mv3.sh firefox
|
||||
|
||||
mv3-firefox: dist/build/uBOLite.firefox
|
||||
mv3-firefox: ubol-codemirror dist/build/uBOLite.firefox
|
||||
|
||||
dist/build/uBOLite.edge: tools/make-mv3.sh tools/make-edge.mjs $(sources) $(platform) $(mv3-data) dist/build/mv3-data
|
||||
dist/build/uBOLite.edge: tools/make-mv3.sh $(mv3-sources) $(mv3-edge-deps) $(mv3-data) dist/build/mv3-data
|
||||
tools/make-mv3.sh edge
|
||||
|
||||
mv3-edge: dist/build/uBOLite.edge
|
||||
mv3-edge: ubol-codemirror dist/build/uBOLite.edge
|
||||
|
||||
dist/build/uBOLite.safari: tools/make-mv3.sh $(mv3-sources) $(mv3-safari-deps) $(mv3-data) dist/build/mv3-data
|
||||
tools/make-mv3.sh safari
|
||||
|
||||
mv3-safari: ubol-codemirror dist/build/uBOLite.safari
|
||||
|
||||
dist/build/uAssets:
|
||||
tools/pull-assets.sh
|
||||
@@ -89,6 +99,77 @@ clean:
|
||||
cleanassets:
|
||||
rm -rf dist/build/mv3-data dist/build/uAssets
|
||||
|
||||
# Usage: make publish-publish version=?
|
||||
publish-chromium:
|
||||
node publish-extension/publish-chromium.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=chromium \
|
||||
storeid=cjpalhdlnbpafiamejdnhcphjbkeiagm
|
||||
|
||||
# Usage: make publish-edge version=?
|
||||
publish-edge:
|
||||
node publish-extension/publish-edge.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=chromium \
|
||||
datebasedmajor=1 \
|
||||
storeid=odfafepnkmbhccpbejgmiehpchacaeak \
|
||||
productid=$(shell secret-tool lookup token ubo_edge_id)
|
||||
|
||||
# Usage: make publish-firefox version=?
|
||||
publish-firefox:
|
||||
node publish-extension/publish-firefox.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=firefox \
|
||||
storeid=uBlock0@raymondhill.net \
|
||||
channel=listed
|
||||
|
||||
# Usage: make publish-dev-chromium version=?
|
||||
publish-dev-chromium:
|
||||
node publish-extension/publish-chromium.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=chromium \
|
||||
storeid=cgbcahbpdhpcegmbfconppldiemgcoii
|
||||
|
||||
# Usage: make publish-dev-firefox version=?
|
||||
publish-dev-firefox:
|
||||
node publish-extension/publish-firefox.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=firefox \
|
||||
storeid=uBlock0@raymondhill.net \
|
||||
channel=unlisted \
|
||||
updatepath=./dist/firefox/updates.json
|
||||
|
||||
# Usage: make upload-firefox version=?
|
||||
upload-firefox:
|
||||
node publish-extension/upload-firefox.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=firefox \
|
||||
storeid=uBlock0@raymondhill.net \
|
||||
channel=listed
|
||||
|
||||
# Usage: make upload-dev-firefox version=?
|
||||
upload-dev-firefox:
|
||||
node publish-extension/upload-firefox.js \
|
||||
ghowner=gorhill \
|
||||
ghrepo=uBlock \
|
||||
ghtag=$(version) \
|
||||
ghasset=firefox \
|
||||
storeid=uBlock0@raymondhill.net \
|
||||
channel=unlisted \
|
||||
updatepath=./dist/firefox/updates.json
|
||||
|
||||
# Not real targets, just convenient for auto-completion at shell prompt
|
||||
compare:
|
||||
@echo
|
||||
|
30
README.md
30
README.md
@@ -15,25 +15,15 @@
|
||||
</sub>
|
||||
uBlock Origin (uBO)
|
||||
</h1>
|
||||
<p align="center">
|
||||
<sub><a href="https://github.com/gorhill/uBlock/wiki/uBlock-Origin-is-completely-unrelated-to-the-web-site-ublock.org"><b>BEWARE!</b> uBO is (and has always been) COMPLETELY UNRELATED to the website <code>ublock.org</code></a>.</sub>
|
||||
</p>
|
||||
|
||||
***
|
||||
|
||||
<p align="center">
|
||||
<a href="https://addons.mozilla.org/addon/ublock-origin/"><img src="https://user-images.githubusercontent.com/585534/107280546-7b9b2a00-6a26-11eb-8f9f-f95932f4bfec.png" alt="Get uBlock Origin for Firefox"></a>
|
||||
<a href="https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak"><img src="https://user-images.githubusercontent.com/585534/107280673-a5ece780-6a26-11eb-9cc7-9fa9f9f81180.png" alt="Get uBlock Origin for Microsoft Edge"></a>
|
||||
<a href="https://addons.opera.com/extensions/details/ublock/"><img src="https://user-images.githubusercontent.com/585534/107280692-ac7b5f00-6a26-11eb-85c7-088926504452.png" alt="Get uBlock Origin for Opera"></a>
|
||||
<a href="https://addons.thunderbird.net/thunderbird/addon/ublock-origin/"><img src="https://user-images.githubusercontent.com/124740436/235314672-73243149-3683-4407-a2d5-ad0f2b08bc17.png" alt="Get uBlock Origin for Thunderbird"></a>
|
||||
</p>
|
||||
|
||||
***
|
||||
|
||||
<p align="center">
|
||||
<a href="https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm"><img src="https://user-images.githubusercontent.com/585534/107280622-91a8ea80-6a26-11eb-8d07-77c548b28665.png" alt="Get uBlock Origin for Chromium"></a><br>
|
||||
<sub><a href="https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22"><b>IMPORTANT</b>: About Google Chrome's "This extension may soon no longer be supported"</a></sub>
|
||||
</p>
|
||||
| Browser | Install from ... | Status |
|
||||
| :-------: | ---------------- | ------ |
|
||||
| <img src="https://github.com/user-attachments/assets/b0136512-56a5-4856-8c50-4971c957a24f" alt="Get uBlock Origin for Firefox"> | <a href="https://addons.mozilla.org/addon/ublock-origin/">Firefox Add-ons</a> | [uBO works best on Firefox](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox) |
|
||||
| <img src="https://github.com/user-attachments/assets/3a7569f8-688b-4eb1-a643-8d0fe173aefe" alt="Get uBlock Origin for Microsoft Edge"> | <a href="https://microsoftedge.microsoft.com/addons/detail/ublock-origin/odfafepnkmbhccpbejgmiehpchacaeak">Edge Add-ons</a> |
|
||||
| <img src="https://github.com/user-attachments/assets/938f080c-fe64-4e48-8b89-4bfceabb56e6" alt="Get uBlock Origin for Opera"> | <a href="https://addons.opera.com/extensions/details/ublock/">Opera Add-ons</a> |
|
||||
| <img src="https://github.com/user-attachments/assets/5463ef88-873b-4516-8514-5277664cfde7" alt="Get uBlock Origin for Chromium"> | <a href="https://chromewebstore.google.com/detail/ublock-origin/cjpalhdlnbpafiamejdnhcphjbkeiagm">Chrome Web Store</a> | <a href="https://github.com/uBlockOrigin/uBlock-issues/wiki/About-Google-Chrome's-%22This-extension-may-soon-no-longer-be-supported%22">About Google Chrome's "This extension may soon no longer be supported"</a><br>End of support on Chrome 139 |
|
||||
| <img src="https://github.com/user-attachments/assets/2e9037c4-836d-44c1-a716-ba96e89daaff" alt="Get uBlock Origin for Thunderbird"> | <a href="https://addons.thunderbird.net/thunderbird/addon/ublock-origin/">Thunderbird Add-ons</a> | [No longer updated and stuck at 1.49.2.](https://github.com/uBlockOrigin/uBlock-issues/issues/2928) Later versions require "GitHub - Releases". |
|
||||
| <img src="https://upload.wikimedia.org/wikipedia/commons/c/c2/GitHub_Invertocat_Logo.svg" height="50" alt="Get uBlock Origin through GitHub"> | <a href="https://github.com/gorhill/uBlock/releases">GitHub - Releases</a> | Stable and development versions on Firefox, Chromium MV2, and Thunderbird. Must be placed manually into web browsers; the Chromium and Thunderbird versions usually won't auto-update.
|
||||
|
||||
***
|
||||
|
||||
@@ -105,7 +95,7 @@ In Thunderbird, uBlock Origin does not affect emails, just feeds.
|
||||
|
||||
[Chrome Web Store][Chrome]
|
||||
|
||||
[Microsoft Edge Add-ons][Edge] (Published by: [Nicole Rolls][Nicole Rolls])
|
||||
[Microsoft Edge Add-ons][Edge] (Published by [Nicole Rolls][Nicole Rolls] until version 1.62. Ownership transfer at version 1.64.)
|
||||
|
||||
[Opera Add-ons][Opera]
|
||||
|
||||
@@ -148,7 +138,7 @@ If you ever want to contribute something, think about the people working hard to
|
||||
|
||||
[Peter Lowe's Blocklist]: https://pgl.yoyo.org/adservers/
|
||||
[Malicious Blocklist]: https://gitlab.com/malware-filter/urlhaus-filter#malicious-url-blocklist
|
||||
[Performance]: https://www.debugbear.com/blog/chrome-extension-performance-2021#how-do-ad-blockers-and-privacy-tools-affect-browser-performance
|
||||
[Performance]: https://www.debugbear.com/blog/chrome-extensions-website-performance#the-impact-of-ad-blocking-on-website-performance
|
||||
[EasyPrivacy]: https://easylist.to/#easyprivacy
|
||||
[Thunderbird]: https://addons.thunderbird.net/thunderbird/addon/ublock-origin/
|
||||
[Chrome Dev]: https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii
|
||||
|
@@ -1,12 +0,0 @@
|
||||
[Commits to Master Since This Release](https://github.com/gorhill/uBlock/compare/%version%...master)
|
||||
|
||||
#### How to Install the Developer Build:
|
||||
|
||||
- **Firefox**: Download the build from [uBlock0_%version%.firefox.signed.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.firefox.signed.xpi).
|
||||
- uBO works best on Gecko-based browsers, check out [why](https://github.com/gorhill/uBlock/wiki/uBlock-Origin-works-best-on-Firefox).
|
||||
|
||||
- **Chromium**: Install directly from the [Chrome Web Store](https://chromewebstore.google.com/detail/ublock-origin-development/cgbcahbpdhpcegmbfconppldiemgcoii).
|
||||
|
||||
- **Thunderbird**: Download [uBlock0_%version%.thunderbird.xpi](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.thunderbird.xpi) and drag it into Thunderbird's _Add-ons Manager_ (requires Thunderbird 91+).
|
||||
|
||||
- **Node.js**: You can import from [npm](https://www.npmjs.com/package/@gorhill/ubo-core) or download and unzip [uBlock0_%version%.npm.tgz](https://github.com/gorhill/uBlock/releases/download/%version%/uBlock0_%version%.npm.tgz).
|
@@ -52,6 +52,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-badware": {
|
||||
@@ -71,6 +75,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets",
|
||||
"instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks"
|
||||
},
|
||||
@@ -91,6 +99,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-unbreak": {
|
||||
@@ -109,6 +121,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-quick-fixes": {
|
||||
@@ -127,6 +143,28 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-experimental": {
|
||||
"content": "filters",
|
||||
"group": "default",
|
||||
"off": true,
|
||||
"title": "uBlock filters – Experimental",
|
||||
"contentURL": "https://ublockorigin.github.io/uAssets/filters/experimental.txt",
|
||||
"cdnURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/experimental.min.txt",
|
||||
"https://ublockorigin.pages.dev/filters/experimental.min.txt",
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/experimental.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/experimental.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"adguard-generic": {
|
||||
@@ -163,6 +201,10 @@
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt",
|
||||
"https://ublockorigin.pages.dev/thirdparties/easylist.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://easylist.to/"
|
||||
},
|
||||
"adguard-spyware-url": {
|
||||
@@ -174,14 +216,6 @@
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/17.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"adguard-spyware": {
|
||||
"content": "filters",
|
||||
"group": "privacy",
|
||||
"off": true,
|
||||
"title": "AdGuard Tracking Protection",
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/3.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"block-lan": {
|
||||
"content": "filters",
|
||||
"group": "privacy",
|
||||
@@ -212,6 +246,10 @@
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt",
|
||||
"https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://easylist.to/"
|
||||
},
|
||||
"urlhaus-1": {
|
||||
@@ -478,6 +516,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"dpollock-0": {
|
||||
@@ -520,7 +562,7 @@
|
||||
"off": true,
|
||||
"title": "🇪🇬eg 🇸🇦sa 🇲🇦ma 🇩🇿dz: Liste AR",
|
||||
"tags": "ads arabic اَلْعَرَبِيَّةُ",
|
||||
"lang": "ar",
|
||||
"lang": "ar kab",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/Liste_AR.txt",
|
||||
"supportURL": "https://forums.lanik.us/viewforum.php?f=98"
|
||||
},
|
||||
@@ -593,7 +635,7 @@
|
||||
"off": true,
|
||||
"title": "🇫🇷fr 🇨🇦ca: AdGuard Français",
|
||||
"tags": "ads french",
|
||||
"lang": "ar br ff fr lb oc son",
|
||||
"lang": "ar br ff fr kab lb oc son",
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/16.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
@@ -647,7 +689,7 @@
|
||||
"off": true,
|
||||
"title": "🇮🇳in 🇱🇰lk 🇳🇵np: IndianList",
|
||||
"tags": "ads assamese bengali gujarati hindi kannada malayalam marathi nepali punjabi sinhala tamil telugu",
|
||||
"lang": "as bn gu hi kn ml mr ne pa si ta te",
|
||||
"lang": "as bn gu hi kn ml mr ne pa sat si ta te",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/indianlist.txt",
|
||||
"supportURL": "https://github.com/mediumkreation/IndianList"
|
||||
},
|
||||
@@ -694,7 +736,7 @@
|
||||
"off": true,
|
||||
"title": "🇮🇹it: EasyList Italy",
|
||||
"tags": "ads italian",
|
||||
"lang": "it lij",
|
||||
"lang": "fur it lij sc",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/easylistitaly.txt",
|
||||
"supportURL": "https://forums.lanik.us/viewforum.php?f=96"
|
||||
},
|
||||
@@ -784,21 +826,20 @@
|
||||
"off": true,
|
||||
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
|
||||
"tags": "ads polish polski",
|
||||
"lang": "szl pl",
|
||||
"lang": "szl pl _",
|
||||
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
|
||||
"supportURL": "https://github.com/MajkiIT/polish-ads-filter/issues",
|
||||
"instructionURL": "https://github.com/MajkiIT/polish-ads-filter#polish-filters-for-adblock-ublock-origin--adguard"
|
||||
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
|
||||
},
|
||||
"POL-2": {
|
||||
"POL-3": {
|
||||
"content": "filters",
|
||||
"group": "regions",
|
||||
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
|
||||
"off": true,
|
||||
"title": "🇵🇱pl: Oficjalne polskie filtry przeciwko alertom o Adblocku",
|
||||
"tags": "ads polish polski",
|
||||
"title": "🇵🇱pl: CERT.PL's Warning List",
|
||||
"tags": "malware polish polski",
|
||||
"lang": "szl pl",
|
||||
"contentURL": "https://raw.githubusercontent.com/olegwukr/polish-privacy-filters/master/anti-adblock.txt",
|
||||
"supportURL": "https://github.com/olegwukr/polish-privacy-filters/issues"
|
||||
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
|
||||
"supportURL": "https://cert.pl/lista-ostrzezen/"
|
||||
},
|
||||
"ROU-1": {
|
||||
"content": "filters",
|
||||
@@ -818,7 +859,7 @@
|
||||
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
|
||||
"off": true,
|
||||
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
|
||||
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek",
|
||||
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek uk",
|
||||
"lang": "be kk tt ru uz",
|
||||
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/RuAdList-uBO.txt",
|
||||
"cdnURLs": [
|
||||
@@ -913,11 +954,11 @@
|
||||
"content": "filters",
|
||||
"group": "regions",
|
||||
"off": true,
|
||||
"title": "🇺🇦ua: Ukrainian Filters",
|
||||
"title": "🇺🇦ua: AdGuard Ukrainian",
|
||||
"tags": "ads ukraine україна",
|
||||
"lang": "uk",
|
||||
"contentURL": "https://raw.githubusercontent.com/ukrainianfilters/lists/main/combined/uBO/uBO.txt",
|
||||
"supportURL": "https://github.com/ukrainianfilters/lists"
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/23.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"VIE-1": {
|
||||
"content": "filters",
|
||||
|
@@ -52,6 +52,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/filters.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/filters.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-badware": {
|
||||
@@ -71,6 +75,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/badware.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/badware.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets",
|
||||
"instructionURL": "https://github.com/gorhill/uBlock/wiki/Badware-risks"
|
||||
},
|
||||
@@ -91,6 +99,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/privacy.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/privacy.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-unbreak": {
|
||||
@@ -109,6 +121,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/unbreak.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/unbreak.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-quick-fixes": {
|
||||
@@ -127,6 +143,28 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/quick-fixes.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/quick-fixes.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"ublock-experimental": {
|
||||
"content": "filters",
|
||||
"group": "default",
|
||||
"off": true,
|
||||
"title": "uBlock filters – Experimental",
|
||||
"contentURL": "https://ublockorigin.github.io/uAssets/filters/experimental.txt",
|
||||
"cdnURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/experimental.min.txt",
|
||||
"https://ublockorigin.pages.dev/filters/experimental.min.txt",
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/experimental.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/experimental.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"adguard-generic": {
|
||||
@@ -163,6 +201,10 @@
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easylist.txt",
|
||||
"https://ublockorigin.pages.dev/thirdparties/easylist.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://easylist.to/"
|
||||
},
|
||||
"adguard-spyware-url": {
|
||||
@@ -174,14 +216,6 @@
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/17.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"adguard-spyware": {
|
||||
"content": "filters",
|
||||
"group": "privacy",
|
||||
"off": true,
|
||||
"title": "AdGuard Tracking Protection",
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/3.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"block-lan": {
|
||||
"content": "filters",
|
||||
"group": "privacy",
|
||||
@@ -212,6 +246,10 @@
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/thirdparties/easyprivacy.txt",
|
||||
"https://ublockorigin.pages.dev/thirdparties/easyprivacy.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://easylist.to/"
|
||||
},
|
||||
"urlhaus-1": {
|
||||
@@ -478,6 +516,10 @@
|
||||
"https://cdn.jsdelivr.net/gh/uBlockOrigin/uAssetsCDN@main/filters/annoyances.min.txt",
|
||||
"https://cdn.statically.io/gh/uBlockOrigin/uAssetsCDN/main/filters/annoyances.min.txt"
|
||||
],
|
||||
"patchURLs": [
|
||||
"https://ublockorigin.github.io/uAssetsCDN/filters/",
|
||||
"https://ublockorigin.pages.dev/filters/"
|
||||
],
|
||||
"supportURL": "https://github.com/uBlockOrigin/uAssets"
|
||||
},
|
||||
"dpollock-0": {
|
||||
@@ -520,7 +562,7 @@
|
||||
"off": true,
|
||||
"title": "🇪🇬eg 🇸🇦sa 🇲🇦ma 🇩🇿dz: Liste AR",
|
||||
"tags": "ads arabic اَلْعَرَبِيَّةُ",
|
||||
"lang": "ar",
|
||||
"lang": "ar kab",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/Liste_AR.txt",
|
||||
"supportURL": "https://forums.lanik.us/viewforum.php?f=98"
|
||||
},
|
||||
@@ -593,7 +635,7 @@
|
||||
"off": true,
|
||||
"title": "🇫🇷fr 🇨🇦ca: AdGuard Français",
|
||||
"tags": "ads french",
|
||||
"lang": "ar br ff fr lb oc son",
|
||||
"lang": "ar br ff fr kab lb oc son",
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/16.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
@@ -647,7 +689,7 @@
|
||||
"off": true,
|
||||
"title": "🇮🇳in 🇱🇰lk 🇳🇵np: IndianList",
|
||||
"tags": "ads assamese bengali gujarati hindi kannada malayalam marathi nepali punjabi sinhala tamil telugu",
|
||||
"lang": "as bn gu hi kn ml mr ne pa si ta te",
|
||||
"lang": "as bn gu hi kn ml mr ne pa sat si ta te",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/indianlist.txt",
|
||||
"supportURL": "https://github.com/mediumkreation/IndianList"
|
||||
},
|
||||
@@ -694,7 +736,7 @@
|
||||
"off": true,
|
||||
"title": "🇮🇹it: EasyList Italy",
|
||||
"tags": "ads italian",
|
||||
"lang": "it lij",
|
||||
"lang": "fur it lij sc",
|
||||
"contentURL": "https://easylist-downloads.adblockplus.org/easylistitaly.txt",
|
||||
"supportURL": "https://forums.lanik.us/viewforum.php?f=96"
|
||||
},
|
||||
@@ -784,21 +826,20 @@
|
||||
"off": true,
|
||||
"title": "🇵🇱pl: Oficjalne Polskie Filtry do uBlocka Origin",
|
||||
"tags": "ads polish polski",
|
||||
"lang": "szl pl",
|
||||
"lang": "szl pl _",
|
||||
"contentURL": "https://raw.githubusercontent.com/MajkiIT/polish-ads-filter/master/polish-adblock-filters/adblock.txt",
|
||||
"supportURL": "https://github.com/MajkiIT/polish-ads-filter/issues",
|
||||
"instructionURL": "https://github.com/MajkiIT/polish-ads-filter#polish-filters-for-adblock-ublock-origin--adguard"
|
||||
"supportURL": "https://github.com/MajkiIT/polish-ads-filter"
|
||||
},
|
||||
"POL-2": {
|
||||
"POL-3": {
|
||||
"content": "filters",
|
||||
"group": "regions",
|
||||
"parent": "🇵🇱pl: Oficjalne Polskie Filtry",
|
||||
"off": true,
|
||||
"title": "🇵🇱pl: Oficjalne polskie filtry przeciwko alertom o Adblocku",
|
||||
"tags": "ads polish polski",
|
||||
"title": "🇵🇱pl: CERT.PL's Warning List",
|
||||
"tags": "malware polish polski",
|
||||
"lang": "szl pl",
|
||||
"contentURL": "https://raw.githubusercontent.com/olegwukr/polish-privacy-filters/master/anti-adblock.txt",
|
||||
"supportURL": "https://github.com/olegwukr/polish-privacy-filters/issues"
|
||||
"contentURL": "https://hole.cert.pl/domains/v2/domains_ublock.txt",
|
||||
"supportURL": "https://cert.pl/lista-ostrzezen/"
|
||||
},
|
||||
"ROU-1": {
|
||||
"content": "filters",
|
||||
@@ -818,8 +859,8 @@
|
||||
"parent": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
|
||||
"off": true,
|
||||
"title": "🇷🇺ru 🇺🇦ua 🇺🇿uz 🇰🇿kz: RU AdList",
|
||||
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek",
|
||||
"lang": "be kk tt ru uk uz",
|
||||
"tags": "ads belarusian беларуская kazakh tatar russian русский ukrainian українська uzbek uk",
|
||||
"lang": "be kk tt ru uz",
|
||||
"contentURL": "https://raw.githubusercontent.com/easylist/ruadlist/master/RuAdList-uBO.txt",
|
||||
"cdnURLs": [
|
||||
"https://cdn.jsdelivr.net/gh/dimisa-RUAdList/RUAdListCDN@main/lists/ruadlist.ubo.min.txt",
|
||||
@@ -909,6 +950,16 @@
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/13.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"UKR-0": {
|
||||
"content": "filters",
|
||||
"group": "regions",
|
||||
"off": true,
|
||||
"title": "🇺🇦ua: AdGuard Ukrainian",
|
||||
"tags": "ads ukraine україна",
|
||||
"lang": "uk",
|
||||
"contentURL": "https://filters.adtidy.org/extension/ublock/filters/23.txt",
|
||||
"supportURL": "https://github.com/AdguardTeam/AdguardFilters#adguard-filters"
|
||||
},
|
||||
"VIE-1": {
|
||||
"content": "filters",
|
||||
"group": "regions",
|
||||
|
190
dist/chromium/publish-beta.py
vendored
190
dist/chromium/publish-beta.py
vendored
@@ -1,190 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
from string import Template
|
||||
|
||||
# - Download target (raw) uBlock0.chromium.zip from GitHub
|
||||
# - This is referred to as "raw" package
|
||||
# - This will fail if not a dev build
|
||||
# - Upload uBlock0.chromium.zip to Chrome store
|
||||
# - Publish uBlock0.chromium.zip to Chrome store
|
||||
|
||||
# Find path to project root
|
||||
projdir = os.path.split(os.path.abspath(__file__))[0]
|
||||
while not os.path.isdir(os.path.join(projdir, '.git')):
|
||||
projdir = os.path.normpath(os.path.join(projdir, '..'))
|
||||
|
||||
# We need a version string to work with
|
||||
if len(sys.argv) >= 2 and sys.argv[1]:
|
||||
version = sys.argv[1]
|
||||
else:
|
||||
version = input('Github release version: ')
|
||||
version.strip()
|
||||
if not re.search('^\d+\.\d+\.\d+(b|rc)\d+$', version):
|
||||
print('Error: Invalid version string.')
|
||||
exit(1)
|
||||
|
||||
cs_extension_id = 'cgbcahbpdhpcegmbfconppldiemgcoii'
|
||||
tmpdir = tempfile.TemporaryDirectory()
|
||||
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
|
||||
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
|
||||
github_owner = 'gorhill'
|
||||
github_repo = 'uBlock'
|
||||
|
||||
# Load/save auth secrets
|
||||
# The tmp directory is excluded from git
|
||||
ubo_secrets = dict()
|
||||
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
|
||||
if os.path.isfile(ubo_secrets_filename):
|
||||
with open(ubo_secrets_filename) as f:
|
||||
ubo_secrets = json.load(f)
|
||||
|
||||
def input_secret(prompt, token):
|
||||
if token in ubo_secrets:
|
||||
prompt += ' ✔'
|
||||
prompt += ': '
|
||||
value = input(prompt).strip()
|
||||
if len(value) == 0:
|
||||
if token not in ubo_secrets:
|
||||
print('Token error:', token)
|
||||
exit(1)
|
||||
value = ubo_secrets[token]
|
||||
elif token not in ubo_secrets or value != ubo_secrets[token]:
|
||||
ubo_secrets[token] = value
|
||||
exists = os.path.isfile(ubo_secrets_filename)
|
||||
with open(ubo_secrets_filename, 'w') as f:
|
||||
json.dump(ubo_secrets, f, indent=2)
|
||||
if not exists:
|
||||
os.chmod(ubo_secrets_filename, 0o600)
|
||||
return value
|
||||
|
||||
|
||||
# GitHub API token
|
||||
github_token = input_secret('Github token', 'github_token')
|
||||
github_auth = 'token ' + github_token
|
||||
|
||||
#
|
||||
# Get metadata from GitHub about the release
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release
|
||||
print('Downloading release info from GitHub...')
|
||||
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.get(release_info_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Release not found: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
release_info = response.json()
|
||||
|
||||
#
|
||||
# Extract URL to raw package from metadata
|
||||
#
|
||||
|
||||
# Find url for uBlock0.chromium.zip
|
||||
raw_zip_url = ''
|
||||
for asset in release_info['assets']:
|
||||
if asset['name'] == raw_zip_filename:
|
||||
raw_zip_url = asset['url']
|
||||
if len(raw_zip_url) == 0:
|
||||
print('Error: Release asset URL not found')
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Download raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
|
||||
print('Downloading raw zip package from GitHub...')
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Accept': 'application/octet-stream',
|
||||
}
|
||||
response = requests.get(raw_zip_url, headers=headers)
|
||||
# Redirections are transparently handled:
|
||||
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
|
||||
if response.status_code != 200:
|
||||
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
with open(raw_zip_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
|
||||
|
||||
#
|
||||
# Upload to Chrome store
|
||||
#
|
||||
|
||||
# Auth tokens
|
||||
cs_id = input_secret('Chrome store id', 'cs_id')
|
||||
cs_secret = input_secret('Chrome store secret', 'cs_secret')
|
||||
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
|
||||
|
||||
print('Uploading to Chrome store...')
|
||||
with open(raw_zip_filepath, 'rb') as f:
|
||||
print('Generating access token...')
|
||||
auth_url = 'https://accounts.google.com/o/oauth2/token'
|
||||
auth_payload = {
|
||||
'client_id': cs_id,
|
||||
'client_secret': cs_secret,
|
||||
'grant_type': 'refresh_token',
|
||||
'refresh_token': cs_refresh,
|
||||
}
|
||||
auth_response = requests.post(auth_url, data=auth_payload)
|
||||
if auth_response.status_code != 200:
|
||||
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
|
||||
print(auth_response.text)
|
||||
exit(1)
|
||||
response_dict = auth_response.json()
|
||||
if 'access_token' not in response_dict:
|
||||
print('Error: Auth failed -- no access token')
|
||||
exit(1)
|
||||
# Prepare access token
|
||||
cs_auth = 'Bearer ' + response_dict['access_token']
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
}
|
||||
# Upload
|
||||
print('Uploading package...')
|
||||
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
|
||||
upload_response = requests.put(upload_url, headers=headers, data=f)
|
||||
f.close()
|
||||
if upload_response.status_code != 200:
|
||||
print('Upload failed -- server error {0}'.format(upload_response.status_code))
|
||||
print(upload_response.text)
|
||||
exit(1)
|
||||
response_dict = upload_response.json();
|
||||
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
|
||||
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
|
||||
exit(1)
|
||||
print('Upload succeeded.')
|
||||
# Publish
|
||||
print('Publishing package...')
|
||||
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
'Content-Length': '0',
|
||||
}
|
||||
publish_response = requests.post(publish_url, headers=headers)
|
||||
if publish_response.status_code != 200:
|
||||
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
|
||||
exit(1)
|
||||
response_dict = publish_response.json();
|
||||
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
|
||||
print('Publishing failed -- server error {0}'.format(response_dict['status']))
|
||||
exit(1)
|
||||
print('Publishing succeeded.')
|
||||
|
||||
print('All done.')
|
190
dist/chromium/publish-stable.py
vendored
190
dist/chromium/publish-stable.py
vendored
@@ -1,190 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
from string import Template
|
||||
|
||||
# - Download target (raw) uBlock0.chromium.zip from GitHub
|
||||
# - This is referred to as "raw" package
|
||||
# - This will fail if not a dev build
|
||||
# - Upload uBlock0.chromium.zip to Chrome store
|
||||
# - Publish uBlock0.chromium.zip to Chrome store
|
||||
|
||||
# Find path to project root
|
||||
projdir = os.path.split(os.path.abspath(__file__))[0]
|
||||
while not os.path.isdir(os.path.join(projdir, '.git')):
|
||||
projdir = os.path.normpath(os.path.join(projdir, '..'))
|
||||
|
||||
# We need a version string to work with
|
||||
if len(sys.argv) >= 2 and sys.argv[1]:
|
||||
version = sys.argv[1]
|
||||
else:
|
||||
version = input('Github release version: ')
|
||||
version.strip()
|
||||
if not re.search('^\d+\.\d+\.\d+$', version):
|
||||
print('Error: Invalid version string.')
|
||||
exit(1)
|
||||
|
||||
cs_extension_id = 'cjpalhdlnbpafiamejdnhcphjbkeiagm'
|
||||
tmpdir = tempfile.TemporaryDirectory()
|
||||
raw_zip_filename = 'uBlock0_' + version + '.chromium.zip'
|
||||
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
|
||||
github_owner = 'gorhill'
|
||||
github_repo = 'uBlock'
|
||||
|
||||
# Load/save auth secrets
|
||||
# The tmp directory is excluded from git
|
||||
ubo_secrets = dict()
|
||||
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
|
||||
if os.path.isfile(ubo_secrets_filename):
|
||||
with open(ubo_secrets_filename) as f:
|
||||
ubo_secrets = json.load(f)
|
||||
|
||||
def input_secret(prompt, token):
|
||||
if token in ubo_secrets:
|
||||
prompt += ' ✔'
|
||||
prompt += ': '
|
||||
value = input(prompt).strip()
|
||||
if len(value) == 0:
|
||||
if token not in ubo_secrets:
|
||||
print('Token error:', token)
|
||||
exit(1)
|
||||
value = ubo_secrets[token]
|
||||
elif token not in ubo_secrets or value != ubo_secrets[token]:
|
||||
ubo_secrets[token] = value
|
||||
exists = os.path.isfile(ubo_secrets_filename)
|
||||
with open(ubo_secrets_filename, 'w') as f:
|
||||
json.dump(ubo_secrets, f, indent=2)
|
||||
if not exists:
|
||||
os.chmod(ubo_secrets_filename, 0o600)
|
||||
return value
|
||||
|
||||
|
||||
# GitHub API token
|
||||
github_token = input_secret('Github token', 'github_token')
|
||||
github_auth = 'token ' + github_token
|
||||
|
||||
#
|
||||
# Get metadata from GitHub about the release
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release
|
||||
print('Downloading release info from GitHub...')
|
||||
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.get(release_info_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Release not found: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
release_info = response.json()
|
||||
|
||||
#
|
||||
# Extract URL to raw package from metadata
|
||||
#
|
||||
|
||||
# Find url for uBlock0.chromium.zip
|
||||
raw_zip_url = ''
|
||||
for asset in release_info['assets']:
|
||||
if asset['name'] == raw_zip_filename:
|
||||
raw_zip_url = asset['url']
|
||||
if len(raw_zip_url) == 0:
|
||||
print('Error: Release asset URL not found')
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Download raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
|
||||
print('Downloading raw zip package from GitHub...')
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Accept': 'application/octet-stream',
|
||||
}
|
||||
response = requests.get(raw_zip_url, headers=headers)
|
||||
# Redirections are transparently handled:
|
||||
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
|
||||
if response.status_code != 200:
|
||||
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
with open(raw_zip_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
|
||||
|
||||
#
|
||||
# Upload to Chrome store
|
||||
#
|
||||
|
||||
# Auth tokens
|
||||
cs_id = input_secret('Chrome store id', 'cs_id')
|
||||
cs_secret = input_secret('Chrome store secret', 'cs_secret')
|
||||
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
|
||||
|
||||
print('Uploading to Chrome store...')
|
||||
with open(raw_zip_filepath, 'rb') as f:
|
||||
print('Generating access token...')
|
||||
auth_url = 'https://accounts.google.com/o/oauth2/token'
|
||||
auth_payload = {
|
||||
'client_id': cs_id,
|
||||
'client_secret': cs_secret,
|
||||
'grant_type': 'refresh_token',
|
||||
'refresh_token': cs_refresh,
|
||||
}
|
||||
auth_response = requests.post(auth_url, data=auth_payload)
|
||||
if auth_response.status_code != 200:
|
||||
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
|
||||
print(auth_response.text)
|
||||
exit(1)
|
||||
response_dict = auth_response.json()
|
||||
if 'access_token' not in response_dict:
|
||||
print('Error: Auth failed -- no access token')
|
||||
exit(1)
|
||||
# Prepare access token
|
||||
cs_auth = 'Bearer ' + response_dict['access_token']
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
}
|
||||
# Upload
|
||||
print('Uploading package...')
|
||||
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
|
||||
upload_response = requests.put(upload_url, headers=headers, data=f)
|
||||
f.close()
|
||||
if upload_response.status_code != 200:
|
||||
print('Upload failed -- server error {0}'.format(upload_response.status_code))
|
||||
print(upload_response.text)
|
||||
exit(1)
|
||||
response_dict = upload_response.json();
|
||||
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
|
||||
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
|
||||
exit(1)
|
||||
print('Upload succeeded.')
|
||||
# Publish
|
||||
print('Publishing package...')
|
||||
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
'Content-Length': '0',
|
||||
}
|
||||
publish_response = requests.post(publish_url, headers=headers)
|
||||
if publish_response.status_code != 200:
|
||||
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
|
||||
exit(1)
|
||||
response_dict = publish_response.json();
|
||||
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
|
||||
print('Publishing failed -- server error {0}'.format(response_dict['status']))
|
||||
exit(1)
|
||||
print('Publishing succeeded.')
|
||||
|
||||
print('All done.')
|
331
dist/firefox/publish-signed-beta.py
vendored
331
dist/firefox/publish-signed-beta.py
vendored
@@ -1,331 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import jwt
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
from string import Template
|
||||
|
||||
# - Download target (raw) uBlock0.firefox.xpi from GitHub
|
||||
# - This is referred to as "raw" package
|
||||
# - This will fail if not a dev build
|
||||
# - Modify raw package to make it self-hosted
|
||||
# - This is referred to as "unsigned" package
|
||||
# - Ask AMO to sign uBlock0.firefox.xpi
|
||||
# - Generate JWT to be used for communication with server
|
||||
# - Upload unsigned package to AMO
|
||||
# - Wait for a valid download URL for signed package
|
||||
# - Download signed package as uBlock0.firefox.signed.xpi
|
||||
# - This is referred to as "signed" package
|
||||
# - Upload uBlock0.firefox.signed.xpi to GitHub
|
||||
# - Remove uBlock0.firefox.xpi from GitHub
|
||||
# - Modify updates.json to point to new version
|
||||
# - Commit changes to repo
|
||||
|
||||
# Find path to project root
|
||||
projdir = os.path.split(os.path.abspath(__file__))[0]
|
||||
while not os.path.isdir(os.path.join(projdir, '.git')):
|
||||
projdir = os.path.normpath(os.path.join(projdir, '..'))
|
||||
# Check that found project root is valid
|
||||
version_filepath = os.path.join(projdir, 'dist', 'version')
|
||||
if not os.path.isfile(version_filepath):
|
||||
print('Version file not found.')
|
||||
exit(1)
|
||||
|
||||
# We need a version string to work with
|
||||
if len(sys.argv) >= 2 and sys.argv[1]:
|
||||
tag_version = sys.argv[1]
|
||||
else:
|
||||
tag_version = input('Github release version: ')
|
||||
tag_version.strip()
|
||||
match = re.search('^(\d+\.\d+\.\d+)(?:(b|rc)(\d+))?$', tag_version)
|
||||
if not match:
|
||||
print('Error: Invalid version string.')
|
||||
exit(1)
|
||||
ext_version = match.group(1);
|
||||
if match.group(2):
|
||||
revision = int(match.group(3))
|
||||
if match.group(2) == 'rc':
|
||||
revision += 100;
|
||||
ext_version += '.' + str(revision)
|
||||
|
||||
extension_id = 'uBlock0@raymondhill.net'
|
||||
tmpdir = tempfile.TemporaryDirectory()
|
||||
raw_xpi_filename = 'uBlock0_' + tag_version + '.firefox.xpi'
|
||||
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
|
||||
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBlock0.firefox.unsigned.xpi')
|
||||
signed_xpi_filename = 'uBlock0_' + tag_version + '.firefox.signed.xpi'
|
||||
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
|
||||
github_owner = 'gorhill'
|
||||
github_repo = 'uBlock'
|
||||
|
||||
# Load/save auth secrets
|
||||
# The tmp directory is excluded from git
|
||||
ubo_secrets = dict()
|
||||
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
|
||||
if os.path.isfile(ubo_secrets_filename):
|
||||
with open(ubo_secrets_filename) as f:
|
||||
ubo_secrets = json.load(f)
|
||||
|
||||
def input_secret(prompt, token):
|
||||
if token in ubo_secrets:
|
||||
prompt += ' ✔'
|
||||
prompt += ': '
|
||||
value = input(prompt).strip()
|
||||
if len(value) == 0:
|
||||
if token not in ubo_secrets:
|
||||
print('Token error:', token)
|
||||
exit(1)
|
||||
value = ubo_secrets[token]
|
||||
elif token not in ubo_secrets or value != ubo_secrets[token]:
|
||||
ubo_secrets[token] = value
|
||||
exists = os.path.isfile(ubo_secrets_filename)
|
||||
with open(ubo_secrets_filename, 'w') as f:
|
||||
json.dump(ubo_secrets, f, indent=2)
|
||||
if not exists:
|
||||
os.chmod(ubo_secrets_filename, 0o600)
|
||||
return value
|
||||
|
||||
# GitHub API token
|
||||
github_token = input_secret('Github token', 'github_token')
|
||||
github_auth = 'token ' + github_token
|
||||
|
||||
#
|
||||
# Get metadata from GitHub about the release
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release
|
||||
print('Downloading release info from GitHub...')
|
||||
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.get(release_info_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Release not found: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
release_info = response.json()
|
||||
|
||||
#
|
||||
# Extract URL to raw package from metadata
|
||||
#
|
||||
|
||||
# Find url for uBlock0.firefox.xpi
|
||||
raw_xpi_url = ''
|
||||
for asset in release_info['assets']:
|
||||
if asset['name'] == signed_xpi_filename:
|
||||
print('Error: Found existing signed self-hosted package.')
|
||||
exit(1)
|
||||
if asset['name'] == raw_xpi_filename:
|
||||
raw_xpi_url = asset['url']
|
||||
if len(raw_xpi_url) == 0:
|
||||
print('Error: Release asset URL not found')
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Download raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
|
||||
print('Downloading raw xpi package from GitHub...')
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Accept': 'application/octet-stream',
|
||||
}
|
||||
response = requests.get(raw_xpi_url, headers=headers)
|
||||
# Redirections are transparently handled:
|
||||
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
|
||||
if response.status_code != 200:
|
||||
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
with open(raw_xpi_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
|
||||
|
||||
#
|
||||
# Convert the package to a self-hosted one: add `update_url` to the manifest
|
||||
#
|
||||
min_browser_version = '68';
|
||||
|
||||
print('Converting raw xpi package into self-hosted xpi package...')
|
||||
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
|
||||
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
|
||||
for item in zipin.infolist():
|
||||
data = zipin.read(item.filename)
|
||||
if item.filename == 'manifest.json':
|
||||
manifest = json.loads(bytes.decode(data))
|
||||
min_browser_version = manifest['browser_specific_settings']['gecko']['strict_min_version']
|
||||
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/firefox/updates.json'.format(github_owner, github_repo)
|
||||
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
|
||||
zipout.writestr(item, data)
|
||||
|
||||
#
|
||||
# Ask AMO to sign the self-hosted package
|
||||
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
|
||||
# - https://pyjwt.readthedocs.io/en/latest/usage.html
|
||||
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
|
||||
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
|
||||
#
|
||||
|
||||
amo_api_key = ''
|
||||
amo_secret = ''
|
||||
|
||||
def get_jwt_auth():
|
||||
global amo_api_key
|
||||
if amo_api_key == '':
|
||||
amo_api_key = input_secret('AMO API key', 'amo_api_key')
|
||||
global amo_secret
|
||||
if amo_secret == '':
|
||||
amo_secret = input_secret('AMO API secret', 'amo_secret')
|
||||
amo_nonce = os.urandom(8).hex()
|
||||
jwt_payload = {
|
||||
'iss': amo_api_key,
|
||||
'jti': amo_nonce,
|
||||
'iat': datetime.datetime.utcnow(),
|
||||
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
|
||||
}
|
||||
return 'JWT ' + jwt.encode(jwt_payload, amo_secret)
|
||||
|
||||
print('Ask AMO to sign self-hosted xpi package...')
|
||||
with open(unsigned_xpi_filepath, 'rb') as f:
|
||||
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
|
||||
# "We recommend allowing up to 15 minutes."
|
||||
interval = 60 # check every 60 seconds
|
||||
countdown = 60 * 60 / interval # for at most 60 minutes
|
||||
headers = { 'Authorization': get_jwt_auth(), }
|
||||
data = { 'channel': 'unlisted' }
|
||||
files = { 'upload': f, }
|
||||
signing_url = 'https://addons.mozilla.org/api/v4/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
|
||||
print('Submitting package to be signed...')
|
||||
response = requests.put(signing_url, headers=headers, data=data, files=files)
|
||||
if response.status_code != 202:
|
||||
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
print('Request for signing self-hosted xpi package succeeded.')
|
||||
signing_request_response = response.json();
|
||||
f.close()
|
||||
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
|
||||
# Wait for signed package to be ready
|
||||
signing_check_url = signing_request_response['url']
|
||||
while True:
|
||||
time.sleep(interval)
|
||||
sys.stdout.write('.')
|
||||
sys.stdout.flush()
|
||||
countdown -= 1
|
||||
if countdown <= 0:
|
||||
print('Error: AMO signing timed out')
|
||||
exit(1)
|
||||
headers = { 'Authorization': get_jwt_auth(), }
|
||||
response = requests.get(signing_check_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
signing_check_response = response.json()
|
||||
if not signing_check_response['processed']:
|
||||
continue
|
||||
if not signing_check_response['valid']:
|
||||
print('Error: AMO validation failed')
|
||||
print(response.text)
|
||||
exit(1)
|
||||
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
|
||||
continue
|
||||
if not signing_check_response['files'][0]['signed']:
|
||||
continue
|
||||
if not signing_check_response['files'][0]['download_url']:
|
||||
print('Error: AMO signing failed')
|
||||
print(response.text)
|
||||
exit(1)
|
||||
print('\r')
|
||||
print('Self-hosted xpi package successfully signed.')
|
||||
download_url = signing_check_response['files'][0]['download_url']
|
||||
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
|
||||
response = requests.get(download_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
with open(signed_xpi_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
f.close()
|
||||
print('Signed self-hosted xpi package downloaded.')
|
||||
break
|
||||
|
||||
#
|
||||
# Upload signed package to GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
|
||||
print('Uploading signed self-hosted xpi package to GitHub...')
|
||||
with open(signed_xpi_filepath, 'rb') as f:
|
||||
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Content-Type': 'application/zip',
|
||||
}
|
||||
response = requests.post(url, headers=headers, data=f.read())
|
||||
if response.status_code != 201:
|
||||
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Remove raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
|
||||
print('Remove raw xpi package from GitHub...')
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.delete(raw_xpi_url, headers=headers)
|
||||
if response.status_code != 204:
|
||||
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
|
||||
|
||||
#
|
||||
# Update updates.json to point to new package -- but only if just-signed
|
||||
# package is higher version than current one.
|
||||
#
|
||||
|
||||
# Be sure we are in sync with potentially modified files on remote
|
||||
r = subprocess.run(['git', 'pull', 'origin', 'master'], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
|
||||
def int_from_version(version):
|
||||
parts = version.split('.')
|
||||
if len(parts) == 3:
|
||||
parts.append('0')
|
||||
return int(parts[0])*10e9 + int(parts[1])*10e6 + int(parts[2])*10e3 + int(parts[3])
|
||||
|
||||
print('Update GitHub to point to newly signed self-hosted xpi package...')
|
||||
updates_json_filepath = os.path.join(projdir, 'dist', 'firefox', 'updates.json')
|
||||
with open(updates_json_filepath) as f:
|
||||
updates_json = json.load(f)
|
||||
f.close()
|
||||
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
|
||||
if int_from_version(ext_version) > int_from_version(previous_version):
|
||||
with open(os.path.join(projdir, 'dist', 'firefox', 'updates.template.json')) as f:
|
||||
template_json = Template(f.read())
|
||||
f.close()
|
||||
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version, min_browser_version=min_browser_version)
|
||||
with open(updates_json_filepath, 'w') as f:
|
||||
f.write(updates_json)
|
||||
f.close()
|
||||
# - Stage the changed file
|
||||
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
if len(rout) >= 2 and rout[1] == 'M':
|
||||
subprocess.run(['git', 'add', updates_json_filepath])
|
||||
# - Commit the staged file
|
||||
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
if len(rout) >= 2 and rout[0] == 'M':
|
||||
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
|
||||
subprocess.run(['git', 'push', 'origin', 'HEAD'])
|
||||
|
||||
print('All done.')
|
24
dist/firefox/updates.json
vendored
24
dist/firefox/updates.json
vendored
@@ -1,13 +1,17 @@
|
||||
{
|
||||
"addons": {
|
||||
"uBlock0@raymondhill.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "1.62.1.100",
|
||||
"browser_specific_settings": { "gecko": { "strict_min_version": "79.0" } },
|
||||
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.62.1rc0/uBlock0_1.62.1rc0.firefox.signed.xpi"
|
||||
"addons": {
|
||||
"uBlock0@raymondhill.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "1.66.5.1",
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"strict_min_version": "92.0"
|
||||
}
|
||||
},
|
||||
"update_link": "https://github.com/gorhill/uBlock/releases/download/1.66.5b1/uBlock0_1.66.5b1.firefox.signed.xpi"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
13
dist/firefox/updates.template.json
vendored
13
dist/firefox/updates.template.json
vendored
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"addons": {
|
||||
"uBlock0@raymondhill.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "$ext_version",
|
||||
"browser_specific_settings": { "gecko": { "strict_min_version": "$min_browser_version" } },
|
||||
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/uBlock0_$tag_version.firefox.signed.xpi"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
195
dist/mv3/chromium/publish-beta.py
vendored
195
dist/mv3/chromium/publish-beta.py
vendored
@@ -1,195 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
from string import Template
|
||||
|
||||
# - Download target (raw) uBOLite_*.chromium.mv3.zip from GitHub
|
||||
# - This is referred to as "raw" package
|
||||
# - This will fail if not a dev build
|
||||
# - Upload uBOLite_*.chromium.mv3.zip to Chrome store
|
||||
# - Publish uBOLite_*.chromium.mv3.zip to Chrome store
|
||||
|
||||
# Find path to project root
|
||||
projdir = os.path.split(os.path.abspath(__file__))[0]
|
||||
while not os.path.isdir(os.path.join(projdir, '.git')):
|
||||
projdir = os.path.normpath(os.path.join(projdir, '..'))
|
||||
|
||||
# We need a version string to work with
|
||||
if len(sys.argv) >= 2 and sys.argv[1]:
|
||||
version = sys.argv[1]
|
||||
else:
|
||||
version = input('Github release version: ')
|
||||
version.strip()
|
||||
if not re.search('^uBOLite_\d+\.\d+\.\d+\.\d+$', version):
|
||||
print('Error: Invalid version string.')
|
||||
exit(1)
|
||||
|
||||
cs_extension_id = 'ddkjiahejlhfcafbddmgiahcphecmpfh'
|
||||
tmpdir = tempfile.TemporaryDirectory()
|
||||
raw_zip_filename = ''
|
||||
raw_zip_filepath = ''
|
||||
github_owner = 'gorhill'
|
||||
github_repo = 'uBlock'
|
||||
|
||||
# Load/save auth secrets
|
||||
# The build directory is excluded from git
|
||||
ubo_secrets = dict()
|
||||
ubo_secrets_filename = os.path.join(projdir, 'dist', 'build', 'ubo_secrets')
|
||||
if os.path.isfile(ubo_secrets_filename):
|
||||
with open(ubo_secrets_filename) as f:
|
||||
ubo_secrets = json.load(f)
|
||||
|
||||
def input_secret(prompt, token):
|
||||
if token in ubo_secrets:
|
||||
prompt += ' ✔'
|
||||
prompt += ': '
|
||||
value = input(prompt).strip()
|
||||
if len(value) == 0:
|
||||
if token not in ubo_secrets:
|
||||
print('Token error:', token)
|
||||
exit(1)
|
||||
value = ubo_secrets[token]
|
||||
elif token not in ubo_secrets or value != ubo_secrets[token]:
|
||||
ubo_secrets[token] = value
|
||||
exists = os.path.isfile(ubo_secrets_filename)
|
||||
with open(ubo_secrets_filename, 'w') as f:
|
||||
json.dump(ubo_secrets, f, indent=2)
|
||||
if not exists:
|
||||
os.chmod(ubo_secrets_filename, 0o600)
|
||||
return value
|
||||
|
||||
|
||||
# GitHub API token
|
||||
github_token = input_secret('Github token', 'github_token')
|
||||
github_auth = 'token ' + github_token
|
||||
|
||||
#
|
||||
# Get metadata from GitHub about the release
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release
|
||||
print('Downloading release info from GitHub...')
|
||||
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, version)
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.get(release_info_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Release not found: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
release_info = response.json()
|
||||
|
||||
#
|
||||
# Extract URL to raw package from metadata
|
||||
#
|
||||
|
||||
# Find url for uBOLite_*.chromium.mv3.zip
|
||||
raw_zip_url = ''
|
||||
for asset in release_info['assets']:
|
||||
if re.search('uBOLite_\d+.\d+.\d+.\d+.chromium.mv3.zip', asset['name']):
|
||||
raw_zip_url = asset['url']
|
||||
raw_zip_filename = asset['name']
|
||||
raw_zip_filepath = os.path.join(tmpdir.name, raw_zip_filename)
|
||||
if len(raw_zip_url) == 0:
|
||||
print('Error: Release asset URL not found')
|
||||
exit(1)
|
||||
if len(raw_zip_filepath) == 0:
|
||||
print('Error: Invalid release asset file not set')
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Download raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
|
||||
print('Downloading raw zip package from GitHub...')
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Accept': 'application/octet-stream',
|
||||
}
|
||||
response = requests.get(raw_zip_url, headers=headers)
|
||||
# Redirections are transparently handled:
|
||||
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
|
||||
if response.status_code != 200:
|
||||
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
with open(raw_zip_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
print('Downloaded raw package saved as {0}'.format(raw_zip_filepath))
|
||||
|
||||
#
|
||||
# Upload to Chrome store
|
||||
#
|
||||
|
||||
# Auth tokens
|
||||
cs_id = input_secret('Chrome store id', 'cs_id')
|
||||
cs_secret = input_secret('Chrome store secret', 'cs_secret')
|
||||
cs_refresh = input_secret('Chrome store refresh token', 'cs_refresh')
|
||||
|
||||
print('Uploading to Chrome store...')
|
||||
with open(raw_zip_filepath, 'rb') as f:
|
||||
print('Generating access token...')
|
||||
auth_url = 'https://accounts.google.com/o/oauth2/token'
|
||||
auth_payload = {
|
||||
'client_id': cs_id,
|
||||
'client_secret': cs_secret,
|
||||
'grant_type': 'refresh_token',
|
||||
'refresh_token': cs_refresh,
|
||||
}
|
||||
auth_response = requests.post(auth_url, data=auth_payload)
|
||||
if auth_response.status_code != 200:
|
||||
print('Error: Auth failed -- server error {0}'.format(auth_response.status_code))
|
||||
print(auth_response.text)
|
||||
exit(1)
|
||||
response_dict = auth_response.json()
|
||||
if 'access_token' not in response_dict:
|
||||
print('Error: Auth failed -- no access token')
|
||||
exit(1)
|
||||
# Prepare access token
|
||||
cs_auth = 'Bearer ' + response_dict['access_token']
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
}
|
||||
# Upload
|
||||
print('Uploading package...')
|
||||
upload_url = 'https://www.googleapis.com/upload/chromewebstore/v1.1/items/{0}'.format(cs_extension_id)
|
||||
upload_response = requests.put(upload_url, headers=headers, data=f)
|
||||
f.close()
|
||||
if upload_response.status_code != 200:
|
||||
print('Upload failed -- server error {0}'.format(upload_response.status_code))
|
||||
print(upload_response.text)
|
||||
exit(1)
|
||||
response_dict = upload_response.json();
|
||||
if 'uploadState' not in response_dict or response_dict['uploadState'] != 'SUCCESS':
|
||||
print('Upload failed -- server error {0}'.format(response_dict['uploadState']))
|
||||
exit(1)
|
||||
print('Upload succeeded.')
|
||||
# Publish
|
||||
print('Publishing package...')
|
||||
publish_url = 'https://www.googleapis.com/chromewebstore/v1.1/items/{0}/publish'.format(cs_extension_id)
|
||||
headers = {
|
||||
'Authorization': cs_auth,
|
||||
'x-goog-api-version': '2',
|
||||
'Content-Length': '0',
|
||||
}
|
||||
publish_response = requests.post(publish_url, headers=headers)
|
||||
if publish_response.status_code != 200:
|
||||
print('Error: Chrome store publishing failed -- server error {0}'.format(publish_response.status_code))
|
||||
exit(1)
|
||||
response_dict = publish_response.json();
|
||||
if 'status' not in response_dict or response_dict['status'][0] != 'OK':
|
||||
print('Publishing failed -- server error {0}'.format(response_dict['status']))
|
||||
exit(1)
|
||||
print('Publishing succeeded.')
|
||||
|
||||
print('All done.')
|
326
dist/mv3/firefox/publish-signed-beta.py
vendored
326
dist/mv3/firefox/publish-signed-beta.py
vendored
@@ -1,326 +0,0 @@
|
||||
#!/usr/bin/env python3
|
||||
|
||||
import datetime
|
||||
import json
|
||||
import jwt
|
||||
import os
|
||||
import re
|
||||
import requests
|
||||
import shutil
|
||||
import subprocess
|
||||
import sys
|
||||
import tempfile
|
||||
import time
|
||||
import zipfile
|
||||
|
||||
from string import Template
|
||||
|
||||
# - Download target (raw) uBlock0.firefox.xpi from GitHub
|
||||
# - This is referred to as "raw" package
|
||||
# - This will fail if not a dev build
|
||||
# - Modify raw package to make it self-hosted
|
||||
# - This is referred to as "unsigned" package
|
||||
# - Ask AMO to sign uBlock0.firefox.xpi
|
||||
# - Generate JWT to be used for communication with server
|
||||
# - Upload unsigned package to AMO
|
||||
# - Wait for a valid download URL for signed package
|
||||
# - Download signed package as uBlock0.firefox.signed.xpi
|
||||
# - This is referred to as "signed" package
|
||||
# - Upload uBlock0.firefox.signed.xpi to GitHub
|
||||
# - Remove uBlock0.firefox.xpi from GitHub
|
||||
# - Modify updates.json to point to new version
|
||||
# - Commit changes to repo
|
||||
|
||||
# Find path to project root
|
||||
projdir = os.path.split(os.path.abspath(__file__))[0]
|
||||
while not os.path.isdir(os.path.join(projdir, '.git')):
|
||||
projdir = os.path.normpath(os.path.join(projdir, '..'))
|
||||
# Check that found project root is valid
|
||||
version_filepath = os.path.join(projdir, 'dist', 'version')
|
||||
if not os.path.isfile(version_filepath):
|
||||
print('Version file not found.')
|
||||
exit(1)
|
||||
|
||||
# We need a version string to work with
|
||||
if len(sys.argv) >= 2 and sys.argv[1]:
|
||||
tag_version = sys.argv[1]
|
||||
else:
|
||||
tag_version = input('Github release version: ')
|
||||
tag_version.strip()
|
||||
match = re.search('^uBOLite_(\d+\.\d+\.\d+.\d+)$', tag_version)
|
||||
if not match:
|
||||
print('Error: Invalid version string.')
|
||||
exit(1)
|
||||
ext_version = match.group(1);
|
||||
|
||||
extension_id = 'uBOLite@raymondhill.net'
|
||||
tmpdir = tempfile.TemporaryDirectory()
|
||||
raw_xpi_filename = tag_version + '.firefox.mv3.xpi'
|
||||
raw_xpi_filepath = os.path.join(tmpdir.name, raw_xpi_filename)
|
||||
unsigned_xpi_filepath = os.path.join(tmpdir.name, 'uBOLite.firefox.unsigned.xpi')
|
||||
signed_xpi_filename = tag_version + '.firefox.signed.mv3.xpi'
|
||||
signed_xpi_filepath = os.path.join(tmpdir.name, signed_xpi_filename)
|
||||
github_owner = 'gorhill'
|
||||
github_repo = 'uBlock'
|
||||
|
||||
# Load/save auth secrets
|
||||
# The tmp directory is excluded from git
|
||||
ubo_secrets = dict()
|
||||
ubo_secrets_filename = os.path.join(projdir, 'tmp', 'ubo_secrets')
|
||||
if os.path.isfile(ubo_secrets_filename):
|
||||
with open(ubo_secrets_filename) as f:
|
||||
ubo_secrets = json.load(f)
|
||||
|
||||
def input_secret(prompt, token):
|
||||
if token in ubo_secrets:
|
||||
prompt += ' ✔'
|
||||
prompt += ': '
|
||||
value = input(prompt).strip()
|
||||
if len(value) == 0:
|
||||
if token not in ubo_secrets:
|
||||
print('Token error:', token)
|
||||
exit(1)
|
||||
value = ubo_secrets[token]
|
||||
elif token not in ubo_secrets or value != ubo_secrets[token]:
|
||||
ubo_secrets[token] = value
|
||||
exists = os.path.isfile(ubo_secrets_filename)
|
||||
with open(ubo_secrets_filename, 'w') as f:
|
||||
json.dump(ubo_secrets, f, indent=2)
|
||||
if not exists:
|
||||
os.chmod(ubo_secrets_filename, 0o600)
|
||||
return value
|
||||
|
||||
# GitHub API token
|
||||
github_token = input_secret('Github token', 'github_token')
|
||||
github_auth = 'token ' + github_token
|
||||
|
||||
#
|
||||
# Get metadata from GitHub about the release
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release
|
||||
print('Downloading release info from GitHub...')
|
||||
release_info_url = 'https://api.github.com/repos/{0}/{1}/releases/tags/{2}'.format(github_owner, github_repo, tag_version)
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.get(release_info_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Release not found: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
release_info = response.json()
|
||||
|
||||
#
|
||||
# Extract URL to raw package from metadata
|
||||
#
|
||||
|
||||
# Find url for uBlock0.firefox.xpi
|
||||
raw_xpi_url = ''
|
||||
for asset in release_info['assets']:
|
||||
if asset['name'] == signed_xpi_filename:
|
||||
print('Error: Found existing signed self-hosted package.')
|
||||
exit(1)
|
||||
if asset['name'] == raw_xpi_filename:
|
||||
raw_xpi_url = asset['url']
|
||||
if len(raw_xpi_url) == 0:
|
||||
print('Error: Release asset URL not found')
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Download raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#get-a-single-release-asset
|
||||
print('Downloading raw xpi package from GitHub...')
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Accept': 'application/octet-stream',
|
||||
}
|
||||
response = requests.get(raw_xpi_url, headers=headers)
|
||||
# Redirections are transparently handled:
|
||||
# http://docs.python-requests.org/en/master/user/quickstart/#redirection-and-history
|
||||
if response.status_code != 200:
|
||||
print('Error: Downloading raw package failed -- server error {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
with open(raw_xpi_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
print('Downloaded raw package saved as {0}'.format(raw_xpi_filepath))
|
||||
|
||||
#
|
||||
# Convert the package to a self-hosted one: add `update_url` to the manifest
|
||||
#
|
||||
min_browser_version = '114.0';
|
||||
|
||||
print('Converting raw xpi package into self-hosted xpi package...')
|
||||
with zipfile.ZipFile(raw_xpi_filepath, 'r') as zipin:
|
||||
with zipfile.ZipFile(unsigned_xpi_filepath, 'w') as zipout:
|
||||
for item in zipin.infolist():
|
||||
data = zipin.read(item.filename)
|
||||
if item.filename == 'manifest.json':
|
||||
manifest = json.loads(bytes.decode(data))
|
||||
min_browser_version = manifest['browser_specific_settings']['gecko']['strict_min_version']
|
||||
manifest['browser_specific_settings']['gecko']['update_url'] = 'https://raw.githubusercontent.com/{0}/{1}/master/dist/mv3/firefox/updates.json'.format(github_owner, github_repo)
|
||||
data = json.dumps(manifest, indent=2, separators=(',', ': '), sort_keys=True).encode()
|
||||
zipout.writestr(item, data)
|
||||
|
||||
#
|
||||
# Ask AMO to sign the self-hosted package
|
||||
# - https://developer.mozilla.org/en-US/Add-ons/Distribution#Distributing_your_add-on
|
||||
# - https://pyjwt.readthedocs.io/en/latest/usage.html
|
||||
# - https://addons-server.readthedocs.io/en/latest/topics/api/auth.html
|
||||
# - https://addons-server.readthedocs.io/en/latest/topics/api/signing.html
|
||||
#
|
||||
|
||||
amo_api_key = ''
|
||||
amo_secret = ''
|
||||
|
||||
def get_jwt_auth():
|
||||
global amo_api_key
|
||||
if amo_api_key == '':
|
||||
amo_api_key = input_secret('AMO API key', 'amo_api_key')
|
||||
global amo_secret
|
||||
if amo_secret == '':
|
||||
amo_secret = input_secret('AMO API secret', 'amo_secret')
|
||||
amo_nonce = os.urandom(8).hex()
|
||||
jwt_payload = {
|
||||
'iss': amo_api_key,
|
||||
'jti': amo_nonce,
|
||||
'iat': datetime.datetime.utcnow(),
|
||||
'exp': datetime.datetime.utcnow() + datetime.timedelta(seconds=15),
|
||||
}
|
||||
return 'JWT ' + jwt.encode(jwt_payload, amo_secret)
|
||||
|
||||
print('Ask AMO to sign self-hosted xpi package...')
|
||||
with open(unsigned_xpi_filepath, 'rb') as f:
|
||||
# https://blog.mozilla.org/addons/2019/11/11/security-improvements-in-amo-upload-tools/
|
||||
# "We recommend allowing up to 15 minutes."
|
||||
interval = 60 # check every 60 seconds
|
||||
countdown = 60 * 60 / interval # for at most 60 minutes
|
||||
headers = { 'Authorization': get_jwt_auth(), }
|
||||
data = { 'channel': 'unlisted' }
|
||||
files = { 'upload': f, }
|
||||
signing_url = 'https://addons.mozilla.org/api/v4/addons/{0}/versions/{1}/'.format(extension_id, ext_version)
|
||||
print('Submitting package to be signed...')
|
||||
response = requests.put(signing_url, headers=headers, data=data, files=files)
|
||||
if response.status_code != 202:
|
||||
print('Error: Creating new version failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
print('Request for signing self-hosted xpi package succeeded.')
|
||||
signing_request_response = response.json();
|
||||
f.close()
|
||||
print('Waiting for AMO to process the request to sign the self-hosted xpi package...')
|
||||
# Wait for signed package to be ready
|
||||
signing_check_url = signing_request_response['url']
|
||||
while True:
|
||||
time.sleep(interval)
|
||||
sys.stdout.write('.')
|
||||
sys.stdout.flush()
|
||||
countdown -= 1
|
||||
if countdown <= 0:
|
||||
print('Error: AMO signing timed out')
|
||||
exit(1)
|
||||
headers = { 'Authorization': get_jwt_auth(), }
|
||||
response = requests.get(signing_check_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: AMO signing failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
signing_check_response = response.json()
|
||||
if not signing_check_response['processed']:
|
||||
continue
|
||||
if not signing_check_response['valid']:
|
||||
print('Error: AMO validation failed')
|
||||
print(response.text)
|
||||
exit(1)
|
||||
if not signing_check_response['files'] or len(signing_check_response['files']) == 0:
|
||||
continue
|
||||
if not signing_check_response['files'][0]['signed']:
|
||||
continue
|
||||
if not signing_check_response['files'][0]['download_url']:
|
||||
print('Error: AMO signing failed')
|
||||
print(response.text)
|
||||
exit(1)
|
||||
print('\r')
|
||||
print('Self-hosted xpi package successfully signed.')
|
||||
download_url = signing_check_response['files'][0]['download_url']
|
||||
print('Downloading signed self-hosted xpi package from {0}...'.format(download_url))
|
||||
response = requests.get(download_url, headers=headers)
|
||||
if response.status_code != 200:
|
||||
print('Error: Download signed package failed -- server error {0}'.format(response.status_code))
|
||||
print(response.text)
|
||||
exit(1)
|
||||
with open(signed_xpi_filepath, 'wb') as f:
|
||||
f.write(response.content)
|
||||
f.close()
|
||||
print('Signed self-hosted xpi package downloaded.')
|
||||
break
|
||||
|
||||
#
|
||||
# Upload signed package to GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#upload-a-release-asset
|
||||
print('Uploading signed self-hosted xpi package to GitHub...')
|
||||
with open(signed_xpi_filepath, 'rb') as f:
|
||||
url = release_info['upload_url'].replace('{?name,label}', '?name=' + signed_xpi_filename)
|
||||
headers = {
|
||||
'Authorization': github_auth,
|
||||
'Content-Type': 'application/zip',
|
||||
}
|
||||
response = requests.post(url, headers=headers, data=f.read())
|
||||
if response.status_code != 201:
|
||||
print('Error: Upload signed package failed -- server error: {0}'.format(response.status_code))
|
||||
exit(1)
|
||||
|
||||
#
|
||||
# Remove raw package from GitHub
|
||||
#
|
||||
|
||||
# https://developer.github.com/v3/repos/releases/#delete-a-release-asset
|
||||
print('Remove raw xpi package from GitHub...')
|
||||
headers = { 'Authorization': github_auth, }
|
||||
response = requests.delete(raw_xpi_url, headers=headers)
|
||||
if response.status_code != 204:
|
||||
print('Error: Deletion of raw package failed -- server error: {0}'.format(response.status_code))
|
||||
|
||||
#
|
||||
# Update updates.json to point to new package -- but only if just-signed
|
||||
# package is higher version than current one.
|
||||
#
|
||||
|
||||
# Be sure we are in sync with potentially modified files on remote
|
||||
r = subprocess.run(['git', 'pull', 'origin', 'master'], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
|
||||
def int_from_version(version):
|
||||
parts = version.split('.')
|
||||
if len(parts) == 3:
|
||||
parts.append('0')
|
||||
return int(parts[0])*10e9 + int(parts[1])*10e6 + int(parts[2])*10e3 + int(parts[3])
|
||||
|
||||
print('Update GitHub to point to newly signed self-hosted xpi package...')
|
||||
updates_json_filepath = os.path.join(projdir, 'dist', 'mv3', 'firefox', 'updates.json')
|
||||
with open(updates_json_filepath) as f:
|
||||
updates_json = json.load(f)
|
||||
f.close()
|
||||
previous_version = updates_json['addons'][extension_id]['updates'][0]['version']
|
||||
if int_from_version(ext_version) > int_from_version(previous_version):
|
||||
with open(os.path.join(projdir, 'dist', 'mv3', 'firefox', 'updates.template.json')) as f:
|
||||
template_json = Template(f.read())
|
||||
f.close()
|
||||
updates_json = template_json.substitute(ext_version=ext_version, tag_version=tag_version, min_browser_version=min_browser_version)
|
||||
with open(updates_json_filepath, 'w') as f:
|
||||
f.write(updates_json)
|
||||
f.close()
|
||||
# - Stage the changed file
|
||||
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
if len(rout) >= 2 and rout[1] == 'M':
|
||||
subprocess.run(['git', 'add', updates_json_filepath])
|
||||
# - Commit the staged file
|
||||
r = subprocess.run(['git', 'status', '-s', updates_json_filepath], stdout=subprocess.PIPE)
|
||||
rout = bytes.decode(r.stdout).strip()
|
||||
if len(rout) >= 2 and rout[0] == 'M':
|
||||
subprocess.run(['git', 'commit', '-m', 'Make Firefox dev build auto-update', updates_json_filepath])
|
||||
subprocess.run(['git', 'push', 'origin', 'HEAD'])
|
||||
|
||||
print('All done.')
|
13
dist/mv3/firefox/updates.json
vendored
13
dist/mv3/firefox/updates.json
vendored
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"addons": {
|
||||
"uBOLite@raymondhill.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "1.0.23.8125",
|
||||
"browser_specific_settings": { "gecko": { "strict_min_version": "114.0" } },
|
||||
"update_link": "https://github.com/gorhill/uBlock/releases/download/uBOLite_1.0.23.8125/uBOLite_1.0.23.8125.firefox.signed.mv3.xpi"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
13
dist/mv3/firefox/updates.template.json
vendored
13
dist/mv3/firefox/updates.template.json
vendored
@@ -1,13 +0,0 @@
|
||||
{
|
||||
"addons": {
|
||||
"uBOLite@raymondhill.net": {
|
||||
"updates": [
|
||||
{
|
||||
"version": "$ext_version",
|
||||
"browser_specific_settings": { "gecko": { "strict_min_version": "$min_browser_version" } },
|
||||
"update_link": "https://github.com/gorhill/uBlock/releases/download/$tag_version/$tag_version.firefox.signed.mv3.xpi"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
2
dist/version
vendored
2
dist/version
vendored
@@ -1 +1 @@
|
||||
1.62.1.101
|
||||
1.66.5.2
|
183
package-lock.json
generated
183
package-lock.json
generated
@@ -11,8 +11,8 @@
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.4",
|
||||
"@eslint/js": "^9.17.0",
|
||||
"@eslint/json": "^0.9.0",
|
||||
"eslint": "^9.17.0",
|
||||
"@eslint/json": "^0.13.1",
|
||||
"eslint": "^9.34.0",
|
||||
"eslint-formatter-compact": "^8.40.0",
|
||||
"globals": "^15.14.0"
|
||||
},
|
||||
@@ -22,9 +22,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint-community/eslint-utils": {
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.1.tgz",
|
||||
"integrity": "sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==",
|
||||
"version": "4.7.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.7.0.tgz",
|
||||
"integrity": "sha512-dyybb3AcajC7uha6CvhdVRJqaKyn7w2YKqKyAN37NKYgZT36w+iRb0Dymmc5qEJ549c/S31cMMSFd75bteCpCw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -64,16 +64,16 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/compat": {
|
||||
"version": "1.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.2.4.tgz",
|
||||
"integrity": "sha512-S8ZdQj/N69YAtuqFt7653jwcvuUj131+6qGLUyDqfDg1OIoBQ66OCuXC473YQfO2AaxITTutiRQiDwoo7ZLYyg==",
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/compat/-/compat-1.3.2.tgz",
|
||||
"integrity": "sha512-jRNwzTbd6p2Rw4sZ1CgWRS8YMtqG15YyZf7zvb6gY2rB2u6n+2Z+ELW0GtL0fQgyl0pr4Y/BzBfng/BdsereRA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"eslint": "^9.10.0"
|
||||
"eslint": "^8.40 || 9"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"eslint": {
|
||||
@@ -82,13 +82,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-array": {
|
||||
"version": "0.19.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz",
|
||||
"integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==",
|
||||
"version": "0.21.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.0.tgz",
|
||||
"integrity": "sha512-ENIdc4iLu0d93HeYirvKmrzshzofPw6VkZRKQGe9Nv46ZnWUzcF1xV01dcvEg/1wXUR61OmmlSfyeyO7EvjLxQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/object-schema": "^2.1.5",
|
||||
"@eslint/object-schema": "^2.1.6",
|
||||
"debug": "^4.3.1",
|
||||
"minimatch": "^3.1.2"
|
||||
},
|
||||
@@ -96,10 +96,20 @@
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/config-helpers": {
|
||||
"version": "0.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.3.1.tgz",
|
||||
"integrity": "sha512-xR93k9WhrDYpXHORXpxVL5oHj3Era7wo6k/Wd8/IsQNnZUTzkGS29lyn3nAT05v6ltUuTFVCCYDEGfy2Or/sPA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/core": {
|
||||
"version": "0.9.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.9.1.tgz",
|
||||
"integrity": "sha512-GuUdqkyyzQI5RMIWkHhvTWLCyLo1jNK3vzkSyaExH5kHPDHcuL2VOpHjmMY+y3+NC69qAKToBqldTBgYeLSr9Q==",
|
||||
"version": "0.15.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.15.2.tgz",
|
||||
"integrity": "sha512-78Md3/Rrxh83gCxoUc0EiciuOHsIITzLy53m3d9UyiW8y9Dj2D29FeETqyKA+BRK76tnTp6RXWb3pCay8Oyomg==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
@@ -110,9 +120,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/eslintrc": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz",
|
||||
"integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz",
|
||||
"integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -147,33 +157,38 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/js": {
|
||||
"version": "9.17.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.17.0.tgz",
|
||||
"integrity": "sha512-Sxc4hqcs1kTu0iID3kcZDW3JHq2a77HO9P8CP6YEA/FpH3Ll8UXE2r/86Rz9YJLKme39S9vU5OWNjC6Xl0Cr3w==",
|
||||
"version": "9.34.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.34.0.tgz",
|
||||
"integrity": "sha512-EoyvqQnBNsV1CWaEJ559rxXL4c8V92gxirbawSmVUOWXlsRxxQXl6LmCpdUblgxgSkDIqKnhzba2SjRTI/A5Rw==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://eslint.org/donate"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/json": {
|
||||
"version": "0.9.0",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.9.0.tgz",
|
||||
"integrity": "sha512-PTLD0Kp7+BKhTthodns+hFbuZZ+hjb3lc/iVAg7mtBAnW5hLJhkST9O4m21oMkxG94GR2+GGZQNNurG9KP8pNA==",
|
||||
"version": "0.13.2",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/json/-/json-0.13.2.tgz",
|
||||
"integrity": "sha512-yWLyRE18rHgHXhWigRpiyv1LDPkvWtC6oa7QHXW7YdP6gosJoq7BiLZW2yCs9U7zN7X4U3ZeOJjepA10XAOIMw==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/plugin-kit": "^0.2.3",
|
||||
"@humanwhocodes/momoa": "^3.3.4"
|
||||
"@eslint/core": "^0.15.2",
|
||||
"@eslint/plugin-kit": "^0.3.5",
|
||||
"@humanwhocodes/momoa": "^3.3.9",
|
||||
"natural-compare": "^1.4.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/object-schema": {
|
||||
"version": "2.1.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz",
|
||||
"integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==",
|
||||
"version": "2.1.6",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz",
|
||||
"integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -181,12 +196,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@eslint/plugin-kit": {
|
||||
"version": "0.2.4",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.4.tgz",
|
||||
"integrity": "sha512-zSkKow6H5Kdm0ZUQUB2kV5JIXqoG0+uH5YADhaEHswm664N9Db8dXSi0nMJpacpMf+MyyglF1vnZohpEg5yUtg==",
|
||||
"version": "0.3.5",
|
||||
"resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.3.5.tgz",
|
||||
"integrity": "sha512-Z5kJ+wU3oA7MMIqVR9tyZRtjYPr4OC004Q4Rw7pgOKUOKkJfZ3O24nz3WYfGRpMDNmcOi3TwQOmgm7B7Tpii0w==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@eslint/core": "^0.15.2",
|
||||
"levn": "^0.4.1"
|
||||
},
|
||||
"engines": {
|
||||
@@ -246,9 +262,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/momoa": {
|
||||
"version": "3.3.6",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.6.tgz",
|
||||
"integrity": "sha512-7/sAGm3YsT6xG1bDkTSHvOpQB+cR4I2InfMVw110nuOCrxZvOQHgRqBMxSoTeUQrk9RS4OU9Aw2MBMZVJgLZMg==",
|
||||
"version": "3.3.9",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/momoa/-/momoa-3.3.9.tgz",
|
||||
"integrity": "sha512-LHw6Op4bJb3/3KZgOgwflJx5zY9XOy0NU1NuyUFKGdTwHYmP+PbnQGCYQJ8NVNlulLfQish34b0VuUlLYP3AXA==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -256,9 +272,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@humanwhocodes/retry": {
|
||||
"version": "0.4.1",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.1.tgz",
|
||||
"integrity": "sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==",
|
||||
"version": "0.4.3",
|
||||
"resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz",
|
||||
"integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -270,9 +286,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@types/estree": {
|
||||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz",
|
||||
"integrity": "sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==",
|
||||
"version": "1.0.8",
|
||||
"resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz",
|
||||
"integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
@@ -284,9 +300,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/acorn": {
|
||||
"version": "8.14.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz",
|
||||
"integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==",
|
||||
"version": "8.15.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
|
||||
"integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"bin": {
|
||||
@@ -354,9 +370,9 @@
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/brace-expansion": {
|
||||
"version": "1.1.11",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
|
||||
"version": "1.1.12",
|
||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
|
||||
"integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -434,9 +450,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/debug": {
|
||||
"version": "4.4.0",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz",
|
||||
"integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==",
|
||||
"version": "4.4.1",
|
||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz",
|
||||
"integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
@@ -472,22 +488,23 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint": {
|
||||
"version": "9.17.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.17.0.tgz",
|
||||
"integrity": "sha512-evtlNcpJg+cZLcnVKwsai8fExnqjGPicK7gnUtlNuzu+Fv9bI0aLpND5T44VLQtoMEnI57LoXO9XAkIXwohKrA==",
|
||||
"version": "9.34.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-9.34.0.tgz",
|
||||
"integrity": "sha512-RNCHRX5EwdrESy3Jc9o8ie8Bog+PeYvvSR8sDGoZxNFTvZ4dlxUB3WzQ3bQMztFrSRODGrLLj8g6OFuGY/aiQg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"@eslint-community/eslint-utils": "^4.2.0",
|
||||
"@eslint-community/regexpp": "^4.12.1",
|
||||
"@eslint/config-array": "^0.19.0",
|
||||
"@eslint/core": "^0.9.0",
|
||||
"@eslint/eslintrc": "^3.2.0",
|
||||
"@eslint/js": "9.17.0",
|
||||
"@eslint/plugin-kit": "^0.2.3",
|
||||
"@eslint/config-array": "^0.21.0",
|
||||
"@eslint/config-helpers": "^0.3.1",
|
||||
"@eslint/core": "^0.15.2",
|
||||
"@eslint/eslintrc": "^3.3.1",
|
||||
"@eslint/js": "9.34.0",
|
||||
"@eslint/plugin-kit": "^0.3.5",
|
||||
"@humanfs/node": "^0.16.6",
|
||||
"@humanwhocodes/module-importer": "^1.0.1",
|
||||
"@humanwhocodes/retry": "^0.4.1",
|
||||
"@humanwhocodes/retry": "^0.4.2",
|
||||
"@types/estree": "^1.0.6",
|
||||
"@types/json-schema": "^7.0.15",
|
||||
"ajv": "^6.12.4",
|
||||
@@ -495,9 +512,9 @@
|
||||
"cross-spawn": "^7.0.6",
|
||||
"debug": "^4.3.2",
|
||||
"escape-string-regexp": "^4.0.0",
|
||||
"eslint-scope": "^8.2.0",
|
||||
"eslint-visitor-keys": "^4.2.0",
|
||||
"espree": "^10.3.0",
|
||||
"eslint-scope": "^8.4.0",
|
||||
"eslint-visitor-keys": "^4.2.1",
|
||||
"espree": "^10.4.0",
|
||||
"esquery": "^1.5.0",
|
||||
"esutils": "^2.0.2",
|
||||
"fast-deep-equal": "^3.1.3",
|
||||
@@ -542,9 +559,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-scope": {
|
||||
"version": "8.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz",
|
||||
"integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==",
|
||||
"version": "8.4.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz",
|
||||
"integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
@@ -559,9 +576,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/eslint-visitor-keys": {
|
||||
"version": "4.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz",
|
||||
"integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==",
|
||||
"version": "4.2.1",
|
||||
"resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz",
|
||||
"integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==",
|
||||
"dev": true,
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -572,15 +589,15 @@
|
||||
}
|
||||
},
|
||||
"node_modules/espree": {
|
||||
"version": "10.3.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz",
|
||||
"integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==",
|
||||
"version": "10.4.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz",
|
||||
"integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==",
|
||||
"dev": true,
|
||||
"license": "BSD-2-Clause",
|
||||
"dependencies": {
|
||||
"acorn": "^8.14.0",
|
||||
"acorn": "^8.15.0",
|
||||
"acorn-jsx": "^5.3.2",
|
||||
"eslint-visitor-keys": "^4.2.0"
|
||||
"eslint-visitor-keys": "^4.2.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
|
||||
@@ -701,9 +718,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/flatted": {
|
||||
"version": "3.3.2",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.2.tgz",
|
||||
"integrity": "sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==",
|
||||
"version": "3.3.3",
|
||||
"resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz",
|
||||
"integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==",
|
||||
"dev": true,
|
||||
"license": "ISC"
|
||||
},
|
||||
@@ -721,9 +738,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/globals": {
|
||||
"version": "15.14.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-15.14.0.tgz",
|
||||
"integrity": "sha512-OkToC372DtlQeje9/zHIo5CT8lRP/FUgEOKBEhU4e0abL7J7CD24fD9ohiLN5hagG/kWCYj4K5oaxxtj2Z0Dig==",
|
||||
"version": "15.15.0",
|
||||
"resolved": "https://registry.npmjs.org/globals/-/globals-15.15.0.tgz",
|
||||
"integrity": "sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
@@ -754,9 +771,9 @@
|
||||
}
|
||||
},
|
||||
"node_modules/import-fresh": {
|
||||
"version": "3.3.0",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz",
|
||||
"integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==",
|
||||
"version": "3.3.1",
|
||||
"resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz",
|
||||
"integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
@@ -2,9 +2,9 @@
|
||||
"name": "uBlock",
|
||||
"version": "1.0.0",
|
||||
"description": "npm dev tools",
|
||||
"main": "index.js",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"lint": "eslint --no-warn-ignored -- \"./src/js/*.js\" \"./src/js/**/*.js\" \"./**/*.json\" \"./platform/**/*.js\"",
|
||||
"lint": "eslint --no-warn-ignored --ignore-pattern \"**/lib/\" --ignore-pattern \"**/npm/\" -- \"./src/js/*.js\" \"./src/js/**/*.js\" \"./**/*.json\" \"./platform/**/*.js\"",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"repository": {
|
||||
@@ -24,8 +24,8 @@
|
||||
"devDependencies": {
|
||||
"@eslint/compat": "^1.2.4",
|
||||
"@eslint/js": "^9.17.0",
|
||||
"@eslint/json": "^0.9.0",
|
||||
"eslint": "^9.17.0",
|
||||
"@eslint/json": "^0.13.1",
|
||||
"eslint": "^9.34.0",
|
||||
"eslint-formatter-compact": "^8.40.0",
|
||||
"globals": "^15.14.0"
|
||||
}
|
||||
|
@@ -89,7 +89,7 @@
|
||||
},
|
||||
"incognito": "split",
|
||||
"manifest_version": 2,
|
||||
"minimum_chrome_version": "85.0",
|
||||
"minimum_chrome_version": "93.0",
|
||||
"name": "uBlock Origin",
|
||||
"options_ui": {
|
||||
"page": "dashboard.html",
|
||||
|
@@ -26,6 +26,8 @@
|
||||
// so we synthetize these missing events when this happens.
|
||||
// https://github.com/uBlockOrigin/uAssets/issues/10323
|
||||
// Also mind whether the new tab is launched from an external application.
|
||||
// https://github.com/uBlockOrigin/uBlock-issues/issues/2227
|
||||
// Revert commit related to issue above.
|
||||
|
||||
vAPI.Tabs = class extends vAPI.Tabs {
|
||||
constructor() {
|
||||
@@ -66,8 +68,7 @@ vAPI.Tabs = class extends vAPI.Tabs {
|
||||
const isClientRedirect =
|
||||
Array.isArray(details.transitionQualifiers) &&
|
||||
details.transitionQualifiers.includes('client_redirect');
|
||||
const isStartPage = details.transitionType === 'start_page';
|
||||
if ( isClientRedirect === false && isStartPage === false ) { return; }
|
||||
if ( isClientRedirect === false ) { return; }
|
||||
this.onCreatedNavigationTargetHandler({
|
||||
tabId: details.tabId,
|
||||
sourceTabId: details.tabId,
|
||||
@@ -212,7 +213,7 @@ vAPI.scriptletsInjector = (( ) => {
|
||||
const parts = [
|
||||
'(',
|
||||
function(details) {
|
||||
if ( typeof self.uBO_scriptletsInjected === 'string' ) { return; }
|
||||
if ( self.uBO_scriptletsInjected !== undefined ) { return; }
|
||||
const doc = document;
|
||||
const { location } = doc;
|
||||
if ( location === null ) { return; }
|
||||
|
@@ -43,15 +43,12 @@ if ( vAPI.canWASM === false ) {
|
||||
|
||||
vAPI.supportsUserStylesheets = vAPI.webextFlavor.soup.has('user_stylesheet');
|
||||
|
||||
const hasOwnProperty = (o, p) =>
|
||||
Object.prototype.hasOwnProperty.call(o, p);
|
||||
|
||||
/******************************************************************************/
|
||||
|
||||
vAPI.app = {
|
||||
name: manifest.name.replace(/ dev\w+ build/, ''),
|
||||
version: (( ) => {
|
||||
let version = manifest.version;
|
||||
let version = manifest.version_name || manifest.version;
|
||||
const match = /(\d+\.\d+\.\d+)(?:\.(\d+))?/.exec(version);
|
||||
if ( match && match[2] ) {
|
||||
const v = parseInt(match[2], 10);
|
||||
@@ -190,7 +187,7 @@ vAPI.browserSettings = (( ) => {
|
||||
|
||||
set: function(details) {
|
||||
for ( const setting in details ) {
|
||||
if ( hasOwnProperty(details, setting) === false ) { continue; }
|
||||
if ( Object.hasOwn(details, setting) === false ) { continue; }
|
||||
switch ( setting ) {
|
||||
case 'prefetching': {
|
||||
const enabled = !!details[setting];
|
||||
@@ -1220,7 +1217,7 @@ vAPI.Net = class {
|
||||
{
|
||||
const wrrt = browser.webRequest.ResourceType;
|
||||
for ( const typeKey in wrrt ) {
|
||||
if ( hasOwnProperty(wrrt, typeKey) ) {
|
||||
if ( Object.hasOwn(wrrt, typeKey) ) {
|
||||
this.validTypes.add(wrrt[typeKey]);
|
||||
}
|
||||
}
|
||||
|
@@ -166,7 +166,9 @@ vAPI.webextFlavor = {
|
||||
soup.add('ipaddress');
|
||||
|
||||
// Whether this is a dev build.
|
||||
if ( /^\d+\.\d+\.\d+\D/.test(browser.runtime.getManifest().version) ) {
|
||||
const manifest = browser.runtime.getManifest();
|
||||
const version = manifest.version_name || manifest.version;
|
||||
if ( /^\d+\.\d+\.\d+\D/.test(version) ) {
|
||||
soup.add('devbuild');
|
||||
}
|
||||
|
||||
@@ -178,8 +180,11 @@ vAPI.webextFlavor = {
|
||||
soup.add('native_css_has');
|
||||
}
|
||||
|
||||
const extensionOrigin = browser.runtime.getURL('');
|
||||
|
||||
// Order of tests is important
|
||||
if ( browser.runtime.getURL('').startsWith('moz-extension://') ) {
|
||||
flavor.isGecko = extensionOrigin.startsWith('moz-extension://');
|
||||
if ( flavor.isGecko ) {
|
||||
soup.add('firefox')
|
||||
.add('user_stylesheet')
|
||||
.add('html_filtering');
|
||||
|
@@ -17,10 +17,10 @@
|
||||
"browser_specific_settings": {
|
||||
"gecko": {
|
||||
"id": "uBlock0@raymondhill.net",
|
||||
"strict_min_version": "79.0"
|
||||
"strict_min_version": "92.0"
|
||||
},
|
||||
"gecko_android": {
|
||||
"strict_min_version": "79.0"
|
||||
"strict_min_version": "92.0"
|
||||
}
|
||||
},
|
||||
"commands": {
|
||||
|
@@ -287,7 +287,7 @@ vAPI.Net = class extends vAPI.Net {
|
||||
if ( domainFromHostname(cn) === domainFromHostname(hn) ) { return; }
|
||||
}
|
||||
if ( this.cnameIgnoreList !== null ) {
|
||||
if ( this.cnameIgnoreList.test(cn) === false ) { return; }
|
||||
if ( this.cnameIgnoreList.test(cn) ) { return; }
|
||||
}
|
||||
if ( this.cnameIgnoreRootDocument ) {
|
||||
const origin = hostnameFromNetworkURL(details.documentUrl || details.url);
|
||||
@@ -355,7 +355,7 @@ vAPI.scriptletsInjector = (( ) => {
|
||||
const parts = [
|
||||
'(',
|
||||
function(details) {
|
||||
if ( typeof self.uBO_scriptletsInjected === 'string' ) { return; }
|
||||
if ( self.uBO_scriptletsInjected !== undefined ) { return; }
|
||||
const doc = document;
|
||||
const { location } = doc;
|
||||
if ( location === null ) { return; }
|
||||
|
@@ -7,17 +7,21 @@ The following assumes a linux environment.
|
||||
1. Open Bash console
|
||||
2. `git clone https://github.com/gorhill/uBlock.git`
|
||||
3. `cd uBlock`
|
||||
4. `make mv3-[platform]`, where `[platform]` is either `chromium` or `firefox`
|
||||
5. This will fully build uBO Lite, and during the process filter lists will be downloaded from their respective remote servers
|
||||
4. `git submodule init`
|
||||
5. `git submodule update`
|
||||
6. `make mv3-[platform]`, where `[platform]` is either `chromium`, `edge`, `firefox`, or `safari`
|
||||
7. This will fully build uBO Lite, and during the process filter lists will be downloaded from their respective remote servers
|
||||
|
||||
Upon completion of the script, the resulting extension package will become present in:
|
||||
|
||||
- Chromium: `dist/build/uBOLite.chromium`
|
||||
- Firefox: `dist/build/uBOLite.firefox`
|
||||
- Edge: `dist/build/uBOLite.edge`
|
||||
- Firefox: `dist/build/uBOLite.firefox`
|
||||
- Safari: `dist/build/uBOLite.safari`
|
||||
|
||||
The folder `dist/build/mv3-data` will cache data fetched from remote servers, so as to avoid fetching repeatedly from remote servers with repeated build commands. Use `make cleanassets` to remove all locally cached filter lists if you want to build with latest versions of filter lists.
|
||||
|
||||
The file `dist/build/mv3-data/log.txt` will contain information about what happened during the build process.
|
||||
The file `dist/build/uBOLite.[platform]/log.txt` will contain information about what happened during the build process.
|
||||
|
||||
The entry in the `Makefile` which implement the build process is `tools/make-mv3.sh [platform]`.[1] This Bash script copy various files from uBlock Origin branch and MV3-specific branch into a single folder which will be the final extension package.
|
||||
|
||||
@@ -27,5 +31,4 @@ All the final rulesets are present in the `dist/build/uBOLite.[platform]/ruleset
|
||||
|
||||
---
|
||||
|
||||
[1] https://github.com/gorhill/uBlock/blob/c4d324362fdb95ff8ef20f0b18f42f0eec955433/tools/make-mv3.sh
|
||||
[2] https://github.com/gorhill/uBlock/blob/c4d324362fdb95ff8ef20f0b18f42f0eec955433/tools/make-mv3.sh#L103
|
||||
[1] https://github.com/gorhill/uBlock/blob/c4d324362fdb95ff8ef20f0b18f42f0eec955433/tools/make-mv3.sh<br>
|
||||
|
@@ -12,12 +12,24 @@
|
||||
"service_worker": "/js/background.js",
|
||||
"type": "module"
|
||||
},
|
||||
"commands": {
|
||||
"enter-zapper-mode": {
|
||||
"description": "__MSG_zapperTipEnter__"
|
||||
},
|
||||
"enter-picker-mode": {
|
||||
"description": "__MSG_pickerTipEnter__"
|
||||
}
|
||||
},
|
||||
"declarative_net_request": {
|
||||
"rule_resources": [
|
||||
]
|
||||
},
|
||||
"default_locale": "en",
|
||||
"description": "__MSG_extShortDesc__",
|
||||
"host_permissions": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"incognito": "split",
|
||||
"icons": {
|
||||
"16": "img/icon_16.png",
|
||||
"32": "img/icon_32.png",
|
||||
@@ -28,9 +40,6 @@
|
||||
"minimum_chrome_version": "122.0",
|
||||
"name": "__MSG_extName__",
|
||||
"options_page": "dashboard.html",
|
||||
"optional_host_permissions": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"permissions": [
|
||||
"activeTab",
|
||||
"declarativeNetRequest",
|
||||
@@ -51,6 +60,33 @@
|
||||
"<all_urls>"
|
||||
],
|
||||
"use_dynamic_url": true
|
||||
},
|
||||
{
|
||||
"resources": [
|
||||
"/zapper-ui.html"
|
||||
],
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"use_dynamic_url": true
|
||||
},
|
||||
{
|
||||
"resources": [
|
||||
"/picker-ui.html"
|
||||
],
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"use_dynamic_url": true
|
||||
},
|
||||
{
|
||||
"resources": [
|
||||
"/unpicker-ui.html"
|
||||
],
|
||||
"matches": [
|
||||
"<all_urls>"
|
||||
],
|
||||
"use_dynamic_url": true
|
||||
}
|
||||
]
|
||||
}
|
||||
|
@@ -1,30 +1,9 @@
|
||||
## Description
|
||||
|
||||
**uBO Lite** (uBOL), a **permission-less** [MV3 API-based](https://developer.chrome.com/docs/extensions/mv3/intro/) content blocker.
|
||||
**uBO Lite** (uBOL), an efficient [MV3 API-based](https://developer.chrome.com/docs/extensions/mv3/intro/) content blocker.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is [performed reliably](https://developer.chrome.com/docs/extensions/reference/scripting/#method-registerContentScripts) by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read/modify data" [permission](https://developer.chrome.com/docs/extensions/mv3/declare_permissions/) at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read/modify data" permissions at install time. <details><summary>**However, [...]**</summary>
|
||||
uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using declarative cosmetic and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||

|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request:
|
||||
|
||||

|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site:
|
||||
|
||||

|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to modify and read data on all websites:
|
||||
|
||||

|
||||
|
||||
</details>
|
||||
|
||||
The default ruleset corresponds to at least uBlock Origin's default filterset:
|
||||
|
||||
- uBlock Origin's built-in filter lists
|
||||
@@ -33,9 +12,3 @@ The default ruleset corresponds to at least uBlock Origin's default filterset:
|
||||
- Peter Lowe’s Ad and tracking server list
|
||||
|
||||
You can add more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
نسخة مبسطة (uBOL) مانع محتوى من نوع MV3 تجريبي *أقل طلبا للتصاريح* MV3-قاعدة الحظر الأساسية
|
||||
uBO Lite (uBOL) هو مانع محتوى يعتمد على MV3.
|
||||
|
||||
تتوافق مجموعة القواعد الافتراضية مع مجموعة عوامل التصفية الافتراضية لـ uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@
|
||||
يمكنك تفعيل المزيد من مجموعات القواعد من خلال زيارة صفحة الخيارات - انقر على أيقونة _الترس_ في لوحة الإشعارات.
|
||||
|
||||
uBOL صريح تمامًا، مما يعني أنه لا تحتاج إلى uBOL بشكل دائم لحدوث تصفية المحتوى، يتم إجراء تصفية المحتوى من خلال إضافة CSS/JS بشكل موثوق به بواسطة المتصفح نفسه بدلًا من الإضافة. هذا يعني أن uBOL نفسه لا يستهلك موارد وحدة المعالجة المركزية/الذاكرة أثناء استمراره في حظر المحتوى.
|
||||
|
||||
لا يتطلب uBOL صلاحية واسعة «لقراءة البيانات وتعديلها» في وقت التثبيت، وبالتالي فإن قدراته محدودة مقارنة بـ uBlock Origin أو إضافات حظر الإعلانات الأخرى التي تتطلب صلاحية واسعة «قراءة البيانات وتعديلها» في وقت التثبيت.
|
||||
|
||||
ومع ذلك، يسمح لك uBOL "بوضوح" بمنح صلاحيات موسعة على مواقع محددة من اختيارك حتى يتمكن من التصفية بشكل أفضل على تلك المواقع باستخدام التصفية التجميلية وإضافة النص.
|
||||
|
||||
لمنح صلاحيات موسعة على موقع معين، افتح اللوحة المنبثقة واختر وضع التصفية إما الأمثل أو الكامل.
|
||||
|
||||
سيحذرك المتصفح من مخاطر منح صلاحيات إضافية التي يطلبها الامتداد على الموقع الحالي، وسيتعين عليك إختيار بما إذا كنت تقبل الطلب أو ترفضه.
|
||||
|
||||
إذا قبلت طلب uBOL بالحصول على صلاحيات إضافية على الموقع الحالي، فستتمكن من تصفية المحتوى بشكل أفضل للموقع الحالي.
|
||||
|
||||
بإمكانك اختيار وضع التصفية الافتراضية من خلال صفحة خيارات uBOL. إذا اخترت الوضع الأمثل أو الكامل باعتباره الوضع الافتراضي، فستحتاج إلى منح uBOL الإذن لقراءة البيانات وتعديلها على جميع مواقع الويب.
|
||||
|
||||
ضع في اعتبارك أن هذا لا يزال عملًا قيد التنفيذ، هذه هي الأهداف النهائية:
|
||||
|
||||
لا يمكنك تحديد الأذونات المستخدمة لاحقًا في التثبيت، تحديدك للأذونات سيكون خلال زيارتك لكل موقع.
|
||||
|
||||
تقريري تمامًا للموثوقية ولكفاءة وحدة المعالجة المركزية/الذاكرة.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) *icazəsiz* MV3 əsaslı məzmun bloklayıcısıdır.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Defolt qaydalar dəsti uBlock Origin-in defolt filtr dəstinə uyğundur:
|
||||
|
||||
@@ -10,21 +10,3 @@ Defolt qaydalar dəsti uBlock Origin-in defolt filtr dəstinə uyğundur:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Лайт (uBOL) гэта блакіроўшчык кантэнту з меншымі патрабаваннямі да дазволаў заснаваны на MV3
|
||||
uBO Lite (uBOL) гэта базаваны на MV3 блакавальнік змесціва.
|
||||
|
||||
Прадвызначаны набор правіл адпавядае тыпавому набору фільтраў uBlock Origin:
|
||||
|
||||
@@ -7,24 +7,6 @@ uBO Лайт (uBOL) гэта блакіроўшчык кантэнту з мен
|
||||
- EasyPrivacy
|
||||
- Спіс сервераў з рэкламай і адсочвання ад Peter Lowe
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
Вы можаце ўключыць больш набораў правіл праз старонку налад -- націсніце на значок _Шасцярэнькі_ на ўсплывальнай панэлі.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- Адсутнасць шырокіх дазволаў на вузел падчас усталявання. Пашыраныя дазволы выдаюцца карыстальнікам для кожнага сайта асобна.
|
||||
|
||||
- Цалкам дэкларатыўная ацэнка надзейнасці і эфектыўнасці работы працэсара/памяці.
|
||||
uBOL цалкам дэкларатыўны, то-бок не мае неабходнасці ў сталым uBOL працэсе дзеля фільтрацыі, а фільтрацыя змесціва на аснове інʼекцыі CSS/JS надзейна выконваецца пераважна самім браўзерам замест пашырэння. Гэта значыць, што uBOL не спажывае рэсурсаў працэсара/памяці пры блакаванні зместу -- службовы працэс uBOL патрэбны _толькі_ падчас узаемадзеяння з усплывальнай панэллю або наладамі.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) е блокер за съдържание *без разрешения*, базиран на MV3.
|
||||
uBO Lite (uBOL) е блокер за съдържание, базиран на MV3.
|
||||
|
||||
Наборът от правила по подразбиране съответства на набора от филтри по подразбиране на uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) е блокер за съдържание *без разреше
|
||||
Можете да включите още набори от правила, като посетите страницата с опции – щракнете върху иконата „зъбно колело“ в изскачащия панел.
|
||||
|
||||
uBOL е изцяло декларативен, което означава, че няма нужда от постоянен процес на uBOL за филтриране, а филтрирането на съдържание, базирано на инжектиране на CSS/JS, се извършва надеждно от самия браузър, а не от разширението. Това означава, че самият uBOL не консумира ресурси на процесора/паметта, докато тече блокирането на съдържанието – работният процес на услугата на uBOL е необходим _само_ когато взаимодействате с изскачащия панел или страниците с опции.
|
||||
|
||||
uBOL не изисква широко разрешение за "четене и промяна на данни" по време на инсталиране, поради което възможностите му са ограничени в сравнение с uBlock Origin или други блокери на съдържание, изискващи широко разрешение за "четене и промяна на данни" по време на инсталиране.
|
||||
|
||||
Въпреки това uBOL ви позволява да предоставите *изрично* разширени разрешения за определени сайтове по ваш избор, за да може да филтрира по-добре тези сайтове, като използва козметично филтриране и инжектиране на скриптове.
|
||||
|
||||
За да предоставите разширени разрешения за даден сайт, отворете изскачащия панел и изберете по-висок режим на филтриране, например Оптимален или Пълен.
|
||||
|
||||
След това браузърът ще ви предупреди за последиците от предоставянето на допълнителните разрешения, поискани от разширението, за текущия сайт и ще трябва да кажете на браузъра дали приемате или отхвърляте искането.
|
||||
|
||||
Ако приемете искането на uBOL за допълнителни разрешения за текущия сайт, той ще може да филтрира по-добре съдържанието на текущия сайт.
|
||||
|
||||
Можете да зададете режима на филтриране по подразбиране от страницата с опции на uBOL. Ако изберете оптимален или пълен режим по подразбиране, ще трябва да предоставите на uBOL разрешение за четене и промяна на данни във всички уебсайтове.
|
||||
|
||||
Имайте предвид, че това все още е в процес на разработка с тези крайни цели:
|
||||
|
||||
- По време на инсталацията няма широки разрешения за хоста – разширените разрешения се предоставят изрично от потребителя за всеки сайт.
|
||||
|
||||
- Изцяло декларативен за надеждност и ефективност на процесора/паметта.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) হল একটি *অনুমতি-হীন* MV3-ভিত্তিক কন্টেন্ট ব্লকার।
|
||||
uBO Lite (uBOL) হলো একটি ম্যানিফেস্ট ভার্সন ৩ ভিত্তিক কনটেন্ট ব্লকার
|
||||
|
||||
পূর্ব নির্ধারিত নিয়ম সেট uBlock অরিজিনের ডিফল্ট ফিল্টারসেটের সাথে মিলে যায়:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) হল একটি *অনুমতি-হীন* MV3-ভিত
|
||||
তুমি অপশন পাতায় গিয়ে আরও নিয়ম যোগ করতে পারো -- পপআপ প্যানেলে _গিয়ার_ আইকনে ক্লিক করে।
|
||||
|
||||
uBOL সম্পূর্ণরূপে ঘোষণামূলক, অর্থাৎ ফিল্টারিং করতে একটি স্থায়ী uBOL প্রক্রিয়ার প্রয়োজন নেই, এবং CSS/JS ইনজেকশন-ভিত্তিক বিষয়বস্তু ফিল্টারিং এক্সটেনশনের পরিবর্তে ব্রাউজার নিজেই নির্ভরযোগ্যভাবে এই কাজ করে থাকে। এর মানে হল যে কন্টেন্ট ব্লকিং চলমান থাকা অবস্থায় uBOL নিজেই CPU/মেমরি রিসোর্স ব্যবহার করে না -- uBOL-এর পরিষেবার প্রক্রিয়ার প্রয়োজন শুধুমাত্র_ যখন আপনি পপআপ প্যানেল বা অপশন পেজগুলির সাথে ইন্টারঅ্যাক্ট করেন।
|
||||
|
||||
uBOL-এর ইন্সটল করার সময় বিস্তৃত "পড়ার ও ডেটা পরিবর্তন করার" অনুমতির প্রয়োজন হয় না, তাই ইউব্লক অরিজিন বা অন্যান্য কনটেন্ট ব্লকের তুলনায় এটির সীমিত ক্ষমতা বাক্সের বাইরে রয়েছে যার জন্য ইন্সটল করার সময় বিস্তৃত "ডেটা পড়ুন এবং পরিবর্তন করুন" অনুমতি প্রয়োজন।
|
||||
|
||||
যাইহোক, uBOL আপনাকে আপনার পছন্দের নির্দিষ্ট সাইটে *স্পষ্টভাবে* বর্ধিত অনুমতি প্রদান করে যাতে এটি কসমেটিক ফিল্টারিং এবং স্ক্রিপ্টলেট ইনজেকশন ব্যবহার করে সেই সাইটগুলিতে আরও ভাল ফিল্টার করতে পারে।
|
||||
|
||||
একটি সাইটে বর্ধিত অনুমতি প্রদানের জন্য, পপআপ প্যানেল খুলুন এবং একটি উচ্চতর ফিল্টারিং মোড বাছাই করুন যেমন অপটিমাল বা কমপ্লিট।
|
||||
|
||||
ব্রাউজারটি তখন বর্তমান সাইটে এক্সটেনশন দ্বারা অনুরোধ করা অতিরিক্ত অনুমতি প্রদানের প্রভাব সম্পর্কে আপনাকে সতর্ক করবে এবং আপনি অনুরোধটি গ্রহণ করবেন বা প্রত্যাখ্যান করবেন কিনা তা আপনার ব্রাউজারকে বলতে হবে।
|
||||
|
||||
আপনি যদি বর্তমান সাইটে অতিরিক্ত অনুমতির জন্য uBOL-এর অনুরোধ গ্রহণ করেন, তাহলে এটি বর্তমান সাইটের জন্য আরও ভালভাবে ফিল্টার করতে সক্ষম হবে।
|
||||
|
||||
আপনি uBOL এর বিকল্প পৃষ্ঠা থেকে ডিফল্ট ফিল্টারিং মোড সেট করতে পারেন। আপনি যদি অপটিমাল বা কমপ্লিট মোডটিকে ডিফল্ট হিসেবে বেছে নেন, তাহলে আপনাকে uBOL-কে সমস্ত ওয়েবসাইটের ডেটা পড়তে এবং পরিবর্তন করার অনুমতি দিতে হবে।
|
||||
|
||||
মনে রাখবেন এই শেষ লক্ষ্যগুলির ফলাফলের সাথে এখনও সংস্করণ কাজ চলছে:
|
||||
|
||||
- ইনস্টল করার সময় কোনও বিস্তৃত অনুমতি নেই -- বর্ধিত অনুমতিগুলি প্রতি-সাইট ভিত্তিতে ব্যবহারকারীর দ্বারা স্পষ্টভাবে প্র্রদান করা হয়।
|
||||
|
||||
- নির্ভরযোগ্যতা এবং CPU/মেমরি দক্ষতার জন্য সম্পূর্ণরূপে পূর্বঘোষণামুূলক।
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) zo ur stanker noazadurioù *hep aotre rekis ebet* diazezet war ar manifesto MV3.
|
||||
uBO Lite (uBOL) zo ur stanker noazadurioù diazezet war ar manifesto MV3.
|
||||
|
||||
Ar reolennoù dre ziouer a glot gant silañ dre ziouer uBlock Origin:
|
||||
|
||||
- Rolloù siloù genidik a uBlock Origin
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Roll bruderezh ha servijerioù heuliañ Peter Lowe
|
||||
- Roll ar servijerioù brudañ ha heuliañ eus Peter Lowe
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
Tu zo deoc'h ouzhpennañ reolennoù all en arventennoù -- klikit war an ikon _kendentadur_ er banell popup.
|
||||
|
||||
Disklêriañ a ra uBOL penn-da-benn, da lavaret eo n'eus ket ezhomm eus un argerzh uBOL padus evit ma c'hoarvezfe ar silañ, ha silañ endalc'hadoù diazezet war enlakaat CSS/JS a vez graet en un doare fizius gant ar merdeer e-unan kentoc'h eget gant an astenn. Kement-se a dalvez ne vez ket gounezet gant uBOL e-unan arc'hwelioù CPU/memor e-pad ma vez stanket an endalc'hadoù -- ezhomm zo eus argerzh al labourer servij uBOL _nemet_ pa vez etregweredet gant ar banell digeriñ pe ar pajennoù dibarzhioù.
|
||||
|
||||
UBOL n'en deus ket ezhomm eus aotreoù ledan "lenn ha kemmañ roadennoù" e-pad ar staliañ, setu perak e c'halloudoù bevennet e-keñver uBlock Origin pe stankerien endalc'hadoù all a c'houlenn aotreoù ledan "lenn ha kemmañ roadennoù" e-pad ar staliañ.
|
||||
|
||||
Koulskoude ez eus tu deoc'h reiñ *sklaer* aotreoù ouzhpenn da uBOL el lec'hiennoù ma fell deoc'h, mod-se e vint silet gwelloc'h en ur implij siloù kened hag ensinkladurioù scriplet.
|
||||
|
||||
Evit reiñ aotreoù ouzhpenn da uBOL en ul lec'hienn bennak, n'ho peus nemet digeriñ ar prenestr pop-up ha diuzañ ul live silañ uheloc'h evel ar mod Gwellañ pe ar mod Klok
|
||||
|
||||
Goude-se e vo kelaouet ac'hanoc'h gant ar merdeer diwar-benn efedoù reiñ an aotreoù ouzhpenn goulennet gant an astenn war al lec'hienn bremanel, ha ret e vo deoc'h lâret d'ar merdeer hag-eñ e vo degemeret pe nac'het ar goulenn ganeoc'h.
|
||||
|
||||
Ma asantit da reiñ muioc'h a aotreoù da uBOL war ar bajenn-mañ e vo silet gwelloc'h.
|
||||
|
||||
Gallout a rit termeniñ ar mod silañ dre ziouer e pajenn arventennoù uBOL. Ma tibabit ar mod Gwellañ pe an hini Klok evel ar mod dre ziouer e vo ret deoc'h aotren uBOL da lenn ha kemmañ roadennoù en holl lec'hiennoù.
|
||||
|
||||
Dalc'hit soñj ez eo uBOL ur raktres war ober c'hoazh hag a zo e bal:
|
||||
|
||||
- Aotreoù ostiz ledan ebet e-pad ar staliañ -- aotreoù astennet a vez roet splann gant an implijer dre lec'hienn.
|
||||
|
||||
- Disklêriañ penn-da-benn evit ar fiziañs hag an efedusted CPU/memor.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) je blokator sadržaja zasnovan na MV3 *bez dozvole*.
|
||||
uBO Lite (uBOL) je blokator sadržaja baziran na MV3.
|
||||
|
||||
Zadani skup pravila odgovara zadanom skupu filtera uBlock Origin:
|
||||
|
||||
- UBlock Origin ugrađene liste filtera
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Oglas Peter Lowe i lista servera za praćenje
|
||||
- Peter Lowe-ova lista servera za oglase i praćenje
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
Možete omogućiti više skupova pravila posjetom stranice s opcijama -- kliknite na ikonu _Cogs_ u skočnom panelu.
|
||||
|
||||
uBOL je potpuno deklarativno, što znači da nema potrebe za trajnim uBOL procesom da bi se filtriranje dogodilo, a filtriranje sadržaja zasnovano na CSS/JS injekcijama se pouzdano izvodi od strane samog pretraživača, a ne ekstenzije. To znači da sam uBOL ne troši CPU/memorijske resurse dok je blokiranje sadržaja u toku -- proces uBOL-a servisnog radnika je potreban _samo_ kada stupite u interakciju sa iskačućim panelom ili stranicama sa opcijama.
|
||||
|
||||
uBOL ne zahtijeva široku dozvolu za "čitanje i modificiranje podataka" u vrijeme instalacije, stoga su njegove ograničene mogućnosti izvan kutije u poređenju sa uBlock Origin-om ili drugim blokatorima sadržaja koji zahtijevaju široke dozvole za "čitanje i modificiranje podataka" u vrijeme instalacije.
|
||||
|
||||
Međutim, uBOL vam omogućava da *eksplicitno* dodijelite proširene dozvole na određenim web lokacijama po vašem izboru kako bi mogao bolje filtrirati te stranice koristeći kozmetičko filtriranje i injekcije skriptleta.
|
||||
|
||||
Da biste dali proširene dozvole za datu web lokaciju, otvorite iskačući panel i odaberite viši način filtriranja kao što je Optimal ili Complete.
|
||||
|
||||
Pregledač će vas tada upozoriti na efekte odobravanja dodatnih dozvola koje ekstenzija traži na trenutnoj web stranici, a vi ćete morati reći pretraživaču da li prihvatate ili odbijate zahtjev.
|
||||
|
||||
Ako prihvatite uBOL-ov zahtjev za dodatnim dozvolama na trenutnoj stranici, moći će bolje filtrirati sadržaj za trenutnu stranicu.
|
||||
|
||||
Možete postaviti zadani način filtriranja sa uBOL-ove stranice sa opcijama. Ako odaberete Optimal ili Kompletan način kao zadani, morat ćete dati uBOL-u dozvolu da čita i mijenja podatke na svim web stranicama.
|
||||
|
||||
Imajte na umu da je ovo još uvijek u toku, sa ovim krajnjim ciljevima:
|
||||
|
||||
- Nema širokih dozvola za host u vrijeme instalacije - proširene dozvole se eksplicitno dodeljuju od strane korisnika na bazi po lokaciji.
|
||||
|
||||
- Potpuno deklarativno za pouzdanost i efikasnost CPU/memorije.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
L'uBO Lite (uBOL) és un blocador de contingut *sense permisos* basat en MV3.
|
||||
L'uBO Lite (uBOL) és un blocador de contingut basat en MV3.
|
||||
|
||||
El conjunt de regles per defecte correspon al conjunt de filtres per defecte d'uBlock Origin:
|
||||
|
||||
@@ -12,21 +12,3 @@ Podeu habilitar més conjunts de regles si visiteu la pàgina d'opcions: feu cli
|
||||
L'uBOL és totalment declaratiu, és a dir, no cal un procés uBOL permanent perquè es produeixi el filtratge, i el filtratge de contingut basat en injecció CSS/JS es realitza de manera fiable pel propi navegador més que per l'extensió.
|
||||
Això vol dir que l'uBOL en si no consumeix recursos de CPU/memòria mentre el bloqueig de contingut està en curs; el procés de treballador de servei d'uBOL només es requereix quan interactueu amb el tauler emergent o les pàgines d'opcions.
|
||||
|
||||
|
||||
L'uBOL no requereix un ampli permís de "lectura i modificació de dades" en el moment de la instal·lació, per tant, les seves capacitats limitades en comparació amb l'uBlock Origin o altres blocadors de contingut que requereixen amplis permisos de "lectura i modificació de dades" en el moment de la instal·lació.
|
||||
|
||||
Tanmateix, l'uBOL us permet concedir *explícitament* permisos ampliats en llocs específics que trieu perquè pugui filtrar millor en aquests llocs mitjançant filtres cosmètics i injeccions de scriptlet.
|
||||
|
||||
Per concedir permisos ampliats en un lloc determinat, obriu el tauler emergent i seleccioneu un mode de filtrat superior, com ara Òptim o Complet.
|
||||
|
||||
Aleshores, el navegador us avisarà sobre els efectes de la concessió dels permisos addicionals sol·licitats per l'extensió al lloc actual, i haureu d'indicar-li al navegador si accepteu o rebutgeu la sol·licitud.
|
||||
|
||||
Si accepteu la sol·licitud d'uBOL de permisos addicionals al lloc actual, podrà filtrar millor el contingut del lloc actual.
|
||||
|
||||
Podeu establir el mode de filtratge per defecte des de la pàgina d'opcions d'uBOL. Si trieu el mode Òptim o Complet per defecte, haureu de concedir a l'uBOL el permís per llegir i modificar dades a tots els llocs web.
|
||||
|
||||
Tingueu en compte que encara és un treball en curs, amb aquests objectius finals:
|
||||
|
||||
- No hi ha permisos d'amfitrió amplis en el moment de la instal·lació; els permisos ampliats els concedeix explícitament l'usuari per lloc.
|
||||
|
||||
- Totalment declaratiu per a la fiabilitat i l'eficiència de la CPU/memòria.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) je blokovač obsahu vyžadující méně oprávnění, založený na MV3.
|
||||
uBO Lite (uBOL) je blokovač obsahu založený na MV3.
|
||||
|
||||
Výchozí sada pravidel koresponduje k výchozím sadám filtrů uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Výchozí sada pravidel koresponduje k výchozím sadám filtrů uBlock Origin:
|
||||
Další sady pravidel můžete povolit na stránce nastavení - klikněte na ikonu _Ozubeného kolečka_ ve vyskakovacím panelu.
|
||||
|
||||
uBOL je zcela deklarativní, což znamená, že pro filtrování není potřeba permanentní proces uBOL a filtrování obsahu založené na vstřikování CSS/JS je spolehlivě prováděno samotným prohlížečem, nikoli rozšířením. To znamená, že samotný uBOL nespotřebovává zdroje CPU/paměti, zatímco probíhá blokování obsahu – proces servisního pracovníka uBOL je vyžadován _pouze_ při interakci s vyskakovacím panelem nebo stránkami nastavení.
|
||||
|
||||
uBOL nevyžaduje rozsáhlá oprávnění ke "čtení a úpravě dat" v době instalace, a proto má ihned po instalaci omezené možnosti ve srovnání s uBlock Origin nebo jinými blokovači obsahu, které vyžadují rozsáhlá oprávnění ke "čtení a úpravě dat" v době instalace.
|
||||
|
||||
Nicméně, uBOL vám umožňuje *explicitně* udělit rozšířená oprávnění na konkrétních webech podle vašeho výběru, aby mohl na těchto webech lépe filtrovat pomocí kosmetického filtrování a vstřikování skriptů.
|
||||
|
||||
Chcete-li na daném webu udělit rozšířená oprávnění, otevřete vyskakovací panel a vyberte vyšší režim filtrování, například optimální nebo kompletní.
|
||||
|
||||
Prohlížeč vás poté upozorní na důsledky udělení dalších oprávnění požadovaných rozšířením na aktuálním webu a vy budete muset prohlížeči sdělit, zda žádost přijímáte nebo odmítáte.
|
||||
|
||||
Pokud přijmete žádost uBOL o další oprávnění na aktuálním webu, bude moci lépe filtrovat obsah aktuálního webu.
|
||||
|
||||
Výchozí filtrovací režim můžete nastavit na stránce nastavení uBOL. Pokud jako výchozí zvolíte režim optimální nebo kompletní, budete muset uBOL udělit oprávnění ke čtení a úpravě dat na všech webových stránkách.
|
||||
|
||||
Mějte na paměti, že toto je stále nedokončená práce s těmito konečnými cíli:
|
||||
|
||||
- Žádná rozsáhlá oprávnění hostitele v době instalace -- rozšířená oprávnění uděluje explicitně uživatel na jednotlivých stránkách.
|
||||
|
||||
- Zcela deklarativní pro spolehlivost a efektivitu CPU/paměti.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) yw blocwr cynnwys MV3 sy'n gweithredu heb ganiatâd safonol.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Mae'r set reolau ddiofyn yn cyfateb i set hidlo diofyn uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Mae'r set reolau ddiofyn yn cyfateb i set hidlo diofyn uBlock Origin:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) er en *tilladelsesløs* MV3-baseret indholdsblocker.
|
||||
uBO Lite (uBOL) er en MV3-baseret indholdsblocker.
|
||||
|
||||
Standardregelsættet svarer til uBlock Origins standardfiltersæt:
|
||||
|
||||
@@ -10,21 +10,3 @@ Standardregelsættet svarer til uBlock Origins standardfiltersæt:
|
||||
Flere regelsæt kan aktiveres ved at gå til indstillingssiden -- klik på ikonet _Tandhjul_ i pop op-panelet.
|
||||
|
||||
uBOL er fuldstændig deklarativ, hvilket betyder, at ingen permanent uBOL-proces behøves for at filtreringen kan finde sted, og CSS/JS-injektionsbaseret indholdsfiltrering udføres pålideligt af browseren selv i stedet for af udvidelsen. Dette betyder, at uBOL ikke selv forbruger CPU-/hukommelsesressourcer under indholdsblokeringen -- uBOLs tjenestearbejdsproces er _kun_ nødvendig under interaktion med pop op-panelet eller indstillingssiderne.
|
||||
|
||||
uBOL kræver ikke en omfattende "læse og ændre data" tilladelse under installationen, derfor dens begrænsede egenskaber fra start af sammenlignet med uBlock Origin eller andre indholdsblockere, som kræver omfattende "læse/ændre data" tilladelser under installationen.
|
||||
|
||||
uBOL giver dog mulighed for *eksplicit* at tildele udvidede tilladelser på bestemte websteder efter eget valg, så den bedre kan filtrere på disse websteder vha. kosmetisk filtrering og scriptlet-injektioner.
|
||||
|
||||
For at tildele udvidede tilladelser på et givent websted, åbn pop op-panelet og vælg en højere filtreringstilstand, såsom Optimal eller Komplet.
|
||||
|
||||
Browseren advarer derefter om virkningerne af de ekstra tildelte tilladelser, som udvidelsen anmoder om på det aktuelle websted, og man vil skulle fortælle browseren, hvorvidt anmodningen accepteres eller afslås.
|
||||
|
||||
Accepteres uBOLs anmodning om ekstra tilladelser på det aktuelle websted, vil den bedre kunne filtrere indhold på webstedet.
|
||||
|
||||
Standardfiltreringstilstanden kan angives via uBOLs indstillingsside. Hvis tilstanden Optimal eller Komplet vælges som standardtilstand, skal uBOL tildeles tilladelse til at læse og ændre data på alle websteder.
|
||||
|
||||
Husk dog, at dette stadig er et igangværende arbejde med disse slutmål:
|
||||
|
||||
- Ingen omfattende værtstilladelser under installationen -- udvidede tilladelser tildeles eksplicit af brugeren på webstedsbasis.
|
||||
|
||||
- Fuldstændig deklarativ for pålidelighed og CPU-/hukommelseseffektivitet.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) ist ein Inhaltsblocker, der *ohne Berechtigungen* auskommt und auf MV3 basiert.
|
||||
uBO Lite (uBOL) ist ein MV3-basierter Inhaltsblocker.
|
||||
|
||||
Die Standardregeln entsprechen den Standardfiltern von uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Die Standardregeln entsprechen den Standardfiltern von uBlock Origin:
|
||||
Sie können weitere Regeln aktivieren, indem Sie die Einstellungen aufrufen — klicken Sie dazu im Pop-up-Fenster auf das Symbol mit den _Zahnrädern_.
|
||||
|
||||
uBOL ist vollständig deklarativ, d. h. es ist kein dauerhafter uBOL-Prozess für das Filtern erforderlich, und die auf CSS/JS-Injektion basierende Inhaltsfilterung wird zuverlässig vom Browser selbst und nicht von der Erweiterung durchgeführt. Das bedeutet, dass uBOL selbst keine CPU-/Speicherressourcen verbraucht, während der Inhalt blockiert wird — der uBOL-Service-Worker-Prozess wird _nur_ benötigt, wenn Sie mit dem Pop-up-Fenster oder den Optionen interagieren.
|
||||
|
||||
uBOL erfordert bei der Installation keine weitreichende Berechtigung zum Lesen und Ändern von Daten, daher sind die Möglichkeiten im Vergleich zu uBlock Origin oder anderen Inhaltsblockern, die bei der Installation weitreichende Berechtigungen zum Lesen und Ändern von Daten erfordern, von vornherein begrenzt.
|
||||
|
||||
Allerdings können Sie mit uBOL *explizit* erweiterte Berechtigungen für bestimmte Websites Ihrer Wahl erteilen, sodass diese Websites durch kosmetisches Filtern und Scriptlet-Injektionen besser gefiltert werden können.
|
||||
|
||||
Um erweiterte Berechtigungen für eine bestimmte Website zu erteilen, öffnen Sie das Pop-up-Fenster und wählen Sie einen stärkeren Filtermodus wie »Optimal« oder »Vollständig«.
|
||||
|
||||
Der Browser warnt Sie anschließend über die Auswirkungen der zusätzlichen Berechtigungen, die von der Erweiterung für die aktuelle Website angefordert werden, und Sie können entscheiden, ob Sie zustimmen oder ablehnen.
|
||||
|
||||
Wenn Sie die Anfrage von uBOL nach zusätzlichen Berechtigungen für die aktuelle Website zustimmen, kann uBOL die Inhalte für die aktuelle Website besser filtern.
|
||||
|
||||
Sie können den Standardfiltermodus in den Optionen von uBOL festlegen. Wenn Sie den Modus »Optimal« oder »Vollständig« als Standardmodus wählen, müssen Sie uBOL die Berechtigung erteilen, Daten auf allen Websites lesen und ändern zu dürfen.
|
||||
|
||||
Denken Sie daran, dass sich dieses Projekt noch in Entwicklung befindet und folgende Ziele verfolgt:
|
||||
|
||||
- Keine weitreichenden Host-Berechtigungen bei der Installation — erweiterte Berechtigungen werden explizit von Ihnen für jede einzelne Website erteilt.
|
||||
|
||||
- Vollständig deklarativ für Zuverlässigkeit und CPU-/Speichereffizienz.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Το uBO Lite (uBOL) είναι πρόσθετο φραγής περιεχομένου που *δεν απαιτεί δικαιώματα* και βασίζεται στο MV3.
|
||||
Το uBO Lite (uBOL) είναι εργαλείο φραγής περιεχομένου, που βασίζεται στο MV3.
|
||||
|
||||
Το προεπιλεγμένο σύνολο κανόνων αντιστοιχεί στο προεπιλεγμένο σύνολο φίλτρων του uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@
|
||||
Μπορείτε να προσθέσετε περισσότερα σύνολα κανόνων από τη σελίδα επιλογών -- κάντε κλικ στο εικονίδιο _γρανάζι_ στον αναδυόμενο πίνακα.
|
||||
|
||||
Το uBOL είναι εξ'ολοκλήρου δηλωτικό, πράγμα που σημαίνει ότι δεν υπάρχει ανάγκη για μόνιμη διαδικασία uBOL για να πραγματοποιηθεί το φιλτράρισμα, και το φιλτράρισμα περιεχομένου που βασίζεται σε έγχυση CSS/JS εκτελείται αξιόπιστα από το ίδιο το πρόγραμμα περιήγησης και όχι από την επέκταση. Αυτό σημαίνει ότι το ίδιο το uBOL δεν καταναλώνει πόρους CPU/μνήμης ενώ ο αποκλεισμός περιεχομένου είναι σε εξέλιξη -- η διαδικασία του service worker του uBOL απαιτείται _μόνο_ όταν αλληλεπιδράτε με τον αναδυόμενο πίνακα ή τις σελίδες επιλογών.
|
||||
|
||||
Το uBOL δεν απαιτεί ευρεία άδεια "ανάγνωσης και τροποποίησης δεδομένων" κατά τον χρόνο εγκατάστασης, επομένως έχει εξαρχής περιορισμένες δυνατότητές σε σύγκριση με το uBlock Origin ή άλλα προγράμματα αποκλεισμού περιεχομένου που απαιτούν ευρείες άδειες "ανάγνωσης/τροποποίησης δεδομένων" κατά την εγκατάσταση.
|
||||
|
||||
Ωστόσο, το uBOL σάς επιτρέπει *ρητά* να εκχωρείτε εκτεταμένες άδειες σε συγκεκριμένους ιστότοπους της επιλογής σας, ώστε να μπορεί να φιλτράρει καλύτερα σε αυτούς τους ιστότοπους χρησιμοποιώντας κοσμητικό φιλτράρισμα και έγχυση scriptlet.
|
||||
|
||||
Για να εκχωρήσετε εκτεταμένα δικαιώματα σε έναν δεδομένο ιστότοπο, ανοίξτε το αναδυόμενο πλαίσιο και επιλέξτε μια υψηλότερη λειτουργία φιλτραρίσματος, όπως Βέλτιστη ή Ολοκληρωμένη.
|
||||
|
||||
Στη συνέχεια, το πρόγραμμα περιήγησης θα σας προειδοποιήσει για τα αποτελέσματα της χορήγησης των πρόσθετων δικαιωμάτων που ζητούνται από την επέκταση στον τρέχοντα ιστότοπο και θα πρέπει να ενημερώσετε το πρόγραμμα περιήγησης εάν αποδέχεστε ή απορρίπτετε το αίτημα.
|
||||
|
||||
Εάν αποδεχτείτε το αίτημα του uBOL για πρόσθετα δικαιώματα στον τρέχοντα ιστότοπο, θα μπορεί να φιλτράρει καλύτερα το περιεχόμενο για τον τρέχοντα ιστότοπο.
|
||||
|
||||
Μπορείτε να ορίσετε την προεπιλεγμένη λειτουργία φιλτραρίσματος από τη σελίδα επιλογών του uBOL. Εάν επιλέξετε τη λειτουργία Βέλτιστη ή Ολοκληρωμένη ως προεπιλεγμένη, θα πρέπει να εκχωρήσετε στην uBOL την άδεια ανάγνωσης και τροποποίησης δεδομένων σε όλους τους ιστότοπους.
|
||||
|
||||
Λάβετε υπόψη ότι αυτό είναι ακόμη ένα έργο σε εξέλιξη, με αυτούς τους τελικούς στόχους:
|
||||
|
||||
- Να μην υπάρχουν ευρείες άδειες hosts κατά την εγκατάσταση -- οι εκτεταμένες άδειες παραχωρούνται ρητά από τον χρήστη σε βάση ανά τοποθεσία.
|
||||
|
||||
- Εντελώς δηλωτικό για αξιοπιστία και απόδοση CPU/μνήμης.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) es un bloqueador de contenido con *menos permisos* basado en MV3.
|
||||
uBO Lite (uBOL) es un bloqueador de contenido basado en MV3.
|
||||
|
||||
Por defecto ya trae configuradas las siguientes listas de filtros:
|
||||
|
||||
@@ -10,21 +10,3 @@ Por defecto ya trae configuradas las siguientes listas de filtros:
|
||||
Puedes habilitar más conjuntos de reglas visitando la página de opciones, haz clic en el icono de _engranaje_ del panel emergente.
|
||||
|
||||
uBOL es completamente declarativo, lo que significa que no hay necesidad de un proceso uBOL permanente para que se produzca el filtrado, y el filtrado de contenido basado en la inyección de CSS/JS se realiza de forma confiable por el propio navegador en lugar de la extensión. Esto significa que uBOL en sí mismo no consume recursos de CPU/memoria mientras el bloqueo de contenido está en curso, el proceso service worker de uBOL se requiere _solo_ cuando se interactúa con el panel emergente o las páginas de opciones.
|
||||
|
||||
uBOL no requiere amplios permisos para "leer y modificar datos" en el momento de la instalación, de ahí sus capacidades limitadas en comparación con uBlock Origin u otros bloqueadores de contenido que requieren amplios permisos para "leer y modificar datos" en el momento de la instalación.
|
||||
|
||||
Sin embargo, uBOL te permite otorgar *explícitamente* permisos extendidos en sitios específicos de tu elección para que pueda filtrar mejor en esos sitios usando filtrado cosmético e inyecciones de scriptlet.
|
||||
|
||||
Para otorgar permisos extendidos en un sitio determinado, abre el panel emergente y elige un modo de filtrado superior, como óptimo o completo.
|
||||
|
||||
Después el navegador te advertirá sobre los efectos de otorgar los permisos adicionales solicitados por la extensión en el sitio actual, y deberás indicar al navegador si aceptas o rechazas la solicitud.
|
||||
|
||||
Si aceptas la solicitud de uBOL para permisos adicionales en el sitio actual, será capaz de filtrar mejor el contenido para el sitio actual.
|
||||
|
||||
Puedes establecer el modo de filtrado predeterminado desde la página de opciones de uBOL. Si eliges como predeterminado el modo óptimo o completo, tendrás que otorgar a uBOL el permiso para leer y modificar datos en todos los sitios web.
|
||||
|
||||
Téngase en cuenta que esto todavía es un trabajo en progreso, con estos objetivos finales:
|
||||
|
||||
- Sin amplios permisos de host en el momento de la instalación, los permisos ampliados son otorgados explícitamente por el usuario en cada sitio.
|
||||
|
||||
- Completamente declarativo para confiabilidad y eficiencia de la CPU/memoria.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) on MV3-l põhinev *lubadeta* sisutõkestaja.
|
||||
uBO Lite (uBOL) on MV3-l põhinev sisutõkestaja.
|
||||
|
||||
Tavaline reeglitekogum vastab uBlock Origini tavalisele filtritekogumile:
|
||||
|
||||
@@ -10,21 +10,3 @@ Peter Lowe'i reklaamide ja jälitusserverite loend
|
||||
Rohkem reegleid valikutest ehk toksake _Cogs_ ikooni hüpikpaneelis.
|
||||
|
||||
uBOL on läbinisti deklaratiivne ehk filtreerimiseks pole vaja kogu aeg töötavat uBOLi protsessi ja CSS/JS süstipõhist sisu filtreerib tegelikult brauser, mitte laiendus. Teisisõnu, uBOL ei kasuta sisu tõkestamisel protsessori/mälu ressursse. uBOLi teenuse toimimise protsessi on vaja _vaid_ juhul, kui kasutate hüpikpaneeli või valikute lehekülgi.
|
||||
|
||||
uBOL ei nõua paigaldamise ajal teadatuntud andmete lugemise ja muutmise luba, seega võrreldes seda nõudva laiendusega uBlock Origin või muu sisutõkestiga on uBOL-i piiratus üks selle funktsioonidest.
|
||||
|
||||
Kuid uBOL võimaldab *selgesõnaliselt* anda täpsemaid lubasid teie valitud veebilehtedele, et neid saaks paremini filtreerida ilufiltrite ja skriptisüstidega.
|
||||
|
||||
Veebilehele täpsustatud lubade andmiseks ava hüpikpaneel ja vali põhjalikum filtreerimisrežiim, näiteks Optimaalne või Põhjalik.
|
||||
|
||||
Seejärel hoiatab veebilehitseja praeguse veebilehe laienduse taotletud täiendavate õiguste andmise tagajärgede eest ja peate veebilehitsejale ütlema, kas nõustute taotlusega või keeldute sellest.
|
||||
|
||||
Kui nõustute uBOLi taotlusega täiendavate õiguste saamiseks praegusel veebilehel, saab see praeguse veebilehe sisu paremini filtreerida.
|
||||
|
||||
Fltreerimise tavarežiimi saate määrata uBOLi valikute lehelt. Kui määrate optimaalse või põhjaliku režiimi tavaliseks, peate andma uBOLile loa kõikide veebilehtede andmete lugemiseks ja muutmiseks.
|
||||
|
||||
Pidage meeles, et see on veel arendamisel, mille lõppeesmärgid on järgmised:
|
||||
|
||||
- Paigaldamise ajal laialdased hostiõigused puuduvad – kasutaja annab laiendatud load selgesõnaliselt ja veebilehe põhiselt.
|
||||
|
||||
- Täiesti deklaratiivne töökindluse ja protsessori/mälu tõhususe osas.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) irakargarri blokeatzailea de, baimen gutxiekin eta MV3ean basatua
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Lehenespenez, iragazki-zerrenda hauek ditu konfiguratuta:
|
||||
|
||||
@@ -10,21 +10,3 @@ Peter Lowe-ren Ad and tracker zerrenda
|
||||
Ruleta gehiago aktibatu ahal duzu aukerak orria --klikatu _Cogs_ ikonoa panelearen lehioan
|
||||
|
||||
uBOL guztiz deklaratiboa da, hau da, ez dago uBOL prozesu iraunkor baten beharrik iragazketa gertatzeko, eta CSS/JS injekzioan oinarritutako edukien iragazketa nabigatzaileak berak egiten du fidagarritasunez, luzapenaren arabera beharrean. Horrek esan nahi du uBOLek berak ez duela CPU/memoria baliabiderik kontsumitzen edukien blokeoa martxan dagoen bitartean... uBOLren zerbitzuko langileen prozesua _only_ behar da popup panelarekin edo aukera orriekin elkarreragiten denean.
|
||||
|
||||
uBOLek ez du "irakurtzeko eta aldatzeko datuak" baimen zabalik behar instalazio-unean, horregatik bere gaitasun mugatuak uBlock Origin-ekin alderatuta edo beste eduki-blokeatzaile batzuekin alderatuta, "irakurtzeko eta aldatzeko datuak" baimen zabalak behar dituzten instalazio garaian.
|
||||
|
||||
Hala ere, uBOLek aukera ematen dizu *esplizituki* baimen hedatuak zure aukeratutako gune espezifikoetan, gune horietan hobeto iragazteko iragazte kosmetikoak eta scriptlet injekzioak erabiliz.
|
||||
|
||||
Leku jakin batean baimenak emateko, ireki panel emergentea eta aukeratu goiko iragazteko modu bat, optimo edo oso gisa.
|
||||
|
||||
Nabigatzaileak orduan jakinaraziko dizu zer ondorio dituen luzapenak eskatutako baimen gehigarriak emateak egungo gunean, eta nabigatzaileari esan beharko diozu eskaera onartzen duzun edo uko egiten diozun.
|
||||
|
||||
Baimen gehigarrien eskaera onartzen baduzu, oraingo gunean edukiak hobeto iragazi ahal izango ditu.
|
||||
|
||||
Iragazki modu lehenetsia uBOL-en aukeren orrialdetik ezar dezakezu. Modu hoberena edo osoa aukeratzen baduzu lehenetsitako moduan, uBOL-i webgune guztietako datuak irakurtzeko eta aldatzeko baimena eman beharko diozu.
|
||||
|
||||
Gogoan izan oraindik lan bat dela, azken helburu hauekin:
|
||||
|
||||
- Instalatzeko garaian, ez dago baimen zabalik. Erabiltzaileak esplizituki ematen ditu baimen zabalduak.
|
||||
|
||||
- Erabat deklaratiboa fidagarritasunagatik eta CPU/memoriaren eraginkortasunagatik.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
مجموعه قوانین پیش فرض آن مطابق با مجموعه قوانین پیش فرض uBlock Origin است:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) on *käyttöoikeudeton* MV3-pohjainen sisällönestotyökalu.
|
||||
uBO Lite (uBOL) on MV3-pohjainen sisällönestotyökalu.
|
||||
|
||||
Oletusarvoiset sääntömääritykset vastaavat uBlock Origin -laajennuksen oletuksia:
|
||||
|
||||
@@ -10,21 +10,3 @@ Oletusarvoiset sääntömääritykset vastaavat uBlock Origin -laajennuksen olet
|
||||
Voit aktivoida lisää sääntömäärityksiä laajennuksen asetuksista – paina ponnahduspaneelin _Ratas_-kuvaketta.
|
||||
|
||||
uBOL on täysin deklaratiivinen, eli suodatus ei edellytä pysyvää uBOL-prosessia ja CSS-/JS-koodin manipulointiin perustuva sisällönsuodatuksen suorittaa laajennusprosessin sijaan luotettavasti selainsovellus. Tämän ansiosta itse uBOL ei kuormita prosessoria tai keskusmuistia sisällöneston tapahtuessa -- uBOL:n työprosessia tarvitaan _ainoastaan_ ponnahduspaneelia ja asetussivuja käytettäessä.
|
||||
|
||||
uBOL ei edellytä laajan tietojen luku- ja muokkausoikeuden myöntämistä asennuksen yhteydessä, jonka vuoksi sen oletusarvoiset valmiudet ovat uBlock Originia ja muita vastaavia sisällönestotyökaluja rajallisemmat.
|
||||
|
||||
On kuitenkin mahdollista myöntää *yksinomaisesti* uBOL:lle laajennetut käyttöoikeudet sivustokohtaisesti niiden suodatuksen tehostamiseksi kosmeettisella suodatuksella ja scriplet-injektoinnilla.
|
||||
|
||||
Laajemmat oikeudet myönnetään avoimelle sivustolle avaamalla ponnahduspaneeli ja valitsemalla korkeampi suodatustaso, kuten "Optimaalinen" tai "Täysi".
|
||||
|
||||
Tällöin selain varoittaa laajennuksen avoimelle sivustolle pyytämien käyttöoikeuksien seurauksista ja pyytää hyväksymään tai hylkäämään pyynnön.
|
||||
|
||||
Jos uBOL:n käyttöoikeuspyyntö avoimelle sivustolle hyväksytään, se pystyy suodattamaan sivuston sisältöä tehokkaammin.
|
||||
|
||||
Voit asettaa oletusarvoisen suodatustilan uBOL:n asetussivulta. Jos valitset oletustilaksi Optimaalinen tai Täysi, on uBOL:lle myönnettävä oikeus lukea ja muokata tietojasi kaikilla verkkosivustoilla.
|
||||
|
||||
Huomioithan, että laajennuksen kehitys vielä kesken, seuraavilla tavoitteilla:
|
||||
|
||||
- Laajoja käyttöoikeuksia ei tarvita asennusvaiheesssa, vaan laajennetut oikeudet myönnetään aina sivustokohtaisesti käyttäjän toimesta.
|
||||
|
||||
- Täysin deklaratiivinen luotettavuutta ja prosessorin/muistin kuormituksen keventämiseksi.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
Ang uBO Lite (uBOL) ay isang eksperimental at *permission-less* na tagaharang ng content na nakabase sa MV3.
|
||||
Isang content blocker na nakabase sa MV3 ang uBO Lite (uBOL).
|
||||
|
||||
Tulad ng uBlock Origin, ito rin ang mga default na listahan ng mga filter:
|
||||
|
||||
@@ -7,24 +7,6 @@ Tulad ng uBlock Origin, ito rin ang mga default na listahan ng mga filter:
|
||||
- EasyPrivacy
|
||||
- Listahan ni Peter Lowe sa mga ad at tracking server (Peter Lowe’s Ad and tracking server list)
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
Maaring magpagana ng mas maraming ruleset sa page ng options -- pindutin ang _Cogs_ sa popup na panel.
|
||||
|
||||
Deklaratibo lamang ang uBOL, kaya hindi nito kailangan ng permanenteng proseso upang mag-filter, at mainam na ginagawa ng browser mismo imbes na ekstensyon ang pagfi-filter sa content na nakabase sa CSS o JS. Ibig-sabihin, hindi kumokonsyumo ng CPU o memorya ang uBOL habang nanghaharang -- ang proseso ng trabahante ng serbisyo ay kailangan _lang_ kung nasa popup panel o pahina ng opsyon ka.
|
||||
|
||||
Hindi kailangan ng uBOL ang malawakang pahintulot para "basahin at baguhin ang data" pagka-install, kaya kung bago pa lang itong install ay limitado ang kakayahan nito kumpara sa uBlock Origin o iba pang mga pangharang ng content na nangangailangan ng malawakang pahintulot para "basahin at baguhin ang data" pagka-install.
|
||||
|
||||
Ngunit, pwede mong *pasadyang* pahintulutan ang uBOL na magkaroon ng pinalawak na pahintulot sa mga website na pipiliin mo para mas mapabuti ang pagfi-filter sa mga site na iyon gamit ang kosmetikong pagfi-filter at injeksyon ng scriptlet.
|
||||
|
||||
Upang bigyan ito ng pinalawak na pahintulot sa isang site, buksan ang popup panel at pumili ng isang mode sa pagfi-filter tulad ng Pinainam o Kumpleto.
|
||||
|
||||
Babalaan ka ng browser tungkol sa mga epekto ng pagbibigay ng karagdagang pahintulot na hinihiling ng ekstensyon sa kasalukuyang site, at kailangan mong tumugon kung pinapahintulutan mo ba ito o hindi.
|
||||
|
||||
Kung tatanggapin mo ang hiling ng uBOL para sa karagdagang mga pahintulot sa kasalukuyang site, mas magiging mainam ang pagfi-filter nito sa content para sa kasalukuyang site.
|
||||
|
||||
Maitatakda mo ang default na mode sa pagfi-filter sa pahina ng mga opsyon ng uBOL. Kailangan mong pahintulutan ang uBOL na basahin o baguhin ang datos sa lahat ng mga website kung pipiliin mo ang Pinainam o Kumpleto bilang default na mode sa pagfi-filter.
|
||||
|
||||
Tandaang kasalukuyan pang binubuo ang ekstensyong ito, at nilalayon nitong:
|
||||
|
||||
- Walang kakailanganing malawakang pahintulot pagka-install -- ibibigay lang ng user ang karagdagang pahintulot sa mga piling site.
|
||||
|
||||
- Deklaratibo lamang upang maging mapagkakatiwalaan at matipid sa CPU at memorya.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) est un bloqueur de contenu *sans permission* basé sur le manifeste MV3.
|
||||
uBO Lite (uBOL) est un bloqueur de contenu basé sur le manifeste MV3.
|
||||
|
||||
Les règles par défaut correspondent au filtrage par défaut d'uBlock Origin :
|
||||
|
||||
@@ -10,21 +10,3 @@ Les règles par défaut correspondent au filtrage par défaut d'uBlock Origin :
|
||||
Vous pouvez ajouter plus de règles en consultant la page des paramètres -- Cliquez sur l'icône de l'_Engrenage_ dans le panneau pop-up.
|
||||
|
||||
uBOL est entièrement déclarative, c'est-à-dire qu'il n'y a pas besoin d'un processus uBOL permanent pour filtrer, et le filtrage basé sur l'injection CSS/JavaScript se fait en toute fiabilité par le navigateur lui-même. Cela veut dire qu'en soi, uBOL ne consomme pas de ressources processeur/mémoire pendant le blocage de contenu -- l'agent de service d'uBOL n'est sollicité _que_ quand vous interagissez avec le panneau pop-up ou la page des paramètres.
|
||||
|
||||
Contrairement à uBlock Origin ou d'autres extensions de blocage, uBOL ne nécessite pas de larges permissions de "lecture/modification des données" au moment de l'installation, ce qui explique ses capacités au départ limitées.
|
||||
|
||||
Cependant, uBOL vous permet *explicitement* d'accorder des permissions étendues sur les sites Web de votre choix, pour qu'elle puisse mieux les filtrer en utilisant le filtrage esthétique et des injections de scriptlet.
|
||||
|
||||
Pour accorder des permissions étendues sur un site Web donné, ouvrez le panneau pop-up et choisissez un mode de filtrage plus élevé comme le mode Optimal ou le mode Complet.
|
||||
|
||||
Le navigateur vous préviendra alors des effets de l'accord de permissions additionnelles requises par l'extension sur le site Web en cours de consultation et vous devrez indiquer votre choix au navigateur (Accepter/Refuser).
|
||||
|
||||
Si vous acceptez la requête d'uBOL pour des permissions additionnelles sur le site Web en cours de consultation, le filtrage de son contenu sera renforcé.
|
||||
|
||||
Vous pouvez définir le mode de filtrage par défaut depuis la page des paramètres d'uBOL. Si vous choisissez le mode Optimal ou Complet en tant que mode par défaut, vous devrez accorder à uBOL l'autorisation de lire et de modifier des données sur tous les sites Web.
|
||||
|
||||
Gardez à l'esprit que c'est en cours de développement, avec comme objectifs :
|
||||
|
||||
- De ne pas accorder de permissions globales au moment de l'installation -- les permissions étendues s'accordent explicitement par l'utilisateur site par site.
|
||||
|
||||
- De travailler de manière entièrement déclarative pour la fiabilité et l'efficacité processeur/mémoire.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is in *tastimmingsleaze* MV3-basearre ynhâldsblokkearder.
|
||||
uBO Lite (uBOL) is in MV3-basearre ynhâldsblokkearder.
|
||||
|
||||
De standert regelset komt oerien mei de standert filterset fan uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ De standert regelset komt oerien mei de standert filterset fan uBlock Origin:
|
||||
Jo kinne mear regelsets ynskeakelje troch de opsjesside te besykjen – klik op it _tântsjilpiktogram_ yn it pop-uppaniel.
|
||||
|
||||
uBOL is folslein deklaratyf, wat betsjut dat in permanint uBOL-proses foar de filtering net nedich is, en ynhâldsfiltering op basis fan CSS/JS-ynjeksje op in betroubere manier troch de browser sels útfierd wurdt yn stee fan de útwreiding. Dit betsjut dat uBOL sels gjin CPU-/ûnthâldboarnen brûkt wylst ynhâldsblokkearring aktyf is – it serviceworker-proses fan uBOL is _allinnich_ fereaske as jo mei it pop-uppaniel of de opsjessiden wurkje.
|
||||
|
||||
uBOL fereasket gjin brede tastimming foar it ‘lêzen en oanpassen fan gegevens’ wylst ynstallaasje, fan dêr de beheinde ynboude mooglikheden dêrfan yn fergeliking mei uBlock Origin of oare ynhâldsblokkearders dy’t brede tastimmingen foar it ‘lêzen en oanpassen fan gegevens’ fereaskje wylst de ynstallaasje.
|
||||
|
||||
Jo kinne yn uBOL echter *eksplisyt* wiidweidige tastimmingen ferliene op bepaalde websites fan jo kar, sadat it op dy websites better filterje kin fia kosmetyske filtering en scriptlet-ynjeksjes.
|
||||
|
||||
Om wiidweidige tastimmingen op in bepaalde website te ferlienen, iepenje jo it pop-uppaniel en kieze jo in hegere filtermodus, lykas Optimaal of Folslein.
|
||||
|
||||
De browser warskôget jo dan oer de gefolgen fan it ferlienen fan de troch de útwreiding oanfrege oanfoljende tastimmingen op de aktuele website, en jo moatte de browser witte litte oft jo de oanfraach akseptearje of wegerje.
|
||||
|
||||
As jo de oanfraach fan uBOL foar oanfoljende tastimmingen op de aktuele website akseptearje, sil it ynhâld foar de aktuele website better filterje kinne.
|
||||
|
||||
Jo kinne de standert filtermodus ynstelle fan de opsjesside fan uBOL ôf. As jo de modus Optimaal of Folslein as de standertmodus kieze, moatte jo uBOL de tastimming foar it lêzen en oanpassen fan gegevens op alle websites te ferlienen.
|
||||
|
||||
Unthâld dat dit noch wurk yn útfiering is, mei dizze eindoelen:
|
||||
|
||||
- Gjin brede host-tastimmingen wylst ynstallaasje – wiidweidige tastimmingen wurde eksplisyt en per website ferliend troch de brûker.
|
||||
|
||||
- Folslein deklaratyf omwille fan betrouberheid en CPU-/ûnthâldeffisjinsje.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) é un bloqueador de contido baseado en MV3 *sen permisos.
|
||||
uBO Lite (uBOL) é un bloqueador de contido baseado en MV3.
|
||||
|
||||
O conxunto de regras predeterminado corresponde ao conxunto de filtros predeterminado de uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Lista de servidores de seguimento e anuncios de Peter Lowe
|
||||
Podes activar máis grupos de regras indo á páxina de opcións -- preme na roda dentada no panel emerxente.
|
||||
|
||||
uBOL é totalmente declarativo, o que significa que non é necesario un proceso permanente de uBOL para que se produza o filtrado e o filtrado de contido baseado en inxección de CSS/JS realízao de forma fiable o propio navegador en lugar da extensión. Isto significa que o propio uBOL non consume recursos de CPU/memoria mentres o bloqueo de contido está en curso -- o proceso do traballador do servizo de uBOL é necesario _só_ cando interactúas co panel emerxente ou coas páxinas de opcións.
|
||||
|
||||
uBOL non require amplos permisos de "ler e modificar datos" no momento da instalación, de aí as súas capacidades limitadas fóra da caixa en comparación con uBlock Origin ou outros bloqueadores de contido que requiren amplos permisos de "ler e modificar datos" no momento da instalación.
|
||||
|
||||
Non obstante, uBOL permítelle *de forma explícita* conceder permisos estendidos en sitios específicos da súa elección para que poida filtrar mellor neses sitios mediante filtrado cosmético e inxeccións de scriptlet.
|
||||
|
||||
Para conceder permisos estendidos nun sitio determinado, abra o panel emerxente e escolle un modo de filtrado superior, como Óptimo ou Completa.
|
||||
|
||||
A continuación, o navegador avisará sobre os efectos da concesión dos permisos adicionais solicitados pola extensión no sitio actual, e terá que indicarlle ao navegador se acepta ou rexeita a solicitude.
|
||||
|
||||
Se aceptas a solicitude de uBOL de permisos adicionais no sitio actual, poderá filtrar mellor o contido do sitio actual.
|
||||
|
||||
Podes establecer o modo de filtrado predeterminado desde a páxina de opcións de uBOL. Se escolle o modo Óptimo ou Completo como o predeterminado, terá que conceder a uBOL o permiso para ler e modificar datos en todos os sitios web.
|
||||
|
||||
Teña en conta que este aínda é un traballo en curso, cos seguintes obxectivos finais:
|
||||
|
||||
- Non hai permisos de host amplos no momento da instalación. Os permisos estendidos son concedidos explícitamente polo usuario por cada sitio.
|
||||
|
||||
- Totalmente declarativo para a fiabilidade e a eficiencia da CPU/memoria.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) הוא חוסם תוכן *ללא הרשאות* מבוסס MV3.
|
||||
uBO Lite (uBOL) הוא חוסם תוכן מבוסס MV3.
|
||||
|
||||
ערכת הכללים ברירת מחדל שמתכתבת עם ערכת המסננים של uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) הוא חוסם תוכן *ללא הרשאות* מבוסס MV3.
|
||||
ניתן לאפשר קבוצות חוקים נוספות בדף האפשרויות - עם לחיצה על סמליל _גלגלי השיניים_ בחלונית הקופצת.
|
||||
|
||||
uBOL הוא הכרזתי לחלוטין, כלומר אין צורך בתהליך uBOL קבוע כדי שהסינון יתרחש, וסינון תוכן מבוסס הזרקת CSS/JS מבוצע באופן אמין על ידי הדפדפן עצמו ולא על ידי ההרחבה. המשמעות היא ש־uBOL עצמו לא צורכך משאבי מעבד/זיכרון בזמן שחסימת התוכן מתרחשת – תהליך ה־service worker של uBOL נדרש _אך ורק_ בזמן הידוד עם החלון הקופץ או עם עמוד האפשרויות.
|
||||
|
||||
uBOL לא דורש הרשאת "קריאה ושינוי נתונים" נרחבות במהלך ההתקנה, לכן היכולות המוגבלות שלה הישר מהקופסה בהשוואה ל־uBlock Origin או חוסמי תוכן אחרים הדורשים הרשאות "קריאה ושינוי נתונים" נרחבות כבר בזמן ההתקנה.
|
||||
|
||||
עם זאת, uBOL מאפשר להעניק *באופן מפורש* הרשאות נרחבות לאתרים מסויימים על פי בחירה, למיטוב הסינון באתרים אלה, באמצעות סינון קוסמטי והזרקות סקריפלטים.
|
||||
|
||||
כדי להעניק הרשאות נרחבות באתר נתון, נא לפתוח את הלוח הקופץ ולבחור באופן סינון גבוה יותר כגון מיטבי או מלא.
|
||||
|
||||
לאחר מכן, תוצג אזהרת דפדפן על השפעות מתן הרשאות נוספות אותן מבקשת ההרחה באתר הנוכחי, הדפדפן ימתין לקבלת תשובה האם לקבל או לדוחות את בקשת ההרשאה.
|
||||
|
||||
אם תקבל את הבקשה של uBOL להרשאות נוספות באתר הנוכחי, הוא יוכל לסנן טוב יותר תוכן עבור האתר הנוכחי.
|
||||
|
||||
ניתן להגדיר את מצב הסינון המוגדר כברירת מחדל מדף האפשרויות של uBOL. אם הבחירה היתה באופןסינון מיטבי או מלא כברירת המחדל, יידרש להעניק ל־uBOL הרשאת קריאה שנוי נתונים בכל אתרי הרשת.
|
||||
|
||||
יש לזכור שזו עדיין 'עבודה בתהליך', עם המטרות הבאות:
|
||||
|
||||
- אין הרשאות מארח רחבות בזמן ההתקנה -- הרשאות מורחבות מוענקות במפורש על ידי המשתמש על בסיס לכל אתר.
|
||||
|
||||
הכרזתי לחלוטין, אמין ויעיל בצריכת משאבי מעבד/זיכרון.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) एक *अनुमति-रहित* MV3-आधारित कन्टेन्ट ब्लॉकर है।
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
डिफ़ॉल्ट रूलसेट uBlock Origin के डिफ़ॉल्ट फ़िल्टर सेट के अनुरूप होता है:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) एक *अनुमति-रहित* MV3-आधारित
|
||||
आप विकल्प पृष्ठ पर जाकर और अधिक नियम-सेट सक्षम कर सकते हैं -- पॉपअप पैनल में _Cogs_ आइकन पर क्लिक करें।
|
||||
|
||||
uBOL पूरी तरह से वर्णनात्मक है, जिसका यह अर्थ है कि फ़िल्टरिंग के लिए एक स्थायी uBOL प्रक्रिया की कोई आवश्यकता नहीं है, और CSS/JS इंजेक्शन-आधारित कन्टेन्ट फ़िल्टरिंग एक्सटेंशन के बजाय ब्राउज़र द्वारा विश्वसनीय रूप से की जाती है। इसका यह अर्थ है कि कन्टेन्ट ब्लॉक करते समय uBOL द्वारा सीपीयू/मेमोरी संसाधनों का उपभोग स्वयं नहीं किया जाता है -- uBOL की सर्विस प्रोसेस की आवश्यकता _केवल_ तब होती है जब आप पॉपअप पैनल या विकल्प पृष्ठों पर कोई अंत:क्रिया करते हैं।
|
||||
|
||||
uBOL को इन्सटॉल करते समय "डेटा को पढ़ने और संशोधित करने" की व्यापक अनुमति की आवश्यकता नहीं होती है, अतः इसकी सीमित क्षमताओं तत्काल उपयोगिता की तुलना में uBlock Origin या अन्य कन्टेन्ट ब्लॉकर को इन्सटॉलेशन के समय "डेटा को पढ़ने और संशोधित करने" की व्यापक अनुमतियों की आवश्यकता होती है।
|
||||
|
||||
हालांकि, uBOL आपको अपनी मनपसंद विशिष्ट साइटों पर विस्तारित अनुमतियां देना *स्पष्ट रूप से* अनुमत करता है ताकि यह कॉस्मेटिक फ़िल्टरिंग और स्क्रिप्टलेट इंजेक्शन का उपयोग करके उन साइटों पर अच्छी तरह से फ़िल्टर कर सके।
|
||||
|
||||
किसी एक साइट पर विस्तारित अनुमतियां देने के लिए, पॉपअप पैनल खोलें और उच्च फ़िल्टरिंग मोड, जैसे कि 'अनुकूलतम' (ऑप्टिमल) या 'पूर्ण' (कंपलीट) चुनें।
|
||||
|
||||
इसके बाद ब्राउज़र द्वारा आपको वर्तमान साइट पर एक्सटेंशन द्वारा अनुरोधित अतिरिक्त अनुमतियों को देने के प्रभावों के बारे में चेतावनी दी जाएगी, और आपको ब्राउज़र को यह बताना होगा कि आप अनुरोध को स्वीकार करते हैं या अस्वीकार करते हैं।
|
||||
|
||||
यदि आप वर्तमान साइट पर अतिरिक्त अनुमतियों के लिए uBOL के अनुरोध को स्वीकार करते हैं, तो यह वर्तमान साइट के लिए कन्टेन्ट अच्छी तरह से फ़िल्टर करने में सक्षम होगा।
|
||||
|
||||
आप uBOL के विकल्प पृष्ठ से डिफ़ॉल्ट फ़िल्टरिंग मोड को सेट कर सकते हैं। यदि आप 'अनुकूलतम' (ऑप्टिमल) या 'पूर्ण' (कंपलीट) मोड को डिफ़ॉल्ट रूप से चुनते हैं, तो आपको uBOL को सभी वेबसाइटों पर डेटा को पढ़ने और संशोधित करने के लिए अनुमत करना होगा।
|
||||
|
||||
ध्यान रखें कि यह कार्य अभी भी प्रगतिधीन है, और इसके निम्नांकित अंतिम लक्ष्यों तय किये गए हैं:
|
||||
|
||||
- इन्सटॉल करते समय कोई व्यापक होस्ट अनुमतियां नहीं -- विस्तारित अनुमतियां उपयोगकर्ता द्वारा हर एक साइट के आधार पर स्पष्ट रूप से दी जाती हैं।
|
||||
|
||||
- विश्वसनीयता और सीपीयू/मेमोरी दक्षता के लिए पूरी तरह वर्णनात्मक।
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) je bloker sadržaja *bez dopuštenja* baziran na MV3.
|
||||
uBO Lite (uBOL) je bloker sadržaja baziran na MV3.
|
||||
|
||||
Zadana lista pravila odgovara uBlock Origin-ovoj zadanoj listi filtera:
|
||||
|
||||
@@ -10,21 +10,3 @@ Zadana lista pravila odgovara uBlock Origin-ovoj zadanoj listi filtera:
|
||||
Možete omogućiti više skupova pravila tako što ćete posjetiti stranicu s opcijama -- kliknite ikonu _Cogs_ na skočnoj ploči.
|
||||
|
||||
uBOL je u potpunosti deklarativan, što znači da nema potrebe za trajnim uBOL procesom za filtriranje, a filtriranje sadržaja temeljeno na ubacivanju CSS/JS pouzdano izvodi sam preglednik, a ne ekstenzija. To znači da sam uBOL ne troši CPU/memorijske resurse dok je blokiranje sadržaja u tijeku -- uBOL-ov servisni radni proces potreban je _samo_ kada komunicirate s skočnom pločom ili stranicama s opcijama.
|
||||
|
||||
uBOL ne zahtijeva široku dozvolu za "čitanje i izmjenu podataka" u vrijeme instalacije, stoga ima zadane ograničene mogućnosti u usporedbi s uBlock Origin ili drugim blokatorima sadržaja koji zahtijevaju veću dozvolu za "čitanje i izmjenu podataka" u vrijeme instalacije.
|
||||
|
||||
Međutim, uBOL vam omogućuje da *eksplicitno* dodijelite proširena dopuštenja na određenim web-stranicama po vašem izboru tako da može bolje filtrirati te web-stranice koristeći kozmetičko filtriranje i injekcijske skripte.
|
||||
|
||||
Da biste dodijelili proširena dopuštenja na određenoj web stranici, otvorite skočnu ploču i odaberite viši način filtriranja kao što je Optimalno ili Potpuno.
|
||||
|
||||
Preglednik će vas tada upozoriti o učincima dodjele dodatnih dopuštenja koje traži ekstenzija na trenutnom mjestu, a vi ćete morati reći pregledniku prihvaćate li ili odbijate zahtjev.
|
||||
|
||||
Ako prihvatite uBOL-ov zahtjev za dodatnim dozvolama na trenutnoj stranici, moći će bolje filtrirati sadržaj na njoj.
|
||||
|
||||
Zadani način filtriranja možete postaviti na stranici s opcijama uBOL-a. Ako kao zadano odaberete Optimalni ili Potpuni način rada, morati ćete dati uBOL-u dopuštenje za čitanje i izmjenu podataka na svim web stranicama.
|
||||
|
||||
Imajte na umu da je ovo još u tijeku, sa sljedećim krajnjim ciljevima:
|
||||
|
||||
- Nema širokih dopuštenja hosta u vrijeme instalacije -- proširena dopuštenja izričito dodjeljuje korisnik za svaku pojedinačnu stranicu.
|
||||
|
||||
- Potpuno deklarativno za pouzdanost i učinkovitost CPU/memorije.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
A uBO Lite (uBOL) egy *engedélyt nem igénylő* MV3-alapú tartalomblokkoló.
|
||||
A uBO Lite (uBOL) egy MV3-alapú tartalomblokkoló.
|
||||
|
||||
Az alapértelmezett szabálykészlet megfelel a uBlock Origin alapértelmezett szűrőkészletének:
|
||||
|
||||
@@ -10,21 +10,3 @@ Az alapértelmezett szabálykészlet megfelel a uBlock Origin alapértelmezett s
|
||||
További szabályokat engedélyezhet a beállítások oldalon – kattintson a _Fogaskerekek_ ikonra a felugró panelen.
|
||||
|
||||
A uBOL teljes mértékben deklaratív, vagyis nincs szükség állandó uBOL folyamatra a szűréshez, és a CSS/JS injektálás-alapú tartalomszűrést maga a böngésző végzi megbízhatóan, nem pedig a kiegészítő. Ez azt jelenti, hogy az uBOL maga nem fogyaszt CPU/memória erőforrásokat, amíg a tartalom blokkolása folyamatban van – az uBOL service worker folyamatára _csak_ akkor van szükség, amikor az felugró panellel vagy a beállítási oldalakkal érintkezik.
|
||||
|
||||
A uBOL nem igényel széles körű „adatok módosítása és olvasása” engedélyt a telepítéskor, ezért korlátozott képességei vannak a uBlock Originhez vagy más tartalomblokkolókhoz képest, amelyek széles körű „adatok olvasása és módosítása” engedélyeket igényelnek a telepítésükkor.
|
||||
|
||||
Az uBOL azonban lehetővé teszi, hogy *kifejezetten* kiterjesztett engedélyeket adjon az Ön által választott bizonyos webhelyeknél, hogy jobban szűrhessen ezeken a webhelyeken kozmetikai szűréssel és parancsfájlbeillesztéssel.
|
||||
|
||||
Ha kiterjesztett engedélyeket szeretne adni egy adott webhelyen, nyissa meg a felugró panelt, és válasszon magasabb szűrési módot, mint az Optimális vagy a Teljes.
|
||||
|
||||
A böngésző ekkor figyelmezteti Önt a bővítmény által kért további engedélyek megadásának hatásaira az aktuális webhelyen, és közölnie kell a böngészővel, hogy elfogadja-e vagy elutasítja a kérést.
|
||||
|
||||
Ha elfogadja az uBOL további engedélyekre vonatkozó kérését az aktuális webhelyen, akkor jobban tudja szűrni az aktuális webhely tartalmát.
|
||||
|
||||
Az alapértelmezett szűrési módot az uBOL beállítási oldalán állíthatja be. Ha az Optimális vagy a Teljes módot választja alapértelmezettként, akkor az uBOL-nak engedélyt kell adnia az adatok olvasására és módosítására az összes webhelyen.
|
||||
|
||||
Ne feledje, hogy ez még egy folyamatban lévő fejlesztés, a következő célokkal:
|
||||
|
||||
- Nincsenek széles körű kiszolgálókra vonatkozó engedélyek a telepítés során – a kiterjesztett engedélyeket a felhasználó kifejezetten webhelyenként adja meg.
|
||||
|
||||
- Teljesen deklaratív a nagyobb megbízhatóság, illetve CPU- és memóriahatékonyság érdekében.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL)-ը բովանդակության արգելափակիչ է, որը *չի պահանջում թույլտվություններ*, և հիմնված է MV3-ի վրա։
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Կանոնների լռելյայն փաթեթը համապատասխանում է uBlock Origin-ի լռելյայն զտիչների փաթեթին։
|
||||
|
||||
@@ -10,23 +10,3 @@ uBO Lite (uBOL)-ը բովանդակության արգելափակիչ է, որ
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL-ն ամբողջությամբ դեկլարատիվ է, այսինքն՝ զտման համար անընդհատ կատարվող uBOL գործընթացի կարիք չկա, իսկ CSS/JS արմատավորման վրա հիմնված բովանդակության զտումը հուսալիորեն իրականացվում է զննիչի կողմից, այլ ոչ թե ընդլայնման միջոցով։ Սա նշանակում է, որ uBOL հավելումը չի սպառում մշակիչի/հիշողության որևէ ռեսուրս, երբ տեղի է ունենում գովազդի արգելափակումը. uBOL աշխատանքային գործընթացն աշխատում է _միայն_ երբ Դուք փոփոխություններ եք կատարում դուրս լողացող վահանակում կամ ընտրանքների էջում։
|
||||
|
||||
uBOL-ը տեղադրման ժամանակ «տվյելները լիովին ընթերցելու և փոփոխելու» թույլտվություն չի պահանջում, ուստի այն ունի սահմանափակ հնարավորություններ՝ համեմատած uBlock Origin-ի և բովանդակության այլ արգելափակիչների հետ, որոնք տեղադրման ժամանակ պահանջում են այդպիսի թույլտվություն։
|
||||
|
||||
Однако uBOL позволяет *намеренно* давать расширенные разрешения для определенных сайтов - по вашему усмотрению, чтобы эффективнее работать, используя косметическую фильтрацию и scriptlet-внедрения.
|
||||
|
||||
Այնուամենայնիվ, uBOL-ը թույլ է տալիս *դիտմամբ* տրամադրել ընդլայնված թույլտվություններ Ձեր ընտրած կայքերի համար, որպեսզի այն կարողանա էլ ավելի լավ զտել այդ կայքերը՝ օգտագործելով կոսմետիկ զտումը և սցենարների արմատավորումները։
|
||||
|
||||
Ընթացիկ կայքում ընդլայնված թույլտվություններ տրամադրելու համար բացեք դուրս լողացող վահանակը և ընտրեք ընդլայնված զտման ռեժիմ՝ Գերադասելի կամ Ամբողջական։
|
||||
|
||||
Այնուհետև զննիչը կզգուշացնի Ձեզ ընթացիկ կայքում ընդլայնման կողմից պահանջվող լրացուցիչ թույլտվությունների տրամադրման հետևանքների մասին, և Դուք պետք է ընտրեք՝ ընդունում եք, թե մերժում եք հայտը։
|
||||
|
||||
Եթե ընդունեք uBOL-ին լրացուցիչ թույլտվություններ տալու հայտը, ապա այն կկարողանա ավելի արդյունավետ կերպով զտել ընթացիկ կայքի բովանդակությունը։
|
||||
|
||||
Դուք կարող եք սահմանել զտման լռելյայն ռեժիմը uBOL-ի ընտրանքների էջում։ Եթե որպես լռելյայն ընտրեք «Գերադասելի» կամ «Ամբողջական» ռեժիմը, պետք կլինի uBOL-ին թույլտվություն տրամադրեք կարդալու և փոփոխելու տվյալները բոլոր կայքերում։
|
||||
|
||||
Հիշեք, որ այս նախագիծը մշակման ակտիվ փուլում է, որ ունի հետևյալ նպատակները.
|
||||
|
||||
- Տեղադրման ընթացքում Սահմանափակ թույլտվություններով աշխատանք տեղադրման ժամանակ. օգտվողը ընդլայնված թույլտվություններ է տալիս իր հայեցողությամբ, յուրաքանչյուր կայքի համար առանձին։
|
||||
|
||||
- Ամբողջովին դեկլարատիվ է հուսալիության և մշակիչի/հիշողության արտադրողականության համար։
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) adalah pemblokir konten berbasis MV3 yang membutuhkan lebih sedikit perizinan.
|
||||
uBO Lite (uBOL) adalah pemblokir konten berbasis MV3.
|
||||
|
||||
Kumpulan aturan bawaan sesuai dengan kumpulan penyaringan bawaan uBlock Origin:
|
||||
|
||||
@@ -7,24 +7,6 @@ Kumpulan aturan bawaan sesuai dengan kumpulan penyaringan bawaan uBlock Origin:
|
||||
- EasyPrivacy
|
||||
- Daftar server iklan dan pelacak Peter Lowe
|
||||
|
||||
Anda dapat mengaktifkan lebih banyak kumpulan pengaturan dengan mengunjungi halaman opsi - klik ikon _Cogs_ pada panel popup.
|
||||
Anda dapat mengaktifkan lebih banyak rangkaian aturan dengan mengunjungi halaman opsi -- klik ikon _Cogs_ di panel popup.
|
||||
|
||||
uBOL sepenuhnya deklaratif, yang mana tidak membutuhkan proses permanen uBOL agar penyaringan dapat terjadi, dan penyaringan konten berbasis injeksi CSS/JS dilakukan sepenuhnya oleh peramban itu sendiri ketimbang oleh ekstensi. Ini berarti bahwa uBOL sendiri tidak mengkonsumsi sumber daya CPU/memori selama melakukan pemblokiran konten -- proses pekerja layanan uBOL dibutuhkan _hanya_ ketika Anda berinteraksi dengan panel popup atau opsi halaman.
|
||||
|
||||
uBOL tidak membutuhkan izin "baca dan modifikasi data" pada waktu penginstalan, maka kemampuannya lebih terbatas jika dibandingkan dengan uBlock Origin atau pemblokir konten lain yang memerlukan izin "baca dan modifikasi data" pada waktu penginstalan.
|
||||
|
||||
Namun, uBOL memberi anda opsi untuk *secara eksplisit* memberikan izin tambahan pada situs pilihan Anda, sehingga dapat memfilter situs tersebut dengan lebih baik menggunakan pemfilteran kosmetik dan injeksi scriptlet.
|
||||
|
||||
Untuk memberikan izin tambahan pada situs tertentu, buka panel popup dan pilih mode pemfilteran yang lebih tinggi seperti Optimal atau Complete.
|
||||
|
||||
Perambaan kemudian akan memperingatkan anda tentang efek memberikan izin tambahan yang diminta oleh ekstensi pada situs saat ini, dan Anda harus memberitahu perambaan apakah anda menyetujui atau menolak permintaan.
|
||||
|
||||
Jika Anda menyetujui permintaan uBOL untuk izin tambahan pada situs terkini, uBOL akan dapat menyaring konten dengan lebih baik untuk situs terkini.
|
||||
|
||||
Anda dapat menentukan mode penyaringan bawaan dari halaman pengaturan uBOL Jika Anda memilih mode Optimal atau Complete sebagai mode bawaan, Anda perlu memberikan uBOL izin untuk membaca dan mengubah data pada semua situs web.
|
||||
|
||||
Mohon diingat bahwa ini msaih dalam tahap proses pengerjaan, dengan tujuan akhir sebagai berikut:
|
||||
|
||||
- Tidak ada izin pengguna yang luas saat penginstalan -- izin tambahan diberikan secara eksplisit oleh pengguna berdasarkan tiap situs.
|
||||
|
||||
- Sepenuhnya delkaratif untuk reliabilitas dan CPU/efisiensi memori.
|
||||
uBOL sepenuhnya bersifat deklaratif, artinya tidak diperlukan proses uBOL permanen agar penyaringan dapat terjadi, dan penyaringan konten berbasis injeksi CSS/JS dilakukan secara andal oleh browser itu sendiri dan bukan oleh ekstensi. Artinya uBOL sendiri tidak mengonsumsi sumber daya CPU/memori saat pemblokiran konten sedang berlangsung -- proses pekerja layanan uBOL diperlukan _hanya_ saat Anda berinteraksi dengan panel popup atau halaman opsi.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) è un sistema per bloccare contenuti che *non richiede autorizzazioni* basato su MV3.
|
||||
uBO Lite (uBOL) è un sistema di blocco dei contenuti basato su MV3.
|
||||
|
||||
L'insieme di regole predefinito corrisponde all'insieme di filtri predefinito di uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ L'insieme di regole predefinito corrisponde all'insieme di filtri predefinito di
|
||||
Puoi abilitare altri set di regole visitando la pagina delle opzioni: clicca sull'icona _Cogs_ nel pannello a comparsa.
|
||||
|
||||
uBOL è interamente dichiarativo, ovvero non è necessario che ci sia un processo di uBOL permanente per poter eseguire il filtraggio; e il filtraggio dei contenuti basato sull'iniezione di elementi CSS/JS viene eseguito in modo affidabile dal browser stesso piuttosto che dall'estensione. Ciò significa che lo stesso uBOL non consuma risorse di CPU o memoria mentre il blocco dei contenuti viene eseguito: il processo che esegue il servizio di uBOL è richiesto _solamente_ quando interagisci con il pannello a comparsa o con le pagine delle opzioni.
|
||||
|
||||
uBOL non richiede un'ampia autorizzazione di "lettura e modifica dei dati" al momento dell'installazione, da qui le sue capacità limitate rispetto a uBlock Origin o ad altre estensioni che richiedono ampie autorizzazioni di "lettura e modifica dei dati" al momento dell'installazione.
|
||||
|
||||
Tuttavia, uBOL consente di concedere *esplicitamente* permessi estesi a siti specifici di vostra scelta, in modo da poter filtrare meglio tali siti utilizzando il filtraggio cosmetico e le iniezioni di scriptlet.
|
||||
|
||||
Per concedere autorizzazioni estese su un determinato sito, apri il pannello popup e scegli una modalità di filtraggio più elevata come Ottimale o Completa.
|
||||
|
||||
Il browser quindi ti avviserà degli effetti della concessione delle autorizzazioni aggiuntive richieste dall'estensione sul sito corrente e dovrai comunicare al browser se accetti o rifiuti la richiesta.
|
||||
|
||||
Se accetti la richiesta di uBOL per autorizzazioni aggiuntive sul sito corrente, esso sarà in grado di filtrare meglio il contenuto per il sito corrente.
|
||||
|
||||
Puoi impostare la modalità di filtraggio predefinita dalla pagina delle opzioni di uBOL. Se scegli come predefinita la modalità Ottimale o Completa, dovrai concedere a uBOL il permesso di leggere e modificare i dati di tutti i siti web.
|
||||
|
||||
Tieni presente che questo è ancora un work in progress, con questi obiettivi finali:
|
||||
|
||||
- Nessuna autorizzazione estesa degli host al momento dell'installazione; le autorizzazioni estese vengono concesse esplicitamente dall'utente in base al sito.
|
||||
|
||||
- Interamente dichiarativo per l'affidabilità e l'efficienza della CPU/memoria.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) は権限を必要としない MV3 ベースのコンテンツブロッカーです。
|
||||
uBO Lite (uBOL) は MV3 ベースのコンテンツブロッカーです。
|
||||
|
||||
デフォルトのルールセットは以下の通りです。uBlock Origin のデフォルトフィルターセットと同じです。
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) は権限を必要としない MV3 ベースのコンテンツ
|
||||
オプションページでルールセットを有効化できます。ポップアップパネルの「歯車」アイコンをクリックしてください。
|
||||
|
||||
uBOL は完全に宣言的です。つまり、フィルタリングを行うための恒久的な uBOL プロセスは必要なく、CSS/JS インジェクション ベースのコンテンツフィルタリングは拡張機能ではなくブラウザによって、確実に実行されます。 これは uBOL がコンテンツブロッキングの際に CPU、メモリを消費しないことを意味します。uBOL のサービス ワーカーは ポップアップ パネルや設定ページでのみ必要とされます。
|
||||
|
||||
uBOL はインストール時に広範な「データの読み取りと変更」の権限を要求しません。したがって uBlock Origin やその他の、インストール時に広範な「データの読み取りと変更」の権限を要求するコンテンツブロッカーに比べて、行えることが制限されています。
|
||||
|
||||
しかし、ユーザーの選んだ特定のサイトに対する拡張権限を「明示的に」付与すれば、そのサイト上で整形フィルターやスクリプトレットの挿入を用いた優れたフィルタリングを行うことができます。
|
||||
|
||||
特定のサイトで拡張された権限を付与するには、ポップアップ パネルを開いて、「最適」や「完全」のようなより高いフィルタリングモードを選択します。
|
||||
|
||||
ブラウザーは、現在のサイトで拡張機能によってリクエストされた追加の権限を付与することによってもたらされる影響について警告します。承認または拒否することができます。
|
||||
|
||||
現在のサイトでの uBOL のリクエストを承認すると、現在のサイトにより良いフィルターを適用できるようになります。
|
||||
|
||||
uBOL の設定ページで既定のフィルタリングモードを設定できます。 「最適」または「完全」を規定のフィルタリング モードに設定した場合、すべてのWebサイトで「データの読み取りと変更」権限を付与する必要があります。
|
||||
|
||||
注意として、uBOL はまだ開発途中で、これらの開発目標があります。
|
||||
|
||||
- インストール時に広範なホスト権限は不要 -- 拡張された権限はサイトごとにユーザーによって明示的に付与されます。
|
||||
|
||||
- 完全に宣言的で、CPU、メモリの効率性が良い
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) *ნებართვებისგან თავისუფალი* MV3-ზე დაფუძნებული შიგთავსის შემზღუდავია.
|
||||
uBO Lite (uBOL) შიგთავსის შემზღუდავია MV3-ის მიხედვით.
|
||||
|
||||
წესების ნაგულისხმევი კრებული იგივეა, რასაც uBlock Origin იყენებს:
|
||||
|
||||
- uBlock Origin – ფილტრების ჩაშენებული სიები
|
||||
- ჩაშენებული ფილტრებით, uBlock Origin რომ იყენებს
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Peter Lowe – სარეკლამო სერვერების სია
|
||||
|
||||
შეგიძლიათ სხვა კრებულებიც აამოქმედოთ პარამეტრების გვერდიდან -- დაწკაპეთ _Cogs_ ხატულაზე ამომხტომ არეში.
|
||||
|
||||
uBOL სრულად დეკლარაციულია, ანუ არაა საჭირო მუდმივად იყოს გაშვებული uBOL-პროცესი გასაფილტრად, CSS/JS ჩანაცვლებით შიგთავსის გაფილტვრას თავად ბრაუზერი უზრუნველყოფს ნაცვლად გაფართოებისა, რაც მეტად საიმედოა. შესაბამისად, uBOL თავად არ დატვირთავს პროცესორს/ოპერატიულს შიგთავსის შეზღუდვის დროს -- uBOL-ის შუამავალი მომსახურე პროცესი საჭიროა _მხოლოდ_ მაშინ, როცა ამომხტომ არესთან ურთიერთქმედებთ ან ცვლით პარამეტრებს.
|
||||
|
||||
uBOL არ საჭიროებს „მონაცემთა წაკითხვისა და შეცვლის“ სრულ ნებართვას დაყენებისას, ვინაიდან მოკვეცილი შესაძლებლობებითაა წარმოდგენილი uBlock Origin-თან ან რეკლამის სხვა შემზღუდავებთან შედარებით, რომლებიც ერთბაშად ითხოვს „მონაცემთა წაკითხვისა და შეცვლის“ უფლებას დაყენებისთანავე.
|
||||
|
||||
ამასთანავე, uBOL საშუალებას გაძლევთ *მკაფიო* თანხმობით მიუთითოთ გაფართოებული ნებართვები ცალკეულ საიტებზე სურვილისამებრ, რომ უკეთ შეიზღუდოს შიგთავსი ხილული ელემენტების გაფილტვრითა და პროგრამული ჩამატებებით.
|
||||
|
||||
გაფართოებული ნებართვების მისაცემად მითითებულ საიტზე, გახსენით ამომხტომი არე და აირჩიეთ ფილტრაციის უფრო მაღალი დონე, როგორიცაა „წონასწორული“ ან „სრული“.
|
||||
|
||||
შემდეგ ბრაუზერი გაგაფრთხილებთ გაფართოების მიერ დამატებითი ნებართვების მოთხოვნის შესახებ მოცემულ საიტზე და აირჩევთ, დათანხმდებით თუ უარყოფთ მოთხოვნას.
|
||||
|
||||
თუ დათანხმდებით uBOL-ს მოთხოვნას დამატებითი ნებართვებისთვის მიმდინარე საიტზე, უკეთ შეძლებს შიგთავსის შეზღუდვას აღნიშნულ საიტზე.
|
||||
|
||||
შეგიძლიათ მიუთითოთ გაფილტვრის ნაგულისხმევი რეჟიმი uBOL-ის პარამეტრების გვერდიდან. თუ აირჩევთ „წონასწორულ“ ან „სრულ“ რეჟიმს ნაგულისხმევად, uBOL-ს უნდა დართოთ ყველა საიტზე მონაცემთა წაკითხვისა და შეცვლის ნება.
|
||||
|
||||
დაიხსომეთ, რომ ჯერ კიდევ მუშავდება შემდეგი მიზნებისთვის:
|
||||
|
||||
- არანაირი სრული ნებართვების ერთბაშად მოთხოვნა დაყენებისას -- დამატებითი უფლებები შეიძლება მიეცეს მომხმარებლის მკაფიო თანხმობით თითოეულ საიტზე ცალ-ცალკე.
|
||||
|
||||
- სრულად დეკლარაციულია პროცესორის/მეხსიერების დასაზოგად.
|
||||
uBOL მოქმედებს სრულად დადგენილი წესებით, შესაბამისად, არ ესაჭიროება მუდმივად გაშვებული uBOL-პროცესი გასაფილტრად, ხოლო როცა შიგთავსის შეზღუდვა ითხოვს ჩანაცვლდეს CSS/JS, ამას თავად ბრაუზერი უზრუნველყოფს საიმედო გზით, ნაცვლად გაფართოებისა. აქედან გამომდინარე, uBOL თავად არ მოიხმარს პროცესორს/მეხსიერებას შიგთავსის შეზღუდვისას -- uBOL საჭიროებს შუამავალ მომსახურე პროცესს _მხოლოდ_ მაშინ, როცა ამომხტომ არესთან ურთიერთქმედებთ ან ცვლით პარამეტრებს.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. ಇದರರ್ಥ ವಿಷಯ ನಿರ್ಬಂಧಿಸುವಿಕೆಯು ನಡೆಯುತ್ತಿರುವಾಗ uBOL ಸ್ವತಃ CPU/ಮೆಮೊರಿ ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುವುದಿಲ್ಲ -- ನೀವು ಪಾಪ್ಅಪ್ ಪ್ಯಾನೆಲ್ ಅಥವಾ ಆಯ್ಕೆಯ ಪುಟಗಳೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸಿದಾಗ uBOL ನ ಸೇವಾ ವರ್ಕರ್ ಪ್ರಕ್ರಿಯೆಯು _ಮಾತ್ರಾ_ ಅಗತ್ಯವಿದೆ.
|
||||
|
||||
uBOL ಗೆ ಅನುಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ವಿಶಾಲವಾದ "ಡೇಟಾವನ್ನು ಓದಲು ಮತ್ತು ಮಾರ್ಪಡಿಸಲು" ಅನುಮತಿಯ ಅಗತ್ಯವಿರುವುದಿಲ್ಲ, ಆದ್ದರಿಂದ uBlock ಮೂಲಕ್ಕೆ ಹೋಲಿಸಿದರೆ ಅದರ ಸೀಮಿತ ಸಾಮರ್ಥ್ಯಗಳು ಅಥವಾ ಅನುಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ವಿಶಾಲವಾದ "ಡೇಟಾವನ್ನು ಓದಲು ಮತ್ತು ಮಾರ್ಪಡಿಸಲು" ಅನುಮತಿಗಳ ಅಗತ್ಯವಿರುವ ಇತರ ವಿಷಯ ಬ್ಲಾಕರ್ಗಳಿಗೆ ಹೋಲಿಸಿದರೆ.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. ನೀವು ಆಪ್ಟಿಮಲ್ ಅಥವಾ ಕಂಪ್ಲೀಟ್ ಮೋಡ್ ಅನ್ನು ಡಿಫಾಲ್ಟ್ ಆಗಿ ಆರಿಸಿದರೆ, ಎಲ್ಲಾ ವೆಬ್ಸೈಟ್ಗಳಲ್ಲಿನ ಡೇಟಾವನ್ನು ಓದಲು ಮತ್ತು ಮಾರ್ಪಡಿಸಲು ನೀವು uBOL ಗೆ ಅನುಮತಿಯನ್ನು ನೀಡಬೇಕಾಗುತ್ತದೆ.
|
||||
|
||||
ಈ ಅಂತಿಮ ಗುರಿಗಳೊಂದಿಗೆ ಇದು ಇನ್ನೂ ಪ್ರಗತಿಯಲ್ಲಿದೆ ಎಂಬುದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite(uBOL)는 *적은 권한을 요구하는* MV3 기반 콘텐츠 차단기입니다.
|
||||
uBO Lite (uBOL)는 MV3 기반 콘텐츠 차단기입니다.
|
||||
|
||||
기본 규칙 목록은 uBlock Origin의 기본 필터 목록과 대응됩니다.
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite(uBOL)는 *적은 권한을 요구하는* MV3 기반 콘텐츠 차단기
|
||||
설정 페이지에서 규칙 목록을 더 활성화할 수 있습니다. 팝업 창의 _Cogs_ 아이콘을 누르세요.
|
||||
|
||||
uBOL은 완전히 선언적이라 필터링 중 영구적으로 실행되는 uBOL 프로세스를 필요로 하지 않으며, CSS/JS 주입 기반 콘텐츠 필터링이 확장 프로그램이 아닌 브라우저 자체에서 더욱 안정적으로 동작합니다. 즉 uBOL 자체는 콘텐츠 차단을 하는 동안 CPU/메모리 리소스를 소비하지 않습니다. uBOL 서비스워커 프로세스는 사용자가 팝업 창이나 설정을 열었을 _때에만_ 동작합니다.
|
||||
|
||||
uBOL은 설치 시 광범위한 "읽기 및 수정" 권한을 요구하지 않으므로, 설치 후 즉시 쓸 수 있는 기능들은 uBlock Origin이나 설치 시 광범위한 "읽기 및 수정" 권한을 요구하는 다른 콘텐츠 차단기에 비해 제한됩니다.
|
||||
|
||||
하지만 uBOL에서는 원하는 특정 사이트에 대해 확장된 권한을 부여하여, 해당 사이트를 표면 필터링 및 스크립트 주입을 바탕으로 더욱 잘 필터링할 수 있습니다.
|
||||
|
||||
주어진 사이트에 확장된 권한을 부여하려면, 팝업 창을 열고 필터링 모드를 '최적'이나 '완전'과 같이 더 높은 수준으로 선택하세요.
|
||||
|
||||
브라우저는 확장 프로그램에 현재 사이트에 대한 추가 권한을 부여했을 때 발생할 수 있는 일에 대해 경고할 것이며, 권한 요청을 수락할지 거부할지 선택해야 합니다.
|
||||
|
||||
현재 사이트에 대해 uBOL에 추가 권한을 부여하면, 해당 사이트의 콘텐츠를 더욱 잘 필터링할 수 있습니다.
|
||||
|
||||
uBOL 설정 페이지에서 기본 필터링 모드를 설정할 수 있습니다. 기본 모드를 '최적' 혹은 '완전'으로 설정하는 경우, uBOL에 모든 웹사이트에서 데이터를 읽고 수정할 수 있는 권한을 부여해야 합니다.
|
||||
|
||||
본 확장 프로그램은 여전히 아래 목표를 달성하기 위해 개발 중인 단계입니다.
|
||||
|
||||
- 설치 시 광범위한 호스트 권한을 요구하지 않고, 사용자가 사이트마다 명시적으로 확장된 권한을 부여할 수 있도록 합니다.
|
||||
|
||||
- 완전히 선언적으로 구현하여 CPU/메모리 효율성과 신뢰성을 확보합니다.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) ir *bezatļauju* uz MV3 balstīts satura aizturētājs.
|
||||
uBO Lite (uBOL) — uz MV3 balstīts satura aizturētājs.
|
||||
|
||||
Noklusējuma nosacījumu kopa atbilst uBokc Origin noklusējuma aizturēšanas kopai:
|
||||
Noklusējuma nosacījumu kopa atbilst uBock Origin noklusējuma aizturēšanas kopai:
|
||||
|
||||
- uBlock Origin iebūvētie aizturēšanas saraksti
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Pētera Lova (Peter Lowe) reklāmu un izsakošanas serveru saraksts
|
||||
- Pētera Lova (Peter Lowe) reklāmu un izsekošanas serveru saraksts
|
||||
|
||||
Vairāk nosacījumu kopu var iespējot iestatījumu sadaļā -- jāklikšķina _Zobratu_ ikona uznirstošajā logā.
|
||||
|
||||
uBOL ir pilnībā vispārīgs, kas nozīmē, ka nav nepieciešamības pēc pastāvīga uBOL procesa, lai notiktu aizturēšana, un uz CSS/JS ievietošanu balstīta satura aizturēšanu uzticami veic pārlūks, nevis paplašinājums. Tas nozīmē, ka uBOL pats par sevi neizmanto procesoru un atmiņu, kamēr satura aizturēšana ir notiekoša -- uBOL pakalpojuma strādņa process ir nepieciešams _tikai_ tad, kad notiek mijiedarbība ar uznirstošo logu vai iestatījumu sadaļām.
|
||||
|
||||
uBOL nav nepieciešamas plašas "lasīt un pārveidot datus" atļaujas uzstādīšanas laikā, tāpēc tam ir ierobežotas spējas pēc noklusējuma, salīdzinājumā ar uBlock Origin vai citiem satura aizturētājiem, kas pieprasa plašas "lasīt un pārveidot datus" atļaujas uzstādīšanas laikā.
|
||||
|
||||
Tomēr uBOL ļauj piešķirt paplašinātās atļaujas *tieši* noteiktās vietnēs pēc izvēles, lai tas varētu labāk veikt aizturēšanu tajās, izmantojot kosmētisku aizturēšanu un skriptu ievietošanu.
|
||||
|
||||
Lai nodrošinātu paplašinātas piekļuves tiesības noteiktā vietnē, jāatver uznirstošais logs un jāizvēlas striktāks aizturēšanas veids, kā, piemēram, "Labākais" vai "Pilnīgais".
|
||||
|
||||
Pārlūks tad brīdinās ietekmi, ko radīs paplašinājuma pieprasīto papildu atļauju nodrošināšana pašreizējā vietnē, un būs jānorāda, vai pieprasījums tiek apstiprināts vai noraidīts.
|
||||
|
||||
Ja pašreizējā vietnē tiek apstiprināts uBOL papildu atļauju pieprasījums, paplašinājums varēs labāk veikt satura aizturēšanu.
|
||||
|
||||
Noklusējuma aizturēšanas veids ir norādāms uBOL uzstādījumu lapā. Ja tiek izvēlēts "Labākais" vai "Pilnīgais" kā noklusējuma, tad būs nepieciešams nodrošināt uBOL tiesības rakstīt un pārveidot datus visās tīmekļa vietnēs.
|
||||
|
||||
Jāpatur prātā, ka šī iespēja joprojām tiek izstrādāta ar šādiem mērķiem:
|
||||
|
||||
- Nav plašu saimniekdatora atļauju uzstādīšanas laikā -- paplašinātas atļaujas nodrošina lietotājs atsevišķi katrai vietnei.
|
||||
|
||||
- Pilnībā vispārīgs - uzticamībai un procesora/atmiņas lietderīgai izmantošanai.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) е *без дозвола* MV3-базиран блокатор на содржини.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Стандардниот сет на правила одговара на стандардниот филтер сет на uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) е *без дозвола* MV3-базиран блокатор
|
||||
Можете да овозможите повеќе сетови на правила посетувајќи ја страницата со опции - кликнете на иконата _запчаник_ во попап панел.
|
||||
|
||||
uBOL е целосно декларативен, што значи дека не е потребен траен процес на uBOL за филтрирање да се одвива, а филтрирањето на содржини врз основа на инјекција на CSS/JS се извршува со сигурност од самото браузер, а не од самата екстензија. Ова значи дека самиот uBOL не консумира ресурси на CPU/меморија додека блокирањето на содржини е во тек - процесот на службениот работник на uBOL е потребен _само_ кога ќе е потребен со попап панел или страниците со опции.
|
||||
|
||||
uBOL не бара широка дозвола за „читање и модификување на податоци“ во време на инсталација, па затоа неговите ограничени можности излезат од кутијата во споредба со uBlock Origin или други блокатори на содржини кои бараат широка „читање и модификување на податоци“ дозволи во време на инсталација.
|
||||
|
||||
Сепак, uBOL ви овозможува *експлицитно* да доделите проширени дозволи на специфични страници по ваш избор, така што може подобро да филтрира на тие страници користејќи козметичко филтрирање и инјекции на скрипти.
|
||||
|
||||
За да доделите проширени дозволи на одредена страница, отворете го исфрлениот панел и изберете повисок режим на филтрирање, како што се Оптимален или Комплетен.
|
||||
|
||||
Браузерот ќе ве предупреди за ефектите на задолжителното доделување на дополнителните дозволи кои ги побарала екстензијата на тековната страница, а вие треба да му кажете на браузерот дали ја прифаќате или одбивате побараното.
|
||||
|
||||
Ако ја прифатите побараното од uBOL за дополнителни дозволи на тековната страница, тоа ќе може подобро да филтрира содржина за тековната страница.
|
||||
|
||||
Можете да го поставите подразбираниот режим на филтрирање од страницата со опции на uBOL. Ако ја изберете Оптималната или Комплетната верзија како подразбирана, ќе треба да му овозможите на uBOL дозвола да чита и модифицира податоци на сите веб-страници.
|
||||
|
||||
Имајте на ум дека ова сè уште е работа во тек, со следниве завршни цели:
|
||||
|
||||
- Нема широки хост дозволи при инсталација - проширените дозволи се доделуваат експлицитно од корисникот на основа на секоја страница.
|
||||
|
||||
- Целосно декларативен за сигурност и ефикасност на CPU/меморија.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) ഒരു *അനുമതി-കുറവ്* MV3 അടിസ്ഥാനമാക്കിയുള്ള ഉള്ളടക്ക ബ്ലോക്കറാണ്.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
ഡിഫോൾട്ട് റൂൾസെറ്റ് uBlock Origin-ന്റെ ഡിഫോൾട്ട് ഫിൽട്ടർസെറ്റുമായി യോജിക്കുന്നു:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) ഒരു *അനുമതി-കുറവ്* MV3 അടിസ
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL പൂർണ്ണമായും ഡിക്ലറേറ്റീവ് ആണ്, അതായത് ഫിൽട്ടറിംഗ് സംഭവിക്കുന്നതിന് ഒരു സ്ഥിരമായ uBOL പ്രക്രിയയുടെ ആവശ്യമില്ല, കൂടാതെ CSS/JS ഇഞ്ചക്ഷൻ അടിസ്ഥാനമാക്കിയുള്ള ഉള്ളടക്ക ഫിൽട്ടറിംഗ്, എക്സ്റ്റൻഷനേക്കാൾ വിശ്വസനീയമായി ബ്രൗസർ തന്നെ നിർവഹിക്കുന്നു. ഉള്ളടക്കം തടയൽ നടന്നുകൊണ്ടിരിക്കുമ്പോൾ uBOL തന്നെ CPU/മെമ്മറി ഉറവിടങ്ങൾ ഉപയോഗിക്കില്ല എന്നാണ് ഇതിനർത്ഥം -- നിങ്ങൾ പോപ്പ്അപ്പ് പാനലുമായോ ഓപ്ഷൻ പേജുകളുമായോ സംവദിക്കുമ്പോൾ _only_ uBOL-ന്റെ സേവന വർക്കർ പ്രോസസ്സ് ആവശ്യമാണ്.
|
||||
|
||||
ഇൻസ്റ്റാളേഷൻ സമയത്ത് uBOL ന് വിശാലമായ "ഡാറ്റ വായിക്കാനും പരിഷ്ക്കരിക്കാനും" അനുമതി ആവശ്യമില്ല, അതിനാൽ uBlock ഒറിജിൻ അല്ലെങ്കിൽ മറ്റ് ഉള്ളടക്ക ബ്ലോക്കറുകൾ എന്നിവയുമായി താരതമ്യപ്പെടുത്തുമ്പോൾ അതിന്റെ പരിമിതമായ കഴിവുകൾ ഇൻസ്റ്റാളേഷൻ സമയത്ത് വിശാലമായ "ഡാറ്റ വായിക്കാനും പരിഷ്ക്കരിക്കാനും" അനുമതികൾ ആവശ്യമാണ്.
|
||||
|
||||
എന്നിരുന്നാലും, നിങ്ങൾ തിരഞ്ഞെടുക്കുന്ന നിർദ്ദിഷ്ട സൈറ്റുകളിൽ വിപുലീകൃത അനുമതികൾ *വ്യക്തമായി* നൽകാൻ uBOL നിങ്ങളെ അനുവദിക്കുന്നു, അതുവഴി കോസ്മെറ്റിക് ഫിൽട്ടറിംഗും സ്ക്രിപ്റ്റ്ലെറ്റ് കുത്തിവയ്പ്പുകളും ഉപയോഗിച്ച് ആ സൈറ്റുകളിൽ മികച്ച രീതിയിൽ ഫിൽട്ടർ ചെയ്യാൻ കഴിയും.
|
||||
|
||||
തന്നിരിക്കുന്ന സൈറ്റിൽ വിപുലമായ അനുമതികൾ നൽകുന്നതിന്, പോപ്പ്അപ്പ് പാനൽ തുറന്ന് ഒപ്റ്റിമൽ അല്ലെങ്കിൽ കംപ്ലീറ്റ് പോലുള്ള ഉയർന്ന ഫിൽട്ടറിംഗ് മോഡ് തിരഞ്ഞെടുക്കുക.
|
||||
|
||||
നിലവിലെ സൈറ്റിൽ വിപുലീകരണം അഭ്യർത്ഥിച്ച അധിക അനുമതികൾ നൽകുന്നതിന്റെ ഫലങ്ങളെക്കുറിച്ച് ബ്രൗസർ നിങ്ങൾക്ക് മുന്നറിയിപ്പ് നൽകും, നിങ്ങൾ അഭ്യർത്ഥന സ്വീകരിക്കുകയോ നിരസിക്കുകയോ ചെയ്യണോ എന്ന് നിങ്ങൾ ബ്രൗസറിനോട് പറയേണ്ടിവരും.
|
||||
|
||||
നിലവിലെ സൈറ്റിൽ കൂടുതൽ അനുമതികൾക്കായുള്ള uBOL-ന്റെ അഭ്യർത്ഥന നിങ്ങൾ അംഗീകരിക്കുകയാണെങ്കിൽ, നിലവിലെ സൈറ്റിനായി മികച്ച ഉള്ളടക്കം ഫിൽട്ടർ ചെയ്യാൻ അതിന് കഴിയും.
|
||||
|
||||
uBOL-ന്റെ ഓപ്ഷൻ പേജിൽ നിന്ന് നിങ്ങൾക്ക് ഡിഫോൾട്ട് ഫിൽട്ടറിംഗ് മോഡ് സജ്ജമാക്കാൻ കഴിയും. ഒപ്റ്റിമൽ അല്ലെങ്കിൽ കംപ്ലീറ്റ് മോഡ് ഡിഫോൾട്ടായി നിങ്ങൾ തിരഞ്ഞെടുക്കുകയാണെങ്കിൽ, എല്ലാ വെബ്സൈറ്റുകളിലെയും ഡാറ്റ വായിക്കാനും പരിഷ്ക്കരിക്കാനും നിങ്ങൾ uBOL-ന് അനുമതി നൽകേണ്ടതുണ്ട്.
|
||||
|
||||
ഈ അന്തിമ ലക്ഷ്യങ്ങളോടെ ഇത് ഇപ്പോഴും പുരോഗമിക്കുന്ന ഒരു ജോലിയാണെന്ന് ഓർമ്മിക്കുക:
|
||||
|
||||
- ഇൻസ്റ്റാളേഷൻ സമയത്ത് ബ്രോഡ് ഹോസ്റ്റ് അനുമതികളൊന്നുമില്ല -- ഓരോ സൈറ്റിന്റെ അടിസ്ഥാനത്തിൽ വിപുലീകൃത അനുമതികൾ ഉപയോക്താവ് വ്യക്തമായി നൽകുന്നു.
|
||||
|
||||
- വിശ്വാസ്യതയ്ക്കും സിപിയു/മെമ്മറി കാര്യക്ഷമതയ്ക്കും പൂർണ്ണമായും പ്രഖ്യാപനം.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) हे MV3-आधारित कंटेंट ब्लॉकर आहे.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
डीफॉल्ट नियमसंच uBlock Origin च्या डीफॉल्ट फिल्टरसेटशी संबंधित आहे:
|
||||
|
||||
- uBlock Origin's built-in filter lists
|
||||
- uBlock Origin च्या बिल्ट-इन फिल्टर लिस्ट
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Peter Lowe’s Ad and tracking server list
|
||||
- पीटर लोवची जाहिरात आणि ट्रॅकिंग सर्व्हर यादी
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
तुम्ही पर्याय पृष्ठाला भेट देऊन अधिक नियम संच सक्षम करू शकता -- पॉपअप पॅनेलमधील _Cogs_ चिन्हावर क्लिक करा.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
uBOL पूर्णपणे घोषणात्मक आहे, म्हणजे फिल्टरिंगसाठी कायमस्वरूपी uBOL प्रक्रियेची गरज नाही, आणि CSS/JS इंजेक्शनवर आधारित सामग्री फिल्टरिंग ब्राउझरच्याच मदतीने विश्वासार्हपणे होते, विस्ताराद्वारे नव्हे. याचा अर्थ असा की सामग्री ब्लॉकिंग चालू असताना uBOL स्वतः CPU/मेमरी संसाधने वापरत नाही — uBOL चा सर्व्हिस वर्कर प्रोसेस फक्त तेव्हाच लागतो जेव्हा तुम्ही पॉपअप पॅनल किंवा पर्याय पृष्ठांशी संवाद साधता.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) ialah penyekat kandungan berasaskan MV3.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
Set peraturan lalai sepadan dengan set penapis lalai uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Set peraturan lalai sepadan dengan set penapis lalai uBlock Origin:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL adalah deklaratif sepenuhnya, bermakna tidak ada keperluan untuk proses uBOL kekal untuk penapisan berlaku, dan penapisan kandungan berasaskan suntikan CSS/JS dilakukan sepenuhnya oleh penyemak imbas itu sendiri dan bukannya oleh sambungan. Ini bermakna uBOL sendiri tidak menggunakan sumber CPU/memori semasa penyekatan kandungan sedang berjalan -- proses pekerja perkhidmatan uBOL diperlukan _hanya_ apabila anda berinteraksi dengan panel timbul atau halaman pilihan.
|
||||
|
||||
uBOL tidak memerlukan kebenaran "baca dan ubah suai data" yang luas pada masa pemasangan, oleh itu keupayaan terhadnya di luar kotak berbanding dengan uBlock Origin atau penyekat kandungan lain yang memerlukan kebenaran "baca dan ubah suai data" yang luas pada masa pemasangan.
|
||||
|
||||
Walau bagaimanapun, uBOL membenarkan anda *dengan jelas* memberikan kebenaran lanjutan pada tapak tertentu pilihan anda supaya ia boleh menapis dengan lebih baik pada tapak tersebut menggunakan penapisan kosmetik dan suntikan skrip.
|
||||
|
||||
Untuk memberikan kebenaran lanjutan pada tapak tertentu, buka panel timbul dan pilih mod penapisan yang lebih tinggi seperti Optimum atau Lengkap.
|
||||
|
||||
Penyemak imbas kemudian akan memberi amaran kepada anda tentang kesan pemberian kebenaran tambahan yang diminta oleh sambungan pada tapak semasa dan anda perlu memberitahu penyemak imbas sama ada anda menerima atau menolak permintaan tersebut.
|
||||
|
||||
Jika anda menerima permintaan uBOL untuk mendapatkan kebenaran tambahan pada tapak semasa, ia akan dapat menapis kandungan dengan lebih baik untuk tapak semasa.
|
||||
|
||||
Anda boleh menetapkan mod penapisan lalai dari halaman pilihan 'uBOL'. Jika anda memilih mod Optimum atau Lengkap sebagai mod lalai, anda perlu memberikan uBOL kebenaran untuk membaca dan mengubah suai data pada semua tapak web.
|
||||
|
||||
Perlu diingat bahawa ini masih dalam proses, dengan matlamat akhir ini:
|
||||
|
||||
- Tiada kebenaran hos pada masa pemasangan -- kebenaran lanjutan diberikan secara eksplisit oleh pengguna pada asas setiap tapak.
|
||||
|
||||
- Deklaratif sepenuhnya untuk kebolehpercayaan dan kecekapan CPU/memori.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) er en *tillatelses-begrenset* MV3-basert innholdsblokkerer.
|
||||
uBO Lite (uBOL) er en MV3-basert innholdsblokkerer.
|
||||
|
||||
Standardregelsettet tilsvarer standardfiltersettet til uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Standardregelsettet tilsvarer standardfiltersettet til uBlock Origin:
|
||||
Du kan legge til flere regelsett ved å gå til innstillingssiden -- klikk _Tannhjul_-ikonet i oppsprettspanelet.
|
||||
|
||||
uBOL er fullstendig deklarativ, noe som betyr at det ikke er behov for en permanent uBOL-prosess for at filtreringen skal skje, og CSS/JS-injeksjonsbasert innholdsfiltrering utføres pålitelig av nettleseren selv i stedet for av utvidelsen. Dette betyr at uBOL selv ikke bruker CPU/minneressurser mens innholdsblokkering pågår -- uBOL's service worker-prosess kreves _bare_ når du samhandler med oppsprettspanelet eller innstillingssidene.
|
||||
|
||||
uBOL krever ikke bred "lese og endre data"-tillatelse under installasjonen, derav begrensede muligheter i utgangspunktet sammenlignet med uBlock Origin eller andre innholdsblokkerere som krever bred "lese og endre data"-tillatelse under installasjonen.
|
||||
|
||||
Men, uBOL lar deg *uttrykkelig* gi utvidede tillatelser på bestemte nettsteder du velger, slik at uBOL bedre kan filtrere på disse nettstedene ved bruk av kosmetisk filtrering og skriptlet-injeksjoner.
|
||||
|
||||
For å gi utvidede tillatelser på et gitt nettsted, åpne oppsprettspanelet og velg en høyere filtreringsmodus som Optimal eller Fullstendig.
|
||||
|
||||
Nettleseren vil da advare deg om effektene av å gi de ekstra tillatelsene som utvidelsen ber om på det gjeldende nettstedet, og du må fortelle nettleseren om du godtar eller avslår forespørselen.
|
||||
|
||||
Hvis du godtar forespørselen fra uBOL om ekstra tillatelser på det gjeldende nettstedet, vil uBOL være i stand til å filtrere innhold bedre for det gjeldende nettstedet.
|
||||
|
||||
Du kan angi standard filtreringsmodus fra innstillingssiden i uBOL. Hvis du velger Optimal eller Fullstendig modus som standard, må du gi uBOL tillatelsen til å lese og endre data på alle nettsteder.
|
||||
|
||||
Husk at dette fortsatt er et arbeid som pågår, med disse sluttmålene:
|
||||
|
||||
- Ingen brede vertstillatelser under installasjonen -- utvidede tillatelser gis uttrykkelig av brukeren på per-side-basis.
|
||||
|
||||
- Helt deklarativt for pålitelighet og CPU/minneeffektivitet.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is een *toestemmingsloze* MV3-gebaseerde inhoudsblokkeerder.
|
||||
uBO Lite (uBOL) is een op MV3 gebaseerde inhoudsblokkeerder.
|
||||
|
||||
De standaard regelset komt overeen met de standaard filterset van uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ De standaard regelset komt overeen met de standaard filterset van uBlock Origin:
|
||||
U kunt meer regelsets inschakelen door de optiespagina te bezoeken -- klik hiervoor op het _tandwielpictogram_ in het pop-uppaneel.
|
||||
|
||||
uBOL is volledig declaratief, wat betekent dat er geen permanent uBOL-proces voor de filtering nodig is, en inhoudsfiltering op basis van CSS/JS-injectie op een betrouwbare manier door de browser zelf wordt uitgevoerd in plaats van door de extensie. Dit betekent dat uBOL zelf geen CPU-/geheugenbronnen gebruikt terwijl inhoudsblokkering actief is -- het serviceworker-proces van uBOL is _alleen_ vereist als u met het pop-uppaneel of de optiespagina’s werkt.
|
||||
|
||||
uBOL vereist geen brede toestemming voor het ‘lezen en aanpassen van gegevens’ tijdens installatie, vandaar de beperkte ingebouwde mogelijkheden ervan in vergelijking met uBlock Origin of andere inhoudsblokkeerders die brede toestemmingen voor het ‘lezen en aanpassen van gegevens’ vereisen tijdens installatie.
|
||||
|
||||
U kunt in uBOL echter *expliciet* uitgebreide toestemmingen verlenen op bepaalde websites van uw keuze, zodat het op die websites beter kan filteren via cosmetische filtering en scriptlet-injecties.
|
||||
|
||||
Om uitgebreide toestemmingen op een bepaalde website te verlenen, opent u het pop-uppaneel en kiest u een hogere filtermodus, zoals Optimaal of Volledig.
|
||||
|
||||
De browser waarschuwt u dan over de gevolgen van het verlenen van de door de extensie aangevraagde aanvullende toestemmingen op de huidige website, en u dient de browser te laten weten of u de aanvraag accepteert of weigert.
|
||||
|
||||
Als u de aanvraag van uBOL voor aanvullende toestemmingen op de huidige website accepteert, zal het inhoud voor de huidige website beter kunnen filteren.
|
||||
|
||||
U kunt de standaard filtermodus instellen vanaf de optiespagina van uBOL. Als u de modus Optimaal of Volledig als de standaardmodus kiest, dient u uBOL de toestemming voor het lezen en aanpassen van gegevens op alle websites te verlenen.
|
||||
|
||||
Onthoud dat dit nog werk in uitvoering is, met deze einddoelen:
|
||||
|
||||
- Geen brede host-toestemmingen tijdens installatie -- uitgebreide toestemmingen worden expliciet en per website verleend door de gebruiker.
|
||||
|
||||
- Volledig declaratief omwille van betrouwbaarheid en CPU-/geheugenefficiëntie.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) ਇੱਕ *ਬਿਨਾਂ ਇਜਾਜ਼ਤਾਂ* ਵਾਲਾ MV3-ਅਧਾਰਿਤ ਸਮੱਗਰੀ ਬਲਾਕਰ ਹੈ।
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
ਮੂਲ ਨਿਯਮ-ਸਮੂਹ uBlock Origin ਦੇ ਮੂਲ ਫਿਲਟਰ-ਸਮੂਹ ਨਾਲ ਸੰਬੰਧਿਤ ਹੈ:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) ਇੱਕ *ਬਿਨਾਂ ਇਜਾਜ਼ਤਾਂ* ਵਾਲਾ M
|
||||
ਤੁਸੀਂ ਚੋਣਾਂ ਸਫ਼ੇ ਨੂੰ ਖੋਲ੍ਹ ਕੇ ਹੋਰ ਰੂਲ-ਸੈੱਟ ਸਮਰੱਥ ਕਰ ਕਦੇ ਹੋ -- ਪੌਪ-ਅੱਪ ਪੈਨਲ ਵਿੱਚ _Cogs_ icon ਨੂੰ ਕਲਿੱਕ ਕਰੋ।
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
ਜੇ ਤੁਸੀਂ ਮੌਜੂਦਾ ਸਾਈਟਾਂ ਉੱਤੇ ਹੋਰ ਇਜਾਜਤਾਂ ਲਈ uBOL ਦੀ ਬੇਨਤੀ ਨੂੰ ਮਨਜ਼ੂਰ ਕੀਤਾ ਤਾਂ ਇਹ ਮੌਜੂਦਾ ਸਾਈਟ ਬਾਰੇ ਵਧੀਆ ਫਿਲਟਰ ਸਮੱਗਰੀ ਨੂੰ ਸਮਰੱਥ ਕਰੇਗੀ।
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
ਯਾਦ ਰੱਖੋ ਕਿ ਇਹ ਕੰਮ ਹਾਲੇ ਵੀ ਜਾਰੀ ਹੈ, ਜਿਸ ਦੇ ਟੀਚੇ ਇਹ ਹਨ:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) to *niewymagający uprawnień* bloker treści oparty na MV3.
|
||||
uBO Lite (uBOL) to bloker treści oparty na MV3.
|
||||
|
||||
Domyślny zestaw reguł odpowiada domyślnemu zestawowi filtrów uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Domyślny zestaw reguł odpowiada domyślnemu zestawowi filtrów uBlock Origin:
|
||||
Możesz włączyć więcej zestawów reguł, odwiedzając stronę opcji – kliknij ikonę _koła zębatego_ w wyskakującym panelu.
|
||||
|
||||
uBOL jest całkowicie deklaratywny, co oznacza, że nie jest potrzebny stały proces uBOL w celu filtrowania, a filtrowanie treści oparte na wstrzykiwaniu CSS/JS jest wykonywane niezawodnie przez samą przeglądarkę, a nie przez rozszerzenie. Oznacza to, że sam uBOL nie zużywa zasobów procesora/pamięci, gdy trwa blokowanie treści – proces Service Worker uBOL jest wymagany _tylko_ podczas interakcji z panelem wyskakującym lub stronami opcji.
|
||||
|
||||
uBOL w trakcie instalacji nie wymaga szerokich uprawnień do „odczytu i modyfikacji danych”, stąd jego ograniczone możliwości w porównaniu z uBlock Origin lub innymi blokerami treści, które w czasie instalacji wymagają szerokich uprawnień do „odczytu i modyfikacji danych”.
|
||||
|
||||
Jednakże uBOL umożliwia *jawnie* udzielanie rozszerzonych uprawnień na określonych wybranych witrynach, dzięki czemu może lepiej filtrować te witryny za pomocą filtrowania kosmetycznego i wstrzykiwania skryptletów.
|
||||
|
||||
Aby przyznać rozszerzone uprawnienia na danej witrynie, otwórz panel wyskakujący i wybierz wyższy tryb filtrowania, taki jak Optymalny lub Kompletny.
|
||||
|
||||
Przeglądarka wyświetli ostrzeżenie o skutkach przyznania dodatkowych uprawnień wymaganych przez rozszerzenie na bieżącej witrynie i będziesz musiał poinformować przeglądarkę, czy akceptujesz, czy odrzucasz żądanie.
|
||||
|
||||
Jeśli zaakceptujesz żądanie uBOL o dodatkowe uprawnienia na bieżącej witrynie, będzie on w stanie lepiej filtrować zawartość bieżącej witryny.
|
||||
|
||||
Możesz ustawić domyślny tryb filtrowania na stronie opcji uBOL. Jeśli tryb Optymalny lub Pełny zostanie wybrany jako domyślny, trzeba będzie przyznać uBOL uprawnienia do odczytu i modyfikacji danych na wszystkich stronach internetowych.
|
||||
|
||||
Należy pamiętać, że nadal trwają prace z następującymi celami końcowymi:
|
||||
|
||||
– Brak szerokich uprawnień hosta w czasie instalacji – rozszerzone uprawnienia są przyznawane jawnie przez użytkownika na podstawie poszczególnych witryn.
|
||||
|
||||
– Całkowicie deklaratywna niezawodność i wydajność procesora/pamięci.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
O uBO Lite (uBOL) é um bloqueador de conteúdo baseado no MV3 com menor permissão.
|
||||
O uBO Lite (uBOL) é um bloqueador de conteúdo baseado no MV3.
|
||||
|
||||
O conjunto de regras padrão corresponde ao conjunto de filtros padrão do uBlock Origin:
|
||||
|
||||
- Listas embutidas dos filtros do uBlock Origin
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Lista de servidores de anúncios e rastreadores do Peter Lowe
|
||||
- Lista de servidores de anúncios e rastreamento por Peter Lowe
|
||||
|
||||
Você pode ativar mais conjuntos de regras visitando a página das opções — clique no ícone da _Engranagem_ no painel do popup.
|
||||
Você pode ativar mais conjuntos de regras visitando a página de opções — clique no ícone da _Engranagem_ no painel do pop-up.
|
||||
|
||||
O uBOL é totalmente declarativo, significando que não há necessidade de um processo permanente do uBOL para a filtragem ocorrer e a filtragem de conteúdo baseada em injeção do CSS/JS é realizada confiavelmente pelo próprio navegador ao invés da extensão. Isto significa que o próprio uBOL não consome recursos de CPU/memória enquanto o bloqueio de conteúdo está em andamento -- o processo do service worker do uBOL _só_ é necessário quando você interage com o painel do pop-up ou as páginas das opções.
|
||||
|
||||
O uBOL não requer permissão ampla pra "ler e modificar dados" na hora da instalação, logo suas capacidades limitadas fora da caixa comparadas com o uBlock Origin ou outros bloqueadores de conteúdo requerem permissões amplas pra "ler e modificar dados" na hora da instalação.
|
||||
|
||||
Contudo, o uBOL permite a você garantir *explicitamente* permissões estendidas em sites específicos de sua escolha pra que possa filtrar melhor esses sites usando filtragem cosmética e injeções de scriptlet.
|
||||
|
||||
Pra conceder permissões estendidas num site dado, abra o painel do pop-up e escolha um modo de filtragem superior tal como Otimizado ou Completo.
|
||||
|
||||
O navegador então avisará você sobre os efeitos de garantir as permissões adicionais requisitadas pela extensão no site atual e você terá que dizer ao navegador se você aceita ou recusa a requisição.
|
||||
|
||||
Se você aceitar a requisição do uBOL por permissões adicionais no site atual ele será capaz de filtrar melhor o conteúdo do site atual.
|
||||
|
||||
Você pode definir o modo de filtragem padrão na página de opções do uBOL. Se você escolher o Modo Otimizado ou Completo como o modo padrão você precisará garantir ao uBOL a permissão de ler e modificar os dados em todos os sites.
|
||||
|
||||
Mantenha em mente que este ainda é um trabalho em progresso com estes objetivos finais:
|
||||
|
||||
- Sem permissões amplas do hospedeiro na hora da instalação -- as permissões estendidas são garantidas explicitamente pelo usuário numa base por site.
|
||||
|
||||
- Totalmente declarativo para confiabilidade e eficiência de CPU/memória.
|
||||
O uBOL é totalmente declarativo, significando que não há necessidade de um processo permanente do uBOL para a filtragem ocorrer, e filtragem de conteúdo baseada em injeção de CSS/JS é realizada corretamente pelo próprio navegador ao invés da extensão. Isto significa que o uBOL em si não consome recursos de CPU/memória ao bloquear conteúdo -- o processo do service worker do uBOL _só_ é necessário quando você interage com o painel do pop-up ou as páginas de opções.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
O uBO Lite (uBOL) é um bloqueador de conteúdo baseado no MV3 *sem permissões*.
|
||||
O uBO Lite (uBOL) é um bloqueador de conteúdo baseado em MV3.
|
||||
|
||||
O conjunto de regras padrão corresponde ao conjunto de filtros padrão do uBlock Origin:
|
||||
O conjunto de regras predefinido corresponde ao conjunto de filtros predefinido do uBlock Origin:
|
||||
|
||||
- Listas de filtros integrados do uBlock Origin
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Peter Lowe’s Ad and tracking server list
|
||||
|
||||
Pode ativar mais conjuntos de regras visitando a página de opções -- clique no ícone _Cogs_ na janela flutuante.
|
||||
Pode ativar mais conjuntos de regras visitando a página de opções -- clique no ícone _Cogs_ no painel popup.
|
||||
|
||||
O uBOL é totalmente declarativo, o que elimina a necessidade de um processo ativo constante para a filtragem ocorrer. A injeção de CSS e JS para filtragem de conteúdo é efetuada de maneira confiável pelo navegador, não dependendo da extensão. Isso significa que o uBOL por si só não gasta recursos de CPU/memória enquanto o bloqueio de conteúdo está a acontecer -- o processo do trabalhador de serviço do uBOL é necessário apenas quando se interage com a janela flutuante ou as páginas de opções.
|
||||
|
||||
uBOL não requer ampla permissão de "ler e modificar dados" no momento da instalação, daí as suas capacidades limitadas de pronto a usar em comparação com uBlock Origin ou outros bloqueadores de conteúdo que requerem amplas permissões de "ler e modificar dados" no momento da instalação.
|
||||
|
||||
No entanto, o uBOL permite-lhe que *explicitamente* conceda permissões alargadas em websites específicos de sua escolha, para que possa filtrar melhor esses websites usando filtragem cosmética e injeções de scriptlet.
|
||||
|
||||
Para conceder permissões alargadas num determinado sítio web, abra a janela flutuante e escolha um modo de filtragem superior, como 'Ideal' ou 'Completo'.
|
||||
|
||||
O navegador irá avisá-lo sobre os efeitos da concessão das permissões adicionais solicitadas pela extensão no site atual, e terá que informar ao navegador se aceita ou recusa o pedido.
|
||||
|
||||
Se aceitar o pedido do uBOL para permissões adicionais no site atual, o mesmo poderá filtrar melhor o conteúdo do site atual.
|
||||
|
||||
Pode definir o modo de filtragem padrão na página de opções do uBOL. Se escolher o modo Ideal ou Completo como o modo predefinido, terá de conceder ao uBOL a permissão para ler e modificar dados em todos os sítios web.
|
||||
|
||||
Tenha em mente que este ainda é um trabalho em curso, com estes objetivos finais:
|
||||
|
||||
- Sem permissões amplas de anfitrião no momento da instalação -- permissões estendidas são concedidas explicitamente pelo utilizador numa base por site.
|
||||
|
||||
- Totalmente declarativo para fiabilidade e eficiência de CPU/memória
|
||||
O uBOL é totalmente declarativo, o que significa que não é necessário um processo permanente do uBOL para que a filtragem ocorra, e a filtragem de conteúdos baseada em injeção de CSS/JS é realizada de forma fiável pelo próprio navegador, e não pela extensão. Isto significa que o próprio uBOL não consome recursos de CPU/memória enquanto o bloqueio de conteúdo está ativo -- o processo do service worker do uBOL é necessário apenas quando interage com o painel popup ou com as páginas de opções.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) este blocant experimental de conținut *fără permisiuni* bazat pe MV3.
|
||||
uBO Lite (uBOL) este un blocker de conținut bazat pe MV3.
|
||||
|
||||
Setul de reguli implicit corespunde setului de filtre implicit al uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Listele de filtre încorporate de uBlock Origin
|
||||
Puteți activa mai multe seturi de reguli accesând pagina de opțiuni - faceți clic pe pictograma _Cogs_ din panoul pop-up.
|
||||
|
||||
uBOL este în întregime declarativ, ceea ce înseamnă că nu este nevoie de un proces uBOL permanent pentru ca filtrarea să aibă loc, iar filtrarea conținutului pe bază de injecție CSS/JS este realizată în mod sigur de browser în sine, mai degrabă decât de extensie. Aceasta înseamnă că uBOL în sine nu consumă resurse CPU/memorie în timp ce blocarea conținutului este în desfășurare -- procesul de lucru al serviciului uBOL este necesar _doar_ atunci când interacționați cu panoul pop-up sau cu paginile de opțiuni.
|
||||
|
||||
uBOL nu necesită permisiunii extinse de „citire și modificare a datelor” în momentul instalării, astfel capacitățile sale limitate din momentul instalării în comparație cu uBlock Origin sau alte blocare de conținut necesită permisiuni largi de „citire și modificare a datelor” în momentul instalării.
|
||||
|
||||
Cu toate acestea, uBOL vă permite să acordați *explicit* permisiuni extinse pe anumite site-uri alese de dvs., astfel încât să poată filtra mai bine pe acele site-uri folosind filtrarea cosmetică și injecțiile de scriptlet.
|
||||
|
||||
Pentru a acorda permisiuni extinse pe un anumit site, deschideți panoul pop-up și alegeți un mod de filtrare mai ridicat, cum ar fi Optimal sau Complet.
|
||||
|
||||
Browser-ul vă va avertiza apoi cu privire la efectele acordării permisiunilor suplimentare solicitate de extensie pe site-ul curent și va trebui să-i precizați browserului dacă acceptați sau refuzați cererea.
|
||||
|
||||
Dacă acceptați solicitarea uBOL pentru permisiuni suplimentare pe site-ul curent, acesta va putea filtra mai bine conținutul pentru site-ul curent.
|
||||
|
||||
Puteți seta modul implicit de filtrare din pagina de opțiuni a uBOL. Dacă alegeți modul optim sau complet ca implicit, va trebui să acordați lui uBOL permisiunea de a citi și modifica datele de pe toate site-urile web.
|
||||
|
||||
Rețineți că aceasta este în curs de desfășurare, cu aceste obiective finale:
|
||||
|
||||
- Fără permisiuni de gazdă largi în momentul instalării - permisiunile extinse sunt acordate în mod explicit de către utilizator pe bază de site.
|
||||
|
||||
- Complet declarativ pentru fiabilitate și eficiență CPU/memorie.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) — это блокировщик содержимого, *не требующий разрешений*, и основанный на MV3.
|
||||
uBO Lite (uBOL) — это блокировщик веб-элементов на базе MV3.
|
||||
|
||||
Стандартный набор правил соответствует типовому набору фильтров uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) — это блокировщик содержимого, *не
|
||||
Вы можете активировать больше списков правил на странице настроек -- нажмите на значок _Шестерёнки_ на всплывающей панели.
|
||||
|
||||
uBOL - полностью декларативный, т.е. для фильтрации не нужен постоянно выполняющийся uBOL процесс, а фильтрация контента, основанная на внедрении CSS/JS, производится непосредственно браузером. Это значит, что дополнение uBOL не расходует ресурсы ЦПУ/памяти, когда происходит блокировка рекламы -- служебный процесс uBOL запускается, _только_ когда вы вносите изменения на всплывающей панели или странице настроек.
|
||||
|
||||
uBOL не требует разрешение на полное "чтение и изменение данных" в момент установки, поэтому имеет ограниченные возможности по сравнению с uBlock Origin, и другими блокировщиками контента, которые требуют полное разрешение на "чтение и изменение данных" в момент установки.
|
||||
|
||||
Однако uBOL позволяет *намеренно* давать расширенные разрешения для определенных сайтов - по вашему усмотрению, чтобы эффективнее работать, используя косметическую фильтрацию и scriptlet-внедрения.
|
||||
|
||||
Для предоставления расширенных разрешений на текущем сайте - откройте всплывающую панель и выберите повышенный режим фильтрации: Оптимальный или Полный.
|
||||
|
||||
Далее браузер выдаст предупреждение об эффектах предоставления расширенных разрешений, запрошенных дополнением на текущем сайте, и надо будет выбрать: принять или отклонить этот запрос.
|
||||
|
||||
Если вы принимаете запрос uBOL на предоставление дополнительных разрешений, тогда дополнение сможет эффективнее фильтровать контент на текущем сайте.
|
||||
|
||||
Вы можете установить стандартный режим фильтрации на странице настроек uBOL. Если вы выбираете Оптимальный или Полный режим - режимом по умолчанию, необходимо предоставить uBOL разрешение на чтение и изменение данных на всех веб-сайтах.
|
||||
|
||||
Помните, что данный проект - в активной фазе разработки, преследующей следующие цели:
|
||||
|
||||
- Работа с ограниченными разрешениями при установке -- расширенные разрешения пользователь выдает по своему усмотрению, каждому сайту отдельно.
|
||||
|
||||
- Полностью декларативная работа - для надежности и эффективного использования ЦПУ/памяти.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) යනු MV3-පාදක අන්තර්ගත අවහිර කරන්නා වේ.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
පෙරනිමි රීති කට්ටලය uBlock Origin හි පෙරනිමි පෙරහන් කට්ටලයට අනුරූප වේ:
|
||||
|
||||
- uBlock Origin's built-in filter lists
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Peter Lowe’s Ad and tracking server list
|
||||
- uBlock Origin හි බිල්ට් පෙරහන් ලැයිස්තු
|
||||
- පහසු ලැයිස්තුව
|
||||
- පහසු පෞද්ගලිකත්වය
|
||||
- පීටර් ලෝගේ දැන්වීම් සහ ලුහුබැඳීමේ සේවාදායක ලැයිස්තුව
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
විකල්ප පිටුවට පිවිසීමෙන් ඔබට තවත් නීති කට්ටල සක්රීය කළ හැකිය -- උත්පතන පැනලයේ _Cogs_ නිරූපකය ක්ලික් කරන්න.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
uBOL සම්පූර්ණයෙන්ම ප්රකාශනාත්මකයි, එනම් පෙරීම සිදුවීමට ස්ථිර uBOL ක්රියාවලියක් අවශ්ය නොවන අතර, CSS/JS එන්නත්-පාදක අන්තර්ගත පෙරීම දිගුව මගින් නොව බ්රවුසරය විසින්ම විශ්වාසදායක ලෙස සිදු කරයි. මෙයින් අදහස් කරන්නේ අන්තර්ගත අවහිර කිරීම සිදුවෙමින් පවතින අතරතුර uBOL විසින්ම CPU/මතක සම්පත් පරිභෝජනය නොකරන බවයි -- ඔබ උත්පතන පැනලය හෝ විකල්ප පිටු සමඟ අන්තර් ක්රියා කරන විට uBOL හි සේවා සේවක ක්රියාවලිය _only_ අවශ්ය වේ.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) je blokovač obsahu založený na MV3 *bez povolenia*.
|
||||
uBO Lite (uBOL) je blokovač obsahu založený na MV3.
|
||||
|
||||
Predvolený súbor pravidiel zodpovedá predvolenému súboru filtrov uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Predvolený súbor pravidiel zodpovedá predvolenému súboru filtrov uBlock Ori
|
||||
Ďalšie súbory pravidiel môžete povoliť na stránke s možnosťami – kliknite na ikonu _súkolesia_ vo vyskakovacom paneli.
|
||||
|
||||
uBOL je úplne deklaratívny, čo znamená, že na filtrovanie nie je potrebný trvalý proces uBOL a filtrovanie obsahu založené na injektovaní CSS/JS spoľahlivo vykonáva samotný prehliadač, a nie rozšírenie. To znamená, že samotný uBOL nespotrebúva zdroje CPU/pamäte, kým prebieha blokovanie obsahu -- proces uBOL Service Worker je potrebný _len_ pri interakcii s vyskakovacím panelom alebo stránkami možností.
|
||||
|
||||
uBOL pri inštalácii nevyžaduje všeobecné oprávnenie "čítať a upravovať údaje", preto má obmedzené možnosti v porovnaní s uBlock Origin alebo inými blokovačmi obsahu, ktoré pri inštalácii vyžadujú všeobecné oprávnenie "čítať a upravovať údaje".
|
||||
|
||||
uBOL vám však umožňuje *výslovne* udeliť všebecné oprávnenia na konkrétne stránky podľa vášho výberu, aby mohol lepšie filtrovať na týchto stránkach pomocou kozmetického filtrovania a injektovaných skriptletov.
|
||||
|
||||
Ak chcete udeliť všeobecné oprávnenia na danom webe, otvorte vyskakovací panel a vyberte vyšší režim filtrovania, napríklad Optimálny alebo Kompletný.
|
||||
|
||||
Prehliadač vás potom upozorní na dôsledky udelenia dodatočných oprávnení požadovaných rozšírením na aktuálnej stránke a vy budete musieť prehliadaču oznámiť, či požiadavku prijímate alebo odmietate.
|
||||
|
||||
Ak prijmete žiadosť uBOL o dodatočné povolenia na aktuálnom webe, bude môcť lepšie filtrovať obsah aktuálneho webu.
|
||||
|
||||
Predvolený režim filtrovania môžete nastaviť na stránke možností uBOL. Ak ako predvolený režim vyberiete Optimálny alebo Kompletný režim, budete musieť uBOL-u udeliť oprávnenie na čítanie a úpravu údajov na všetkých webových stránkach.
|
||||
|
||||
Majte na pamäti, že na tomto projekte sa stále pracuje, pričom jeho konečné ciele sú takéto:
|
||||
|
||||
- Žiadne všeobecné oprávnenia hostiteľa v čase inštalácie -- rozšírené oprávnenia udeľuje používateľ explicitne pre jednotlivé stránky.
|
||||
|
||||
- Úplne deklaratívne pre spoľahlivosť a efektivitu CPU/pamäte.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) është një bllokues *i pavarur* që funksionon sipas modelit MV3.
|
||||
uBO Lite (uBOL) është një bllokues materialesh sipas modelit MV3.
|
||||
|
||||
Rregullat e tij janë të barasvlershme me filtrat standardë që përdor uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Rregullat e tij janë të barasvlershme me filtrat standardë që përdor uBlock
|
||||
Në faqen e opsioneve mund të aktivizoni rregulla të tjera – klikoni ikonën e _ingranazhit_ në panelin modal.
|
||||
|
||||
uBOL është tërësisht deklarativ, domethënë filtrimi ndodh pa qenë nevoja që procesi i uBOL të vijojë vazhdimisht në sfond, ndërsa injektimi i filtrave CSS/JS te materialet kryhet me saktësi nga vetë shfletuesi. Pra, uBOL i bllokon materialet pa konsumuar resurset e procesorit/memories – asetet e uBOL nevojiten _vetëm_ kur ndërveproni me panelin modal ose faqen e opsioneve të tij.
|
||||
|
||||
uBO Lite nuk kërkon leje shtesë për "leximin dhe modifikimin e të dhënave" kur e instaloni, prandaj fillimisht ka aftësi më të kufizuara sesa uBlock Origin apo bllokuesit e tjerë që kërkojnë leje shtesë për "leximin dhe modifikimin e të dhënave" gjatë instalimit.
|
||||
|
||||
Megjithatë ju mund t'i jepni uBOL leje të posaçme *eksplicite* për ato uebsajte që doni, në mënyrë që t'i filtrojë më mirë me filtra kozmetikë dhe skripte.
|
||||
|
||||
Lejet e posaçme për uebsajtet jepen nëpërmjet panelit modal duke zgjedhur mënyrën e filtrimit Optimal ose Komplet.
|
||||
|
||||
Më tej shfletuesi do ju informojë për efektet e dhënies së këtyre lejeve për uebsajtin në fjalë dhe ju duhet ta pranoni ose refuzoni kërkesën.
|
||||
|
||||
Po ta pranoni dhënien e lejeve shtesë për uebsajtin në fjalë, uBOL do mundet ta filtrojë më mirë atë.
|
||||
|
||||
Në faqen e opsioneve të uBOL mund të përcaktoni mënyrën standarde të filtrimit. Nëse vendosni si standard mënyrën Optimale ose Komplete, uBOL do ju marrë leje për leximin dhe modifikimin e të dhënave në të gjitha uebsajtet.
|
||||
|
||||
Kini parasysh se ky projekt është në zhvillim e sipër sipas këtyre objektivave:
|
||||
|
||||
- Instalohet pa leje shtesë – lejet e posaçme për çdo uebsajt jepen në mënyrë eksplicite nga përdoruesi.
|
||||
|
||||
- Tërësisht deklarativ për të qenë më i qëndrueshëm dhe eficient me procesorin/memorien.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) је блокатор садржаја *без дозвола*, заснован на MV3.
|
||||
uBO Lite (uBOL) је блокатор садржаја заснован на MV3.
|
||||
|
||||
Подразумевани скуп правила одговара подразумеваном скупу филтера uBlock Origin-а:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) је блокатор садржаја *без дозвола*,
|
||||
Можете омогућити још скупова правила тако што ћете посетити страницу са опцијама -- кликните на иконицу зупчаника у искачућем панелу.
|
||||
|
||||
uBOL је потпуно декларативан, што значи да нема потребе за трајним uBOL процесом да би дошло до филтрирања, а филтрирање садржаја засновано на убацивању CSS/JS се обавља поуздано од стране самог прегледача, а не проширења. То значи да сам uBOL не троши CPU/меморијске ресурсе док је блокирање садржаја у току -- сервисни радни процес uBOL-а је потребан _само_ када ступите у интеракцију са искачућим панелом или страницама опција.
|
||||
|
||||
uBOL не захтева широку дозволу за „читање и измену података” у тренутку инсталације, стога су његове ограничене могућности ван оквира у поређењу са uBlock Origin-ом или другим блокаторима садржаја који захтевају широке дозволе за „читање и измену података” у тренутку инсталације.
|
||||
|
||||
Међутим, uBOL вам омогућује да *експлицитно* доделите проширене дозволе на одређеним сајтовима по вашем избору тако да може боље да филтрира те сајтове користећи козметичко филтрирање и ињекције скриптлета.
|
||||
|
||||
Да бисте доделили проширене дозволе за дати сајт, отворите искачући панел и изаберите виши режим филтрирања, као што је Оптимално или Комплетно.
|
||||
|
||||
Прегледач ће вас тада упозорити на ефекте давања додатних дозвола које захтева проширење на тренутном сајту, а ви ћете морати да кажете прегледачу да ли прихватате или одбијате захтев.
|
||||
|
||||
Ако прихватите uBOL-ов захтев за додатне дозволе на тренутном сајту, он ће моћи боље да филтрира садржај за тренутни сајт.
|
||||
|
||||
Можете подесити подразумевани режим филтрирања на uBOL-овој страници са опцијама. Ако изаберете режим Оптимално или Комплетно као подразумевани, мораћете да доделите uBOL-у дозволу да чита и мења податке на свим веб сајтовима.
|
||||
|
||||
Имајте на уму да је ово још увек рад у току, са овим крајњим циљевима:
|
||||
|
||||
– Нема широких дозвола за хост у тренутку инсталације – проширене дозволе се експлицитно додељују од стране корисника на основу сваког сајта.
|
||||
|
||||
- Потпуно декларативан за поузданост и ефикасност CPU/меморије.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) är en *behörighetslös* MV3-baserad innehållsblockerare.
|
||||
uBO Lite (uBOL) är en MV3-baserad innehållsblockerare.
|
||||
|
||||
Standardregeluppsättningen motsvarar uBlock Origins standardfilteruppsättning:
|
||||
|
||||
@@ -10,21 +10,3 @@ Standardregeluppsättningen motsvarar uBlock Origins standardfilteruppsättning:
|
||||
Du kan lägga till fler regeluppsättningar i alternativ -- klicka på _Kugghjulet_ i popup-panelen.
|
||||
|
||||
uBOL är helt deklarativt, vilket innebär att det inte finns något behov av en permanent uBOL-process för att filtreringen ska ske och CSS/JS-injektionsbaserad innehållsfiltrering utförs på ett tillförlitligt sätt av webbläsaren själv snarare än av tillägget. Detta innebär att uBOL själv inte förbrukar CPU/minnesresurser medan innehållsblockering pågår -- uBOLs serviceworkerprocess krävs _endast_ när du interagerar med popup-panelen eller alternativsidorna.
|
||||
|
||||
uBOL kräver inte högre behörighet för "läs och ändra data" vid installationen, därav dess begränsade möjligheter jämfört med uBlock Origin eller andra innehållsblockerare som kräver högre behörighet för "läs och ändra data" vid installationen.
|
||||
|
||||
Däremot låter uBOL dig *uttryckligen* ge utökade behörigheter på specifika webbplatser du väljer så att den bättre kan filtrera på dessa webbplatser med hjälp av kosmetisk filtrering och scriptletinjektioner.
|
||||
|
||||
För att ge utökade behörigheter på en viss webbplats, öppna popup-panelen och välj ett högre filtreringsläge som optimal eller fullständig.
|
||||
|
||||
Webbläsaren kommer sedan att varna dig om effekterna av att bevilja de ytterligare behörigheter som tillägget begär på den aktuella webbplatsen och du måste tala om för webbläsaren om du accepterar eller avslår begäran.
|
||||
|
||||
Om du accepterar uBOLs begäran om ytterligare behörigheter på den aktuella webbplatsen kommer den att kunna filtrera innehåll för den aktuella webbplatsen bättre.
|
||||
|
||||
Du kan ställa in standardfiltreringsläget från uBOLs alternativsida. Om du väljer läge optimalt eller fullständigt som standard måste du ge uBOL behörighet att läsa och ändra data på alla webbplatser.
|
||||
|
||||
Tänk på att detta fortfarande är ett pågående arbete med dessa slutmål:
|
||||
|
||||
- Inga högre värdbehörigheter vid installationen - utökade behörigheter ges uttryckligen av användaren per webbplats.
|
||||
|
||||
- Helt deklarativt för tillförlitlighet och CPU/minneseffektivitet.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) అనేది *అనుమతి-తక్కువ* MV3-ఆధారిత కంటెంట్ బ్లాకర్.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOLకి ఇన్స్టాల్ సమయంలో విస్తృత "డేటాను చదవడం మరియు సవరించడం" అనుమతి అవసరం లేదు, అందువల్ల uBlock ఆరిజిన్ లేదా ఇన్స్టాల్ సమయంలో విస్తృతమైన "డేటాను చదవడం మరియు సవరించడం" అనుమతులు అవసరమయ్యే ఇతర కంటెంట్ బ్లాకర్లతో పోలిస్తే దాని పరిమిత సామర్థ్యాలు బాక్స్ వెలుపల ఉన్నాయి.
|
||||
|
||||
అయితే, uBOL మీకు నచ్చిన నిర్దిష్ట సైట్లలో పొడిగించిన అనుమతులను *స్పష్టంగా* మంజూరు చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, తద్వారా కాస్మెటిక్ ఫిల్టరింగ్ మరియు స్క్రిప్ట్లెట్ ఇంజెక్షన్లను ఉపయోగించి ఆ సైట్లలో మెరుగ్గా ఫిల్టర్ చేయవచ్చు.
|
||||
|
||||
ఇచ్చిన సైట్లో పొడిగించిన అనుమతులను మంజూరు చేయడానికి, పాప్అప్ ప్యానెల్ను తెరిచి, ఆప్టిమల్ లేదా కంప్లీట్ వంటి అధిక ఫిల్టరింగ్ మోడ్ను ఎంచుకోండి.
|
||||
|
||||
ప్రస్తుత సైట్లో పొడిగింపు ద్వారా అభ్యర్థించిన అదనపు అనుమతులను మంజూరు చేయడం వల్ల కలిగే ప్రభావాల గురించి బ్రౌజర్ మిమ్మల్ని హెచ్చరిస్తుంది మరియు మీరు అభ్యర్థనను అంగీకరించాలా లేదా తిరస్కరించాలా అని మీరు బ్రౌజర్కి తెలియజేయాలి.
|
||||
|
||||
మీరు ప్రస్తుత సైట్లో అదనపు అనుమతుల కోసం uBOL అభ్యర్థనను అంగీకరిస్తే, అది ప్రస్తుత సైట్ కోసం కంటెంట్ను మెరుగ్గా ఫిల్టర్ చేయగలదు.
|
||||
|
||||
మీరు uBOL ఎంపికల పేజీ నుండి డిఫాల్ట్ ఫిల్టరింగ్ మోడ్ను సెట్ చేయవచ్చు. మీరు డిఫాల్ట్గా ఆప్టిమల్ లేదా కంప్లీట్ మోడ్ని ఎంచుకుంటే, మీరు అన్ని వెబ్సైట్లలోని డేటాను చదవడానికి మరియు సవరించడానికి uBOLకి అనుమతిని మంజూరు చేయాలి.
|
||||
|
||||
ఈ తుది లక్ష్యాలతో ఇది ఇంకా పురోగతిలో ఉందని గుర్తుంచుకోండి:
|
||||
|
||||
- ఇన్స్టాల్ సమయంలో విస్తృత హోస్ట్ అనుమతులు లేవు -- పొడిగించిన అనుమతులు ప్రతి-సైట్ ప్రాతిపదికన వినియోగదారు ద్వారా స్పష్టంగా మంజూరు చేయబడతాయి.
|
||||
|
||||
- విశ్వసనీయత మరియు CPU/మెమరీ సామర్థ్యం కోసం పూర్తిగా డిక్లరేటివ్.
|
||||
|
@@ -1,30 +1,12 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) คือตัวบล็อกเนื้อหาที่ใช้สถาปัตยกรรม MV3
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
ชุดเงื่อนไขเริ่มต้นสอดคล้องกันกับค่าตัวกรองเริ่มต้นของ uBlock Origin:
|
||||
|
||||
- uBlock Origin's built-in filter lists
|
||||
- รายการตัวกรองภายใน uBlock Origin
|
||||
- EasyList
|
||||
- EasyPrivacy
|
||||
- Peter Lowe’s Ad and tracking server list
|
||||
- รายการติดตามเซิร์ฟเวอร์โฆษณาของ Peter Lowe
|
||||
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
คุณสามารถเปิดใช้งานชุดกฎเพิ่มเติมได้โดยไปที่หน้าตั้งค่า -- คลิกที่ไอคอนรูปเฟือง (Cogs) ในหน้าต่างป๊อปอัป
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
uBOL ทำงานในรูปแบบเชิงประกาศ (declarative) ทั้งหมด ซึ่งหมายความว่าไม่จำเป็นต้องมีโพรเซสถาวรของ uBOL สำหรับการกรอง และการกรองเนื้อหาที่อาศัยการฉีดโค้ด CSS/JS จะถูกดำเนินการอย่างมีเสถียรภาพโดยตัวเบราว์เซอร์เอง แทนที่จะทำโดยส่วนขยาย นั่นหมายความว่าตัว uBOL เองจะไม่ใช้ทรัพยากร CPU และหน่วยความจำในขณะที่การบล็อกเนื้อหากำลังทำงาน -- โพรเซส Service Worker ของ uBOL จะถูกเรียกใช้เฉพาะเมื่อคุณใช้งานหน้าต่างป๊อปอัปหรือหน้าตั้งค่าเท่านั้น
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL), *izin gerektirmeyen* MV3 tabanlı bir içerik engelleyicidir.
|
||||
uBO Lite (uBOL), MV3 tabanlı bir içerik engelleyicidir.
|
||||
|
||||
Varsayılan kural seti, uBlock Origin'in varsayılan filtre setine karşılık gelir:
|
||||
|
||||
@@ -10,21 +10,3 @@ Varsayılan kural seti, uBlock Origin'in varsayılan filtre setine karşılık g
|
||||
Seçenekler ekranına uğrayarak daha fazla kuralı aktif hale getirebilirsiniz, bunun için açılır paneldeki _dişli_ simgesine tıklayın.
|
||||
|
||||
uBOL tamamen bildirimseldir, yani filtrelemenin gerçekleşmesi için kalıcı bir uBOL işlemine gerek yoktur, içerik filtreleme eklenti yerine tarayıcının kendisi tarafından CSS/JS yerleştirerek gerçekleştirilir. Bu, içerik engelleme devam ederken uBOL'nin kendisinin CPU/bellek kaynaklarını tüketmediği anlamına gelir -- uBOL'un hizmet çalışanı işlemi, _only_ açılan panel veya seçenek sayfalarıyla etkileşim kurduğunuzda gereklidir.
|
||||
|
||||
uBOL, kurulum sırasında geniş "veri okuma ve değiştirme" izni gerektirmez, bu nedenle, kurulum sırasında geniş "veri okuma ve değiştirme" izinleri gerektiren uBlock Origin veya diğer içerik engelleyicilere kıyasla, kutudan çıkar çıkmaz sınırlı yetenekleri vardır.
|
||||
|
||||
Bununla birlikte, uBOL, kozmetik filtreleme ve komut dosyası enjeksiyonları kullanarak bu sitelerde daha iyi filtre uygulayabilmesi için, seçtiğiniz belirli sitelerde *açıkça* genişletilmiş izinler vermenize izin verir.
|
||||
|
||||
Belirli bir sitede genişletilmiş izinler vermek için açılır paneli açın ve Optimal veya Complete gibi daha yüksek bir filtreleme modu seçin.
|
||||
|
||||
Ardından tarayıcı, uzantı tarafından istenen ek izinlerin geçerli sitede verilmesinin etkileri konusunda sizi uyaracak ve tarayıcıya isteği kabul edip etmediğinizi söylemeniz gerekecektir.
|
||||
|
||||
uBOL'un mevcut site için ek izin talebini kabul ederseniz, mevcut site için içeriği daha iyi filtreleyebilecektir.
|
||||
|
||||
Varsayılan filtreleme modunu uBOL'un seçenekler sayfasından ayarlayabilirsiniz. Varsayılan mod olarak Optimal veya Complete modunu seçerseniz, uBOL'a tüm web sitelerindeki verileri okuma ve değiştirme izni vermeniz gerekecektir.
|
||||
|
||||
Bunun, şu nihai hedeflerle hala devam eden bir çalışma olduğunu unutmayın:
|
||||
|
||||
- Yükleme sırasında geniş ana bilgisayar izinleri yoktur -- genişletilmiş izinler, her site için kullanıcı tarafından açıkça verilir.
|
||||
|
||||
- Güvenilirlik ve CPU/bellek verimliliği için tamamen bildirimsel.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) is a *permission-less* MV3-based content blocker.
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
|
||||
@@ -10,21 +10,3 @@ The default ruleset corresponds to uBlock Origin's default filterset:
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) - це блокувальник вмісту на основі MV3, що не потребує дозволів.
|
||||
uBO Lite (uBOL) - це блокувальник вмісту на основі MV3.
|
||||
|
||||
Набір правил за замовчанням відповідає типовому набору фільтрів uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) - це блокувальник вмісту на основі M
|
||||
Ви можете ввімкнути більше наборів правил, перейшовши на сторінку налаштувань — натисніть на піктограму "Перейти до панелі керування" на спливній панелі.
|
||||
|
||||
uBOL повністю декларативний, тобто немає необхідності в постійному процесі uBOL для здійснення фільтрації, а фільтрація вмісту на основі CSS/JS-ін'єкцій надійно виконується самим браузером, а не розширенням. Це означає, що сам uBOL не споживає ресурси процесора/пам'яті під час блокування вмісту — службовий робочий процес uBOL потрібен _лише_ під час взаємодії зі спливною панеллю або сторінками опцій.
|
||||
|
||||
uBOL не вимагає широкого дозволу на «читання та зміну даних» під час встановлення, отже, його можливості «з коробки» обмежені порівняно з uBlock Origin або іншими блокувальниками, які вимагають широкого дозволу на «читання/зміну даних» під час встановлення.
|
||||
|
||||
Однак uBOL дозволяє вам *явно* надавати розширені дозволи на певних сайтах на ваш вибір, щоб він міг краще виконувати фільтрування на цих сайтах, використовуючи косметичну фільтрацію та вкладення скриптів.
|
||||
|
||||
Щоб надати розширені дозволи на певному сайті, відкрийте спливну панель і виберіть вищий режим фільтрації, наприклад, «Оптимальний» або «Повний».
|
||||
|
||||
Потім браузер попередить вас про наслідки надання додаткових дозволів, запитуваних розширенням, на поточному сайті, і ви повинні будете повідомити браузеру, чи приймаєте ви запит або відхиляєте його.
|
||||
|
||||
Якщо ви приймете запит uBOL на додаткові дозволи на поточному сайті, він зможе краще фільтрувати вміст для цього сайту.
|
||||
|
||||
Ви можете типовий налаштувати режим фільтрації на сторінці налаштувань uBOL. Якщо ви обираєте типовим режим Оптимальний або Повний, вам потрібно буде надати uBOL дозвіл на читання та зміну даних на всіх вебсайтах.
|
||||
|
||||
Варто пам'ятати, що це досі незавершена робота з такими цілями:
|
||||
|
||||
- Відсутність широких дозволів на хост під час встановлення — розширені дозволи надаються користувачем окремо для кожного сайту.
|
||||
|
||||
- Повністю декларативна оцінка надійності та ефективності роботи процесора/пам'яті.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) ایک *اجازت سے کم* MV3 پر مبنی مواد بلاکر ہے۔
|
||||
uBO Lite (uBOL) is an MV3-based content blocker.
|
||||
|
||||
ڈیفالٹ رولسیٹ uBlock Origin کے ڈیفالٹ فلٹر سیٹ سے مساوی ہے:
|
||||
|
||||
@@ -10,21 +10,3 @@ uBO Lite (uBOL) ایک *اجازت سے کم* MV3 پر مبنی مواد بلا
|
||||
You can enable more rulesets by visiting the options page -- click the _Cogs_ icon in the popup panel.
|
||||
|
||||
uBOL is entirely declarative, meaning there is no need for a permanent uBOL process for the filtering to occur, and CSS/JS injection-based content filtering is performed reliably by the browser itself rather than by the extension. This means that uBOL itself does not consume CPU/memory resources while content blocking is ongoing -- uBOL's service worker process is required _only_ when you interact with the popup panel or the option pages.
|
||||
|
||||
uBOL does not require broad "read and modify data" permission at install time, hence its limited capabilities out of the box compared to uBlock Origin or other content blockers requiring broad "read and modify data" permissions at install time.
|
||||
|
||||
However, uBOL allows you to *explicitly* grant extended permissions on specific sites of your choice so that it can better filter on those sites using cosmetic filtering and scriptlet injections.
|
||||
|
||||
To grant extended permissions on a given site, open the popup panel and pick a higher filtering mode such as Optimal or Complete.
|
||||
|
||||
The browser will then warn you about the effects of granting the additional permissions requested by the extension on the current site, and you will have to tell the browser whether you accept or decline the request.
|
||||
|
||||
If you accept uBOL's request for additional permissions on the current site, it will be able to better filter content for the current site.
|
||||
|
||||
You can set the default filtering mode from uBOL's options page. If you pick the Optimal or Complete mode as the default one, you will need to grant uBOL the permission to read and modify data on all websites.
|
||||
|
||||
Keep in mind this is still a work in progress, with these end goals:
|
||||
|
||||
- No broad host permissions at install time -- extended permissions are granted explicitly by the user on a per-site basis.
|
||||
|
||||
- Entirely declarative for reliability and CPU/memory efficiency.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) là trình chặn nội dung dựa trên MV3 *không-cần-cấp-phép*.
|
||||
uBO Lite (uBOL) là trình chặn nội dung dựa trên MV3.
|
||||
|
||||
Bộ quy tắc mặc định tương tự bộ lọc của uBlock Origin:
|
||||
|
||||
@@ -10,21 +10,3 @@ Bộ quy tắc mặc định tương tự bộ lọc của uBlock Origin:
|
||||
Bạn có thể tự thêm quy tắc mới ở trang cài đặt -- click vào biểu tượng _Bánh răng_ ở trong cửa sổ popup.
|
||||
|
||||
uBOL mang tính khai báo hoàn toàn, vì vậy uBOL sẽ không cần phải liên tục chạy để chặn nội dung. Thay vào đó, chính trình duyệt sẽ thực hiện lọc nội dung bằng cách sử dụng công cụ chèn CSS/JS hiệu quả hơn có sẵn của nó. Điều này cũng đồng thời có nghĩa là uBOL sẽ không tiêu tốn tài nguyên CPU/bộ nhớ của bạn để chặn nội dung. uBOL sẽ chỉ chạy _khi và chỉ khi_ bạn đang xem cửa sổ popup của uBOL, hoặc bạn đang cấu hình uBOL ở trang cài đặt.
|
||||
|
||||
uBOL không yêu cầu cấp quyền "đọc và sửa đổi dữ liệu" chung khi cài đặt, vì vậy nên ban đầu nó sẽ hơi yếu hơn uBlock Origin hoặc các trình chặn nội dung khác mà có yêu cầu quyền "đọc và sửa đổi dữ liệu" chung khi cài đặt.
|
||||
|
||||
Tuy nhiên, uBOL lại cho phép bạn cấu hình *rất cụ thể* quyền ở trên bất kỳ trang nào tự chọn của bạn, để nó có thể lọc nội dụng trên các trang đấy tốt hơn bằng các kỹ thuật như lọc hiển thị (cosmetic filtering) hay chèn kịch bản con (scriptlet injections).
|
||||
|
||||
Để cấp quyền cho uBOL chặn trang bất kỳ, hãy mở cửa sổ popup và chọn một chế độ chặn cao hơn như "Tối ưu" hoặc "Hoàn toàn".
|
||||
|
||||
Trình duyệt của bạn sẽ hiện cảnh báo cho việc cấp quyền cho tiện ích trên trang web hiện tại, và bạn sẽ phải chọn đồng ý hoặc từ chối yêu cầu cấp quyền.
|
||||
|
||||
Nếu bạn chọn đồng ý cấp quyền cho uBOL sửa trang web bất kỳ, uBOL sẽ có thể lọc nội dung tốt hơn cho web đấy.
|
||||
|
||||
Bạn cũng có thể chọn chế độ chặn mặc định ở trang cài đặt của uBOL. Nếu bạn chọn chế độ Tối ưu hoặc Hoàn toàn làm mặc định, bạn sẽ cần phải cấp quyền "đọc và sửa đổi dữ liệu" trên tất cả các trang web.
|
||||
|
||||
Lưu ý rằng sản phẩm này vẫn đang trong giai đoạn phát triển, và bản hoàn thiện sẽ có những tính năng sau:
|
||||
|
||||
- Không yêu cầu bất kỳ quyền nào khi cài đặt - người dùng sẽ phải tự chủ động cấp bất kỳ quyền gì cho tiện ích, cụ thể từng trang web một.
|
||||
|
||||
- Hoàn toàn mang tính khai báo, để có thế chạy nhẹ hơn và ổn định hơn.
|
||||
|
@@ -1,4 +1,4 @@
|
||||
uBO Lite (uBOL) 是一个基于最新浏览器扩展接口(Manifest Version 3)打造的“无需权限”的内容屏蔽工具。
|
||||
uBO Lite (uBOL) 是一个基于最新浏览器扩展接口(Manifest Version 3)打造的的内容屏蔽工具。
|
||||
|
||||
该扩展预设的规则列表对应 uBlock Origin 的预设过滤规则列表:
|
||||
|
||||
@@ -7,24 +7,6 @@ uBO Lite (uBOL) 是一个基于最新浏览器扩展接口(Manifest Version 3
|
||||
- EasyPrivacy
|
||||
- Peter Lowe 的广告和跟踪服务器列表
|
||||
|
||||
访问选项页面,点击弹出面板中的齿轮图标,即可启用更多规则集。
|
||||
访问选项页面,点击弹出面板中的 _齿轮_ 图标,即可启用更多规则集。
|
||||
|
||||
uBOL 的过滤规则是完全声明式的,并不需要固定保留一个 uBOL 扩展进程,基于 CSS/JS 注入的内容过滤更是交由浏览器进行调度,比起扩展本身更为可靠。 这也即是说当内容被过滤时 uBOL 自身并不占用额外 CPU 和内存资源,只有在您打开弹出面板或是设置页面时才会生成 uBOL 扩展进程。
|
||||
|
||||
uBOL 在安装时并不需要宽泛的“读取或修改网页数据”的权限,因此它的开箱即用功能相对于 uBlock Origin 以及其他安装时要求该权限的屏蔽工具显得较为有限。
|
||||
|
||||
不过,uBOL 可在您“明确”授予额外扩屏权限后,对您指定的网站采用基于 CSS/JS 注入的声明式规则加强内容过滤。
|
||||
|
||||
若要在特定网站授予扩展权限,请开启弹出面板并选择更高级的过滤模式,例如“优化”或“完全”。
|
||||
|
||||
接着浏览器会就在当前网站授予扩展额外权限有何影响示以警告,而您要接受或者拒绝该请求。
|
||||
|
||||
如果您允许 uBOL 在当前网站获取额外权限,它就可以更好地对网站内容进行过滤。
|
||||
|
||||
您还可以在 uBOL 的设置页面设定默认过滤模式。 如果设定的默认过滤模式是“优化”或“完全”,您必须授予 uBOL 读取或修改所有网页数据的权限。
|
||||
|
||||
请注意,该扩展尚未完成,其最终实现目标是:
|
||||
|
||||
- 安装时不需要过多扩展权限——额外权限要由用戶指定,按需求及作用域授予。
|
||||
|
||||
- 采用完全声明式规则,以求可靠性以及更佳 CPU 和内存使用效率。
|
||||
uBOL 的过滤规则是完全声明式的,并不需要固定保留一个 uBOL 扩展进程,基于 CSS/JS 注入的内容过滤更是交由浏览器进行调度,比起扩展本身更为可靠。 这也即是说当内容被过滤时 uBOL 自身并不占用额外 CPU 和内存资源,_只有_在您打开弹出面板或是设置页面时才会生成 uBOL 扩展进程。
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user