Compare commits
520 Commits
v1.3.3.14_
...
master
Author | SHA1 | Date | |
---|---|---|---|
9130a4338b | |||
d8db69b21b | |||
f9e3e0215e | |||
089ab6a428 | |||
f21c6b332b | |||
|
db8b363b4a | ||
|
2a9728684f | ||
|
e80a919f29 | ||
|
f95cad8c63 | ||
|
4c648b4555 | ||
|
d87ae26c75 | ||
|
17cc1d2689 | ||
|
4f6241842f | ||
|
700ca2f461 | ||
|
ebad8e4018 | ||
|
9ba19a9eb3 | ||
|
b8b197fdaa | ||
|
145022f5c4 | ||
|
300bfff542 | ||
|
3ec1e59066 | ||
|
5fff4f726e | ||
|
b59b74f689 | ||
|
30499a1d3d | ||
|
0e983d021d | ||
|
cde3271386 | ||
|
426631f739 | ||
|
204d8ac9b2 | ||
|
a433eb914d | ||
|
18cf9370a2 | ||
|
4d4d76d9b7 | ||
|
5f45b4c99c | ||
|
4ac48dcd33 | ||
|
4336b5b68e | ||
|
5426c2b334 | ||
|
8fca221189 | ||
|
c226461bd7 | ||
|
4962658017 | ||
|
df75c5d363 | ||
|
5549fd3431 | ||
|
5644785ecc | ||
|
ee61cccd52 | ||
|
37e91f7eed | ||
|
841fd43fc4 | ||
|
32fb50a0c6 | ||
|
ef046b6478 | ||
|
005d2c33c8 | ||
|
6e3ff2247e | ||
|
606c51733f | ||
|
6430bcc124 | ||
|
e8264eefe8 | ||
|
79e54f8b5f | ||
|
b0c20ac780 | ||
|
ad64f98a28 | ||
|
2ffdf4d77b | ||
|
951d1c9f7b | ||
|
3a20e97354 | ||
|
b7e209bf15 | ||
|
0469156237 | ||
|
7ac9fe7d4d | ||
|
de876c0ff2 | ||
|
3ea3f347ba | ||
|
329c78ff88 | ||
|
a4d15ece2f | ||
|
c6ed12808b | ||
|
33452cff5d | ||
|
db5bd659f0 | ||
|
6c775b9bba | ||
|
47dfe256eb | ||
|
3bac289758 | ||
|
53035f6bb2 | ||
|
86fb5c469a | ||
|
f1086f8889 | ||
|
bf27040864 | ||
|
ca7df33fa3 | ||
|
e017a8838e | ||
|
1987634095 | ||
|
6e2d082eea | ||
|
fa3a33962b | ||
|
abaa5fe2c6 | ||
|
992cd351af | ||
|
6992302e23 | ||
|
bc2e2510e8 | ||
|
1ec5838a98 | ||
|
c7b1f85672 | ||
|
ac2d5da41c | ||
|
27af2c8c49 | ||
|
01a911557b | ||
|
54210b71c5 | ||
|
da5fb0b3c0 | ||
|
08b62c0d94 | ||
|
879fcdae03 | ||
|
762d83e46c | ||
|
ae30c0eb53 | ||
|
0acd24d716 | ||
|
22e58ba0e6 | ||
|
3ade08f344 | ||
|
ea256a8081 | ||
|
90ab42a510 | ||
|
c60e33d327 | ||
|
9f47a35318 | ||
|
e931674dfe | ||
|
ed87f72c75 | ||
|
ee2e544223 | ||
|
9aaf4718f3 | ||
|
bdca5d8659 | ||
|
caca49b712 | ||
|
4a1fad9a90 | ||
|
9fbf5a839a | ||
|
8b815c5f50 | ||
|
4370912baa | ||
|
201f3a9edb | ||
|
349c0a79ce | ||
|
d74d53c40d | ||
|
4030d9325b | ||
|
fbac0bd1a9 | ||
|
85ca03fdc0 | ||
|
0fc822a302 | ||
|
6cc57eae1a | ||
|
694cc4613a | ||
|
c81dbee1c7 | ||
|
3f707bfd3a | ||
|
9d62ddf1b0 | ||
|
1344fd8636 | ||
|
54915cf0de | ||
|
ab325759cd | ||
|
12f63e7f71 | ||
|
7bc3891072 | ||
|
9ff50c965d | ||
|
4014195da8 | ||
|
50aa5e5a73 | ||
|
4a571794dc | ||
|
23d13b0710 | ||
|
d060acae08 | ||
|
28dfe00ff7 | ||
|
5ee667eb92 | ||
|
fda7da7f13 | ||
|
578d4bc48d | ||
|
c7a1c40f9d | ||
|
57e6ed704f | ||
|
9ee55e6536 | ||
|
755db29738 | ||
|
66671aec68 | ||
|
c2f500e060 | ||
|
cfad3d2b23 | ||
|
6d27c8a906 | ||
|
ab19cfd714 | ||
|
c64cfbfe86 | ||
|
b70e0d4912 | ||
|
badc78a954 | ||
|
c0b7ad9b06 | ||
|
d984b512c0 | ||
|
d4ca4b0362 | ||
|
2878af17b6 | ||
|
86ef50ce91 | ||
|
9afb4fa167 | ||
|
6ee6591019 | ||
|
eb45b51bcb | ||
|
0298792aa1 | ||
|
b1a5b5fcb0 | ||
|
6ae8dd7d22 | ||
|
afdf172716 | ||
|
31d63fa777 | ||
|
59707d7918 | ||
|
f0bfe4c8dd | ||
|
975ce2fea5 | ||
|
0d5fd4b452 | ||
|
02a26d3231 | ||
|
88890b853a | ||
|
53fb25f43d | ||
|
3370985ee2 | ||
|
95fe7eb17d | ||
|
f7949e89f6 | ||
|
a44e13645c | ||
|
21cf8ec613 | ||
|
a8d50a102c | ||
|
e79039d210 | ||
|
019c2e64a3 | ||
|
aaa46b5e6a | ||
|
dd116ece8f | ||
|
b66b22f3e4 | ||
|
24bf821b59 | ||
|
6012329278 | ||
|
be3909f5c0 | ||
|
f1c6599638 | ||
|
9aaf7eeb2e | ||
|
4b2b528248 | ||
|
d28b81e97b | ||
|
6c7c5b18ac | ||
|
3f325201df | ||
|
5789640b75 | ||
|
f8b7a1740a | ||
|
2f45e18a89 | ||
|
081890759d | ||
|
7d655baab4 | ||
|
7972e24f4c | ||
|
b3ed752f02 | ||
|
93f81983f0 | ||
|
9cce46590a | ||
|
a554391183 | ||
|
e8ca631829 | ||
|
0447f9aa25 | ||
|
b605e3aa62 | ||
|
2fb7ddab10 | ||
|
523b52d34a | ||
|
6954ad2eef | ||
|
8d51e54237 | ||
|
f94f1a2064 | ||
|
e6370cc5fa | ||
|
193caa3ae0 | ||
|
e797c232f1 | ||
|
7043119985 | ||
|
27ad8953c6 | ||
|
51f7cf9464 | ||
|
ac9fc780f7 | ||
|
c37cae510f | ||
|
58b692ed39 | ||
|
ab948eab11 | ||
|
9b29d5e907 | ||
|
755af24b3e | ||
|
cb9b2dbdea | ||
|
04a3f745b2 | ||
|
5930376eb5 | ||
|
f06609d3e1 | ||
|
38ea5ed802 | ||
|
55cb9e8b39 | ||
|
73954b2d82 | ||
|
861cf554f5 | ||
|
c3ddf2a8d4 | ||
|
cf6fe59fbd | ||
|
cbdc108358 | ||
|
e4fdb6bca1 | ||
|
44a4334843 | ||
|
b472913c67 | ||
|
62fbf626ed | ||
|
ccdca3b595 | ||
|
0417469a26 | ||
|
50542fa6a3 | ||
|
08fe25dc0d | ||
|
ae32bcf21e | ||
|
b2ffb3293f | ||
|
d41ab7ff9d | ||
|
969385bc21 | ||
|
b8a1b4dadd | ||
|
5cfe99b753 | ||
|
392f3bc70a | ||
|
d10e041125 | ||
|
6eb8636149 | ||
|
fcb9f16b7a | ||
|
22426dfc24 | ||
|
f8fb9bf5ef | ||
|
c5e00dc5ef | ||
|
e5d226e374 | ||
|
3395a17c60 | ||
|
f7ed9fa1d8 | ||
|
66d6672178 | ||
|
80c29e7004 | ||
|
74aad21218 | ||
|
8115655a30 | ||
|
073b55ad74 | ||
|
51fe1bcac3 | ||
|
7c5f4c31d5 | ||
|
84c069331f | ||
|
deb7648d61 | ||
|
46cd3f21d0 | ||
|
26a5b0648f | ||
|
120239aa0d | ||
|
a96684b93a | ||
|
ecd5f82b77 | ||
|
a645b52db0 | ||
|
b016226750 | ||
|
80ebc5bffa | ||
|
468c2ac4ea | ||
|
82ce2d4d4f | ||
|
f752e8aaff | ||
|
bb4d543fc2 | ||
|
6eaf8726ee | ||
|
0668562306 | ||
|
722df04af0 | ||
|
aa728302a8 | ||
|
4a77447992 | ||
|
61712e77a2 | ||
|
61b911921e | ||
|
13c1bd774c | ||
|
0384a1a6cc | ||
|
cd6d7f2d09 | ||
|
b241428752 | ||
|
7b457e7e5e | ||
|
927f2d8d69 | ||
|
0c1fc0646e | ||
|
ef1b7fbd0e | ||
|
8342851d4e | ||
|
d52d8d75e2 | ||
|
dee6c21ad2 | ||
|
92d582b8d2 | ||
|
902605f8ee | ||
|
4d9b86178e | ||
|
d064537c07 | ||
|
9df322a49a | ||
|
99b86e7735 | ||
|
145e11deac | ||
|
4b5ad86c50 | ||
|
d7b0094052 | ||
|
ba7541c22e | ||
|
d689a7ce35 | ||
|
fd561a1490 | ||
|
8cffd42108 | ||
|
94bb289bfa | ||
|
a1b8f8eaaf | ||
|
600a4767d9 | ||
|
191fcfce23 | ||
|
1367284767 | ||
|
89f6e7ea2d | ||
|
ad3ab8df07 | ||
|
7ccd78ad39 | ||
|
1d061c4353 | ||
|
0b79d469ed | ||
|
abd61783d2 | ||
|
2b14d4f321 | ||
|
8f1bdbfc7a | ||
|
bfa5cb1f2f | ||
|
f6b5627eaf | ||
|
62d53b6f85 | ||
|
c4612b099b | ||
|
d5d6f58482 | ||
|
b26b6f9aec | ||
|
fe82c9ee1b | ||
|
7db112687e | ||
|
5341f27a16 | ||
|
589153f210 | ||
|
e159041600 | ||
|
7e78bed8cb | ||
|
a4a62b0d1e | ||
|
c2577c834f | ||
|
e0122600c3 | ||
|
b951cf1172 | ||
|
b0f1c85cd8 | ||
|
891723b7b9 | ||
|
6cdcfd099f | ||
|
afc7aa8740 | ||
|
e6cc434757 | ||
|
d7b2878428 | ||
|
fad7010f10 | ||
|
6ed708b94d | ||
|
d2ec7ce49e | ||
|
9029781974 | ||
|
5af81a7d49 | ||
|
5ae149509e | ||
|
9543d0f56f | ||
|
deaceaed24 | ||
|
246a916fb7 | ||
|
5622861cf3 | ||
|
cb7ccae737 | ||
|
2e9e6ac21f | ||
|
c2a092367a | ||
|
05f1442d96 | ||
|
4c43cf8149 | ||
|
962d484712 | ||
|
9289e6a276 | ||
|
8f64e8310c | ||
|
35ed991651 | ||
|
5d08bbbbad | ||
|
bea5543997 | ||
|
9537b181b8 | ||
|
291118d185 | ||
|
b75235f306 | ||
|
f4ad457047 | ||
|
0f1ade94a2 | ||
|
cd988ed24e | ||
|
5da65aed98 | ||
|
15daf50c71 | ||
|
dbe7c603f9 | ||
|
53de1eae53 | ||
|
a3d3818766 | ||
|
6c113d4ebd | ||
|
830cc055db | ||
|
ccd40c7df3 | ||
|
1a057e8494 | ||
|
2506dc6ebc | ||
|
44b0c043f8 | ||
|
f9289d9216 | ||
|
4d9e066781 | ||
|
fe8de86c73 | ||
|
89963b0d6d | ||
|
e3191eecb1 | ||
|
5c3b1f4880 | ||
|
a78256e52d | ||
|
bb516b81d8 | ||
|
a35ef95d66 | ||
|
836cfc74da | ||
|
4eddd4e594 | ||
|
4670cacc7d | ||
|
484b52319c | ||
|
ad404ae6f7 | ||
|
531ade1b05 | ||
|
f53ea156c0 | ||
|
3e2e75d38b | ||
|
c9f2deab11 | ||
|
8ca852476d | ||
|
1d6d36eb8c | ||
|
a8a5f7e311 | ||
|
929aa53aa1 | ||
|
aa2344b4cc | ||
|
7999077671 | ||
|
75275bad7e | ||
|
54d72e7865 | ||
|
61d285be99 | ||
|
217393ded8 | ||
|
91d46a7b70 | ||
|
ae139af5ea | ||
|
a41deb20d8 | ||
|
a76ecb17b3 | ||
|
dfebef07ac | ||
|
1b6cc37bdd | ||
|
cfd3bf5f43 | ||
|
a91b79aa18 | ||
|
4fc4018859 | ||
|
e87aa9d027 | ||
|
9b7dd7f9cb | ||
|
8b8ac33ed2 | ||
|
a67abc6bc6 | ||
|
c53a36999c | ||
|
1caeeb29ab | ||
|
0a948968b3 | ||
|
304cbe2e6b | ||
|
ed61dbdbaf | ||
|
2d1d81810e | ||
|
c9f3b3610d | ||
|
932511fbf8 | ||
|
28af5a8630 | ||
|
36300bf1c9 | ||
|
4f86852312 | ||
|
03e0580b20 | ||
|
869cd63e64 | ||
|
f69ae79adb | ||
|
cd6bb5d6f5 | ||
|
f02d36c6a7 | ||
|
f46daa7205 | ||
|
cc358744f2 | ||
|
df4e461102 | ||
|
9a6adad225 | ||
|
1e15c8a265 | ||
|
d87d88250d | ||
|
1175d0ff9d | ||
|
bfabe4ca98 | ||
|
80af6f6fea | ||
|
43a510efe7 | ||
|
2a158f6dd7 | ||
|
8f70a49bb2 | ||
|
6b2e79669c | ||
|
8231ade8a3 | ||
|
239ee17697 | ||
|
805ef75f7f | ||
|
4367f13f03 | ||
|
b9931f0d63 | ||
|
b87eaa4eea | ||
|
9c638c52f9 | ||
|
3480dd71c5 | ||
|
110fd19a07 | ||
|
3cc2d6d1a8 | ||
|
18cc61de0b | ||
|
6395335428 | ||
|
f2034a9b7e | ||
|
15ad222706 | ||
|
688026c408 | ||
|
8884674e36 | ||
|
81bc71de5e | ||
|
03cdcbb38a | ||
|
078b51de98 | ||
|
c39ead0a6d | ||
|
a57591cd0b | ||
|
8bee5b99f1 | ||
|
4321771762 | ||
|
32b525363a | ||
|
c6f66ec646 | ||
|
f139e628ab | ||
|
23e7fa4064 | ||
|
99ba98f909 | ||
|
126dc02e07 | ||
|
a8334e60fa | ||
|
0b3b1f7498 | ||
|
3fae440364 | ||
|
6b9f9a5ca1 | ||
|
2266cbb434 | ||
|
11abcf9783 | ||
|
d2d4b25f0b | ||
|
57de51eb53 | ||
|
ca6d0e037d | ||
|
f3c86db0b9 | ||
|
c7d0c63f79 | ||
|
06b84d7490 | ||
|
8c84fa865c | ||
|
30a8ac5c47 | ||
|
1754370ee5 | ||
|
bf6ef0049a | ||
|
bba11abc92 | ||
|
0dd713cbab | ||
|
e9cd5af088 | ||
|
2bf4a1e806 | ||
|
228015e640 | ||
|
7087935918 | ||
|
a4312f005c | ||
|
ed185168d5 | ||
|
76addcf18c | ||
|
7351f5b559 | ||
|
03c8c164fc | ||
|
71783f568e | ||
|
037ef829b4 | ||
|
ed95ed92a6 | ||
|
97a766c1b3 | ||
|
e902f1a7f0 | ||
|
661b931f96 | ||
|
49a384e86b | ||
|
4504b7d24f | ||
|
31d3a9cf7e | ||
|
649107fbab | ||
|
2030a02f65 | ||
|
dbd8d49fc2 | ||
|
4c4657dc32 | ||
|
83658d0e05 | ||
|
fe8da01f4c |
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
custom: ['https://www.paypal.me/KevinRoebert', 'https://liberapay.com/kroeb', 'https://www.buymeacoffee.com/KevinRoebert']# Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
39
.github/lockdown.yml
vendored
Normal file
39
.github/lockdown.yml
vendored
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Configuration for Repo Lockdown - https://github.com/dessant/repo-lockdown
|
||||
|
||||
# Skip issues and pull requests created before a given timestamp. Timestamp must
|
||||
# follow ISO 8601 (`YYYY-MM-DD`). Set to `false` to disable
|
||||
#skipCreatedBefore: false
|
||||
|
||||
# Issues and pull requests with these labels will be ignored. Set to `[]` to disable
|
||||
#exemptLabels: []
|
||||
|
||||
# Comment to post before closing or locking. Set to `false` to disable
|
||||
#comment: true
|
||||
|
||||
# Label to add before closing or locking. Set to `false` to disable
|
||||
#label: true
|
||||
|
||||
# Close issues and pull requests
|
||||
#close: true
|
||||
|
||||
# Lock issues and pull requests
|
||||
#lock: true
|
||||
|
||||
# Limit to only `issues` or `pulls`
|
||||
#only: pulls
|
||||
|
||||
# Optionally, specify configuration settings just for `issues` or `pulls`
|
||||
issues:
|
||||
comment: >
|
||||
This repository is only a mirror of https://gitlab.com/KevinRoebert/ClearUrls. Issues are read here, but it can take longer until they are addressed. If possible, please use the GitLab repo or this support mail address: support (at) clearurls.xyz.
|
||||
lock: false
|
||||
close: false
|
||||
|
||||
pulls:
|
||||
comment: >
|
||||
This repository is just a mirror of https://gitlab.com/KevinRoebert/ClearUrls. Only there pull requests accepted.
|
||||
lock: false
|
||||
close: true
|
||||
|
||||
# Repository to extend settings from
|
||||
# _extends: repo
|
20
.gitignore
vendored
Normal file
20
.gitignore
vendored
Normal file
|
@ -0,0 +1,20 @@
|
|||
# See https://help.github.com/ignore-files/ for more about ignoring files.
|
||||
|
||||
# dependencies
|
||||
node_modules
|
||||
.web-extension-id
|
||||
web-ext-artifacts/
|
||||
sign-firefox-extension.sh
|
||||
|
||||
# testing
|
||||
/coverage
|
||||
|
||||
# misc
|
||||
.DS_Store
|
||||
.env
|
||||
npm-debug.log*
|
||||
yarn-debug.log*
|
||||
yarn-error.log*
|
||||
|
||||
# WebStorm
|
||||
.idea/
|
50
.gitlab-ci.yml
Normal file
50
.gitlab-ci.yml
Normal file
|
@ -0,0 +1,50 @@
|
|||
image: debian:latest
|
||||
|
||||
variables:
|
||||
GIT_SUBMODULE_STRATEGY: recursive
|
||||
|
||||
before_script:
|
||||
- export DEBIAN_FRONTEND= noninteractive
|
||||
- apt-get update -y
|
||||
- apt-get install -y zip unzip nodejs jsonlint
|
||||
|
||||
stages:
|
||||
- build
|
||||
- deploy
|
||||
|
||||
hash rules:
|
||||
stage: build
|
||||
script:
|
||||
- sha256sum data/data.min.json | awk '{print $1}' > rules.min.hash
|
||||
- node build_tools/minifyDataJSON.js "data/data.min.json" "data.minify.json"
|
||||
- sha256sum data.minify.json | awk '{print $1}' > rules.minify.hash
|
||||
artifacts:
|
||||
paths:
|
||||
- rules.min.hash
|
||||
- data.minify.json
|
||||
- rules.minify.hash
|
||||
|
||||
bundle addon:
|
||||
stage: build
|
||||
script:
|
||||
- zip ClearUrls -r -FS clearurls.js browser-polyfill.js manifest.json img/* external_js/* html/* core_js/* css/* fonts/* _locales/*
|
||||
only:
|
||||
- master
|
||||
artifacts:
|
||||
paths:
|
||||
- ClearUrls.zip
|
||||
|
||||
pages:
|
||||
stage: deploy
|
||||
script:
|
||||
- mkdir public
|
||||
- mkdir public/data
|
||||
- mv GitLabPages/* public/
|
||||
- cp img/clearurls.svg public/clearurls.svg
|
||||
- cp data/data.min.json public/data/data.min.json
|
||||
- sha256sum public/data/data.min.json | awk '{print $1}' > public/data/rules.min.hash
|
||||
- node build_tools/minifyDataJSON.js "public/data/data.min.json" "public/data/data.minify.json"
|
||||
- sha256sum public/data/data.minify.json | awk '{print $1}' > public/data/rules.minify.hash
|
||||
artifacts:
|
||||
paths:
|
||||
- public
|
|
@ -14,9 +14,9 @@ possible. Thank you!
|
|||
<!--
|
||||
You do not have to reinstall Firefox or disable all addons. You can just create a new profile that only has ClearURLs installed and where no settings are changed. Instructions can be found here: https://support.mozilla.org/en-US/kb/profile-manager-create-and-remove-firefox-profiles
|
||||
-->
|
||||
* [ ] Can you reproduce the problem in a **fresh** firefox profile with **only** ClearURLs?
|
||||
* [ ] Can you reproduce the problem in a **fresh** Firefox profile with **only** ClearURLs?
|
||||
* [ ] Are you running the latest version of ClearURLs?
|
||||
* [ ] Are you have changed settings under `about:config`?
|
||||
* [ ] Have you changed settings under `about:config`?
|
||||
|
||||
### Description
|
||||
|
||||
|
@ -33,23 +33,11 @@ You do not have to reinstall Firefox or disable all addons. You can just create
|
|||
**Actual behavior:** [What actually happened]
|
||||
|
||||
### System
|
||||
* **Version**: [compulsory. you must provide your version]
|
||||
* **Version**: [compulsory. You must provide your version]
|
||||
* **Platform**: [either `uname -a` output, or if Windows, version and 32-bit or
|
||||
64-bit]
|
||||
* **Country**: [The country from which you called the page. You can find your country here: https://ipapi.co//country_capital]
|
||||
|
||||
### Log
|
||||
<!-- Please enable the log functionality of ClearURLs and copy your log into this table. -->
|
||||
<!-- Or if the log is to long, save the html file (press ctrl+s) and attach to this issue the `Log from ClearURLs.html` file -->
|
||||
|
||||
| Before processing | After processing | Rule | Time |
|
||||
|-------------------|------------------|------|------|
|
||||
| | | | |
|
||||
|
||||
<!-- If you attach the html file, please copy into the ``` area -->
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
```
|
||||
<!-- Please enable the log functionality of ClearURLs and attach the exported log to this bug report. -->
|
||||
<!-- Here you can find a step by step tutorial "How to enable logging in ClearURLs": https://www.youtube-nocookie.com/embed/Rm1YkwXQDSM -->
|
||||
|
|
652
CHANGELOG.md
Normal file
652
CHANGELOG.md
Normal file
|
@ -0,0 +1,652 @@
|
|||
# Changelog
|
||||
All notable changes to this project will be documented in this file.
|
||||
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## Ongoing
|
||||
- Rewrite ClearURLs completely form scratch in typescript
|
||||
- Add features from the milestone [%1](https://gitlab.com/KevinRoebert/ClearUrls/-/milestones/1)
|
||||
- Dedicated documentation page like [docs.drasyl.org](https://docs.drasyl.org)
|
||||
|
||||
## [1.21.0] - 2021-03-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Updated Polish translation by Kityn
|
||||
|
||||
### Removed
|
||||
- Removed `clipboardWrite` permission
|
||||
- Removed noisy background of popup
|
||||
|
||||
### Fixed
|
||||
- Fixed [#771](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/771)
|
||||
- Fixed [#466](https://gitlab.com/KevinRoebert/ClearUrls/-/issues/466) by [@aethanyc](https://gitlab.com/aethanyc) in MR [!85](https://gitlab.com/KevinRoebert/ClearUrls/-/merge_requests/85)
|
||||
|
||||
## [1.20.0] - 2020-11-21
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Added
|
||||
- Added Dutch translation by Harm M.
|
||||
|
||||
### Changed
|
||||
- Changed url decoding to prevent endless loop
|
||||
- Performance optimizations for rules by [@thexeos](https://gitlab.com/thexeos)
|
||||
- Changed default rules and hash host to Github Pages
|
||||
- Changed rules changelog button `href` to the new rules submodule repo
|
||||
- Updated various translations - thanks to all contributors
|
||||
|
||||
### Fixed
|
||||
- Fixed [#664](https://gitlab.com/KevinRoebert/ClearUrls/issues/664) (also [#739](https://gitlab.com/KevinRoebert/ClearUrls/issues/739), [#740](https://gitlab.com/KevinRoebert/ClearUrls/issues/740))
|
||||
|
||||
## [1.19.0] - 2020-07-22
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Changed url decoding to prevent endless loop
|
||||
|
||||
## [1.18.1] - 2020-06-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Changed
|
||||
- Hotfix for the endless loop on new log limit ([#545](https://gitlab.com/KevinRoebert/ClearUrls/issues/545), [#541](https://gitlab.com/KevinRoebert/ClearUrls/issues/541), [#539](https://gitlab.com/KevinRoebert/ClearUrls/issues/539))
|
||||
|
||||
## [1.18.0] - 2020-06-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 37
|
||||
|
||||
### Removed
|
||||
- sha256.jquery.plugin
|
||||
- Popper.js v1.16.0
|
||||
- Bootstrap Colorpicker v3.2.0
|
||||
- Removed `xbl` type from request types, because it throws since 78.0b3 exceptions (no longer supported)
|
||||
|
||||
### Added
|
||||
- Pickr v1.7.0
|
||||
|
||||
### Changed
|
||||
- Replaced sha256.jquery.plugin with native hashing
|
||||
- Replaced jQuery dependencies with native JavaScript in all core files (jQuery is only required for the log page)
|
||||
- Hopefully this fixes the performance problems that some users experience when using this addon in conjunction with other addons
|
||||
- [#256](https://gitlab.com/KevinRoebert/ClearUrls/issues/256)
|
||||
- [#535](https://gitlab.com/KevinRoebert/ClearUrls/issues/535)
|
||||
- Restricted the log limit to max. 5000 entries
|
||||
- Default value is now 100
|
||||
- Too many log entries have resulted in performance losses for users who have forgotten that they have turned on the log. This step should prevent this.
|
||||
|
||||
|
||||
## [1.17.0] - 2020-04-14
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated some strings of Spanish translation
|
||||
- Updated some strings of French translation
|
||||
- Updated some strings of Italian translation
|
||||
- Updated some strings of Russian translation
|
||||
- Updated some strings of Swedish translation
|
||||
- Updated some strings of Turkish translation
|
||||
- Updated some strings of Ukrainian translation
|
||||
- Updated some strings of Chinese Simple translation
|
||||
|
||||
### Fixed
|
||||
- Fixed a typo in the path to the Datatables JavaScript file
|
||||
- Fixed [#445](https://gitlab.com/KevinRoebert/ClearUrls/issues/445)
|
||||
- Fixed [#462](https://gitlab.com/KevinRoebert/ClearUrls/issues/462)
|
||||
|
||||
### Added
|
||||
- Added check for setBadgeTextColor function (only supported in Firefox)
|
||||
|
||||
### Removed
|
||||
- Removed browser-polyfill content script import (seems no longer needed)
|
||||
- Removed old `applications` value
|
||||
|
||||
## [1.16.0] - 2020-03-20
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added ETag header filtering [#362](https://gitlab.com/KevinRoebert/ClearUrls/issues/362), [#440](https://gitlab.com/KevinRoebert/ClearUrls/issues/440). Hint: Cache must be cleared before first use, to delete the already existing ETags.
|
||||
|
||||
### Fixed
|
||||
- Fixed spontaneous disappearance of the badged
|
||||
- Fixed wrong counting of blocked elements (too little was ;D)
|
||||
|
||||
### Changed
|
||||
- Updated all translation
|
||||
- Changed badged font color to #FFFFFF
|
||||
- Changed watchdog behavior as follows [#428](https://gitlab.com/KevinRoebert/ClearUrls/issues/428), [#431](https://gitlab.com/KevinRoebert/ClearUrls/issues/431), [#429](https://gitlab.com/KevinRoebert/ClearUrls/issues/429):
|
||||
- Increased watchdog interval to 60 seconds
|
||||
- Executed watchdog only if ClearURLs is also active
|
||||
- Watchdog restarts ClearURLs at most 3 times and only if ClearURLs has rules
|
||||
- Changed behavior of downloading rules [#428](https://gitlab.com/KevinRoebert/ClearUrls/issues/428), [#431](https://gitlab.com/KevinRoebert/ClearUrls/issues/431), [#429](https://gitlab.com/KevinRoebert/ClearUrls/issues/429):
|
||||
- If download of hash file fails and no local rules are available, then ClearURLs displays `hash_status_code_5` and deactivates itself
|
||||
- If download of rules file fails and no local rules are available, then ClearURLs displays `hash_status_code_5` and deactivates itself
|
||||
|
||||
## [1.15.0] - 2020-02-16
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
## [1.14.0] - 2020-02-01
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Changed icon
|
||||
|
||||
## [1.13.0] - 2020-02-01
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated some strings of French translation by lucifer
|
||||
|
||||
## [1.12.0] - 2020-01-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Russian translation by elfriob
|
||||
- Updated Spanish translation by [@socram](https://gitlab.com/socram)
|
||||
|
||||
## [1.11.0] - 2020-01-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added hyperlink auditing blocking [#184](https://gitlab.com/KevinRoebert/ClearUrls/issues/184)
|
||||
- Added yandex link fix script, to avoid URL tracking [#305](https://gitlab.com/KevinRoebert/ClearUrls/issues/305)
|
||||
|
||||
## [1.10.0] - 2020-01-03
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated to Bootstrap 4.3.1
|
||||
- Updated to jQuery 3.4.1
|
||||
- Updated to DataTables 1.10.20
|
||||
- Deleted unnecessary Bootstrap Dialog lib
|
||||
- Replaced [pick-a-color](https://github.com/lauren/pick-a-color) with [bootstrap-colorpicker 3.2.0](https://github.com/itsjavi/bootstrap-colorpicker)
|
||||
- Minor corrections on english translation by [@Sopor](https://gitlab.com/Sopor)
|
||||
- Replaced glyphicons with [fontawesome 5.12.0](https://github.com/FortAwesome/Font-Awesome/tree/5.12.0)
|
||||
|
||||
### Added
|
||||
- Added [popper.js 1.16.0](https://github.com/popperjs/popper.js/tree/v1.16.0)
|
||||
- Added Swedish translation by [@Sopor](https://gitlab.com/Sopor)
|
||||
|
||||
### Fixed
|
||||
- Fixed [#338](https://gitlab.com/KevinRoebert/ClearUrls/issues/338)
|
||||
- Fixed [#333](https://gitlab.com/KevinRoebert/ClearUrls/issues/333)
|
||||
- Fixed [#332](https://gitlab.com/KevinRoebert/ClearUrls/issues/332)
|
||||
- Fixed [#307](https://gitlab.com/KevinRoebert/ClearUrls/issues/307)
|
||||
- Maybe [#315](https://gitlab.com/KevinRoebert/ClearUrls/issues/315) fixed
|
||||
|
||||
## [1.9.5] - 2019-12-17
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Turkish translation by Ulaş Çakmak
|
||||
|
||||
### Changed
|
||||
- Updated some strings of French translation by lucifer
|
||||
|
||||
### Fixed
|
||||
- Fixed problem with default RegExp
|
||||
|
||||
## [1.9.4] - 2019-11-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed toolbar icon on startup [#102](https://gitlab.com/KevinRoebert/ClearUrls/issues/102)
|
||||
|
||||
### Added
|
||||
- Added option to disable/allow domain blocking [#294](https://gitlab.com/KevinRoebert/ClearUrls/issues/294)
|
||||
|
||||
### Changed
|
||||
- Some refactoring
|
||||
|
||||
## [1.9.3.1] - 2019-11-15
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Changed data and hash URL to GitLab Pages, to prevent hitting the GitLab infrastructure directly [#295](https://gitlab.com/KevinRoebert/ClearUrls/issues/295#note_245456134).
|
||||
|
||||
## [1.9.3] - 2019-11-15
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed wrong initial rules URL
|
||||
|
||||
## [1.9.2] - 2019-11-09
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed [#290](https://gitlab.com/KevinRoebert/ClearUrls/issues/290)
|
||||
|
||||
### Changed
|
||||
- Updated some strings of Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
### Added
|
||||
- Added a minimal version of the data.min.json file where all line breaks and spaces, as well as default values and empty lists are removed.
|
||||
|
||||
## [1.9.1] - 2019-10-24
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed badged in quiet mode
|
||||
|
||||
### Added
|
||||
- Added Italian translation by [@gioxx](https://gitlab.com/gioxx)
|
||||
|
||||
## [1.9.0] - 2019-10-22
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed bug in "history tracking injection protection". This option was not disabled, when the global filter switch are on off
|
||||
- Fixed [#241](https://gitlab.com/KevinRoebert/ClearUrls/issues/241)
|
||||
- Possible fix for [#203](https://gitlab.com/KevinRoebert/ClearUrls/issues/203)
|
||||
|
||||
### Changed
|
||||
- Refactoring
|
||||
- Changed background script loading sequence to prevent that required functions are not yet loaded.
|
||||
|
||||
### Added
|
||||
- Added an option to im-/export the log (requires the `downloads` permission)
|
||||
- Added an option to im-/export the settings (requires the `downloads` permission)
|
||||
- Added information page for blocked sites, when they are called in the `main_frame`
|
||||
- Added option to allow referral marketing ([#284](https://gitlab.com/KevinRoebert/ClearUrls/issues/284))
|
||||
- Added "multiple times URL encodes" recognition
|
||||
- Added an option to limit the log entries ([#56](https://gitlab.com/KevinRoebert/ClearUrls/issues/56))
|
||||
|
||||
## [1.8.5] - 2019-09-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed [#264](https://gitlab.com/KevinRoebert/ClearUrls/issues/264)
|
||||
- Fixed [#262](https://gitlab.com/KevinRoebert/ClearUrls/issues/262)
|
||||
- Fixed [#267](https://gitlab.com/KevinRoebert/ClearUrls/issues/267)
|
||||
|
||||
## [1.8.4] - 2019-09-26
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Force redirects only on main frames
|
||||
- Added google link fix script, to avoid the sub frame permission for force redirection on google
|
||||
|
||||
## [1.8.3] - 2019-09-23
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed OR case
|
||||
|
||||
## [1.8.2] - 2019-09-23
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Only redirects, if request is of type main or sub frame to prevent security issues on automatically loaded ressource like images
|
||||
|
||||
### Fixed
|
||||
- Fixed [#253](https://gitlab.com/KevinRoebert/ClearUrls/issues/253)
|
||||
- Fixed [#254](https://gitlab.com/KevinRoebert/ClearUrls/issues/254)
|
||||
|
||||
## [1.8.1] - 2019-09-12
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
- Improvements on storage. Away with periodic save of in-memory data to storage. Instead save when there are actual changes by [@tartpvule](https://gitlab.com/tartpvule) in ([!47](https://gitlab.com/KevinRoebert/ClearUrls/merge_requests/47))
|
||||
|
||||
## [1.8.0] - 2019-09-11
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added default option to skip URLs with a host in a local range
|
||||
|
||||
### Fixed
|
||||
- Fixed [#238](https://gitlab.com/KevinRoebert/ClearUrls/issues/238)
|
||||
- Fixed wrong count on cleaning tool (forgot to count also the total amount of elements at cleaning tool)
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
|
||||
## [1.7.4] - 2019-09-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Hungarian translations by [@ztoldy2](https://gitlab.com/ztoldy2)
|
||||
|
||||
## [1.7.3] - 2019-08-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated Brazilian Portuguese translation by Ramon S.
|
||||
|
||||
## [1.7.2] - 2019-08-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Updated japanese translation by [@Shitennouji](https://gitlab.com/Shitennouji)
|
||||
|
||||
## [1.7.1] - 2019-08-04
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added new setting to data.min.json to set if redirects should be enforced via a "tabs.update" ([#221](https://gitlab.com/KevinRoebert/ClearUrls/issues/221))
|
||||
- Added [#220](https://gitlab.com/KevinRoebert/ClearUrls/issues/220)
|
||||
- Added [#218](https://gitlab.com/KevinRoebert/ClearUrls/issues/218)
|
||||
|
||||
### Fixed
|
||||
- Fixed YouTube ad redirection bug ([#221](https://gitlab.com/KevinRoebert/ClearUrls/issues/221))
|
||||
- Fixed [#217](https://gitlab.com/KevinRoebert/ClearUrls/issues/217)
|
||||
|
||||
## [1.7.0] - 2019-07-30
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added support for raw rules to cleaning also parts from URL-path
|
||||
|
||||
### Fixed
|
||||
- Fixed misspelling in german translation
|
||||
|
||||
## [1.6.9] - 2019-07-29
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- Fixed error in fields RegExp
|
||||
|
||||
## [1.6.8] - 2019-07-28
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Improvements on check for android systems ([#206](https://gitlab.com/KevinRoebert/ClearUrls/issues/206))
|
||||
|
||||
### Fixed
|
||||
- [#205](https://gitlab.com/KevinRoebert/ClearUrls/issues/205)
|
||||
|
||||
## [1.6.7] - 2019-07-25
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- [#175](https://gitlab.com/KevinRoebert/ClearUrls/issues/175) by [@yukulele](https://gitlab.com/yukulele)
|
||||
- [#196](https://gitlab.com/KevinRoebert/ClearUrls/issues/196)
|
||||
- [#204](https://gitlab.com/KevinRoebert/ClearUrls/issues/204)
|
||||
|
||||
## [1.6.6] - 2019-06-14
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Fixed
|
||||
- [#171](https://gitlab.com/KevinRoebert/ClearUrls/issues/171)
|
||||
- [#195](https://gitlab.com/KevinRoebert/ClearUrls/issues/195)
|
||||
|
||||
## [1.6.5] - 2019-06-12
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added support for fragment cleaning
|
||||
|
||||
### Fixed
|
||||
- [#171](https://gitlab.com/KevinRoebert/ClearUrls/issues/171)
|
||||
- [#191](https://gitlab.com/KevinRoebert/ClearUrls/issues/191)
|
||||
- [#192](https://gitlab.com/KevinRoebert/ClearUrls/issues/192)
|
||||
- [#193](https://gitlab.com/KevinRoebert/ClearUrls/issues/193)
|
||||
- [#194](https://gitlab.com/KevinRoebert/ClearUrls/issues/194)
|
||||
|
||||
## [1.6.4] - 2019-05-07
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added Polish translation by [@alekksander](https://gitlab.com/alekksander)
|
||||
|
||||
## [1.6.3] - 2019-05-06
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added redirection from [#181](https://gitlab.com/KevinRoebert/ClearUrls/issues/181)
|
||||
|
||||
### Changed
|
||||
- Update french translation by [@hydrargyrum](https://gitlab.com/hydrargyrum)
|
||||
- Update chinese translation
|
||||
|
||||
## [1.6.2] - 2019-04-26
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Added
|
||||
- Added rules from [#172](https://gitlab.com/KevinRoebert/ClearUrls/issues/172)
|
||||
- Added rules from [#176](https://gitlab.com/KevinRoebert/ClearUrls/issues/176)
|
||||
- Added rules from [#178](https://gitlab.com/KevinRoebert/ClearUrls/issues/178)
|
||||
|
||||
### Fixed
|
||||
- [#170](https://gitlab.com/KevinRoebert/ClearUrls/issues/170)
|
||||
- [#162](https://gitlab.com/KevinRoebert/ClearUrls/issues/162)
|
||||
- [#163](https://gitlab.com/KevinRoebert/ClearUrls/issues/163)
|
||||
|
||||
## [[1.6.1] - 2019-04-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/a8a5f7e311300ae7f186d4b581e805bdf3f9f5d9)
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 22
|
||||
|
||||
### Changed
|
||||
- Chinese translations by [@yipinghuang](https://gitlab.com/yipinghuang)
|
||||
- French translations
|
||||
|
||||
## [1.6] - 2019-04-11
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 28
|
||||
|
||||
### Added
|
||||
- Added listener to the browser history to prevent tracking with the [history.pushState method](https://developer.mozilla.org/en-US/docs/Web/API/History_API)
|
||||
- Added webNavigation and tabs permissions, for the new feature
|
||||
- Added switches in settings to enable and disable the context menu entry and the history listener
|
||||
- Added tool to clean URLs, that was pasted into a textbox
|
||||
- Added icon for new tool to clean URLs
|
||||
|
||||
### Fixed
|
||||
- [#40](https://gitlab.com/KevinRoebert/ClearUrls/issues/40), see also https://curl.kevinroebert.de
|
||||
- [#103](https://gitlab.com/KevinRoebert/ClearUrls/issues/103), see also https://curl.kevinroebert.de
|
||||
|
||||
### Changed
|
||||
- Changed clipboard-helper.js path to be absolute to prevent problems
|
||||
- Changed rewrite of old GitHub links to the new data.min.json and rules.min.hash
|
||||
- Config icon is now bigger and above the config label
|
||||
- Update Traditional Chinese Translation by [@yipinghuang](https://gitlab.com/yipinghuang)
|
||||
|
||||
## [[1.5.8] - 2019-04-10](https://gitlab.com/KevinRoebert/ClearUrls/commit/1b6cc37bdd23011d006bf7ef6824463e7c96067a)
|
||||
|
||||
### Compatibility note
|
||||
- Require Firefox >= 55
|
||||
- Require Chrome >= 28
|
||||
|
||||
### Added
|
||||
- Added context menu entry, to clean and copy links into clipboard
|
||||
|
||||
## [[1.5.4] - 2019-04-08](https://gitlab.com/KevinRoebert/ClearUrls/commit/0a948968b309f418ec4175dd23fedb0b88c97086)
|
||||
|
||||
### Fixed
|
||||
- Changed icon format from svg into png to support Chrome
|
||||
|
||||
## [[1.5.3] - 2019-04-03](https://gitlab.com/KevinRoebert/ClearUrls/commit/304cbe2e6bf3756f4bcb675ec4b8b7403158ea5c)
|
||||
|
||||
### Removed
|
||||
- Removed the *tab permission*, because it is not required for all used methods on the tabs api
|
||||
|
||||
## [[1.5.2] - 2019-04-01](https://gitlab.com/KevinRoebert/ClearUrls/commit/03e0580b202fc0a77f442f284dd5470cddbbd5c0)
|
||||
|
||||
### Added
|
||||
- Added new screenshots of the ClearURLs popup
|
||||
|
||||
### Changed
|
||||
- Replaced *webextension-polyfill* v.0.3.1 with the new version v0.4.0
|
||||
- Updated the Chrome version of ClearURLs to the newest version
|
||||
- Changed ClearURLs to support both Firefox and Chrome, without generating every time to different source codes
|
||||
- Changed the GitLab-CI to build the Chrome version automatically from the Firefox version
|
||||
- Replaced the old screenshots in the README with new ones
|
||||
|
||||
### Removed
|
||||
- Removed the old ClearURLs Chrome version
|
||||
|
||||
## [[1.5.1.6a] - 2019-03-27](https://gitlab.com/KevinRoebert/ClearUrls/commit/869cd63e645e2cacaf26017366fa4eaa3fb97411)
|
||||
|
||||
### Fixed
|
||||
- Added own flat function and a function that removes empty fields from arrays to support Waterfox
|
||||
|
||||
## [[1.5.1.5a] - 2019-03-18](https://gitlab.com/KevinRoebert/ClearUrls/commit/d87d88250dccd07570c10b37f41054ed44a0ee97)
|
||||
|
||||
### Fixed
|
||||
- Bugfix to support Android devices again
|
||||
|
||||
## [[1.5.1a] - 2019-03-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/80af6f6feac086490f841adad5fe769d71be86f8)
|
||||
|
||||
### Added
|
||||
- Added *unlimitedStorage* permissions to prevent storage restrictions (which will come in future versions of firefox) and to have enough space for user generated rules
|
||||
|
||||
### Changed
|
||||
- Changed the regex interpretation for better performance
|
||||
|
||||
## [[1.5a] - 2019-03-14](https://gitlab.com/KevinRoebert/ClearUrls/commit/80af6f6feac086490f841adad5fe769d71be86f8)
|
||||
|
||||
### Added
|
||||
- New rules file *data.min.json* that is a minimized version of the old one
|
||||
- New technique to get data from the local storage
|
||||
- The command pattern has been implemented so that ClearURLs also works in private mode
|
||||
- Automatically generating hash for *data.min.json* file with GitLab-CI
|
||||
- Add start and end delimiters to rules
|
||||
- Preparations for costume rules
|
||||
|
||||
### Changed
|
||||
- Storage improvements, better performance
|
||||
- Splitted core file into multiple pieces for better overview
|
||||
- Minimize rules length
|
||||
|
||||
### Fixed
|
||||
- [#124](https://gitlab.com/KevinRoebert/ClearUrls/issues/124)
|
||||
|
||||
### Removed
|
||||
- Warning in private mode (no longer necessary)
|
||||
- Removed *Report URL* function
|
||||
|
||||
## [[1.3.4.2] - 2019-02-01](https://gitlab.com/KevinRoebert/ClearUrls/commit/23e7fa406436c40c561c1e0108c5e9c8c7e9e0d8)
|
||||
|
||||
### Changed
|
||||
- Updated Ukrainian translation from [@a-polivanchuk](https://gitlab.com/a-polivanchuk)
|
||||
|
||||
## [[1.3.4.0] - 2018-10-08](https://gitlab.com/KevinRoebert/ClearUrls/commit/06b84d749084997e3d759ebd916772b446adfe9c)
|
||||
|
||||
## Added
|
||||
- Added more request types, as proposed in [#106](https://gitlab.com/KevinRoebert/ClearUrls/issues/106)
|
||||
|
||||
## Updated
|
||||
- Updated french translation
|
|
@ -1,892 +0,0 @@
|
|||
/*
|
||||
* ##################################################################
|
||||
* # Fetch Rules & Exception from URL #
|
||||
* ##################################################################
|
||||
*/
|
||||
var providers = [];
|
||||
var prvKeys = [];
|
||||
var badges = [];
|
||||
var tabid = 0;
|
||||
var siteBlockedAlert = 'javascript:void(0)';
|
||||
var dataHash;
|
||||
var localDataHash;
|
||||
var os;
|
||||
var currentURL;
|
||||
|
||||
var storage = [];
|
||||
|
||||
getDataFromDisk();
|
||||
|
||||
function start(items)
|
||||
{
|
||||
initStorage(items);
|
||||
|
||||
/**
|
||||
* Save OS Version
|
||||
*/
|
||||
chrome.runtime.getPlatformInfo(function(info) {
|
||||
|
||||
os = info.os;
|
||||
|
||||
|
||||
/**
|
||||
* Initialize the JSON provider object keys.
|
||||
*
|
||||
* @param {JSON Object} obj
|
||||
*/
|
||||
function getKeys(obj){
|
||||
for(var key in obj){
|
||||
prvKeys.push(key);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the providers form the JSON object.
|
||||
*
|
||||
*/
|
||||
function createProviders()
|
||||
{
|
||||
data = storage.ClearURLsData;
|
||||
|
||||
for(var p = 0; p < prvKeys.length; p++)
|
||||
{
|
||||
//Create new provider
|
||||
providers.push(new Provider(prvKeys[p],data.providers[prvKeys[p]].completeProvider));
|
||||
|
||||
//Add URL Pattern
|
||||
providers[p].setURLPattern(data.providers[prvKeys[p]].urlPattern);
|
||||
|
||||
//Add rules to provider
|
||||
for(var r = 0; r < data.providers[prvKeys[p]].rules.length; r++)
|
||||
{
|
||||
providers[p].addRule(data.providers[prvKeys[p]].rules[r]);
|
||||
}
|
||||
|
||||
//Add exceptions to provider
|
||||
for(var e = 0; e < data.providers[prvKeys[p]].exceptions.length; e++)
|
||||
{
|
||||
providers[p].addException(data.providers[prvKeys[p]].exceptions[e]);
|
||||
}
|
||||
|
||||
//Add redirections to provider
|
||||
for(var re = 0; re < data.providers[prvKeys[p]].redirections.length; re++)
|
||||
{
|
||||
providers[p].addRedirection(data.providers[prvKeys[p]].redirections[re]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Convert the external data to Objects and
|
||||
* call the create provider function.
|
||||
*
|
||||
* @param {String} retrievedText - pure data form github
|
||||
*/
|
||||
function toObject(retrievedText) {
|
||||
getKeys(storage.ClearURLsData.providers);
|
||||
createProviders();
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore()
|
||||
{
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the hash status to the local storage.
|
||||
* The status can have the following values:
|
||||
* 1 "up to date"
|
||||
* 2 "updated"
|
||||
* 3 "update available"
|
||||
* @param status_code the number for the status
|
||||
*/
|
||||
function storeHashStatus(status_code)
|
||||
{
|
||||
switch(status_code)
|
||||
{
|
||||
case 1: status_code = "hash_status_code_1";
|
||||
break;
|
||||
case 2: status_code = "hash_status_code_2";
|
||||
break;
|
||||
case 3: status_code = "hash_status_code_3";
|
||||
break;
|
||||
default: status_code = "hash_status_code_4";
|
||||
}
|
||||
|
||||
storage.hashStatus = status_code;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the hash for the rule file on github.
|
||||
* Check the hash with the hash form the local file.
|
||||
* If the hash has changed, then download the new rule file.
|
||||
* Else do nothing.
|
||||
*/
|
||||
function getHash()
|
||||
{
|
||||
//Get the target hash from github
|
||||
fetch(storage.hashURL)
|
||||
.then(function(response){
|
||||
var responseTextHash = response.clone().text().then(function(responseTextHash){
|
||||
if(response.ok)
|
||||
{
|
||||
dataHash = responseTextHash;
|
||||
|
||||
if($.trim(dataHash) !== $.trim(localDataHash))
|
||||
{
|
||||
fetchFromURL();
|
||||
}
|
||||
else {
|
||||
toObject(storage.ClearURLsData);
|
||||
storeHashStatus(1);
|
||||
}
|
||||
}
|
||||
else {
|
||||
dataHash = false;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Fetch the Rules & Exception from github.
|
||||
*/
|
||||
function fetchFromURL()
|
||||
{
|
||||
fetch(storage.ruleURL)
|
||||
.then(checkResponse);
|
||||
|
||||
function checkResponse(response)
|
||||
{
|
||||
var responseText = response.clone().text().then(function(responseText){
|
||||
if(response.ok)
|
||||
{
|
||||
var downloadedFileHash = $.sha256(responseText);
|
||||
|
||||
if($.trim(downloadedFileHash) === $.trim(dataHash))
|
||||
{
|
||||
storage.ClearURLsData = responseText;
|
||||
storage.dataHash = downloadedFileHash;
|
||||
storeHashStatus(2);
|
||||
}
|
||||
else {
|
||||
storeHashStatus(3);
|
||||
}
|
||||
storage.ClearURLsData = JSON.parse(storage.ClearURLsData);
|
||||
toObject(storage.ClearURLsData);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// ##################################################################
|
||||
|
||||
/*
|
||||
* ##################################################################
|
||||
* # Supertyp Provider #
|
||||
* ##################################################################
|
||||
*/
|
||||
/**
|
||||
* Declare constructor
|
||||
*
|
||||
* @param {String} _name Provider name
|
||||
* @param {boolean} completeProvider Set URL Pattern as rule
|
||||
*/
|
||||
function Provider(_name,_completeProvider = false){
|
||||
var name = _name;
|
||||
var urlPattern;
|
||||
var rules = [];
|
||||
var exceptions = [];
|
||||
var canceling = _completeProvider;
|
||||
var redirections = [];
|
||||
|
||||
if(_completeProvider){
|
||||
rules.push(".*");
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the provider name.
|
||||
* @return {String}
|
||||
*/
|
||||
this.getName = function() {
|
||||
return name;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add URL pattern.
|
||||
*
|
||||
* @require urlPatterns as RegExp
|
||||
*/
|
||||
this.setURLPattern = function(urlPatterns) {
|
||||
urlPattern = new RegExp(urlPatterns, "i");
|
||||
};
|
||||
|
||||
/**
|
||||
* Return if the Provider Request is canceled
|
||||
* @return {Boolean} isCanceled
|
||||
*/
|
||||
this.isCaneling = function() {
|
||||
return canceling;
|
||||
};
|
||||
|
||||
/**
|
||||
* Check the url is matching the ProviderURL.
|
||||
*
|
||||
* @return {boolean} ProviderURL as RegExp
|
||||
*/
|
||||
this.matchURL = function(url) {
|
||||
return !(this.matchException(url)) && urlPattern.test(url);
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a rule to the rule array.
|
||||
*
|
||||
* @param String rule RegExp as string
|
||||
*/
|
||||
this.addRule = function(rule) {
|
||||
rules.push(rule);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return all rules as an array.
|
||||
*
|
||||
* @return Array RegExp strings
|
||||
*/
|
||||
this.getRules = function() {
|
||||
return rules;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a exception to the exceptions array.
|
||||
*
|
||||
* @param String exception RegExp as string
|
||||
*/
|
||||
this.addException = function(exception) {
|
||||
exceptions.push(exception);
|
||||
};
|
||||
|
||||
/**
|
||||
* Private helper method to check if the url
|
||||
* an exception.
|
||||
*
|
||||
* @param {String} url RegExp as string
|
||||
* @return {boolean} if matching? true: false
|
||||
*/
|
||||
this.matchException = function(url) {
|
||||
var result = false;
|
||||
|
||||
//Add the site blocked alert to every exception
|
||||
if(url == siteBlockedAlert) return true;
|
||||
|
||||
for (var i = 0; i < exceptions.length; i++) {
|
||||
if(result) { break; }
|
||||
|
||||
exception_regex = new RegExp(exceptions[i], "i");
|
||||
result = exception_regex.test(url);
|
||||
}
|
||||
|
||||
return result;
|
||||
};
|
||||
|
||||
/**
|
||||
* Add a redirection to the redirections array.
|
||||
*
|
||||
* @param String redirection RegExp as string
|
||||
*/
|
||||
this.addRedirection = function(redirection) {
|
||||
redirections.push(redirection);
|
||||
};
|
||||
|
||||
/**
|
||||
* Return all redirection.
|
||||
*
|
||||
* @return url
|
||||
*/
|
||||
this.getRedirection = function(url) {
|
||||
var re = null;
|
||||
|
||||
for(var i = 0; i < redirections.length; i++)
|
||||
{
|
||||
result = (url.match(new RegExp(redirections[i], "i")));
|
||||
|
||||
if (result && result.length > 0)
|
||||
{
|
||||
re = (new RegExp(redirections[i], "i")).exec(url)[1];
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return re;
|
||||
};
|
||||
}
|
||||
// ##################################################################
|
||||
|
||||
/**
|
||||
* Helper function which remove the tracking fields
|
||||
* for each provider given as parameter.
|
||||
*
|
||||
* @param {Provider} provider Provider-Object
|
||||
* @param {webRequest} request webRequest-Object
|
||||
* @return {Array} Array with changes and url fields
|
||||
*/
|
||||
function removeFieldsFormURL(provider, request)
|
||||
{
|
||||
var url = request.url;
|
||||
var domain = url.replace(new RegExp("\\?.*", "i"), "");
|
||||
var fields = "";
|
||||
var rules = provider.getRules();
|
||||
var changes = false;
|
||||
var cancel = false;
|
||||
|
||||
/*
|
||||
* Expand the url by provider redirections. So no tracking on
|
||||
* url redirections form sites to sites.
|
||||
*/
|
||||
var re = provider.getRedirection(url);
|
||||
if(re !== null)
|
||||
{
|
||||
url = decodeURIComponent(re);
|
||||
//Log the action
|
||||
pushToLog(request.url, re, translate('log_redirect'));
|
||||
|
||||
return {
|
||||
"redirect": true,
|
||||
"url": url
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Only test for matches, if there are fields that can be cleaned.
|
||||
*/
|
||||
if(existsFields(url))
|
||||
{
|
||||
/**
|
||||
* It must be non-greedy, because by default .* will match
|
||||
* all ? chars. So the replace function delete everything
|
||||
* before the last ?. With adding a ? on the quantifier *,
|
||||
* we fixed this problem.
|
||||
*/
|
||||
fields = url.replace(new RegExp(".*?\\?", "i"), "");
|
||||
|
||||
for (var i = 0; i < rules.length; i++) {
|
||||
var beforReplace = fields;
|
||||
|
||||
fields = fields.replace(new RegExp(rules[i], "i"), "");
|
||||
|
||||
if(beforReplace != fields)
|
||||
{
|
||||
//Log the action
|
||||
pushToLog(domain+"?"+beforReplace, domain+"?"+fields, rules[i]);
|
||||
|
||||
if(badges[tabid] == null)
|
||||
{
|
||||
badges[tabid] = 0;
|
||||
}
|
||||
|
||||
increaseURLCounter();
|
||||
|
||||
if(!checkOSAndroid())
|
||||
{
|
||||
if(storage.badgedStatus) {
|
||||
browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid});
|
||||
}
|
||||
else
|
||||
{
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabid});
|
||||
}
|
||||
}
|
||||
|
||||
changes = true;
|
||||
}
|
||||
}
|
||||
url = domain+"?"+fields;
|
||||
}
|
||||
else {
|
||||
if(domain != url)
|
||||
{
|
||||
url = domain;
|
||||
changes = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(provider.isCaneling()){
|
||||
pushToLog(request.url, request.url, translate('log_domain_blocked'));
|
||||
if(badges[tabid] == null)
|
||||
{
|
||||
badges[tabid] = 0;
|
||||
}
|
||||
|
||||
increaseURLCounter();
|
||||
|
||||
if(!checkOSAndroid())
|
||||
{
|
||||
if(storage.badgedStatus) {
|
||||
browser.browserAction.setBadgeText({text: (++badges[tabid]).toString(), tabId: tabid});
|
||||
}
|
||||
else
|
||||
{
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabid});
|
||||
}
|
||||
}
|
||||
|
||||
cancel = true;
|
||||
}
|
||||
|
||||
return {
|
||||
"changes": changes,
|
||||
"url": url,
|
||||
"cancel": cancel
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of parameters query strings.
|
||||
* @param {String} url URL as String
|
||||
* @return {int} Number of Parameters
|
||||
*/
|
||||
function countFields(url)
|
||||
{
|
||||
var matches = (url.match(/[^\/|\?|&]+=[^\/|\?|&]+/gi) || []);
|
||||
var count = matches.length;
|
||||
|
||||
return count;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if fields exists.
|
||||
* @param {String} url URL as String
|
||||
* @return {boolean}
|
||||
*/
|
||||
function existsFields(url)
|
||||
{
|
||||
var matches = (url.match(/\?.+/i) || []);
|
||||
var count = matches.length;
|
||||
|
||||
return (count > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function which called from the webRequest to
|
||||
* remove the tracking fields from the url.
|
||||
*
|
||||
* @param {webRequest} request webRequest-Object
|
||||
* @return {Array} redirectUrl or none
|
||||
*/
|
||||
function clearUrl(request)
|
||||
{
|
||||
var URLbeforeReplaceCount = countFields(request.url);
|
||||
|
||||
//Add Fields form Request to global url counter
|
||||
increaseGlobalURLCounter(URLbeforeReplaceCount);
|
||||
|
||||
if(storage.globalStatus){
|
||||
|
||||
var result = {
|
||||
"changes": false,
|
||||
"url": "",
|
||||
"redirect": false,
|
||||
"cancel": false
|
||||
};
|
||||
|
||||
/*
|
||||
* Call for every provider the removeFieldsFormURL method.
|
||||
*/
|
||||
for (var i = 0; i < providers.length; i++) {
|
||||
|
||||
if(providers[i].matchURL(request.url))
|
||||
{
|
||||
result = removeFieldsFormURL(providers[i], request);
|
||||
}
|
||||
|
||||
/*
|
||||
* Expand urls and bypass tracking.
|
||||
* Cancel the active request.
|
||||
*/
|
||||
if(result.redirect)
|
||||
{
|
||||
browser.tabs.update(request.tabId, {url: result.url});
|
||||
return {cancel: true};
|
||||
}
|
||||
|
||||
/*
|
||||
* Cancel the Request and redirect to the site blocked alert page,
|
||||
* to inform the user about the full url blocking.
|
||||
*/
|
||||
if(result.cancel){
|
||||
return {
|
||||
redirectUrl: siteBlockedAlert
|
||||
};
|
||||
}
|
||||
|
||||
/*
|
||||
* Ensure that the function go not into
|
||||
* a loop.
|
||||
*/
|
||||
if(result.changes){
|
||||
return {
|
||||
redirectUrl: result.url
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Default case
|
||||
return {};
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to log all activities from ClearUrls.
|
||||
* Only logging when activated.
|
||||
* The log is only temporary saved in the cache and will
|
||||
* permanently saved with the saveLogOnClose function.
|
||||
*
|
||||
* @param beforeProcessing the url before the clear process
|
||||
* @param afterProcessing the url after the clear process
|
||||
* @param rule the rule that triggered the process
|
||||
*/
|
||||
function pushToLog(beforeProcessing, afterProcessing, rule)
|
||||
{
|
||||
if(storage.loggingStatus)
|
||||
{
|
||||
storage.log.log.push(
|
||||
{
|
||||
"before": beforeProcessing,
|
||||
"after": afterProcessing,
|
||||
"rule": rule,
|
||||
"timestamp": Date.now()
|
||||
}
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call loadOldDataFromStore, getHash, counter, status and log functions
|
||||
*/
|
||||
|
||||
loadOldDataFromStore();
|
||||
getHash();
|
||||
setBadgedStatus();
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
* And if url has changed.
|
||||
*/
|
||||
function handleUpdated(tabId, changeInfo, tabInfo) {
|
||||
if(changeInfo.url)
|
||||
{
|
||||
delete badges[tabId];
|
||||
}
|
||||
currentURL = tabInfo.url;
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
*/
|
||||
browser.tabs.onUpdated.addListener(handleUpdated);
|
||||
|
||||
/**
|
||||
* Call by each tab change to set the actual tab id
|
||||
*/
|
||||
function handleActivated(activeInfo) {
|
||||
tabid = activeInfo.tabId;
|
||||
browser.tabs.get(tabid).then(function (tab) {
|
||||
currentURL = tab.url;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab change.
|
||||
*/
|
||||
browser.tabs.onActivated.addListener(handleActivated);
|
||||
|
||||
/**
|
||||
* Check the request.
|
||||
*/
|
||||
function promise(requestDetails)
|
||||
{
|
||||
if(isDataURL(requestDetails))
|
||||
{
|
||||
return {};
|
||||
}
|
||||
else {
|
||||
var ret = clearUrl(requestDetails);
|
||||
return ret;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* To prevent long loading on data urls
|
||||
* we will check here for data urls.
|
||||
*
|
||||
* @type {requestDetails}
|
||||
* @return {boolean}
|
||||
*/
|
||||
function isDataURL(requestDetails) {
|
||||
var s = requestDetails.url;
|
||||
|
||||
return s.substring(0,4) == "data";
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each Request and checking the url.
|
||||
*
|
||||
* @type {Array}
|
||||
*/
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
promise,
|
||||
{urls: ["<all_urls>"], types: getData("types")},
|
||||
["blocking"]
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Save every minute the temporary data to the disk.
|
||||
*/
|
||||
setInterval(saveOnExit, 60000);
|
||||
|
||||
/**
|
||||
* Get the badged status from the browser storage and put the value
|
||||
* into a local variable.
|
||||
*
|
||||
*/
|
||||
function setBadgedStatus()
|
||||
{
|
||||
if(!checkOSAndroid() && storage.badgedStatus){
|
||||
browser.browserAction.setBadgeBackgroundColor({
|
||||
'color': '#'+storage.badged_color
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the icon.
|
||||
*/
|
||||
function changeIcon()
|
||||
{
|
||||
if(storage.globalStatus){
|
||||
browser.browserAction.setIcon({path: "img/clearurls.svg"});
|
||||
} else{
|
||||
browser.browserAction.setIcon({path: "img/clearurls_gray.svg"});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if it is an android device.
|
||||
* @return bool
|
||||
*/
|
||||
function checkOSAndroid()
|
||||
{
|
||||
if(os == "android")
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by {number} the GlobalURLCounter
|
||||
* @param {int} number
|
||||
*/
|
||||
function increaseGlobalURLCounter(number)
|
||||
{
|
||||
if(storage.statisticsStatus)
|
||||
{
|
||||
storage.globalurlcounter += number;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by one the URLCounter
|
||||
*/
|
||||
function increaseURLCounter()
|
||||
{
|
||||
if(storage.statisticsStatus)
|
||||
{
|
||||
storage.globalCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Writes the storage variable to the disk.
|
||||
*/
|
||||
function saveOnExit()
|
||||
{
|
||||
var json = {};
|
||||
|
||||
Object.entries(storage).forEach(([key, value]) => {
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
json[key] = JSON.stringify(value);
|
||||
break;
|
||||
case "types":
|
||||
json[key] = value.toString();
|
||||
break;
|
||||
default:
|
||||
json[key] = value;
|
||||
}
|
||||
});
|
||||
console.log(translate('core_save_on_disk'));
|
||||
browser.storage.local.set(json);
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the disk.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function saveOnDisk(key, value)
|
||||
{
|
||||
browser.storage.local.set({key: value});
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve everything and save on the RAM.
|
||||
*/
|
||||
function getDataFromDisk()
|
||||
{
|
||||
browser.storage.local.get().then(start, error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the value under the key.
|
||||
* @param {String} key
|
||||
* @return {Object}
|
||||
*/
|
||||
function getData(key)
|
||||
{
|
||||
return storage[key];
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the RAM.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function setData(key, value)
|
||||
{
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
storage[key] = JSON.parse(value);
|
||||
break;
|
||||
case "hashURL":
|
||||
case "ruleURL":
|
||||
storage[key] = replaceOldGithubURLs(value);
|
||||
break;
|
||||
case "types":
|
||||
storage[key] = value.split(',');
|
||||
break;
|
||||
default:
|
||||
storage[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Write error on console.
|
||||
*/
|
||||
function error()
|
||||
{
|
||||
console.log(translate('core_error'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values, if the storage is empty.
|
||||
* @param {Object} items
|
||||
*/
|
||||
function initStorage(items)
|
||||
{
|
||||
initSettings();
|
||||
|
||||
if(!isEmpty(items)) {
|
||||
Object.entries(items).forEach(([key, value]) => {
|
||||
setData(key, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values for the settings.
|
||||
*/
|
||||
function initSettings()
|
||||
{
|
||||
storage.ClearURLsData = [];
|
||||
storage.dataHash = "";
|
||||
storage.badgedStatus = true;
|
||||
storage.globalStatus = true;
|
||||
storage.globalurlcounter = 0;
|
||||
storage.globalCounter = 0;
|
||||
storage.hashStatus = "error";
|
||||
storage.loggingStatus = false;
|
||||
storage.log = {"log": []};
|
||||
storage.statisticsStatus = true;
|
||||
storage.badged_color = "ffa500";
|
||||
storage.hashURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash";
|
||||
storage.ruleURL = "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json";
|
||||
storage.types = ["main_frame", "sub_frame", "xmlhttprequest"];
|
||||
storage.reportServer = "https://clearurls.xn--rb-fka.it";
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the extension.
|
||||
*/
|
||||
function reload()
|
||||
{
|
||||
browser.runtime.reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the old GitHub URLs with the
|
||||
* new GitLab URLs.
|
||||
*/
|
||||
function replaceOldGithubURLs(url)
|
||||
{
|
||||
switch (url) {
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/rules.hash?flush_cache=true":
|
||||
return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash";
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/data.json?flush_cache=true":
|
||||
return "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json";
|
||||
default:
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if an object is empty.
|
||||
* @param {Object} obj
|
||||
* @return {Boolean}
|
||||
*/
|
||||
function isEmpty(obj)
|
||||
{
|
||||
return (Object.getOwnPropertyNames(obj).length === 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current URL.
|
||||
* @return {String} [description]
|
||||
*/
|
||||
function getCurrentURL()
|
||||
{
|
||||
return currentURL;
|
||||
}
|
|
@ -1,20 +0,0 @@
|
|||
body {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.small-version {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.col-sm-1 {
|
||||
margin-top: -10px;
|
||||
}
|
||||
|
||||
#body-popup {
|
||||
width: 200px;
|
||||
}
|
|
@ -1,69 +0,0 @@
|
|||
{
|
||||
"manifest_version": 2,
|
||||
"name": "ClearURLs",
|
||||
"version": "1.3.3.14",
|
||||
"author": "Kevin R.",
|
||||
"description": "Remove tracking elements form URLs.",
|
||||
"homepage_url": "https://gitlab.com/KevinRoebert/ClearUrls",
|
||||
"default_locale": "en",
|
||||
"icons": {
|
||||
"16": "img/clearurls.png",
|
||||
"19": "img/clearurls.png",
|
||||
"20": "img/clearurls.png",
|
||||
"24": "img/clearurls.png",
|
||||
"30": "img/clearurls.png",
|
||||
"32": "img/clearurls.png",
|
||||
"38": "img/clearurls.png",
|
||||
"48": "img/clearurls.png",
|
||||
"64": "img/clearurls.png",
|
||||
"96": "img/clearurls.png",
|
||||
"128": "img/clearurls.png"
|
||||
|
||||
},
|
||||
"browser_action": {
|
||||
"browser_style": true,
|
||||
"default_icon": {
|
||||
"16": "img/clearurls.png",
|
||||
"19": "img/clearurls.png",
|
||||
"20": "img/clearurls.png",
|
||||
"24": "img/clearurls.png",
|
||||
"30": "img/clearurls.png",
|
||||
"32": "img/clearurls.png",
|
||||
"38": "img/clearurls.png",
|
||||
"48": "img/clearurls.png",
|
||||
"64": "img/clearurls.png",
|
||||
"96": "img/clearurls.png",
|
||||
"128": "img/clearurls.png"
|
||||
|
||||
},
|
||||
"default_title": "ClearURLs Add-on",
|
||||
"default_popup": "html/popup.html"
|
||||
},
|
||||
"permissions": [
|
||||
"*://*/*",
|
||||
"<all_urls>",
|
||||
"webRequest",
|
||||
"webRequestBlocking",
|
||||
"storage",
|
||||
"tabs"
|
||||
],
|
||||
"background": {
|
||||
"scripts": [
|
||||
"browser-polyfill.js",
|
||||
"external_js/jquery-3.2.1.min.js",
|
||||
"external_js/sha256.jquery.js",
|
||||
"clearurls.js"
|
||||
]
|
||||
},
|
||||
"content_scripts": [
|
||||
{
|
||||
"matches": ["<all_urls>"],
|
||||
"js": [
|
||||
"browser-polyfill.js"
|
||||
]
|
||||
}
|
||||
],
|
||||
"options_ui": {
|
||||
"page": "html/settings.html"
|
||||
}
|
||||
}
|
372
GitLabPages/css/semantic_2.4.1.min.css
vendored
Normal file
372
GitLabPages/css/semantic_2.4.1.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
16
GitLabPages/css/styles.css
Normal file
16
GitLabPages/css/styles.css
Normal file
|
@ -0,0 +1,16 @@
|
|||
body {
|
||||
background-color: #FFFFFF;
|
||||
}
|
||||
.ui.menu .item img.logo {
|
||||
margin-right: 1.5em;
|
||||
}
|
||||
.main.container {
|
||||
margin-top: 7em;
|
||||
}
|
||||
.wireframe {
|
||||
margin-top: 2em;
|
||||
}
|
||||
.ui.footer.segment {
|
||||
margin: 5em 0em 0em;
|
||||
padding: 5em 0em;
|
||||
}
|
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.eot
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.eot
Normal file
Binary file not shown.
1008
GitLabPages/css/themes/default/assets/fonts/brand-icons.svg
Normal file
1008
GitLabPages/css/themes/default/assets/fonts/brand-icons.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 496 KiB |
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.ttf
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.ttf
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.woff
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.woff
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.woff2
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/brand-icons.woff2
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/icons.eot
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/icons.eot
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/icons.otf
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/icons.otf
Normal file
Binary file not shown.
1518
GitLabPages/css/themes/default/assets/fonts/icons.svg
Normal file
1518
GitLabPages/css/themes/default/assets/fonts/icons.svg
Normal file
File diff suppressed because it is too large
Load Diff
After Width: | Height: | Size: 382 KiB |
BIN
GitLabPages/css/themes/default/assets/fonts/icons.ttf
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/icons.ttf
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/icons.woff
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/icons.woff
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/icons.woff2
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/icons.woff2
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.eot
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.eot
Normal file
Binary file not shown.
366
GitLabPages/css/themes/default/assets/fonts/outline-icons.svg
Normal file
366
GitLabPages/css/themes/default/assets/fonts/outline-icons.svg
Normal file
|
@ -0,0 +1,366 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!--
|
||||
Font Awesome Free 5.0.8 by @fontawesome - https://fontawesome.com
|
||||
License - https://fontawesome.com/license (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
|
||||
-->
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
||||
<svg xmlns="http://www.w3.org/2000/svg">
|
||||
<defs>
|
||||
<font id="fontawesome-free" horiz-adv-x="640">
|
||||
<font-face font-family="Font Awesome 5 Free"
|
||||
units-per-em="512" ascent="448"
|
||||
descent="64"
|
||||
font-weight="400"
|
||||
font-style="Regular" />
|
||||
<missing-glyph horiz-adv-x="0" />
|
||||
<glyph glyph-name="address-book"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M436 288C442.627 288 448 293.373 448 300V340C448 346.627 442.627 352 436 352H416V400C416 426.51 394.51 448 368 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H368C394.51 -64 416 -42.51 416 -16V32H436C442.627 32 448 37.373 448 44V84C448 90.627 442.627 96 436 96H416V160H436C442.627 160 448 165.373 448 172V212C448 218.627 442.627 224 436 224H416V288H436zM362 -16H54A6 6 0 0 0 48 -10V394A6 6 0 0 0 54 400H362A6 6 0 0 0 368 394V-10A6 6 0 0 0 362 -16zM128 240C128 284.183 163.817 320 208 320S288 284.183 288 240S252.183 160 208 160S128 195.817 128 240zM336 106.523V88C336 74.745 325.255 64 312 64H104C90.745 64 80 74.745 80 88V106.523C80 128.549 94.99 147.7480000000001 116.358 153.09L152.015 162.004C181.116 141.072 226.524 135.059 263.985 162.004L299.642 153.09C321.01 147.748 336 128.548 336 106.523z" />
|
||||
<glyph glyph-name="address-card"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM458 48H54A6 6 0 0 0 48 54V330A6 6 0 0 0 54 336H458A6 6 0 0 0 464 330V54A6 6 0 0 0 458 48zM404 224H300C293.373 224 288 229.373 288 236V252C288 258.627 293.373 264 300 264H404C410.627 264 416 258.627 416 252V236C416 229.373 410.627 224 404 224zM404 152H300C293.373 152 288 157.373 288 164V180C288 186.627 293.373 192 300 192H404C410.627 192 416 186.627 416 180V164C416 157.373 410.627 152 404 152zM176 288C209.137 288 236 261.137 236 228S209.137 168 176 168S116 194.863 116 228S142.863 288 176 288zM244.731 162.817L217.989 169.503C189.893 149.294 155.837 153.804 134.011 169.503L107.269 162.817C91.243 158.811 80 144.411 80 127.892V114C80 104.059 88.059 96 98 96H254C263.941 96 272 104.059 272 114V127.892C272 144.411 260.757 158.811 244.731 162.817z" />
|
||||
<glyph glyph-name="arrow-alt-circle-down"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM224 308V192H157C146.3 192 141 179.1 148.5 171.5L247.5 72.5C252.2 67.8 259.8 67.8 264.5 72.5L363.5 171.5C371.1 179.1 365.7 192 355 192H288V308C288 314.6 282.6 320 276 320H236C229.4 320 224 314.6 224 308z" />
|
||||
<glyph glyph-name="arrow-alt-circle-left"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M8 192C8 55 119 -56 256 -56S504 55 504 192S393 440 256 440S8 329 8 192zM456 192C456 81.5 366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392S456 302.5 456 192zM384 212V172C384 165.4 378.6 160 372 160H256V93C256 82.3 243.1 77 235.5 84.5L136.5 183.5C131.8 188.2 131.8 195.8 136.5 200.5L235.5 299.5C243.1 307.1 256 301.7 256 291V224H372C378.6 224 384 218.6 384 212z" />
|
||||
<glyph glyph-name="arrow-alt-circle-right"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM128 172V212C128 218.6 133.4 224 140 224H256V291C256 301.7 268.9 307 276.5 299.5L375.5 200.5C380.2 195.8 380.2 188.2 375.5 183.5L276.5 84.5C268.9 76.9 256 82.3 256 93V160H140C133.4 160 128 165.4 128 172z" />
|
||||
<glyph glyph-name="arrow-alt-circle-up"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 -56C393 -56 504 55 504 192S393 440 256 440S8 329 8 192S119 -56 256 -56zM256 392C366.5 392 456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192S145.5 392 256 392zM276 64H236C229.4 64 224 69.4 224 76V192H157C146.3 192 141 204.9 148.5 212.5L247.5 311.5C252.2 316.2 259.8 316.2 264.5 311.5L363.5 212.5C371.1 204.9 365.7 192 355 192H288V76C288 69.4 282.6 64 276 64z" />
|
||||
<glyph glyph-name="bell-slash"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M130.9 48C114.138 48 105.765 68.39 117.566 80.191C142.792 105.417 163.66 129.5290000000001 168.215 201.6710000000001L121.438 242.9450000000001A168.48 168.48 0 0 1 121.142 233.1430000000001C121.142 151.21 103.591 133.8510000000001 86.599 117.0650000000001C38.504 69.559 73.726 0 130.919 0H224C224 -35.346 252.654 -64 288 -64S352 -35.346 352 0H396.777L342.377 48H130.9zM288 -24C274.766 -24 264 -13.234 264 0H312C312 -13.234 301.234 -24 288 -24zM571.867 -24.553L503.936 35.018C517.04 59.136 515.4599999999999 91.336 489.404 117.0600000000001C472.415 133.8450000000001 454.858 151.2030000000001 454.858 233.1430000000001C454.858 316.1690000000001 393.9 385.2170000000001 314.391 397.9050000000001A31.848 31.848 0 0 1 320 416C320 433.673 305.673 448 288 448S256 433.673 256 416A31.848 31.848 0 0 1 261.609 397.905C220.138 391.287 183.718 369.334 158.36 338.064L36.459 444.963C31.401 449.399 23.682 448.919 19.219 443.892L3.056 425.687C-1.407 420.6600000000001 -0.925 412.988 4.134 408.553L539.542 -60.963C544.6 -65.399 552.3190000000001 -64.919 556.782 -59.892L572.945 -41.687C577.407 -36.66 576.9250000000001 -28.988 571.8670000000001 -24.553zM288 352C353.538 352 406.857 298.681 406.857 233.143C406.857 135.493 430.078 108.569 458.425 80.191C461.333 77.283 462.9979999999999 73.8630000000001 463.634 70.359L194.482 306.3880000000001C216.258 334.133 250.075 352 288 352z" />
|
||||
<glyph glyph-name="bell"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M425.403 117.061C408.4140000000001 133.846 390.8570000000001 151.204 390.8570000000001 233.144C390.8570000000001 316.17 329.899 385.218 250.39 397.906A31.842999999999996 31.842999999999996 0 0 1 256 416C256 433.673 241.673 448 224 448S192 433.673 192 416A31.848 31.848 0 0 1 197.609 397.905C118.101 385.217 57.143 316.169 57.143 233.143C57.143 151.21 39.592 133.851 22.6 117.065C-25.496 69.559 9.726 0 66.919 0H160C160 -35.346 188.654 -64 224 -64C259.346 -64 288 -35.346 288 0H381.08C438.27 0 473.495 69.583 425.403 117.061zM224 -24C210.766 -24 200 -13.234 200 0H248C248 -13.234 237.234 -24 224 -24zM381.092 48H66.9C50.138 48 41.765 68.39 53.566 80.191C82.151 108.776 105.143 135.915 105.143 233.1430000000001C105.143 298.6810000000001 158.462 352 224 352S342.857 298.681 342.857 233.143C342.857 135.493 366.078 108.569 394.425 80.191C406.278 68.339 397.783 48 381.092 48z" />
|
||||
<glyph glyph-name="bookmark"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M336 448H48C21.49 448 0 426.51 0 400V-64L192 48L384 -64V400C384 426.51 362.51 448 336 448zM336 19.57L192 103.57L48 19.57V394A6 6 0 0 0 54 400H330C333.314 400 336 397.317 336 394.004V19.57z" />
|
||||
<glyph glyph-name="building"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M128 300V340C128 346.6 133.4 352 140 352H180C186.6 352 192 346.6 192 340V300C192 293.4 186.6 288 180 288H140C133.4 288 128 293.4 128 300zM268 288H308C314.6 288 320 293.4 320 300V340C320 346.6 314.6 352 308 352H268C261.4 352 256 346.6 256 340V300C256 293.4 261.4 288 268 288zM140 192H180C186.6 192 192 197.4 192 204V244C192 250.6 186.6 256 180 256H140C133.4 256 128 250.6 128 244V204C128 197.4 133.4 192 140 192zM268 192H308C314.6 192 320 197.4 320 204V244C320 250.6 314.6 256 308 256H268C261.4 256 256 250.6 256 244V204C256 197.4 261.4 192 268 192zM192 108V148C192 154.6 186.6 160 180 160H140C133.4 160 128 154.6 128 148V108C128 101.4 133.4 96 140 96H180C186.6 96 192 101.4 192 108zM268 96H308C314.6 96 320 101.4 320 108V148C320 154.6 314.6 160 308 160H268C261.4 160 256 154.6 256 148V108C256 101.4 261.4 96 268 96zM448 -28V-64H0V-28C0 -21.4 5.4 -16 12 -16H31.5V424C31.5 437.3 42.2 448 55.5 448H392.5C405.8 448 416.5 437.3 416.5 424V-16H436C442.6 -16 448 -21.4 448 -28zM79.5 -15H192V52C192 58.6 197.4 64 204 64H244C250.6 64 256 58.6 256 52V-15H368.5V399L80 400L79.5 -15z" />
|
||||
<glyph glyph-name="calendar-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M148 160H108C101.4 160 96 165.4 96 172V212C96 218.6 101.4 224 108 224H148C154.6 224 160 218.6 160 212V172C160 165.4 154.6 160 148 160zM256 172V212C256 218.6 250.6 224 244 224H204C197.4 224 192 218.6 192 212V172C192 165.4 197.4 160 204 160H244C250.6 160 256 165.4 256 172zM352 172V212C352 218.6 346.6 224 340 224H300C293.4 224 288 218.6 288 212V172C288 165.4 293.4 160 300 160H340C346.6 160 352 165.4 352 172zM256 76V116C256 122.6 250.6 128 244 128H204C197.4 128 192 122.6 192 116V76C192 69.4 197.4 64 204 64H244C250.6 64 256 69.4 256 76zM160 76V116C160 122.6 154.6 128 148 128H108C101.4 128 96 122.6 96 116V76C96 69.4 101.4 64 108 64H148C154.6 64 160 69.4 160 76zM352 76V116C352 122.6 346.6 128 340 128H300C293.4 128 288 122.6 288 116V76C288 69.4 293.4 64 300 64H340C346.6 64 352 69.4 352 76zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" />
|
||||
<glyph glyph-name="calendar-check"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M400 384H352V436C352 442.627 346.627 448 340 448H300C293.373 448 288 442.627 288 436V384H160V436C160 442.627 154.627 448 148 448H108C101.373 448 96 442.627 96 436V384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H400C426.51 -64 448 -42.51 448 -16V336C448 362.51 426.51 384 400 384zM394 -16H54A6 6 0 0 0 48 -10V288H400V-10A6 6 0 0 0 394 -16zM341.151 184.65L198.842 43.481C194.137 38.814 186.539 38.844 181.871 43.549L106.78 119.248C102.113 123.953 102.143 131.551 106.848 136.219L129.567 158.755C134.272 163.422 141.87 163.392 146.537 158.686L190.641 114.225L301.713 224.406C306.418 229.073 314.016 229.043 318.6840000000001 224.3379999999999L341.2200000000001 201.62C345.887 196.9149999999999 345.8560000000001 189.317 341.151 184.65z" />
|
||||
<glyph glyph-name="calendar-minus"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M124 120C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H324C330.6 168 336 162.6 336 156V132C336 125.4 330.6 120 324 120H124zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" />
|
||||
<glyph glyph-name="calendar-plus"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M336 156V132C336 125.4 330.6 120 324 120H248V44C248 37.4 242.6 32 236 32H212C205.4 32 200 37.4 200 44V120H124C117.4 120 112 125.4 112 132V156C112 162.6 117.4 168 124 168H200V244C200 250.6 205.4 256 212 256H236C242.6 256 248 250.6 248 244V168H324C330.6 168 336 162.6 336 156zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" />
|
||||
<glyph glyph-name="calendar-times"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M311.7 73.3L294.7 56.3C290 51.6 282.4 51.6 277.7 56.3L224 110.1L170.3 56.4C165.6 51.7 158 51.7 153.3 56.4L136.3 73.4C131.6 78.1 131.6 85.7000000000001 136.3 90.4L190 144.1L136.3 197.8C131.6 202.5 131.6 210.1 136.3 214.8L153.3 231.8C158 236.5 165.6 236.5 170.3 231.8L224 178.1L277.7 231.8C282.4 236.5 290 236.5 294.7 231.8L311.7 214.8C316.4 210.1 316.4 202.5 311.7 197.8L257.9 144L311.6 90.3C316.4 85.6 316.4 78 311.7 73.3zM448 336V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H96V436C96 442.6 101.4 448 108 448H148C154.6 448 160 442.6 160 436V384H288V436C288 442.6 293.4 448 300 448H340C346.6 448 352 442.6 352 436V384H400C426.5 384 448 362.5 448 336zM400 -10V288H48V-10C48 -13.3 50.7 -16 54 -16H394C397.3 -16 400 -13.3 400 -10z" />
|
||||
<glyph glyph-name="calendar"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M400 384H352V436C352 442.6 346.6 448 340 448H300C293.4 448 288 442.6 288 436V384H160V436C160 442.6 154.6 448 148 448H108C101.4 448 96 442.6 96 436V384H48C21.5 384 0 362.5 0 336V-16C0 -42.5 21.5 -64 48 -64H400C426.5 -64 448 -42.5 448 -16V336C448 362.5 426.5 384 400 384zM394 -16H54C50.7 -16 48 -13.3 48 -10V288H400V-10C400 -13.3 397.3 -16 394 -16z" />
|
||||
<glyph glyph-name="caret-square-down"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M125.1 240H322.9C333.6 240 339 227 331.4 219.5L232.5 121.2C227.8 116.5 220.3 116.5 215.6 121.2L116.7 219.5C109 227 114.4 240 125.1 240zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="caret-square-left"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M272 290.9V93.1C272 82.4 259 77 251.5 84.6L153.2 183.5C148.5 188.2 148.5 195.7 153.2 200.4L251.5 299.3C259 307 272 301.6 272 290.9zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="caret-square-right"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M176 93.1V290.9C176 301.6 189 307 196.5 299.4L294.8 200.5C299.5 195.8 299.5 188.3 294.8 183.6L196.5 84.7000000000001C189 77.0000000000001 176 82.4 176 93.1zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="caret-square-up"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M322.9 144H125.1C114.4 144 109 157 116.6 164.5L215.5 262.8C220.2 267.5 227.7 267.5 232.4 262.8L331.3 164.5C339 157 333.6 144 322.9000000000001 144zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="chart-bar"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M500 48C506.6 48 512 42.6 512 36V12C512 5.4 506.6 0 500 0H12C5.4 0 0 5.4 0 12V372C0 378.6 5.4 384 12 384H36C42.6 384 48 378.6 48 372V48H500zM144 108V180C144 186.6 138.6 192 132 192H108C101.4 192 96 186.6 96 180V108C96 101.4 101.4 96 108 96H132C138.6 96 144 101.4 144 108zM240 108V308C240 314.6 234.6 320 228 320H204C197.4 320 192 314.6 192 308V108C192 101.4 197.4 96 204 96H228C234.6 96 240 101.4 240 108zM336 108V244C336 250.6 330.6 256 324 256H300C293.4 256 288 250.6 288 244V108C288 101.4 293.4 96 300 96H324C330.6 96 336 101.4 336 108zM432 108V340C432 346.6 426.6 352 420 352H396C389.4 352 384 346.6 384 340V108C384 101.4 389.4 96 396 96H420C426.6 96 432 101.4 432 108z" />
|
||||
<glyph glyph-name="check-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M396.204 261.733L373.668 284.451C369.0010000000001 289.156 361.403 289.187 356.698 284.519L215.346 144.303L155.554 204.58C150.887 209.285 143.289 209.316 138.584 204.649L115.865 182.113C111.16 177.446 111.129 169.848 115.797 165.142L206.578 73.6259999999999C211.245 68.9209999999999 218.843 68.8899999999999 223.548 73.5579999999999L396.1370000000001 244.762C400.8410000000001 249.43 400.8710000000001 257.0279999999999 396.2040000000001 261.733z" />
|
||||
<glyph glyph-name="check-square"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M400 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V368C448 394.51 426.51 416 400 416zM400 16H48V368H400V16zM364.136 257.724L191.547 86.52C186.842 81.853 179.244 81.883 174.577 86.588L83.796 178.104C79.129 182.809 79.159 190.407 83.865 195.075L106.584 217.611C111.289 222.278 118.887 222.248 123.554 217.542L183.346 157.265L324.698 297.481C329.403 302.148 337.001 302.118 341.668 297.413L364.204 274.695C368.871 269.9890000000001 368.841 262.391 364.136 257.724z" />
|
||||
<glyph glyph-name="circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8z" />
|
||||
<glyph glyph-name="clipboard"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M336 384H256C256 419.29 227.29 448 192 448S128 419.29 128 384H48C21.49 384 0 362.51 0 336V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V336C384 362.51 362.51 384 336 384zM330 -16H54A6 6 0 0 0 48 -10V330A6 6 0 0 0 54 336H96V300C96 293.373 101.373 288 108 288H276C282.627 288 288 293.373 288 300V336H330A6 6 0 0 0 336 330V-10A6 6 0 0 0 330 -16zM192 408C205.255 408 216 397.255 216 384S205.255 360 192 360S168 370.745 168 384S178.745 408 192 408" />
|
||||
<glyph glyph-name="clock"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM317.8 96.4L232.9 158.1C229.8 160.4 228 164 228 167.8V332C228 338.6 233.4 344 240 344H272C278.6 344 284 338.6 284 332V190.3L350.8 141.7C356.2 137.8 357.3 130.3 353.4000000000001 124.9L334.6 99C330.7000000000001 93.7 323.2000000000001 92.5 317.8 96.4z" />
|
||||
<glyph glyph-name="clone"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 448H144C117.49 448 96 426.51 96 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H368C394.51 -64 416 -42.51 416 -16V32H464C490.51 32 512 53.49 512 80V400C512 426.51 490.51 448 464 448zM362 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H96V80C96 53.49 117.49 32 144 32H368V-10A6 6 0 0 0 362 -16zM458 80H150A6 6 0 0 0 144 86V394A6 6 0 0 0 150 400H458A6 6 0 0 0 464 394V86A6 6 0 0 0 458 80z" />
|
||||
<glyph glyph-name="closed-captioning"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 384H48C21.5 384 0 362.5 0 336V48C0 21.5 21.5 0 48 0H464C490.5 0 512 21.5 512 48V336C512 362.5 490.5 384 464 384zM458 48H54C50.7 48 48 50.7 48 54V330C48 333.3 50.7 336 54 336H458C461.3 336 464 333.3 464 330V54C464 50.7 461.3 48 458 48zM246.9 133.7C248.6 131.3 248.4 128.1 246.4 126C192.8 69.2 73.6 93.9 73.6 193.9C73.6 291.2 195.3 313.4 246.1 264C248.2 262 248.6 260.8 247.1 258.3L229.6 227.8C227.7 224.7 223.4 223.8 220.5 226.1C179.7 258.1 125.9 241.0000000000001 125.9 194.9C125.9 146.9 176.9 124.4 218.1 162.3C220.9 164.8 225.2 164.4 227.3 161.4L246.9 133.7000000000001zM437.3 133.7C439 131.3 438.8 128.1 436.8 126C383.2 69.1 264 93.9 264 193.9C264 291.2 385.7 313.4 436.5 264C438.6 262 439 260.8 437.5 258.3L420 227.8C418.1 224.7 413.8 223.8 410.9 226.1C370.1 258.1 316.3 241.0000000000001 316.3 194.9C316.3 146.9 367.3 124.4 408.5 162.3C411.3 164.8 415.6 164.4 417.7 161.4L437.3 133.7000000000001z" />
|
||||
<glyph glyph-name="comment-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M288 416C129 416 0 322.9 0 208C0 158.7 23.7 113.5 63.3 77.8C54.6 54.5 41.2 45.1 26.2 34.7C15.1 27 -6 15 1.6 -8.5C6.7 -23.9 22.5 -33.2 39.7 -31.8C97.4 -27.2 150.9 -12.6 196.7 10.7C225.4 3.8 256.1 0 287.9 0C447 0 575.9 93 575.9 208C576 322.9 447.1 416 288 416zM288 48C255.5 48 222.6 52.4 190.7 62C158.4 43 112 16 56 8C88 32 112.8 69.6 117.2 96.4C79.1 122.4 48 161.3 48 208C48 278.9 134.3 368 288 368S528 278.9 528 208C528 137 441.7 48 288 48zM224 208C224 181.5 202.5 160 176 160S128 181.5 128 208S149.5 256 176 256S224 234.5 224 208zM336 208C336 181.5 314.5 160 288 160S240 181.5 240 208S261.5 256 288 256S336 234.5 336 208zM448 208C448 181.5 426.5 160 400 160S352 181.5 352 208S373.5 256 400 256S448 234.5 448 208z" />
|
||||
<glyph glyph-name="comment"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M288 416C129 416 0 322.9 0 208C0 158.7 23.7 113.5 63.3 77.8C54.6 54.5 41.2 45.1 26.2 34.7C15.1 27 -6 15 1.6 -8.5C6.7 -23.9 22.5 -33.2 39.7 -31.8C97.4 -27.2 150.9 -12.6 196.7 10.7C225.4 3.8 256.1 0 287.9 0C447 0 575.9 93 575.9 208C576 322.9 447.1 416 288 416zM288 48C255.5 48 222.6 52.4 190.7 62C158.4 43 112 16 56 8C88 32 112.8 69.6 117.2 96.4C79.1 122.4 48 161.3 48 208C48 278.9 134.3 368 288 368S528 278.9 528 208C528 137 441.7 48 288 48z" />
|
||||
<glyph glyph-name="comments"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M574.507 4.14C569.0859999999999 -17.121 549.9369999999999 -32 527.996 -32C495.75 -32 461.485 -22.01 425.896 -2.266C375.256 -13.892 316.745 -10.143 267.9359999999999 11.171C309.08 14.09 348.2969999999999 23.51 384.267 39.876C400.589 41.096 416.9409999999999 44.196 432.8979999999999 49.469C454.404 35.635 490.663 16 527.996 16C495.996 33.455 484.777 54.958 481.837 74.502C507.28 93.35 527.996 121.685 527.996 155.637C527.996 166.132 525.6129999999999 177.173 520.9549999999999 188.104C528.3599999999999 214.034 529.6109999999999 238.298 526.1399999999999 262.042C558.3039999999999 231.581 575.9959999999999 192.914 575.9959999999999 155.637C575.9959999999999 121.7439999999999 563.0829999999999 90.5899999999999 541.0199999999999 64.5179999999999C543.6729999999999 62.4799999999999 546.9439999999998 60.3419999999999 550.9819999999999 58.1399999999999C570.2429999999998 47.632 579.9289999999999 25.401 574.5069999999998 4.1399999999999zM240.002 368C117.068 368 48.004 295.123 48.004 237.091C48.004 198.895 72.863 167.019 103.395 145.815C99.868 123.827 86.404 99.636 48.004 80C92.804 80 136.314 102.089 162.123 117.653C187.643 109.747 214.006 106.182 240.002 106.182C362.998 106.182 432 179.024 432 237.091C432 295.118 362.943 368 240.002 368M240.002 416C390.193 416 480 321.974 480 237.091C480 214.346 473.494 190.697 461.184 168.7C449.3060000000001 147.474 432.6450000000001 128.406 411.661 112.026C390.068 95.169 364.863 81.981 336.748 72.829C306.893 63.11 274.343 58.183 240.002 58.183C215.553 58.183 191.662 60.87 168.71 66.187C126.311 43.488 85.785 32 48.004 32C25.824 32 6.532 47.197 1.339 68.761C-3.855 90.324 6.403 112.639 26.15 122.737C33.813 126.655 39.474 130.4740000000001 43.669 134.031C36.276 141.86 29.717 150.155 24.035 158.875C8.09 183.345 0.005 209.661 0.005 237.091C0.005 321.741 89.508 416 240.002 416z" />
|
||||
<glyph glyph-name="compass"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM347.326 304.131L313.9670000000001 166.352A24.005 24.005 0 0 0 307.1950000000001 154.623L204.5550000000001 56.844C187.4510000000001 40.551 158.9950000000001 56.41 164.6750000000001 79.868L198.0340000000001 217.647A23.997 23.997 0 0 0 204.8060000000001 229.376L307.4480000000001 327.155C324.7330000000001 343.625 352.9420000000001 327.33 347.3260000000001 304.131zM256 224C238.327 224 224 209.673 224 192S238.327 160 256 160S288 174.327 288 192S273.673 224 256 224z" />
|
||||
<glyph glyph-name="copy"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M433.941 382.059L382.059 433.941A48 48 0 0 1 348.118 448H176C149.49 448 128 426.51 128 400V352H48C21.49 352 0 330.51 0 304V-16C0 -42.51 21.49 -64 48 -64H272C298.51 -64 320 -42.51 320 -16V32H400C426.51 32 448 53.49 448 80V348.118A48 48 0 0 1 433.941 382.059zM266 -16H54A6 6 0 0 0 48 -10V298A6 6 0 0 0 54 304H128V80C128 53.49 149.49 32 176 32H272V-10A6 6 0 0 0 266 -16zM394 80H182A6 6 0 0 0 176 86V394A6 6 0 0 0 182 400H288V312C288 298.745 298.745 288 312 288H400V86A6 6 0 0 0 394 80zM400 336H336V400H345.632C347.223 400 348.749 399.368 349.875 398.243L398.243 349.875A6 6 0 0 0 400 345.632V336z" />
|
||||
<glyph glyph-name="copyright"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM363.351 93.064C353.737 83.352 317.8210000000001 51.668 259.286 51.668C176.856 51.668 118.802 113.093 118.802 193.235C118.802 272.387 179.077 332.636 258.564 332.636C314.095 332.636 347.302 306.016 356.157 297.857A11.965 11.965 0 0 0 358.093 282.535L339.938 254.422C336.097 248.472 327.972 247.14 322.439 251.501C313.844 258.277 290.625 274.039 260.731 274.039C212.428 274.039 182.815 238.709 182.815 193.957C182.815 152.368 209.703 110.265 261.092 110.265C293.749 110.265 317.935 129.304 326.818 137.49C332.088 142.347 340.414 141.529 344.638 135.752L364.503 108.582A11.947000000000001 11.947000000000001 0 0 0 363.351 93.064z" />
|
||||
<glyph glyph-name="credit-card"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M527.9 416H48.1C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48.1 -32H527.9C554.5 -32 576 -10.5 576 16V368C576 394.5 554.5 416 527.9 416zM54.1 368H521.9C525.1999999999999 368 527.9 365.3 527.9 362V320H48.1V362C48.1 365.3 50.8 368 54.1 368zM521.9 16H54.1C50.8 16 48.1 18.7 48.1 22V192H527.9V22C527.9 18.7 525.1999999999999 16 521.9 16zM192 116V76C192 69.4 186.6 64 180 64H108C101.4 64 96 69.4 96 76V116C96 122.6 101.4 128 108 128H180C186.6 128 192 122.6 192 116zM384 116V76C384 69.4 378.6 64 372 64H236C229.4 64 224 69.4 224 76V116C224 122.6 229.4 128 236 128H372C378.6 128 384 122.6 384 116z" />
|
||||
<glyph glyph-name="dot-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 272C211.817 272 176 236.183 176 192S211.817 112 256 112S336 147.817 336 192S300.183 272 256 272z" />
|
||||
<glyph glyph-name="edit"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M402.3 103.1L434.3 135.1C439.3 140.1 448 136.6 448 129.4V-16C448 -42.5 426.5 -64 400 -64H48C21.5 -64 0 -42.5 0 -16V336C0 362.5 21.5 384 48 384H321.5C328.6 384 332.2 375.4 327.2 370.3L295.2 338.3C293.7 336.8 291.7 336 289.5 336H48V-16H400V97.5C400 99.6 400.8 101.6 402.3 103.1zM558.9 304.9000000000001L296.3 42.3L205.9 32.3C179.7 29.4 157.4 51.5 160.3 77.9L170.3 168.3000000000001L432.9 430.9C455.8 453.8 492.8 453.8 515.6 430.9L558.8000000000001 387.7C581.7 364.8 581.7 327.7 558.9000000000001 304.9zM460.1 274L402 332.1L216.2 146.2L208.9 80.9L274.2 88.2L460.1 274zM524.9 353.7L481.7 396.9C477.6 401 470.9 401 466.9 396.9L436 366L494.1 307.9L525 338.8C529 343 529 349.6 524.9 353.7000000000001z" />
|
||||
<glyph glyph-name="envelope-open"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M494.586 283.4840000000001C489.889 287.367 382.863 373.4340000000001 359.3350000000001 392.141C337.231 409.809 299.437 448 256 448C212.795 448 175.364 410.283 152.665 392.141C128.202 372.6910000000001 21.595 286.9460000000001 17.515 283.592A48.004000000000005 48.004000000000005 0 0 1 0 246.515V-16C0 -42.51 21.49 -64 48 -64H464C490.51 -64 512 -42.51 512 -16V246.491A48 48 0 0 1 494.586 283.4840000000001zM464 -10A6 6 0 0 0 458 -16H54A6 6 0 0 0 48 -10V243.653C48 245.466 48.816 247.179 50.226 248.318C66.096 261.132 159.019 335.872 182.59 354.611C200.755 369.12 232.398 400 256 400C279.693 400 311.857 368.631 329.41 354.611C352.983 335.87 445.913 261.118 461.776 248.295A5.99 5.99 0 0 0 463.9999999999999 243.632V-10zM432.009 177.704C436.2580000000001 172.545 435.474 164.909 430.264 160.723C401.289 137.44 370.99 113.126 359.3350000000001 103.86C336.636 85.717 299.205 48 256 48C212.548 48 174.713 86.237 152.665 103.86C141.386 112.827 110.921 137.273 81.738 160.725C76.528 164.912 75.745 172.547 79.993 177.706L95.251 196.234C99.429 201.307 106.908 202.077 112.03 197.96C140.648 174.959 170.596 150.925 182.59 141.389C200.143 127.369 232.307 96 256 96C279.602 96 311.246 126.88 329.41 141.389C341.404 150.924 371.354 174.959 399.973 197.957C405.095 202.073 412.574 201.303 416.751 196.23L432.009 177.704z" />
|
||||
<glyph glyph-name="envelope"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM464 336V295.195C441.578 276.936 405.832 248.544 329.413 188.705C312.572 175.458 279.212 143.633 256 144.004C232.792 143.629 199.421 175.463 182.587 188.705C106.18 248.535 70.425 276.933 48 295.195V336H464zM48 48V233.602C70.914 215.351 103.409 189.74 152.938 150.956C174.795 133.751 213.072 95.77 256 96.001C298.717 95.77 336.509 133.2000000000001 359.053 150.948C408.581 189.7310000000001 441.085 215.3490000000001 464 233.6010000000001V48H48z" />
|
||||
<glyph glyph-name="eye-slash"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M272.702 88.861C192.219 97.872 136.49 175.747 155.772 255.903L272.702 88.861zM288 56C185.444 56 95.908 110.701 48 192C69.755 228.917 100.1 260.342 136.344 283.658L108.803 323.0010000000001C67.001 295.766 31.921 259.259 6.646 216.369A47.999 47.999 0 0 1 6.646 167.63C63.004 71.994 168.14 8 288 8A332.89 332.89 0 0 1 327.648 10.367L295.627 56.111A284.16 284.16 0 0 0 288 56zM569.354 167.631C536.1220000000001 111.237 485.933 65.889 425.8000000000001 38.139L473.9160000000001 -30.601C477.717 -36.03 476.3960000000001 -43.513 470.967 -47.313L450.23 -61.83C444.8010000000001 -65.631 437.3180000000001 -64.3099999999999 433.5180000000001 -58.881L102.084 414.601C98.283 420.03 99.604 427.513 105.033 431.313L125.77 445.83C131.199 449.631 138.682 448.31 142.482 442.881L198.008 363.556C226.612 371.657 256.808 376 288 376C407.86 376 512.996 312.006 569.354 216.369A48.00200000000001 48.00200000000001 0 0 0 569.354 167.631zM528 192C483.843 266.933 404.323 319.27 311.838 327.007C302.042 316.9220000000001 296 303.17 296 288C296 257.072 321.072 232 352 232S408 257.072 408 288L407.999 288.0420000000001C438.6310000000001 230.765 424.738 157.7820000000001 371.0710000000001 116.323L397.766 78.188C452.626 101.449 498.308 141.614 528 192z" />
|
||||
<glyph glyph-name="file-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M288 200V172C288 165.4 282.6 160 276 160H108C101.4 160 96 165.4 96 172V200C96 206.6 101.4 212 108 212H276C282.6 212 288 206.6 288 200zM276 128H108C101.4 128 96 122.6 96 116V88C96 81.4 101.4 76 108 76H276C282.6 76 288 81.4 288 88V116C288 122.6 282.6 128 276 128zM384 316.1V-16C384 -42.5 362.5 -64 336 -64H48C21.5 -64 0 -42.5 0 -16V400C0 426.5 21.5 448 48 448H252.1C264.8 448 277 442.9 286 433.9L369.9 350C378.9 341.1 384 328.8 384 316.1zM256 396.1V320H332.1L256 396.1zM336 -16V272H232C218.7 272 208 282.7 208 296V400H48V-16H336z" />
|
||||
<glyph glyph-name="file-archive"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM256 396.118L332.118 320H256V396.118zM336 -16H48V400H127.714V384H159.714V400H208V296C208 282.745 218.745 272 232 272H336V-16zM192.27 352H160.27V384H192.27V352zM160.27 352V320H128.27V352H160.27zM160.27 288V256H128.27V288H160.27zM192.27 288H160.27V320H192.27V288zM194.179 182.322A12 12 0 0 1 182.406 192H160.27V224H128.27V192L108.58 94.894C101.989 62.389 126.834 32 160 32C193.052 32 217.871 62.192 211.476 94.62L194.179 182.322zM160.27 57.927C142.352 57.927 127.826 70.032 127.826 84.963C127.826 99.895 142.351 111.999 160.27 111.999S192.714 99.894 192.714 84.963C192.714 70.032 178.188 57.927 160.27 57.927zM192.27 224H160.27V256H192.27V224z" />
|
||||
<glyph glyph-name="file-audio"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM192 60.024C192 49.333 179.074 43.979 171.515 51.539L136 87.514H108C101.373 87.514 96 92.887 96 99.514V155.514C96 162.141 101.373 167.514 108 167.514H136L171.515 204.461C179.075 212.021 192 206.667 192 195.976V60.024zM233.201 107.154C242.252 116.451 242.261 131.287 233.202 140.593C211.053 163.345 245.437 196.839 267.597 174.074C294.795 146.134 294.809 101.63 267.598 73.673C245.805 51.287 210.651 83.988 233.201 107.154z" />
|
||||
<glyph glyph-name="file-code"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM149.677 99.115L116.854 128L149.676 156.885A8.793 8.793 0 0 1 150.281 169.509L132.878 188.073C129.494 191.686 123.914 191.735 120.44 188.4740000000001L62.78 134.42C59.077 130.946 59.076 125.053 62.781 121.5800000000001L120.44 67.525A8.738 8.738 0 0 1 126.452 65.1440000000001A8.746 8.746 0 0 1 132.879 67.9260000000001L150.282 86.489A8.795 8.795 0 0 1 149.677 99.115zM233.961 226.965L209.56 234.049A8.796 8.796 0 0 1 198.655 228.051L144.04 39.939C142.687 35.279 145.378 30.387 150.038 29.0340000000001L174.441 21.95C179.121 20.595 183.998 23.304 185.346 27.948L239.958 216.06C241.312 220.72 238.621 225.612 233.961 226.9650000000001zM321.219 134.42L263.561 188.475C260.035 191.7820000000001 254.462 191.6400000000001 251.122 188.074L233.719 169.511A8.795 8.795 0 0 1 234.324 156.886L267.146 128L234.324 99.115A8.793 8.793 0 0 1 233.719 86.491L251.122 67.927A8.797 8.797 0 0 1 263.5610000000001 67.526H263.5600000000001L321.2200000000001 121.581C324.923 125.054 324.923 130.947 321.2190000000001 134.42z" />
|
||||
<glyph glyph-name="file-excel"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM260 224H231.2C226.8 224 222.8 221.6 220.7 217.7C202.7 184.6 198.5 175.3 192.1 160C178.2 189.1 185.2 177.3 163.5 217.7C161.4 221.6 157.3 224 152.9 224H124C114.7 224 109 214 113.6 206L159.9 128L113.6 50C108.9 42 114.7 32 124 32H152.9C157.3 32 161.3 34.4 163.4 38.3C185.1 78.3 186.4 83.3 192 96C206.9 65.8 197.9 80.1 220.6 38.3C222.7 34.4 226.8 32 231.2 32H260C269.3 32 275 42 270.4 50L224 128C224.7 129.1 254.3 178.5 270.3 206C275 214 269.2 224 260 224z" />
|
||||
<glyph glyph-name="file-image"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM80 32H304V160L280.5 183.5C275.8 188.2 268.2 188.2 263.5 183.5L176 96L136.5 135.5C131.8 140.2 124.2 140.2 119.5 135.5L80 96V32zM128 272C101.5 272 80 250.5 80 224S101.5 176 128 176S176 197.5 176 224S154.5 272 128 272z" />
|
||||
<glyph glyph-name="file-pdf"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM298.2 127.7C286 139.7 251.2 136.4 233.8 134.2C216.6 144.7 205.1 159.2 197 180.5C200.9 196.6 207.1 221.1 202.4 236.5C198.2 262.7 164.6 260.1 159.8 242.4C155.4 226.3 159.4 203.9 166.8 175.3C156.8 151.4 141.9 119.3 131.4 100.9C111.4 90.6 84.4 74.7 80.4 54.7C77.1 38.9 106.4 -0.5 156.5 85.9C178.9 93.3 203.3 102.4 224.9 106C243.8 95.8 265.9 89 280.7 89C306.2 89 308.7 117.2 298.2 127.7zM100.1 49.9C105.2 63.6 124.6 79.4 130.5 84.9C111.5 54.6 100.1 49.2 100.1 49.9zM181.7 240.5C189.1 240.5 188.4 208.4 183.5 199.7C179.1 213.6 179.2 240.5 181.7 240.5zM157.3 103.9C167 120.8 175.3 140.9 182 158.6C190.3 143.5 200.9 131.4 212.1 123.1C191.3 118.8 173.2 109.9999999999999 157.3 103.9zM288.9 108.9S283.9 102.9 251.6 116.7C286.7 119.3 292.5 111.3 288.9 108.9z" />
|
||||
<glyph glyph-name="file-powerpoint"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM120 44V212C120 218.6 125.4 224 132 224H201.2C237.9 224 264 197 264 157.7C264 83.4 195.3 91.2 168.5 91.2V44C168.5 37.4 163.1 32 156.5 32H132C125.4 32 120 37.4 120 44zM168.5 131.4H191.5C199.4 131.4 205.4 133.8 209.6 138.6C218.1 148.4 218 167.1 209.7 176.4C205.6 181 199.8 183.4 192.3 183.4H168.4V131.4z" />
|
||||
<glyph glyph-name="file-video"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.941 350.059L286.059 433.9410000000001A48 48 0 0 1 252.118 448H48C21.49 448 0 426.51 0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V316.118A48 48 0 0 1 369.941 350.059zM332.118 320H256V396.118L332.118 320zM48 -16V400H208V296C208 282.745 218.745 272 232 272H336V-16H48zM276.687 195.303L224 142.626V180C224 191.046 215.046 200 204 200H100C88.954 200 80 191.046 80 180V76C80 64.954 88.954 56 100 56H204C215.046 56 224 64.954 224 76V113.374L276.687 60.7000000000001C286.704 50.682 304 57.72 304 72.014V183.989C304 198.3 286.691 205.308 276.687 195.303z" />
|
||||
<glyph glyph-name="file-word"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48zM268.1 192C262.4000000000001 192 257.5 188 256.4000000000001 182.5C235.8000000000001 84.8 236.0000000000001 87.1 235.4000000000001 79C235.2000000000001 80.2 235.0000000000001 81.6 234.7000000000001 83.3C233.9000000000001 88.4 235.0000000000001 83.1 211.1000000000001 182.8C209.8000000000001 188.2 205.0000000000001 192 199.4000000000001 192H186.1000000000001C180.6000000000001 192 175.8000000000001 188.2 174.4000000000001 182.9C150.0000000000001 83.9 150.4000000000001 86.7 149.6000000000001 79.2C149.5000000000001 80.3 149.4000000000001 81.7 149.1000000000001 83.4C148.4000000000001 88.6 135.0000000000001 156.7 130.0000000000001 182.4C128.9000000000001 188 124.0000000000001 192.1 118.2000000000001 192.1H101.4000000000001C93.6000000000001 192.1 87.9000000000001 184.8 89.7000000000001 177.3C97.7000000000001 144.6999999999999 116.4000000000001 67.8 122.9000000000001 41.3C124.2000000000001 35.9 129.0000000000001 32.1999999999999 134.6000000000001 32.1999999999999H159.8000000000001C165.3000000000001 32.1999999999999 170.1000000000001 35.8999999999999 171.4 41.3L189.3000000000001 112.6999999999999C190.8000000000001 118.8999999999999 191.8000000000001 124.6999999999999 192.3000000000001 130L195.2000000000001 112.6999999999999C195.3000000000001 112.3 207.8000000000001 62.1999999999999 213.1000000000001 41.3C214.4000000000001 35.9999999999999 219.2000000000001 32.1999999999999 224.7000000000001 32.1999999999999H249.4000000000001C254.9000000000001 32.1999999999999 259.7000000000001 35.8999999999999 261.0000000000001 41.3C281.8000000000001 123.1999999999999 291.2000000000001 160.3 295.5000000000001 177.3C297.4000000000001 184.9 291.7000000000001 192.2 283.9000000000001 192.2H268.1z" />
|
||||
<glyph glyph-name="file"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M369.9 350.1L286 434C277 443 264.8 448.1 252.1 448.1H48C21.5 448 0 426.5 0 400V-16C0 -42.5 21.5 -64 48 -64H336C362.5 -64 384 -42.5 384 -16V316.1C384 328.8 378.9 341.1 369.9 350.1zM332.1 320H256V396.1L332.1 320zM48 -16V400H208V296C208 282.7 218.7 272 232 272H336V-16H48z" />
|
||||
<glyph glyph-name="flag"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M336.174 368C287.042 368 242.869 400 174.261 400C142.96 400 115.958 393.5180000000001 93.54 384.832A48.04 48.04 0 0 1 95.682 405.559C93.067 428.425 74.167 446.406 51.201 447.896C23.242 449.71 0 427.569 0 400C0 382.236 9.657 366.738 24 358.438V-48C24 -56.837 31.163 -64 40 -64H56C64.837 -64 72 -56.837 72 -48V35.443C109.869 52.72 143.259 64 199.826 64C248.958 64 293.131 32 361.7390000000001 32C420.218 32 463.711 54.617 490.287 71.981C503.846 80.839 512 95.949 512 112.145V352.063C512 386.522 476.736 409.831 445.096 396.18C409.193 380.6910000000001 371.641 368 336.174 368zM464 112C442.217 96.588 403.176 80 361.7390000000001 80C301.7940000000001 80 259.737 112 199.826 112C156.465 112 103.447 102.597 72 88V320C93.784 335.4120000000001 132.824 352 174.261 352C234.206 352 276.2630000000001 320 336.1740000000001 320C379.4450000000001 320 432.4940000000001 337.366 464 352V112z" />
|
||||
<glyph glyph-name="folder-open"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M527.943 224H480V272C480 298.51 458.51 320 432 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H448A48.001 48.001 0 0 1 488.704 22.56L568.646 150.56C588.5939999999999 182.477 565.608 224 527.943 224zM54 336H188.118L252.118 272H426A6 6 0 0 0 432 266V224H152A48 48 0 0 1 110.902 200.798L48 96.551V330.007A5.993 5.993 0 0 0 54 336zM448 48H72L149.234 176H528L448 48z" />
|
||||
<glyph glyph-name="folder"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 320H272L208 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V272C512 298.51 490.51 320 464 320zM458 48H54C50.686 48 48 50.678 48 53.992V330.008A5.993 5.993 0 0 0 54 336H188.118L252.118 272H458A6 6 0 0 0 464 266V54A6 6 0 0 0 458 48z" />
|
||||
<glyph glyph-name="frown"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM320 304C310.465 304 301.488 301.6140000000001 293.63 297.411H293.647C306.382 297.411 316.706 287.087 316.706 274.352C316.706 261.617 306.382 251.293 293.647 251.293S270.588 261.617 270.588 274.352V274.3690000000001C266.386 266.512 264 257.535 264 248C264 217.072 289.072 192 320 192S376 217.072 376 248S350.928 304 320 304zM192 304C182.465 304 173.488 301.6140000000001 165.63 297.411H165.647C178.382 297.411 188.706 287.087 188.706 274.352C188.706 261.617 178.382 251.293 165.647 251.293C152.912 251.293 142.588 261.617 142.588 274.352V274.3690000000001C138.386 266.512 136 257.535 136 248C136 217.072 161.072 192 192 192S248 217.072 248 248S222.928 304 192 304zM363.5470000000001 102.218C306.952 179.182 205.164 179.283 148.4900000000001 102.2189999999999C129.6700000000001 76.6259999999999 168.3480000000001 48.2009999999999 187.16 73.781C224.671 124.791 287.5250000000001 124.577 324.8770000000001 73.7819999999999C343.3860000000001 48.6099999999999 382.6980000000001 76.1769999999999 363.5470000000001 102.2179999999999z" />
|
||||
<glyph glyph-name="futbol"
|
||||
unicode=""
|
||||
horiz-adv-x="496" d=" M483.8 268.6C449.8 373.4 352.6 440 248.1 440C222.7 440 196.9 436.1 171.4 427.8C41.2 385.5 -30.1 245.6 12.2 115.4C46.2 10.6 143.4 -56 247.9 -56C273.3 -56 299.1 -52.1 324.6 -43.8C454.8 -1.5 526.1 138.4 483.8 268.6zM409.3 74.9L357.1 68.5L313.4000000000001 129.4L337.8 204.6L408.9 226.7L447.8 190.3C447.6 159.6 440.4 129.1999999999999 426.1 101.1C421.4 91.8 415.4 83.3 409.3 74.9zM409.3 310.3L398.9000000000001 257.2L328.2000000000001 235.2L264.0000000000001 281.7V355.5L311.4000000000001 381.7C350.6 368.7 384.8000000000001 343.7 409.3000000000001 310.3zM184.9 381.6L232 355.5V281.7L167.8 235.2L97.2 257.2L87.1 309.7C111.4 343.1 145 368.3 184.9 381.6zM139 68.5L85.9 75C71.5 95.1 48.6 134.6 48.1 190.3L87.1 226.7L158.2 204.5L182.5 130.2000000000001L139 68.5000000000001zM187.2 1.5L164.8 49.6L208.4 111.3H287L331.3 49.6L308.9000000000001 1.5C302.7000000000001 -0.3 251.3000000000001 -18.9 187.2000000000001 1.5z" />
|
||||
<glyph glyph-name="gem"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M464 448H112C108 448 104.2 446 102 442.6L2 295.4C-0.9 291 -0.6 285.2000000000001 2.7 281.2000000000001L278.7 -59.6C283.5 -65.5 292.5 -65.5 297.3 -59.6L573.3 281.2C576.5999999999999 285.3 576.9 291 574 295.4L474.1 442.6C471.8 446 468.1 448 464 448zM444.7 400L508 304H439.6L387.9000000000001 400H444.7000000000001zM242.6 400H333.3L385 304H191L242.6 400zM131.3 400H188.1L136.4 304H68L131.3 400zM88.3 256H139.7L208 96L88.3 256zM191.2 256H384.8L288 12.7L191.2 256zM368 96L436.2 256H487.6L368 96z" />
|
||||
<glyph glyph-name="hand-lizard"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M556.686 157.458L410.328 383.171C397.001 403.728 374.417 416 349.917 416H56C25.121 416 0 390.878 0 360V352C0 307.8880000000001 35.888 272 80 272H276.0420000000001L257.7090000000001 224H144C95.477 224 56 184.523 56 136C56 105.121 81.121 80 112 80H243.552C246.539 80 249.466 79.451 252.249 78.369L352 39.582V-32H576V92.171C576 115.396 569.321 137.972 556.686 157.458zM528 16H400V39.582C400 59.53 387.986 77.09 369.396 84.318L269.645 123.106A71.733 71.733 0 0 1 243.552 128H112C107.589 128 104 131.589 104 136C104 158.056 121.944 176 144 176H257.709C277.476 176 295.495 188.407 302.549 206.873L327.101 271.154C336.097 294.707 318.673 320 293.471 320H80C62.355 320 48 334.355 48 352V360C48 364.411 51.589 368 56 368H349.917C358.083 368 365.61 363.91 370.054 357.058L516.412 131.343A71.84 71.84 0 0 0 528 92.171V16z" />
|
||||
<glyph glyph-name="hand-paper"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M372.57 335.359V346.184C372.57 389.796 332.05 422.875 289.531 411.73C263.902 461.23 195.441 459.18 171.549 410.983C130.269 421.544 89.144 390.055 89.144 346V219.87C69.191 227.297 45.836 224.938 27.061 210.999C-2.294 189.203 -8.733 147.666 12.511 117.846L132.48 -50.569A32 32 0 0 1 158.542 -64.001H381.439C396.343 -64.001 409.274 -53.712 412.621 -39.188L442.805 91.77A203.637 203.637 0 0 1 448 137.436V269C448 309.62 412.477 340.992 372.57 335.359zM399.997 137.437C399.997 125.706 398.663 113.968 396.0320000000001 102.551L368.707 -16H166.787L51.591 145.697C37.152 165.967 66.614 188.473 80.985 168.302L108.113 130.223C117.108 117.597 137.144 123.936 137.144 139.506V346C137.144 371.645 173.715 370.81 173.715 345.309V192C173.715 183.163 180.878 176 189.715 176H196.571C205.408 176 212.571 183.163 212.571 192V381C212.571 406.663 249.142 405.81 249.142 380.309V192C249.142 183.163 256.305 176 265.142 176H271.998C280.835 176 287.998 183.163 287.998 192V346.875C287.998 372.5470000000001 324.568 371.685 324.568 346.184V192C324.568 183.163 331.731 176 340.568 176H347.425C356.262 176 363.425 183.163 363.425 192V268.309C363.425 294.551 399.995 293.949 399.995 269V137.437z" />
|
||||
<glyph glyph-name="hand-peace"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M362.146 256.024C348.4360000000001 277.673 323.385 290.04 297.14 286.365V374C297.14 414.804 264.329 448 223.999 448C183.669 448 150.859 414.804 150.859 374L160 280L141.321 358.85C126.578 397.157 83.85 415.89 46.209 400.7920000000001C8.735 385.762 -9.571 343.0370000000001 5.008 305.15L60.765 160.223C30.208 135.267 16.771 102.414 36.032 68.005L90.885 -29.994C102.625 -50.97 124.73 -64 148.575 -64H354.277C385.021 -64 411.835 -42.56 418.832 -12.203L446.259 106.7960000000001A67.801 67.801 0 0 1 447.988 121.999L448 192C448 236.956 404.737 269.343 362.146 256.024zM399.987 122C399.987 120.512 399.8180000000001 119.023 399.485 117.577L372.058 -1.424C370.08 -10.006 362.768 -16 354.276 -16H148.575C142.089 -16 136.033 -12.379 132.77 -6.551L77.916 91.449C73.359 99.59 75.297 110.117 82.424 115.937L109.071 137.701A16 16 0 0 1 113.883 155.84L49.793 322.389C37.226 355.044 84.37 373.163 96.51 341.611L156.294 186.254A16 16 0 0 1 171.227 176H182.859C191.696 176 198.859 183.163 198.859 192V374C198.859 408.375 249.14 408.43 249.14 374V192C249.14 183.163 256.303 176 265.14 176H271.996C280.833 176 287.996 183.163 287.996 192V220C287.996 245.122 324.563 245.159 324.563 220V192C324.563 183.163 331.726 176 340.563 176H347.419C356.256 176 363.419 183.163 363.419 192C363.419 217.12 399.986 217.16 399.986 192V122z" />
|
||||
<glyph glyph-name="hand-point-down"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M188.8 -64C234.416 -64 272 -26.235 272 19.2V54.847A93.148 93.148 0 0 1 294.064 62.776C316.0700000000001 60.269 339.0420000000001 66.2789999999999 356.855 78.761C409.342 79.9 448 116.159 448 178.701V200C448 260.063 408 298.512 408 327.2V329.879C412.952 335.626 416 343.415 416 351.999V416C416 433.673 403.106 448 387.2 448H156.8C140.894 448 128 433.673 128 416V352C128 343.416 131.048 335.627 136 329.88V327.201C136 320.237 129.807 312.339 112.332 297.0180000000001L112.184 296.889L112.038 296.7580000000001C102.101 287.9020000000001 91.197 278.642 78.785 270.9070000000001C48.537 252.202 0 240.514 0 195.2C0 138.272 35.286 103.2 83.2 103.2C91.226 103.2 98.689 104.014 105.6 105.376V19.2C105.6 -25.899 143.701 -64 188.8 -64zM188.8 -16C170.1 -16 153.6 0.775 153.6 19.2V177.6C136.275 177.6 118.4 151.2000000000001 83.2 151.2000000000001C56.8 151.2000000000001 48 171.8250000000001 48 195.2000000000001C48 203.9940000000001 80.712 215.6450000000001 104.1 230.1260000000001C118.675 239.2000000000001 131.325 249.6500000000001 143.975 260.9250000000001C162.349 277.0340000000001 180.608 294.761 183.571 320.0000000000001H360.3230000000001C364.087 277.2100000000001 400 245.491 400 200V178.701C400 138.177 377.803 121.577 338.675 128.1C330.6740000000001 113.488 304.6960000000001 103.949 285.05 115.175C266.825 95.81 238.669 97.388 224 110.225V19.2C224 0.225 207.775 -16 188.8 -16zM328 384C328 397.255 338.745 408 352 408S376 397.255 376 384S365.255 360 352 360S328 370.745 328 384z" />
|
||||
<glyph glyph-name="hand-point-left"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M0 227.2C0 181.584 37.765 144 83.2 144H118.847A93.148 93.148 0 0 1 126.776 121.936C124.269 99.93 130.279 76.958 142.761 59.145C143.9 6.658 180.159 -32 242.701 -32H264C324.063 -32 362.512 8 391.2 8H393.879C399.626 3.048 407.415 0 415.999 0H479.999C497.672 0 511.999 12.894 511.999 28.8V259.2C511.999 275.106 497.672 288 479.999 288H415.999C407.415 288 399.626 284.952 393.879 280H391.2C384.236 280 376.338 286.193 361.017 303.668L360.888 303.8160000000001L360.757 303.962C351.901 313.899 342.641 324.803 334.906 337.215C316.202 367.463 304.514 416 259.2 416C202.272 416 167.2 380.714 167.2 332.8C167.2 324.774 168.014 317.3110000000001 169.376 310.4H83.2C38.101 310.4 0 272.299 0 227.2zM48 227.2C48 245.9 64.775 262.4 83.2 262.4H241.6C241.6 279.725 215.2 297.6 215.2 332.8C215.2 359.2 235.825 368 259.2000000000001 368C267.9940000000001 368 279.6450000000001 335.288 294.1260000000001 311.9C303.2000000000001 297.325 313.6500000000001 284.675 324.925 272.025C341.034 253.651 358.761 235.392 384 232.429V55.677C341.21 51.913 309.491 16 264 16H242.701C202.177 16 185.577 38.197 192.1 77.325C177.488 85.326 167.949 111.304 179.175 130.95C159.81 149.175 161.388 177.331 174.225 192H83.2C64.225 192 48 208.225 48 227.2zM448 88C461.255 88 472 77.255 472 64S461.255 40 448 40S424 50.745 424 64S434.745 88 448 88z" />
|
||||
<glyph glyph-name="hand-point-right"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M428.8 310.4H342.623A115.52 115.52 0 0 1 344.799 332.8C344.799 380.714 309.727 416 252.799 416C207.485 416 195.797 367.463 177.092 337.216C169.357 324.803 160.098 313.899 151.241 303.963L151.11 303.817L150.981 303.6690000000001C135.662 286.193 127.764 280 120.8 280H118.121C112.374 284.952 104.585 288 96.001 288H32C14.327 288 0 275.106 0 259.2V28.8C0 12.894 14.327 0 32 0H96C104.584 0 112.373 3.048 118.12 8H120.799C149.487 8 187.936 -32 247.999 -32H269.298C331.8400000000001 -32 368.098 6.658 369.238 59.145C381.7200000000001 76.958 387.729 99.93 385.223 121.936A93.148 93.148 0 0 1 393.152 144H428.8C474.235 144 512 181.584 512 227.2C512 272.299 473.899 310.4 428.8 310.4zM428.8 192H337.774C350.611 177.331 352.189 149.175 332.824 130.95C344.051 111.304 334.511 85.326 319.899 77.325C326.423 38.197 309.823 16 269.299 16H248C202.509 16 170.79 51.913 128 55.676V232.429C153.239 235.393 170.966 253.651 187.075 272.025C198.35 284.675 208.8 297.3250000000001 217.874 311.9C232.355 335.288 244.006 368 252.8 368C276.175 368 296.8 359.2 296.8 332.8C296.8 297.6 270.4000000000001 279.725 270.4000000000001 262.4H428.8000000000001C447.2250000000001 262.4 464.0000000000001 245.9 464.0000000000001 227.2C464.0000000000001 208.225 447.7750000000001 192 428.8000000000001 192zM88 64C88 50.745 77.255 40 64 40S40 50.745 40 64S50.745 88 64 88S88 77.255 88 64z" />
|
||||
<glyph glyph-name="hand-point-up"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M105.6 364.8V278.623A115.52 115.52 0 0 1 83.2 280.799C35.286 280.799 0 245.727 0 188.799C0 143.485 48.537 131.797 78.784 113.092C91.197 105.357 102.101 96.098 112.037 87.241L112.183 87.11L112.331 86.981C129.807 71.662 136 63.764 136 56.8V54.121C131.048 48.374 128 40.585 128 32.001V-31.999C128 -49.672 140.894 -63.999 156.8 -63.999H387.2000000000001C403.1060000000001 -63.999 416.0000000000001 -49.672 416.0000000000001 -31.999V32.001C416.0000000000001 40.585 412.9520000000001 48.374 408.0000000000001 54.121V56.8C408.0000000000001 85.488 448.0000000000001 123.937 448.0000000000001 184V205.299C448.0000000000001 267.841 409.3420000000001 304.099 356.8550000000001 305.2390000000001C339.0420000000001 317.721 316.0700000000001 323.73 294.0640000000001 321.224A93.148 93.148 0 0 1 272 329.153V364.8C272 410.235 234.416 448 188.8 448C143.701 448 105.6 409.899 105.6 364.8zM224 364.8V273.774C238.669 286.611 266.825 288.189 285.05 268.824C304.6960000000001 280.0510000000001 330.6740000000001 270.511 338.675 255.899C377.803 262.423 400 245.823 400 205.299V184C400 138.509 364.087 106.79 360.324 64H183.571C180.607 89.239 162.349 106.966 143.975 123.075C131.325 134.35 118.675 144.8 104.1 153.874C80.712 168.355 48 180.006 48 188.8C48 212.175 56.8 232.8 83.2 232.8C118.4 232.8 136.275 206.4 153.6 206.4V364.8C153.6 383.225 170.1 400 188.8 400C207.775 400 224 383.775 224 364.8zM352 24C365.255 24 376 13.255 376 0S365.255 -24 352 -24S328 -13.255 328 0S338.745 24 352 24z" />
|
||||
<glyph glyph-name="hand-pointer"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M358.182 268.639C338.689 293.4070000000001 305.5030000000001 300.584 278.31 287.737C263.183 303.4240000000001 242.128 310.2240000000001 221.715 307.366V381C221.715 417.944 191.979 448 155.429 448S89.143 417.944 89.143 381V219.871C69.234 227.281 45.871 224.965 27.06 210.999C-2.295 189.204 -8.733 147.6660000000001 12.51 117.847L122.209 -36.154C134.632 -53.59 154.741 -64 176 -64H354.286C385.088 -64 411.86 -42.5 418.843 -12.203L446.272 106.7960000000001A67.873 67.873 0 0 1 448 122V206C448 252.844 401.375 285.273 358.182 268.639zM80.985 168.303L108.111 130.224C117.106 117.598 137.142 123.937 137.142 139.507V381C137.142 406.12 173.713 406.16 173.713 381V206C173.713 197.164 180.876 190 189.713 190H196.57C205.407 190 212.57 197.164 212.57 206V241C212.57 266.12 249.141 266.16 249.141 241V206C249.141 197.164 256.304 190 265.141 190H272C280.837 190 288 197.164 288 206V227C288 252.12 324.5710000000001 252.16 324.5710000000001 227V206C324.5710000000001 197.164 331.7340000000001 190 340.5710000000001 190H347.4280000000001C356.2650000000001 190 363.4280000000001 197.164 363.4280000000001 206C363.4280000000001 231.121 399.999 231.16 399.999 206V122C399.999 120.512 399.8300000000001 119.023 399.497 117.577L372.067 -1.424C370.089 -10.006 362.777 -16 354.2850000000001 -16H176C170.231 -16 164.737 -13.122 161.303 -8.303L51.591 145.697C37.185 165.92 66.585 188.515 80.985 168.303zM176.143 48V144C176.143 152.837 182.411 160 190.143 160H196.143C203.875 160 210.143 152.837 210.143 144V48C210.143 39.163 203.875 32 196.143 32H190.143C182.41 32 176.143 39.163 176.143 48zM251.571 48V144C251.571 152.837 257.839 160 265.5710000000001 160H271.5710000000001C279.3030000000001 160 285.5710000000001 152.837 285.5710000000001 144V48C285.5710000000001 39.163 279.3030000000001 32 271.5710000000001 32H265.5710000000001C257.839 32 251.5710000000001 39.163 251.5710000000001 48zM327 48V144C327 152.837 333.268 160 341 160H347C354.7320000000001 160 361 152.837 361 144V48C361 39.163 354.7320000000001 32 347 32H341C333.268 32 327 39.163 327 48z" />
|
||||
<glyph glyph-name="hand-rock"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M408.864 368.948C386.463 402.846 342.756 411.221 310.051 392.536C280.577 424.005 230.906 423.629 201.717 392.558C154.557 419.578 93.007 387.503 91.046 331.752C44.846 342.593 0 307.999 0 260.5710000000001V203.618C0 170.877 14.28 139.664 39.18 117.984L136.89 32.903C141.142 29.201 140 27.33 140 -1e-13C140 -17.6730000000001 154.327 -32.0000000000001 172 -32.0000000000001H424C441.673 -32.0000000000001 456 -17.6730000000001 456 -1e-13C456 23.5129999999999 454.985 30.745 459.982 42.37L502.817 142.026C508.911 156.203 512 171.198 512 186.5939999999999V301.0370000000001C512 353.876 457.686 389.699 408.8640000000001 368.948zM464 186.594A64.505 64.505 0 0 0 458.718 160.981L415.8830000000001 61.326C410.653 49.155 408.0000000000001 36.286 408.0000000000001 23.076V16H188V26.286C188 42.656 180.86 58.263 168.41 69.103L70.7 154.183C56.274 166.745 48 184.764 48 203.619V260.572C48 293.78 100 294.1090000000001 100 259.895V218.667A16 16 0 0 1 105.493 206.6L112.493 200.505A16 16 0 0 1 139 212.571V329.1430000000001C139 362.24 191 362.868 191 328.466V301.7150000000001C191 292.879 198.164 285.7150000000001 207 285.7150000000001H214C222.836 285.7150000000001 230 292.879 230 301.7150000000001V342.858C230 375.992 282 376.533 282 342.181V301.7150000000001C282 292.879 289.163 285.7150000000001 298 285.7150000000001H305C313.837 285.7150000000001 321 292.879 321 301.7150000000001V329.144C321 362.174 373 362.924 373 328.467V301.716C373 292.88 380.163 285.716 389 285.716H396C404.837 285.716 412 292.88 412 301.716C412 334.862 464 335.329 464 301.039V186.5940000000001z" />
|
||||
<glyph glyph-name="hand-scissors"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 -32L326 -31.987C331.114 -31.987 336.231 -31.404 341.203 -30.258L460.202 -2.831C490.56 4.165 512 30.98 512 61.723V267.425C512 291.27 498.97 313.376 477.995 325.115L379.996 379.968C345.587 399.2290000000001 312.733 385.7920000000001 287.778 355.235L142.85 410.992C104.963 425.5710000000001 62.238 407.265 47.208 369.791C32.11 332.149 50.843 289.421 89.15 274.679L168 256L74 265.141C33.196 265.141 0 232.33 0 192.001C0 151.671 33.196 118.86 74 118.86H161.635C157.96 92.615 170.327 67.563 191.976 53.8539999999999C178.657 11.263 211.044 -32 256 -32zM256 16.013C230.84 16.013 230.88 52.58 256 52.58C264.837 52.58 272 59.743 272 68.58V75.436C272 84.273 264.837 91.436 256 91.436H228C202.841 91.436 202.878 128.003 228 128.003H256C264.837 128.003 272 135.166 272 144.003V150.859C272 159.696 264.837 166.859 256 166.859H74C39.57 166.859 39.625 217.14 74 217.14H256C264.837 217.14 272 224.303 272 233.14V244.772A16 16 0 0 1 261.746 259.705L106.389 319.49C74.837 331.63 92.957 378.773 125.611 366.207L292.16 302.116A16.001 16.001 0 0 1 310.299 306.928L332.063 333.5750000000001C337.883 340.702 348.411 342.639 356.551 338.0830000000001L454.551 283.2290000000001C460.379 279.966 464 273.911 464 267.424V61.723C464 53.232 458.006 45.919 449.424 43.941L330.423 16.514A19.743 19.743 0 0 0 326 16.012H256z" />
|
||||
<glyph glyph-name="hand-spock"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M21.096 66.21L150.188 -55.303A32 32 0 0 1 172.12 -64.001H409.7200000000001C423.8900000000001 -64.001 436.3730000000001 -54.682 440.4000000000001 -41.097L472.215 66.216A115.955 115.955 0 0 1 477 99.189V136.028C477 140.079 477.476 144.132 478.414 148.073L510.144 281.4830000000001C520.243 323.8950000000001 487.828 364.221 444.6 364.0080000000001C440.456 388.8640000000001 422.057 411.1730000000001 394.75 418.0000000000001C358.947 426.9520000000001 322.523 405.3450000000001 313.5 369.25L296.599 264L274.924 395.99C266.638 432.06 230.621 454.562 194.62 446.286C165.004 439.4820000000001 144.482 413.897 142.738 384.991C100.101 384.16 69.283 344.428 78.667 303.147L109.707 166.639C82.513 189.154 42.423 186.631 18.225 160.917C-7.151 133.956 -5.873 91.592 21.096 66.21zM53.164 128.021L53.166 128.0219999999999C60.385 135.694 72.407 136.002 80.022 128.8349999999999L133.034 78.9409999999999C143.225 69.351 160 76.6 160 90.594V160.073C160 161.266 159.866 162.456 159.603 163.619L125.473 313.791C119.877 338.408 156.975 346.651 162.527 322.212L192.926 188.4549999999999A16 16 0 0 1 208.529 176.0009999999999H217.1330000000001C227.4090000000001 176.0009999999999 235.0270000000001 185.5679999999999 232.7270000000001 195.5839999999999L191.107 376.7369999999999C185.484 401.2059999999999 222.497 409.813 228.142 385.2449999999999L273.362 188.4169999999999A16 16 0 0 1 288.956 176H302.173A16 16 0 0 1 317.695 188.119L360.067 357.6090000000001C366.171 382.0310000000001 403.029 372.7680000000001 396.932 348.3920000000001L358.805 195.88C356.284 185.792 363.92 176 374.327 176H384.021A16 16 0 0 1 399.586 188.295L426.509 301.4C432.3300000000001 325.848 469.306 317.087 463.475 292.598L431.7200000000001 159.19A100.094 100.094 0 0 1 429 136.028V99.189C429 92.641 428.057 86.138 426.195 79.8610000000001L397.775 -16H178.465L53.978 101.164C46.349 108.344 45.984 120.393 53.164 128.021z" />
|
||||
<glyph glyph-name="handshake"
|
||||
unicode=""
|
||||
horiz-adv-x="640" d=" M616 352H568C560.893 352 554.51 348.909 550.116 344H526.59L495.46 380.3L495.3 380.48A103.974 103.974 0 0 1 417.03 416H370.48C352.73 416 335.58 411.06 320.79 401.99C304.33 411.07 285.67 416 266.62 416H234.51C205.607 416 176.911 404.781 155.31 383.2L116.12 344H89.884C85.49 348.909 79.107 352 72 352H24C10.745 352 0 341.255 0 328V88C0 74.745 10.745 64 24 64H72C82.449 64 91.334 70.68 94.629 80H113.43L188.78 12.43C214.322 -14.02 248.705 -32 285.36 -32C301.75 -32 317.64 -28.15 331.4600000000001 -21.07C356.396 -21.566 382.5610000000001 -10.702 400.5300000000001 10.34C420.2140000000001 15.919 438.033 27.766 451.25 44.9400000000001C472.239 49.3410000000001 491.978 61.4320000000001 504.67 80.0000000000001H545.371C548.6659999999999 70.6800000000001 557.5509999999999 64.0000000000001 568 64.0000000000001H616C629.255 64.0000000000001 640 74.7450000000001 640 88.0000000000001V328C640 341.255 629.255 352 616 352zM48 96C39.163 96 32 103.163 32 112S39.163 128 48 128S64 120.837 64 112S56.837 96 48 96zM460.52 101.76C445.17 87.465 423.636 90.432 420.57 93.76C421.984 80.378 402.313 52.717 371.49 54.88C365.949 36.357 343.272 21.054 320 29.13C311.11 20.24 297.54 16 285.36 16C260.4100000000001 16 237.59 30.54 222.22 46.91L140.92 119.8200000000001A31.975999999999996 31.975999999999996 0 0 1 119.56 128.0000000000001H96V296H122.75C131.23 296 139.37 299.37 145.37 305.37L189.25 349.25A64.004 64.004 0 0 0 234.51 368H266.62C272.42 368 278.13 367.21 283.62 365.7L240.35 315.2100000000001C216.79 287.73 216.51 247.59 239.69 219.77C272.078 180.904 331.068 180.542 364.17 217.79L390.1500000000001 247.87L462.59 152C476.03 137.4 473.54 113.87 460.52 101.76zM544 128H519.542C519.6460000000001 148.261 512.743 167.33 499.78 182.4L421.7 285.7200000000001C426.21 295.23 424.04 306.95 415.69 314.17C405.615 322.861 390.46 321.669 381.83 311.69L328.2 249.57C314.372 234.16 289.977 234.425 276.56 250.5A25.856999999999996 25.856999999999996 0 0 0 276.79 283.9700000000001L334.7100000000001 351.55A47.09 47.09 0 0 0 370.48 368H417.0300000000001C433.1400000000001 368 448.4700000000001 361.06 459.1 348.9600000000001L504.52 296H544V128zM592 96C583.163 96 576 103.163 576 112S583.163 128 592 128S608 120.837 608 112S600.837 96 592 96z" />
|
||||
<glyph glyph-name="hdd"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M567.403 212.358L462.323 363.411A48 48 0 0 1 422.919 384H153.081A48 48 0 0 1 113.677 363.411L8.597 212.358A48.001 48.001 0 0 1 0 184.946V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V184.946C576 194.747 573 204.312 567.403 212.358zM153.081 336H422.919L500.832 224H75.168L153.081 336zM528 48H48V176H528V48zM496 112C496 94.327 481.673 80 464 80S432 94.327 432 112S446.327 144 464 144S496 129.673 496 112zM400 112C400 94.327 385.673 80 368 80S336 94.327 336 112S350.327 144 368 144S400 129.673 400 112z" />
|
||||
<glyph glyph-name="heart"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M257.3 -27.4L92.5 134.4C85.4 141 24 199.9 24 273.2C24 363.9 80.8 424 176 424C217.4 424 256.6 401.2 288 374.2C319.3 401.2 358.6 424 400 424C491.7 424 552 367.5 552 273.2C552 221.2 520.2 169.7 483.9 134.5L483.5 134.1L318.7 -27.4A43.7 43.7 0 0 0 257.3 -27.4zM125.9 168.9L288 9.7L449.8 168.4C477.1 195.4 504 234.7 504 273.2C504 340.1 465.8 376 400 376C352.8 376 307.2 326.7 288 307.6C271 324.6 224 376 176 376C110.1 376 72 340.1 72 273.2C72 235.9 98.7 194.3 125.9 168.9z" />
|
||||
<glyph glyph-name="hospital"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M128 204V244C128 250.627 133.373 256 140 256H180C186.627 256 192 250.627 192 244V204C192 197.373 186.627 192 180 192H140C133.373 192 128 197.373 128 204zM268 192H308C314.627 192 320 197.373 320 204V244C320 250.627 314.627 256 308 256H268C261.373 256 256 250.627 256 244V204C256 197.373 261.373 192 268 192zM192 108V148C192 154.627 186.627 160 180 160H140C133.373 160 128 154.627 128 148V108C128 101.373 133.373 96 140 96H180C186.627 96 192 101.373 192 108zM268 96H308C314.627 96 320 101.373 320 108V148C320 154.627 314.627 160 308 160H268C261.373 160 256 154.627 256 148V108C256 101.373 261.373 96 268 96zM448 -28V-64H0V-28C0 -21.373 5.373 -16 12 -16H31.5V362.9650000000001C31.5 374.582 42.245 384 55.5 384H144V424C144 437.255 154.745 448 168 448H280C293.255 448 304 437.255 304 424V384H392.5C405.755 384 416.5 374.582 416.5 362.9650000000001V-16H436C442.627 -16 448 -21.373 448 -28zM79.5 -15H192V52C192 58.627 197.373 64 204 64H244C250.627 64 256 58.627 256 52V-15H368.5V336H304V312C304 298.745 293.255 288 280 288H168C154.745 288 144 298.745 144 312V336H79.5V-15zM266 384H240V410A6 6 0 0 1 234 416H214A6 6 0 0 1 208 410V384H182A6 6 0 0 1 176 378V358A6 6 0 0 1 182 352H208V326A6 6 0 0 1 214 320H234A6 6 0 0 1 240 326V352H266A6 6 0 0 1 272 358V378A6 6 0 0 1 266 384z" />
|
||||
<glyph glyph-name="hourglass"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M368 400H372C378.627 400 384 405.373 384 412V436C384 442.627 378.627 448 372 448H12C5.373 448 0 442.627 0 436V412C0 405.373 5.373 400 12 400H16C16 319.4360000000001 48.188 234.193 113.18 192C47.899 149.619 16 64.1 16 -16H12C5.373 -16 0 -21.373 0 -28V-52C0 -58.627 5.373 -64 12 -64H372C378.627 -64 384 -58.627 384 -52V-28C384 -21.373 378.627 -16 372 -16H368C368 64.564 335.812 149.807 270.82 192C336.102 234.381 368 319.9 368 400zM64 400H320C320 298.38 262.693 216 192 216S64 298.379 64 400zM320 -16H64C64 85.62 121.308 168 192 168S320 85.62 320 -16z" />
|
||||
<glyph glyph-name="id-badge"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M0 400V-16C0 -42.51 21.49 -64 48 -64H336C362.51 -64 384 -42.51 384 -16V400C384 426.51 362.51 448 336 448H48C21.49 448 0 426.51 0 400zM336 368V-10A6 6 0 0 0 330 -16H54A6 6 0 0 0 48 -10V368H336zM192 288C230.66 288 262 256.66 262 218S230.66 148 192 148S122 179.34 122 218S153.34 288 192 288zM272.187 141.953L240.987 149.753C208.208 126.176 168.477 131.437 143.013 149.753L111.813 141.953C93.116 137.279 80 120.48 80 101.207V85C80 73.402 89.402 64 101 64H283C294.598 64 304 73.402 304 85V101.207C304 120.48 290.884 137.279 272.187 141.953z" />
|
||||
<glyph glyph-name="id-card"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M404 192H300C293.373 192 288 197.373 288 204V220C288 226.627 293.373 232 300 232H404C410.627 232 416 226.627 416 220V204C416 197.373 410.627 192 404 192zM416 132V148C416 154.627 410.627 160 404 160H300C293.373 160 288 154.627 288 148V132C288 125.373 293.373 120 300 120H404C410.627 120 416 125.373 416 132zM512 336V48C512 21.49 490.51 0 464 0H48C21.49 0 0 21.49 0 48V336C0 362.51 21.49 384 48 384H464C490.51 384 512 362.51 512 336zM464 54V304H48V54A6 6 0 0 1 54 48H458A6 6 0 0 1 464 54zM176 256C203.614 256 226 233.614 226 206S203.614 156 176 156S126 178.386 126 206S148.386 256 176 256zM233.276 151.681L210.991 157.252C187.578 140.411 159.198 144.169 141.01 157.252L118.725 151.681C105.369 148.342 96 136.343 96 122.577V111C96 102.716 102.716 96 111 96H241C249.284 96 256 102.716 256 111V122.577C256 136.343 246.631 148.342 233.276 151.681z" />
|
||||
<glyph glyph-name="image"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H464C490.51 0 512 21.49 512 48V336C512 362.51 490.51 384 464 384zM458 48H54A6 6 0 0 0 48 54V330A6 6 0 0 0 54 336H458A6 6 0 0 0 464 330V54A6 6 0 0 0 458 48zM128 296C105.909 296 88 278.091 88 256S105.909 216 128 216S168 233.909 168 256S150.091 296 128 296zM96 96H416V176L328.485 263.515C323.7990000000001 268.201 316.201 268.201 311.514 263.515L192 144L152.485 183.515C147.799 188.201 140.201 188.201 135.514 183.515L96 144V96z" />
|
||||
<glyph glyph-name="images"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M480 32V16C480 -10.51 458.51 -32 432 -32H48C21.49 -32 0 -10.51 0 16V272C0 298.51 21.49 320 48 320H64V272H54A6 6 0 0 1 48 266V22A6 6 0 0 1 54 16H426A6 6 0 0 1 432 22V32H480zM522 368H150A6 6 0 0 1 144 362V118A6 6 0 0 1 150 112H522A6 6 0 0 1 528 118V362A6 6 0 0 1 522 368zM528 416C554.51 416 576 394.51 576 368V112C576 85.49 554.51 64 528 64H144C117.49 64 96 85.49 96 112V368C96 394.51 117.49 416 144 416H528zM264 304C264 281.909 246.091 264 224 264S184 281.909 184 304S201.909 344 224 344S264 326.091 264 304zM192 208L231.515 247.515C236.201 252.201 243.799 252.201 248.486 247.515L288 208L391.515 311.515C396.201 316.201 403.799 316.201 408.486 311.515L480 240V160H192V208z" />
|
||||
<glyph glyph-name="keyboard"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M528 384H48C21.49 384 0 362.51 0 336V48C0 21.49 21.49 0 48 0H528C554.51 0 576 21.49 576 48V336C576 362.51 554.51 384 528 384zM536 48C536 43.589 532.411 40 528 40H48C43.589 40 40 43.589 40 48V336C40 340.411 43.589 344 48 344H528C532.411 344 536 340.411 536 336V48zM170 178V206C170 212.627 164.627 218 158 218H130C123.373 218 118 212.627 118 206V178C118 171.373 123.373 166 130 166H158C164.627 166 170 171.373 170 178zM266 178V206C266 212.627 260.627 218 254 218H226C219.373 218 214 212.627 214 206V178C214 171.373 219.373 166 226 166H254C260.627 166 266 171.373 266 178zM362 178V206C362 212.627 356.627 218 350 218H322C315.373 218 310 212.627 310 206V178C310 171.373 315.373 166 322 166H350C356.627 166 362 171.373 362 178zM458 178V206C458 212.627 452.627 218 446 218H418C411.373 218 406 212.627 406 206V178C406 171.373 411.373 166 418 166H446C452.627 166 458 171.373 458 178zM122 96V124C122 130.627 116.627 136 110 136H82C75.373 136 70 130.627 70 124V96C70 89.373 75.373 84 82 84H110C116.627 84 122 89.373 122 96zM506 96V124C506 130.627 500.627 136 494 136H466C459.373 136 454 130.627 454 124V96C454 89.373 459.373 84 466 84H494C500.627 84 506 89.373 506 96zM122 260V288C122 294.627 116.627 300 110 300H82C75.373 300 70 294.627 70 288V260C70 253.373 75.373 248 82 248H110C116.627 248 122 253.373 122 260zM218 260V288C218 294.627 212.627 300 206 300H178C171.373 300 166 294.627 166 288V260C166 253.373 171.373 248 178 248H206C212.627 248 218 253.373 218 260zM314 260V288C314 294.627 308.627 300 302 300H274C267.373 300 262 294.627 262 288V260C262 253.373 267.373 248 274 248H302C308.627 248 314 253.373 314 260zM410 260V288C410 294.627 404.627 300 398 300H370C363.373 300 358 294.627 358 288V260C358 253.373 363.373 248 370 248H398C404.627 248 410 253.373 410 260zM506 260V288C506 294.627 500.627 300 494 300H466C459.373 300 454 294.627 454 288V260C454 253.373 459.373 248 466 248H494C500.627 248 506 253.373 506 260zM408 102V118C408 124.627 402.627 130 396 130H180C173.373 130 168 124.627 168 118V102C168 95.373 173.373 90 180 90H396C402.627 90 408 95.373 408 102z" />
|
||||
<glyph glyph-name="lemon"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M484.112 420.111C455.989 448.233 416.108 456.057 387.0590000000001 439.135C347.604 416.152 223.504 489.111 91.196 356.803C-41.277 224.328 31.923 100.528 8.866 60.942C-8.056 31.891 -0.234 -7.99 27.888 -36.112C56.023 -64.247 95.899 -72.0499999999999 124.945 -55.133C164.368 -32.163 288.502 -105.102 420.803 27.196C553.277 159.673 480.076 283.473 503.134 323.057C520.056 352.1070000000001 512.234 391.988 484.112 420.111zM461.707 347.217C422.907 280.608 507.307 181.582 386.862 61.137C266.422 -59.306 167.387 25.089 100.786 -13.706C78.1069999999999 -26.913 36.751 13.535 50.2929999999999 36.782C89.0929999999999 103.391 4.6929999999999 202.417 125.138 322.862C245.573 443.298 344.616 358.914 411.219 397.708C433.949 410.948 475.224 370.42 461.707 347.217zM291.846 338.481C293.216 327.521 285.442 317.524 274.481 316.154C219.635 309.299 138.702 228.367 131.846 173.519C130.473 162.53 120.447 154.785 109.52 156.154C98.559 157.524 90.785 167.52 92.155 178.48C101.317 251.766 196.322 346.6950000000001 269.5200000000001 355.8450000000001C280.473 357.213 290.4760000000001 349.442 291.8460000000001 338.481z" />
|
||||
<glyph glyph-name="life-ring"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 -56C392.967 -56 504 55.033 504 192S392.967 440 256 440S8 328.967 8 192S119.033 -56 256 -56zM152.602 20.72L206.013 74.131C237.819 60.625 274.141 60.609 305.987 74.131L359.398 20.72C296.1810000000001 -17.599 215.819 -17.599 152.602 20.72zM336 192C336 147.888 300.112 112 256 112S176 147.888 176 192S211.888 272 256 272S336 236.112 336 192zM427.28 88.602L373.869 142.013C387.374 173.819 387.391 210.141 373.869 241.987L427.28 295.398C465.599 232.181 465.599 151.819 427.28 88.602zM359.397 363.28L305.986 309.8690000000001C274.18 323.374 237.858 323.391 206.013 309.8690000000001L152.602 363.28C215.819 401.599 296.1810000000001 401.599 359.397 363.28zM84.72 295.398L138.131 241.987C124.625 210.181 124.609 173.859 138.131 142.013L84.72 88.602C46.401 151.819 46.401 232.181 84.72 295.398z" />
|
||||
<glyph glyph-name="lightbulb"
|
||||
unicode=""
|
||||
horiz-adv-x="384" d=" M272 20V-8C272 -18.449 265.32 -27.334 256 -30.629V-40C256 -53.255 245.255 -64 232 -64H152C138.745 -64 128 -53.255 128 -40V-30.629C118.68 -27.334 112 -18.449 112 -8V20C112 26.627 117.373 32 124 32H260C266.627 32 272 26.627 272 20zM128 272C128 307.29 156.71 336 192 336C200.837 336 208 343.164 208 352S200.837 368 192 368C139.065 368 96 324.935 96 272C96 263.164 103.164 256 112 256S128 263.164 128 272zM192 400C262.734 400 320 342.746 320 272C320 194.398 282.617 211.523 239.02 112H144.98C101.318 211.67 64 194.131 64 272C64 342.735 121.254 400 192 400M192 448C94.805 448 16 369.197 16 272C16 170.269 67.697 180.459 106.516 79.326C110.066 70.077 118.986 64 128.892 64H255.107C265.013 64 273.933 70.078 277.483 79.326C316.303 180.459 368 170.269 368 272C368 369.197 289.195 448 192 448z" />
|
||||
<glyph glyph-name="list-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H464C490.51 -32 512 -10.51 512 16V368C512 394.51 490.51 416 464 416zM458 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H458A6 6 0 0 0 464 362V22A6 6 0 0 0 458 16zM416 108V84C416 77.373 410.627 72 404 72H204C197.373 72 192 77.373 192 84V108C192 114.627 197.373 120 204 120H404C410.627 120 416 114.627 416 108zM416 204V180C416 173.373 410.627 168 404 168H204C197.373 168 192 173.373 192 180V204C192 210.627 197.373 216 204 216H404C410.627 216 416 210.627 416 204zM416 300V276C416 269.373 410.627 264 404 264H204C197.373 264 192 269.373 192 276V300C192 306.627 197.373 312 204 312H404C410.627 312 416 306.627 416 300zM164 288C164 268.118 147.882 252 128 252S92 268.118 92 288S108.118 324 128 324S164 307.882 164 288zM164 192C164 172.118 147.882 156 128 156S92 172.118 92 192S108.118 228 128 228S164 211.882 164 192zM164 96C164 76.118 147.882 60 128 60S92 76.118 92 96S108.118 132 128 132S164 115.882 164 96z" />
|
||||
<glyph glyph-name="map"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M508.505 411.83L381.517 355.424L207.179 413.537A47.992 47.992 0 0 1 172.505 411.863L28.505 347.863A48 48 0 0 1 0 304V16.033C0 -18.905 35.991 -41.831 67.495 -27.83L194.483 28.576L368.822 -29.537A47.992 47.992 0 0 1 403.496 -27.863L547.496 36.137A48 48 0 0 1 576 80V367.967C576 402.905 540.009 425.831 508.505 411.83zM360 24L216 72V360L360 312V24zM48 16V304L168 357.333V69.333L48 16zM528 80L408 26.667V314.6670000000001L528 368V80z" />
|
||||
<glyph glyph-name="meh"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM320 304C310.465 304 301.488 301.6140000000001 293.63 297.411H293.647C306.382 297.411 316.706 287.087 316.706 274.352C316.706 261.617 306.382 251.293 293.647 251.293S270.588 261.617 270.588 274.352V274.3690000000001C266.386 266.512 264 257.535 264 248C264 217.072 289.072 192 320 192S376 217.072 376 248S350.928 304 320 304zM192 304C182.465 304 173.488 301.6140000000001 165.63 297.411H165.647C178.382 297.411 188.706 287.087 188.706 274.352C188.706 261.617 178.382 251.293 165.647 251.293C152.912 251.293 142.588 261.617 142.588 274.352V274.3690000000001C138.386 266.512 136 257.535 136 248C136 217.072 161.072 192 192 192S248 217.072 248 248S222.928 304 192 304zM328 120H184C152.224 120 152.251 72 184 72H328C359.776 72 359.749 120 328 120z" />
|
||||
<glyph glyph-name="minus-square"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M108 164C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H340C346.6 220 352 214.6 352 208V176C352 169.4 346.6 164 340 164H108zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="money-bill-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="640" d=" M320 304C266.979 304 224 253.857 224 192C224 130.153 266.977 80 320 80C373 80 416 130.13 416 192C416 253.857 373.021 304 320 304zM368 139.572C368 132.095 364.0830000000001 128 356.428 128H289.135C281.479 128 277.562 132.095 277.562 139.572V148.473C277.562 155.95 281.479 160.045 289.135 160.045H304.266V199.923C304.266 205.086 304.8 210.426 304.8 210.426H304.444S302.665 207.756 301.596 206.688C297.1449999999999 202.415 291.092 202.237 285.93 207.756L280.412 213.987C275.07 219.328 275.428 225.203 280.946 230.366L302.666 250.305C307.115 254.4 311.032 256.002 317.086 256.002H329.191C336.847 256.002 340.941 252.086 340.941 244.43V160.046H356.429C364.084 160.046 368.001 155.952 368.001 148.474V139.572zM616 384H24C10.745 384 0 373.255 0 360V25C0 11.745 10.745 1 24 1H616C629.255 1 640 11.745 640 25V360C640 373.255 629.255 384 616 384zM512 48H128C128 92.183 92.183 128 48 128V256C92.183 256 128 291.817 128 336H512C512 291.817 547.817 256 592 256V128C547.817 128 512 92.183 512 48z" />
|
||||
<glyph glyph-name="moon"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M279.135 -64C357.891 -64 430.117 -28.196 477.979 30.775C506.249 65.606 475.421 116.497 431.73 108.176C349.382 92.493 273.458 155.444 273.458 238.968C273.458 287.392 299.518 331.26 340.892 354.804C379.637 376.854 369.891 435.592 325.87 443.723A257.936 257.936 0 0 1 279.135 448C137.775 448 23.135 333.425 23.135 192C23.135 50.64 137.711 -64 279.135 -64zM279.135 400C292.12 400 304.824 398.799 317.151 396.522C262.391 365.359 225.4580000000001 306.48 225.4580000000001 238.968C225.4580000000001 125.12 329.0990000000001 39.768 440.7100000000001 61.024C402.574 14.036 344.366 -16 279.135 -16C164.26 -16 71.135 77.125 71.135 192S164.26 400 279.135 400z" />
|
||||
<glyph glyph-name="newspaper"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M552 384H112C91.142 384 73.357 370.623 66.752 352H24C10.745 352 0 341.255 0 328V56C0 25.072 25.072 0 56 0H552C565.255 0 576 10.745 576 24V360C576 373.255 565.255 384 552 384zM48 56V304H64V56C64 51.589 60.411 48 56 48S48 51.589 48 56zM528 48H111.422C111.796 50.614 112 53.283 112 56V336H528V48zM172 168H308C314.627 168 320 173.373 320 180V276C320 282.627 314.627 288 308 288H172C165.373 288 160 282.627 160 276V180C160 173.373 165.373 168 172 168zM200 248H280V208H200V248zM160 108V132C160 138.627 165.373 144 172 144H308C314.627 144 320 138.627 320 132V108C320 101.373 314.627 96 308 96H172C165.373 96 160 101.373 160 108zM352 108V132C352 138.627 357.373 144 364 144H468C474.627 144 480 138.627 480 132V108C480 101.373 474.627 96 468 96H364C357.373 96 352 101.373 352 108zM352 252V276C352 282.627 357.373 288 364 288H468C474.627 288 480 282.627 480 276V252C480 245.373 474.627 240 468 240H364C357.373 240 352 245.373 352 252zM352 180V204C352 210.627 357.373 216 364 216H468C474.627 216 480 210.627 480 204V180C480 173.373 474.627 168 468 168H364C357.373 168 352 173.373 352 180z" />
|
||||
<glyph glyph-name="object-group"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M500 320C506.627 320 512 325.373 512 332V404C512 410.627 506.627 416 500 416H428C421.373 416 416 410.627 416 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V64H12C5.373 64 0 58.627 0 52V-20C0 -26.627 5.373 -32 12 -32H84C90.627 -32 96 -26.627 96 -20V-8H416V-20C416 -26.627 421.373 -32 428 -32H500C506.627 -32 512 -26.627 512 -20V52C512 58.627 506.627 64 500 64H488V320H500zM448 384H480V352H448V384zM32 384H64V352H32V384zM64 0H32V32H64V0zM480 0H448V32H480V0zM440 64H428C421.373 64 416 58.627 416 52V40H96V52C96 58.627 90.627 64 84 64H72V320H84C90.627 320 96 325.373 96 332V344H416V332C416 325.373 421.373 320 428 320H440V64zM404 256H320V308C320 314.628 314.627 320 308 320H108C101.373 320 96 314.628 96 308V140C96 133.372 101.373 128 108 128H192V76C192 69.372 197.373 64 204 64H404C410.627 64 416 69.372 416 76V244C416 250.628 410.627 256 404 256zM136 280H280V168H136V280zM376 104H232V128H308C314.627 128 320 133.372 320 140V216H376V104z" />
|
||||
<glyph glyph-name="object-ungroup"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M564 224C570.627 224 576 229.373 576 236V308C576 314.627 570.627 320 564 320H492C485.373 320 480 314.627 480 308V296H392V320H404C410.627 320 416 325.373 416 332V404C416 410.627 410.627 416 404 416H332C325.373 416 320 410.627 320 404V392H96V404C96 410.627 90.627 416 84 416H12C5.373 416 0 410.627 0 404V332C0 325.373 5.373 320 12 320H24V160H12C5.373 160 0 154.627 0 148V76C0 69.373 5.373 64 12 64H84C90.627 64 96 69.373 96 76V88H184V64H172C165.373 64 160 58.627 160 52V-20C160 -26.627 165.373 -32 172 -32H244C250.627 -32 256 -26.627 256 -20V-8H480V-20C480 -26.627 485.373 -32 492 -32H564C570.627 -32 576 -26.627 576 -20V52C576 58.627 570.627 64 564 64H552V224H564zM352 384H384V352H352V384zM352 128H384V96H352V128zM64 96H32V128H64V96zM64 352H32V384H64V352zM96 136V148C96 154.627 90.627 160 84 160H72V320H84C90.627 320 96 325.373 96 332V344H320V332C320 325.373 325.373 320 332 320H344V160H332C325.373 160 320 154.627 320 148V136H96zM224 0H192V32H224V0zM504 64H492C485.373 64 480 58.627 480 52V40H256V52C256 58.627 250.627 64 244 64H232V88H320V76C320 69.373 325.373 64 332 64H404C410.627 64 416 69.373 416 76V148C416 154.627 410.627 160 404 160H392V248H480V236C480 229.373 485.373 224 492 224H504V64zM544 0H512V32H544V0zM544 256H512V288H544V256z" />
|
||||
<glyph glyph-name="paper-plane"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M440 441.5L24 201.6C-10.4 181.7 -7.1 130.8 29.7 115.7L144 68.4V-16C144 -62.4 203.2 -81.5 230.6 -44.6L274.4 14.5L386.3 -31.7C392.2 -34.1 398.4 -35.3 404.6 -35.3C412.8 -35.3 420.9 -33.2 428.2 -29.1C441 -21.9 449.8 -9.1 452.1 5.4L511.4999999999999 392.6C517.5999999999999 432.7 474.6 461.4 440 441.5zM192 -16V48.6L228.6 33.5L192 -16zM404.6 12.7L250.8 76.2L391 278.5C401.7 294 381.5 312 367.3 299.7L155.8 115.4L48 160L464 400L404.6 12.7z" />
|
||||
<glyph glyph-name="pause-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM352 272V112C352 103.2 344.8 96 336 96H288C279.2 96 272 103.2 272 112V272C272 280.8 279.2 288 288 288H336C344.8 288 352 280.8 352 272zM240 272V112C240 103.2 232.8 96 224 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H224C232.8 288 240 280.8 240 272z" />
|
||||
<glyph glyph-name="play-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M371.7 210L195.7 317C179.9 325.8 160 314.5 160 296V88C160 69.6 179.8 58.2 195.7 67L371.7 168C388.1 177.1 388.1 200.8 371.7 210zM504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192z" />
|
||||
<glyph glyph-name="plus-square"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M352 208V176C352 169.4 346.6 164 340 164H252V76C252 69.4 246.6 64 240 64H208C201.4 64 196 69.4 196 76V164H108C101.4 164 96 169.4 96 176V208C96 214.6 101.4 220 108 220H196V308C196 314.6 201.4 320 208 320H240C246.6 320 252 314.6 252 308V220H340C346.6 220 352 214.6 352 208zM448 368V16C448 -10.5 426.5 -32 400 -32H48C21.5 -32 0 -10.5 0 16V368C0 394.5 21.5 416 48 416H400C426.5 416 448 394.5 448 368zM400 22V362C400 365.3 397.3 368 394 368H54C50.7 368 48 365.3 48 362V22C48 18.7 50.7 16 54 16H394C397.3 16 400 18.7 400 22z" />
|
||||
<glyph glyph-name="question-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.043 440 8 328.9170000000001 8 192C8 55.003 119.043 -56 256 -56S504 55.003 504 192C504 328.9170000000001 392.957 440 256 440zM256 -8C145.468 -8 56 81.431 56 192C56 302.495 145.472 392 256 392C366.491 392 456 302.529 456 192C456 81.47 366.569 -8 256 -8zM363.2440000000001 247.2C363.2440000000001 180.148 290.8230000000001 179.116 290.8230000000001 154.337V148C290.8230000000001 141.373 285.4500000000001 136 278.8230000000001 136H233.1760000000001C226.5490000000001 136 221.1760000000001 141.373 221.1760000000001 148V156.659C221.1760000000001 192.404 248.2760000000001 206.693 268.7550000000001 218.175C286.3160000000001 228.02 297.0790000000001 234.716 297.0790000000001 247.754C297.0790000000001 265 275.0800000000001 276.447 257.2950000000001 276.447C234.1060000000001 276.447 223.4010000000001 265.4700000000001 208.3530000000001 246.478C204.2960000000001 241.358 196.8930000000001 240.407 191.6870000000001 244.354L163.8630000000001 265.452C158.7560000000001 269.324 157.6120000000001 276.5180000000001 161.2190000000001 281.815C184.846 316.509 214.94 336 261.794 336C310.865 336 363.244 297.6960000000001 363.244 247.2zM298 80C298 56.841 279.159 38 256 38S214 56.841 214 80S232.841 122 256 122S298 103.159 298 80z" />
|
||||
<glyph glyph-name="registered"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 -8C145.468 -8 56 81.451 56 192C56 302.531 145.451 392 256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8zM366.442 73.791C313.396 170.075 316.192 165.259 313.171 169.876C337.438 183.755 352.653 211.439 352.653 243.052C352.653 295.555 322.406 328.304 251.1550000000001 328.304H172.488C165.8710000000001 328.304 160.488 322.921 160.488 316.304V68C160.488 61.383 165.8710000000001 56 172.488 56H211.0560000000001C217.673 56 223.0560000000001 61.383 223.0560000000001 68V151.663H255.0140000000001L302.5290000000001 62.36A11.98 11.98 0 0 1 313.1220000000001 56H355.9320000000001C365.0720000000001 56 370.8460000000001 65.799 366.4420000000001 73.791zM256.933 208.094H223.058V272.234H250.435C282.852 272.234 289.3640000000001 260.101 289.3640000000001 240.525C289.3630000000001 219.612 277.846 208.094 256.9330000000001 208.094z" />
|
||||
<glyph glyph-name="save"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M433.941 318.059L350.059 401.9410000000001A48 48 0 0 1 316.118 416H48C21.49 416 0 394.51 0 368V16C0 -10.51 21.49 -32 48 -32H400C426.51 -32 448 -10.51 448 16V284.118A48 48 0 0 1 433.941 318.059zM272 368V288H144V368H272zM394 16H54A6 6 0 0 0 48 22V362A6 6 0 0 0 54 368H96V264C96 250.745 106.745 240 120 240H296C309.255 240 320 250.745 320 264V364.118L398.243 285.875A6 6 0 0 0 400 281.632V22A6 6 0 0 0 394 16zM224 216C175.477 216 136 176.523 136 128S175.477 40 224 40S312 79.477 312 128S272.523 216 224 216zM224 88C201.944 88 184 105.944 184 128S201.944 168 224 168S264 150.056 264 128S246.056 88 224 88z" />
|
||||
<glyph glyph-name="share-square"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M561.938 289.94L417.94 433.908C387.926 463.922 336 442.903 336 399.968V342.77C293.55 340.89 251.97 336.2200000000001 215.24 324.7800000000001C180.07 313.8300000000001 152.17 297.2000000000001 132.33 275.36C108.22 248.8 96 215.4 96 176.06C96 114.363 129.178 63.605 180.87 31.3C218.416 7.792 266.118 43.951 251.89 87.04C236.375 134.159 234.734 157.963 336 165.8V112C336 69.007 387.968 48.087 417.94 78.06L561.938 222.06C580.688 240.8 580.688 271.2 561.938 289.94zM384 112V215.84C255.309 213.918 166.492 192.65 206.31 72C176.79 90.45 144 123.92 144 176.06C144 285.394 273.14 295.007 384 295.91V400L528 256L384 112zM408.74 27.507A82.658 82.658 0 0 1 429.714 36.81C437.69 41.762 448 35.984 448 26.596V-16C448 -42.51 426.51 -64 400 -64H48C21.49 -64 0 -42.51 0 -16V336C0 362.51 21.49 384 48 384H180C186.627 384 192 378.627 192 372V367.514C192 362.597 189.013 358.145 184.431 356.362C170.729 351.031 158.035 344.825 146.381 337.777A12.138 12.138 0 0 0 140.101 336H54A6 6 0 0 1 48 330V-10A6 6 0 0 1 54 -16H394A6 6 0 0 1 400 -10V15.966C400 21.336 403.579 26.025 408.74 27.507z" />
|
||||
<glyph glyph-name="smile"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 392C366.532 392 456 302.549 456 192C456 81.468 366.549 -8 256 -8C145.468 -8 56 81.451 56 192C56 302.532 145.451 392 256 392M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM320 304C310.465 304 301.488 301.6140000000001 293.63 297.411H293.647C306.382 297.411 316.706 287.087 316.706 274.352C316.706 261.617 306.382 251.293 293.647 251.293S270.588 261.617 270.588 274.352V274.3690000000001C266.386 266.512 264 257.535 264 248C264 217.072 289.072 192 320 192S376 217.072 376 248S350.928 304 320 304zM192 304C182.465 304 173.488 301.6140000000001 165.63 297.411H165.647C178.382 297.411 188.706 287.087 188.706 274.352C188.706 261.617 178.382 251.293 165.647 251.293C152.912 251.293 142.588 261.617 142.588 274.352V274.3690000000001C138.386 266.512 136 257.535 136 248C136 217.072 161.072 192 192 192S248 217.072 248 248S222.928 304 192 304zM387.372 121.781C406.1910000000001 147.373 367.516 175.798 348.702 150.219C298.567 82.042 213.473 82.039 163.335 150.219C144.507 175.82 105.857 147.358 124.665 121.781C193.963 27.55 317.988 27.43 387.372 121.781z" />
|
||||
<glyph glyph-name="snowflake"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M438.237 92.073L371.663 130.613L431.111 140.94C436.957 142.315 441.72 146.123 444.569 151.07C447.0490000000001 155.377 448.075 160.548 447.093 165.721C444.983 176.836 434.4070000000001 183.76 423.4720000000001 181.188L338.0490000000001 150.073L255.914 192L338.05 233.926L423.473 202.811C434.409 200.239 444.985 207.163 447.094 218.278C449.205 229.393 442.048 240.487 431.113 243.059L371.665 253.386L438.238 291.926C447.778 297.449 450.853 310.018 445.105 320C439.357 329.982 426.965 333.596 417.425 328.074L350.851 289.534L371.656 346.3210000000001C374.902 357.103 368.898 368.863 358.243 372.589C347.589 376.314 336.3209999999999 370.592 333.075 359.81L317.2369999999999 270.075L244.8139999999999 228.149V312L314.3989999999999 370.621C322.0879999999999 378.831 321.3959999999999 391.4770000000001 312.8509999999999 398.866C304.3059999999999 406.257 291.1459999999999 405.589 283.4569999999999 397.38L244.8129999999999 350.92V428C244.8129999999999 439.046 235.4949999999999 448 223.9999999999999 448S203.1869999999999 439.046 203.1869999999999 428V350.92L164.5429999999999 397.38C156.8539999999999 405.5900000000001 143.6939999999999 406.256 135.1489999999999 398.866C126.6049999999999 391.477 125.9129999999999 378.831 133.6019999999999 370.621L203.187 312V228.147L130.764 270.073L114.926 359.809C111.679 370.591 100.411 376.313 89.757 372.588C79.101 368.863 73.098 357.102 76.344 346.32L97.149 289.533L30.576 328.073C21.036 333.596 8.643 329.981 2.896 319.999S0.223 297.448 9.763 291.925L76.337 253.385L16.888 243.057C5.953 240.485 -1.202 229.391 0.907 218.276C3.017 207.162 13.593 200.238 24.529 202.81L109.951 233.925L192.086 192L109.95 150.074L24.527 181.189C13.591 183.761 3.016 176.8370000000001 0.905 165.723C-1.204 154.61 5.951 143.514 16.886 140.942L76.335 130.614L9.761 92.074C0.223 86.551 -2.852 73.982 2.896 64S21.036 50.403 30.576 55.926L97.15 94.466L76.345 37.68C74.61 31.916 75.517 25.875 78.365 20.929C80.845 16.622 84.798 13.145 89.757 11.412C100.412 7.687 111.68 13.409 114.926 24.191L130.764 113.927L203.187 155.853V72L133.602 13.379C125.912 5.169 126.605 -7.476 135.149 -14.866C143.693 -22.254 156.854 -21.589 164.543 -13.379L203.187 33.081V-44C203.187 -55.046 212.505 -64 224 -64S244.813 -55.046 244.813 -44V33.081L283.457 -13.379C287.568 -17.768 293.2389999999999 -19.9999999999999 298.935 -19.9999999999999C303.8949999999999 -19.9999999999999 308.874 -18.3059999999999 312.851 -14.8659999999999C321.396 -7.4759999999999 322.088 5.1690000000001 314.399 13.3790000000001L244.813 72V155.853L317.236 113.927L333.074 24.191C336.32 13.409 347.588 7.687 358.242 11.412C368.8950000000001 15.138 374.901 26.8990000000001 371.654 37.6800000000001L350.849 94.467L417.423 55.927C426.963 50.404 439.356 54.019 445.103 64.001C450.852 73.982 447.778 86.5510000000001 438.237 92.073z" />
|
||||
<glyph glyph-name="square"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M400 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H400C426.5 -32 448 -10.5 448 16V368C448 394.5 426.5 416 400 416zM394 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H394C397.3 368 400 365.3 400 362V22C400 18.7 397.3 16 394 16z" />
|
||||
<glyph glyph-name="star-half"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M288 62.7L163.7 -2.7L187.4 135.6999999999999L86.8 233.7L225.8 253.8999999999999L288 379.8999999999999V448C276.6 448 265.2 442.1 259.3 430.2L194 297.8L47.9 276.6C21.7 272.8 11.2 240.5 30.2 222L135.9 119L110.9 -26.5C106.4 -52.6 133.9 -72.5 157.3 -60.2L288 8.4V62.7z" />
|
||||
<glyph glyph-name="star"
|
||||
unicode=""
|
||||
horiz-adv-x="576" d=" M528.1 276.5L382 297.8L316.7 430.2C305 453.8 271.1 454.1 259.3 430.2L194 297.8L47.9 276.5C21.7 272.7 11.2 240.4 30.2 221.9L135.9 118.9L110.9 -26.6C106.4 -52.9 134.1 -72.6 157.3 -60.3L288 8.4L418.7 -60.3C441.9 -72.5 469.6 -52.9 465.1 -26.6L440.1 118.9L545.8 221.9C564.8 240.4 554.3 272.7 528.0999999999999 276.5zM388.6 135.7L412.3 -2.7L288 62.6L163.7 -2.7L187.4 135.7000000000001L86.8 233.7000000000001L225.8 253.9000000000001L288 379.9000000000001L350.2 253.9000000000001L489.2 233.7000000000001L388.6 135.7000000000001z" />
|
||||
<glyph glyph-name="sticky-note"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M448 99.894V368C448 394.51 426.51 416 400 416H48C21.49 416 0 394.51 0 368V16.012C0 -10.498 21.49 -31.988 48 -31.988H316.118A48 48 0 0 1 350.059 -17.929L433.941 65.953A48 48 0 0 1 448 99.894zM320 19.894V96.012H396.118L320 19.894zM400 368V144.012H296C282.745 144.012 272 133.267 272 120.012V16.012H48V368H400z" />
|
||||
<glyph glyph-name="stop-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M504 192C504 329 393 440 256 440S8 329 8 192S119 -56 256 -56S504 55 504 192zM56 192C56 302.5 145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8S56 81.5 56 192zM352 272V112C352 103.2 344.8 96 336 96H176C167.2 96 160 103.2 160 112V272C160 280.8 167.2 288 176 288H336C344.8 288 352 280.8 352 272z" />
|
||||
<glyph glyph-name="sun"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M220.116 -39.936L199.903 9.489A3.9920000000000004 3.9920000000000004 0 0 1 194.095 11.3750000000001L148.691 -16.7289999999999C119.225 -34.9689999999999 82.396 -8.2099999999999 90.637 25.45L103.336 77.3150000000001A3.9930000000000003 3.9930000000000003 0 0 1 99.746 82.256L46.495 86.2070000000001C11.941 88.7690000000001 -2.137 132.0620000000001 24.321 154.4540000000001L65.08 188.95A3.9920000000000004 3.9920000000000004 0 0 1 65.08 195.056L24.32 229.553C-2.13 251.937 11.93 295.235 46.494 297.799L99.745 301.75A3.9930000000000003 3.9930000000000003 0 0 1 103.335 306.691L90.637 358.557C82.398 392.213 119.218 418.977 148.691 400.736L194.094 372.632A3.9930000000000003 3.9930000000000003 0 0 1 199.902 374.519L220.115 423.944C233.231 456.015 278.753 456.025 291.873 423.944L312.085 374.52A3.9939999999999998 3.9939999999999998 0 0 1 317.894 372.6330000000001L363.2970000000001 400.737C392.761 418.973 429.5940000000001 392.224 421.351 358.558L408.652 306.693A3.9950000000000006 3.9950000000000006 0 0 1 412.242 301.752L465.4929999999999 297.8010000000001C500.0459999999999 295.2380000000001 514.126 251.947 487.6679999999999 229.555L446.908 195.058A3.9930000000000003 3.9930000000000003 0 0 1 446.908 188.951L487.6679999999999 154.455C514.179 132.014 499.99 88.766 465.4929999999999 86.208L412.242 82.257A3.9930000000000003 3.9930000000000003 0 0 1 408.653 77.3149999999999L421.351 25.451C429.592 -8.207 392.7679999999999 -34.97 363.2969999999999 -16.729L317.8939999999999 11.3749999999999A3.9939999999999998 3.9939999999999998 0 0 1 312.0849999999999 9.4879999999999L291.8729999999999 -39.936C278.7139999999999 -72.114 233.1979999999999 -71.9290000000001 220.1159999999999 -39.936zM236.93 24.632L255.994 -21.984L275.058 24.631C285.366 49.831 315.836 59.697 338.95 45.39L381.772 18.883L369.796 67.802C363.321 94.246 382.176 120.141 409.283 122.151L459.509 125.877L421.065 158.413C400.283 176.004 400.318 208.034 421.066 225.593L459.508 258.129L409.283 261.856C382.132 263.871 363.333 289.8040000000001 369.795 316.2050000000001L381.773 365.124L338.95 338.617C315.799 324.29 285.347 334.217 275.058 359.377L255.994 405.992L236.93 359.375C226.625 334.177 196.152 324.3090000000001 173.039 338.615L130.216 365.123L142.193 316.2050000000001C148.667 289.759 129.812 263.867 102.705 261.855L52.481 258.129L90.924 225.592C111.706 208.004 111.671 175.973 90.924 158.414L52.48 125.877L102.706 122.151C129.857 120.137 148.656 94.204 142.193 67.802L130.216 18.883L173.039 45.39C196.227 59.7450000000001 226.661 49.742 236.93 24.6320000000001zM256 64C185.42 64 128 121.421 128 192C128 262.58 185.42 320 256 320C326.579 320 384 262.58 384 192C384 121.421 326.579 64 256 64zM256 272C211.888 272 176 236.112 176 192S211.888 112 256 112S336 147.888 336 192S300.112 272 256 272z" />
|
||||
<glyph glyph-name="thumbs-down"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M466.27 222.69C470.944 245.337 467.134 267.228 457.28 285.68C460.238 309.548 453.259 334.245 439.94 352.67C438.986 408.577 404.117 448 327 448C320 448 312 447.99 304.78 447.99C201.195 447.99 168.997 408 128 408H117.155C111.515 412.975 104.113 416 96 416H32C14.327 416 0 401.673 0 384V144C0 126.327 14.327 112 32 112H96C107.842 112 118.175 118.438 123.708 128H130.76C149.906 111.047 176.773 67.347 199.52 44.6C213.187 30.9330000000001 209.673 -64 271.28 -64C328.86 -64 366.55 -32.064 366.55 40.73C366.55 59.14 362.62 74.46 357.7 87.27H394.18C442.782 87.27 479.9999999999999 128.835 479.9999999999999 172.85C479.9999999999999 192 475.04 207.84 466.2699999999999 222.69zM64 152C50.745 152 40 162.745 40 176S50.745 200 64 200S88 189.255 88 176S77.255 152 64 152zM394.18 135.27H290.19C290.19 97.45 318.55 79.9 318.55 40.73C318.55 16.98 318.55 -16.0000000000001 271.2800000000001 -16.0000000000001C252.3700000000001 2.91 261.8200000000001 50.18 233.4600000000001 78.54C206.9 105.11 167.28 176 138.92 176H128V362.17C181.611 362.17 228.001 399.99 299.64 399.99H337.46C372.972 399.99 398.28 382.87 390.58 334.0900000000001C405.78 325.93 417.08 297.65 404.52 276.52C426.101 256.136 423.219 225.455 409.73 210.9C419.18 210.9 432.09 191.99 432 173.09C431.91 154.18 415.29 135.2700000000001 394.18 135.2700000000001z" />
|
||||
<glyph glyph-name="thumbs-up"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M466.27 161.31C475.04 176.16 480 192 480 211.15C480 255.165 442.782 296.73 394.18 296.73H357.7C362.62 309.54 366.55 324.86 366.55 343.27C366.55 416.064 328.86 448 271.28 448C209.673 448 213.187 353.067 199.52 339.4C176.773 316.653 149.905 272.953 130.76 256H32C14.327 256 0 241.673 0 224V-16C0 -33.673 14.327 -48 32 -48H96C110.893 -48 123.408 -37.826 126.978 -24.05C171.487 -25.051 202.038 -63.99 304.78 -63.99C312 -63.99 320 -64 327 -64C404.117 -64 438.986 -24.577 439.94 31.33C453.259 49.755 460.239 74.452 457.28 98.32C467.134 116.772 470.944 138.663 466.27 161.31zM404.52 107.48C417.08 86.35 405.78 58.0700000000001 390.58 49.91C398.28 1.13 372.972 -15.99 337.46 -15.99H299.64C228.001 -15.99 181.611 21.83 128 21.83V208H138.92C167.28 208 206.9 278.89 233.46 305.46C261.82 333.82 252.37 381.09 271.28 400C318.55 400 318.55 367.02 318.55 343.27C318.55 304.1 290.19 286.55 290.19 248.73H394.18C415.29 248.73 431.91 229.82 432 210.91C432.0899999999999 192.01 419.18 173.1 409.73 173.1C423.219 158.545 426.101 127.864 404.52 107.48zM88 16C88 2.745 77.255 -8 64 -8S40 2.745 40 16S50.745 40 64 40S88 29.255 88 16z" />
|
||||
<glyph glyph-name="times-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119 440 8 329 8 192S119 -56 256 -56S504 55 504 192S393 440 256 440zM256 -8C145.5 -8 56 81.5 56 192S145.5 392 256 392S456 302.5 456 192S366.5 -8 256 -8zM357.8 254.2L295.6 192L357.8 129.8C362.5 125.1 362.5 117.5 357.8 112.8L335.2 90.2C330.5 85.5 322.9 85.5 318.2 90.2L256 152.4L193.8 90.2C189.1 85.5 181.5 85.5 176.8 90.2L154.2 112.8C149.5 117.5 149.5 125.1 154.2 129.8L216.4 192L154.2000000000001 254.2C149.5000000000001 258.9 149.5000000000001 266.5 154.2000000000001 271.2L176.8000000000001 293.8C181.5 298.5 189.1000000000001 298.5 193.8000000000001 293.8L256.0000000000001 231.6L318.2000000000001 293.8C322.9000000000001 298.5 330.5000000000001 298.5 335.2000000000001 293.8L357.8000000000001 271.2C362.5000000000001 266.5 362.5000000000001 258.9 357.8000000000001 254.2z" />
|
||||
<glyph glyph-name="trash-alt"
|
||||
unicode=""
|
||||
horiz-adv-x="448" d=" M192 260V44C192 37.373 186.627 32 180 32H156C149.373 32 144 37.373 144 44V260C144 266.627 149.373 272 156 272H180C186.627 272 192 266.627 192 260zM292 272H268C261.373 272 256 266.627 256 260V44C256 37.373 261.373 32 268 32H292C298.627 32 304 37.373 304 44V260C304 266.627 298.627 272 292 272zM424 368C437.255 368 448 357.255 448 344V332C448 325.373 442.627 320 436 320H416V-16C416 -42.51 394.51 -64 368 -64H80C53.49 -64 32 -42.51 32 -16V320H12C5.373 320 0 325.373 0 332V344C0 357.255 10.745 368 24 368H98.411L132.429 424.6960000000001A48 48 0 0 0 173.589 448H274.412A48 48 0 0 0 315.572 424.6960000000001L349.589 368H424zM154.389 368H293.612L276.1600000000001 397.087A6 6 0 0 1 271.015 400H176.987A6 6 0 0 1 171.842 397.087L154.389 368zM368 320H80V-10A6 6 0 0 1 86 -16H362A6 6 0 0 1 368 -10V320z" />
|
||||
<glyph glyph-name="user-circle"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M256 440C119.033 440 8 328.967 8 192S119.033 -56 256 -56S504 55.033 504 192S392.967 440 256 440zM256 392C366.457 392 456 302.457 456 192C456 155.018 445.951 120.389 428.452 90.672C421.38 116.1160000000001 402.789 144.88 364.522 156.0460000000001C377.207 176.218 384 199.586 384 224C384 294.689 326.811 352 256 352C185.311 352 128 294.81 128 224C128 199.586 134.793 176.217 147.478 156.046C109.179 144.871 90.602 116.133 83.54 90.684C66.046 120.399 56 155.024 56 192C56 302.457 145.543 392 256 392zM336 224C336 179.817 300.183 144 256 144S176 179.817 176 224S211.817 304 256 304S336 268.183 336 224zM128 38.331V66.089C128 86.499 141.53 104.437 161.156 110.044L185.632 117.037C206.342 103.352 230.605 96 256 96S305.658 103.352 326.3690000000001 117.038L350.8450000000001 110.045C370.4700000000001 104.437 384 86.5 384 66.089V38.331C349.315 9.408 304.693 -8 256 -8S162.685 9.408 128 38.331z" />
|
||||
<glyph glyph-name="user"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M423.3090000000001 156.975L402.221 163C431.798 204.11 436 245.706 436 268C436 367.351 355.484 448 256 448C156.649 448 76 367.484 76 268C76 245.701 80.198 204.116 109.779 163L88.691 156.975C21.28 137.715 0 76.41 0 39.395V13.714C0 -29.138 34.862 -64 77.714 -64H434.2850000000001C477.138 -64 512 -29.138 512 13.714V39.395C512 75.642 491.275 137.556 423.309 156.975zM256 400C328.902 400 388 340.901 388 268S328.902 136 256 136S124 195.099 124 268S183.098 400 256 400zM464 13.714C464 -2.696 450.696 -16 434.286 -16H77.714C61.304 -16 48 -2.696 48 13.714V39.395C48 72.562 69.987 101.711 101.878 110.822L147.981 123.994C162.683 112.942 200.427 88 256 88S349.317 112.942 364.019 123.994L410.122 110.822C442.013 101.71 464 72.562 464 39.395V13.714z" />
|
||||
<glyph glyph-name="window-close"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V362C48 365.3 50.7 368 54 368H458C461.3 368 464 365.3 464 362V22zM356.5 253.4L295.1 192L356.5 130.6C361.1 126 361.1 118.5 356.5 113.8L334.2 91.5C329.6 86.9 322.1 86.9 317.4 91.5L256 152.9L194.6 91.5C190 86.9 182.5 86.9 177.8 91.5L155.5 113.8C150.9 118.4 150.9 125.9 155.5 130.6L216.9 192L155.5 253.4000000000001C150.9 258 150.9 265.5 155.5 270.2000000000001L177.8 292.5000000000001C182.4 297.1 189.9 297.1 194.6 292.5000000000001L256 231.1000000000001L317.4 292.5000000000001C322 297.1 329.5 297.1 334.2 292.5000000000001L356.5 270.2000000000001C361.2 265.6 361.2 258.1 356.5 253.4000000000001z" />
|
||||
<glyph glyph-name="window-maximize"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 416H48C21.5 416 0 394.5 0 368V16C0 -10.5 21.5 -32 48 -32H464C490.5 -32 512 -10.5 512 16V368C512 394.5 490.5 416 464 416zM464 22C464 18.7 461.3 16 458 16H54C50.7 16 48 18.7 48 22V256H464V22z" />
|
||||
<glyph glyph-name="window-minimize"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M480 -32H32C14.3 -32 0 -17.7 0 0S14.3 32 32 32H480C497.7 32 512 17.7 512 0S497.7 -32 480 -32z" />
|
||||
<glyph glyph-name="window-restore"
|
||||
unicode=""
|
||||
horiz-adv-x="512" d=" M464 448H144C117.5 448 96 426.5 96 400V352H48C21.5 352 0 330.5 0 304V-16C0 -42.5 21.5 -64 48 -64H368C394.5 -64 416 -42.5 416 -16V32H464C490.5 32 512 53.5 512 80V400C512 426.5 490.5 448 464 448zM368 -16H48V192H368V-16zM464 80H416V304C416 330.5 394.5 352 368 352H144V400H464V80z" />
|
||||
</font>
|
||||
</defs>
|
||||
</svg>
|
After Width: | Height: | Size: 105 KiB |
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.ttf
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.ttf
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.woff
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.woff
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.woff2
Normal file
BIN
GitLabPages/css/themes/default/assets/fonts/outline-icons.woff2
Normal file
Binary file not shown.
BIN
GitLabPages/css/themes/default/assets/images/flags.png
Normal file
BIN
GitLabPages/css/themes/default/assets/images/flags.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 28 KiB |
44
GitLabPages/i253.html
Normal file
44
GitLabPages/i253.html
Normal file
|
@ -0,0 +1,44 @@
|
|||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="icon" sizes="any" type="image/svg+xml" href="clearurls.svg">
|
||||
|
||||
<title>ClearURLs - Issue 253</title>
|
||||
<meta name="description" content="ClearURLs test page">
|
||||
<meta name="author" content="Kevin Röbert">
|
||||
|
||||
<link rel="stylesheet" href="css/semantic_2.4.1.min.css">
|
||||
<link rel="stylesheet" href="css/styles.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="ui inverted menu">
|
||||
<div class="ui container">
|
||||
<a href="#" class="header item">
|
||||
<img class="logo" src="clearurls.svg">
|
||||
ClearURLs
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui main text container">
|
||||
<h1 class="ui header">ClearURLs - Issue 253</h1>
|
||||
|
||||
<div class="ui negative icon message">
|
||||
<i class="huge warning sign icon"></i>
|
||||
<div class="content">
|
||||
<p>
|
||||
Your ClearURLs version is vulnerable to the problem from issue 253.
|
||||
Please update your ClearURLs installation to at least version <b>1.8.4 or higher</b>.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="js/semantic.min.js"></script>
|
||||
</body>
|
||||
</html>
|
60
GitLabPages/index.html
Normal file
60
GitLabPages/index.html
Normal file
|
@ -0,0 +1,60 @@
|
|||
<!doctype html>
|
||||
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
|
||||
<link rel="icon" sizes="any" type="image/svg+xml" href="clearurls.svg">
|
||||
|
||||
<title>ClearURLs test page</title>
|
||||
<meta name="description" content="ClearURLs test page">
|
||||
<meta name="author" content="Kevin Röbert">
|
||||
|
||||
<link rel="stylesheet" href="css/semantic_2.4.1.min.css">
|
||||
<link rel="stylesheet" href="css/styles.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="ui inverted menu">
|
||||
<div class="ui container">
|
||||
<a href="#" class="header item">
|
||||
<img class="logo" src="clearurls.svg">
|
||||
ClearURLs
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="ui main text container">
|
||||
<h1 class="ui header">ClearURLs test page</h1>
|
||||
|
||||
<p>
|
||||
On this page you can automatically check whether ClearURLs works correctly.
|
||||
If you are using an obsolete ClearURLs version that is affected by a potential security vulnerability,
|
||||
you will also be notified on this page.
|
||||
</p>
|
||||
|
||||
<br />
|
||||
|
||||
<div class="ui icon message" id="rules_filter_test"></div>
|
||||
<div class="ui icon message" id="redirection_filter_test"></div>
|
||||
<div class="ui icon message" id="block_filter_test"></div>
|
||||
<div class="ui icon message" id="issue_253_test"></div>
|
||||
|
||||
<iframe src="https://kevinroebert.gitlab.io/ClearUrls/void/index.html?ref=gitlab&test=test"
|
||||
height="1" width="1" id="void_roebert_eu_iframe" style="border:0; border:none;"></iframe>
|
||||
|
||||
<iframe src="https://kevinroebert.gitlab.io/ClearUrls/void/index.html?url=https%3A%2F%2Fkevinroebert.gitlab.io%2FClearUrls%2Fvoid%2Findex.html"
|
||||
height="1" width="1" id="redirect_roebert_eu_iframe" style="border:0; border:none;"></iframe>
|
||||
|
||||
<iframe src="https://kevinroebert.gitlab.io/ClearUrls/void/index.html?url=https%3A%2F%2Fkevinroebert.gitlab.io%2FClearUrls%2Fi253.html"
|
||||
height="1" width="1" id="i253_roebert_eu_iframe" style="border:0; border:none;"></iframe>
|
||||
|
||||
<img id="i253_roebert_eu_img" height="1" width="1"/>
|
||||
<img id="block_roebert_eu_img" height="1" width="1"/>
|
||||
</div>
|
||||
|
||||
<script src="js/jquery.min.js"></script>
|
||||
<script src="js/semantic.min.js"></script>
|
||||
<script src="js/scripts.js"></script>
|
||||
</body>
|
||||
</html>
|
2
GitLabPages/js/jquery.min.js
vendored
Normal file
2
GitLabPages/js/jquery.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
113
GitLabPages/js/scripts.js
Normal file
113
GitLabPages/js/scripts.js
Normal file
|
@ -0,0 +1,113 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
function checkRule() {
|
||||
let resURL;
|
||||
try {
|
||||
resURL = document.getElementById("void_roebert_eu_iframe").contentWindow.location.href;
|
||||
} catch(e) {
|
||||
resURL = "error";
|
||||
}
|
||||
|
||||
let segment = $('#rules_filter_test');
|
||||
|
||||
if(resURL === 'https://kevinroebert.gitlab.io/ClearUrls/void/index.html') {
|
||||
segment.addClass('positive');
|
||||
segment.append('<i class="large smile outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The tracking filter function of ClearURLs works correctly.</p></div>');
|
||||
} else {
|
||||
segment.addClass('warning');
|
||||
segment.append('<i class="large frown outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The tracking filter function of ClearURLs does <b>not</b> work properly. ' +
|
||||
'Maybe the addon is disabled or the rules could not be downloaded.</p></div>');
|
||||
}
|
||||
}
|
||||
|
||||
function checkRedirection() {
|
||||
let resURL;
|
||||
try {
|
||||
resURL = document.getElementById("redirect_roebert_eu_iframe").contentWindow.location.href;
|
||||
} catch(e) {
|
||||
resURL = "error";
|
||||
}
|
||||
|
||||
let segment = $('#redirection_filter_test');
|
||||
|
||||
if(resURL === 'https://kevinroebert.gitlab.io/ClearUrls/void/index.html') {
|
||||
segment.addClass('positive');
|
||||
segment.append('<i class="large smile outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The redirection function of ClearURLs works correctly.</p></div>');
|
||||
} else {
|
||||
segment.addClass('warning');
|
||||
segment.append('<i class="large frown outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The redirection function of ClearURLs does <b>not</b> work properly. ' +
|
||||
'Maybe the addon is disabled or the rules could not be downloaded.</p></div>');
|
||||
}
|
||||
}
|
||||
|
||||
function checkBlock() {
|
||||
let segment = $('#block_filter_test');
|
||||
|
||||
$('#block_roebert_eu_img')
|
||||
.on('load', function() {
|
||||
segment.addClass('warning');
|
||||
segment.append('<i class="large frown outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The block function of ClearURLs does <b>not</b> work properly. ' +
|
||||
'Maybe the addon is disabled or the rules could not be downloaded.</p></div>');
|
||||
})
|
||||
.on('error', function() {
|
||||
segment.addClass('positive');
|
||||
segment.append('<i class="large smile outline icon"></i>');
|
||||
segment.append('<div class="content"><p>The block function of ClearURLs works correctly.</p></div>');
|
||||
})
|
||||
.attr("src", 'https://kevinroebert.gitlab.io/ClearUrls/void/block.svg');
|
||||
}
|
||||
|
||||
function checkIssue253() {
|
||||
let segment = $('#issue_253_test');
|
||||
|
||||
$('#i253_roebert_eu_img')
|
||||
.on('load', function() {
|
||||
segment.addClass('negative');
|
||||
segment.append('<i class="large frown outline icon"></i>');
|
||||
segment.append('<div class="content"><p>Your ClearURLs version is vulnerable to the problem from issue 253. ' +
|
||||
'Please update your ClearURLs installation to at least version <b>1.8.3 or higher</b>.</p></div>');
|
||||
})
|
||||
.on('error', function() {
|
||||
segment.addClass('positive');
|
||||
segment.append('<i class="large smile outline icon"></i>');
|
||||
segment.append('<div class="content"><p>Your ClearURLs version is not vulnerable to the problem from Issue 253.</p></div>');
|
||||
})
|
||||
.attr("src", 'https://kevinroebert.gitlab.io/ClearUrls/void/index.html?url=https%3A%2F%2Fkevinroebert.gitlab.io%2FClearUrls%2Fi253.html');
|
||||
}
|
||||
|
||||
$(window).on('load', function () {
|
||||
try {
|
||||
checkRule();
|
||||
} catch(e) {}
|
||||
try {
|
||||
checkRedirection();
|
||||
} catch(e) {}
|
||||
try {
|
||||
checkBlock();
|
||||
} catch(e) {}
|
||||
try {
|
||||
checkIssue253();
|
||||
} catch(e) {}
|
||||
});
|
11
GitLabPages/js/semantic.min.js
vendored
Normal file
11
GitLabPages/js/semantic.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
0
GitLabPages/void/bla.html
Normal file
0
GitLabPages/void/bla.html
Normal file
8
GitLabPages/void/block.svg
Normal file
8
GitLabPages/void/block.svg
Normal file
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||
<svg viewBox = "0 0 200 200" version = "1.1">
|
||||
<text x = "10" y = "25" fill = "navy" font-size = "15">
|
||||
This site should be blocked by ClearURLs
|
||||
</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 312 B |
0
GitLabPages/void/index.html
Normal file
0
GitLabPages/void/index.html
Normal file
165
LICENSE
Normal file
165
LICENSE
Normal file
|
@ -0,0 +1,165 @@
|
|||
GNU LESSER GENERAL PUBLIC LICENSE
|
||||
Version 3, 29 June 2007
|
||||
|
||||
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
|
||||
This version of the GNU Lesser General Public License incorporates
|
||||
the terms and conditions of version 3 of the GNU General Public
|
||||
License, supplemented by the additional permissions listed below.
|
||||
|
||||
0. Additional Definitions.
|
||||
|
||||
As used herein, "this License" refers to version 3 of the GNU Lesser
|
||||
General Public License, and the "GNU GPL" refers to version 3 of the GNU
|
||||
General Public License.
|
||||
|
||||
"The Library" refers to a covered work governed by this License,
|
||||
other than an Application or a Combined Work as defined below.
|
||||
|
||||
An "Application" is any work that makes use of an interface provided
|
||||
by the Library, but which is not otherwise based on the Library.
|
||||
Defining a subclass of a class defined by the Library is deemed a mode
|
||||
of using an interface provided by the Library.
|
||||
|
||||
A "Combined Work" is a work produced by combining or linking an
|
||||
Application with the Library. The particular version of the Library
|
||||
with which the Combined Work was made is also called the "Linked
|
||||
Version".
|
||||
|
||||
The "Minimal Corresponding Source" for a Combined Work means the
|
||||
Corresponding Source for the Combined Work, excluding any source code
|
||||
for portions of the Combined Work that, considered in isolation, are
|
||||
based on the Application, and not on the Linked Version.
|
||||
|
||||
The "Corresponding Application Code" for a Combined Work means the
|
||||
object code and/or source code for the Application, including any data
|
||||
and utility programs needed for reproducing the Combined Work from the
|
||||
Application, but excluding the System Libraries of the Combined Work.
|
||||
|
||||
1. Exception to Section 3 of the GNU GPL.
|
||||
|
||||
You may convey a covered work under sections 3 and 4 of this License
|
||||
without being bound by section 3 of the GNU GPL.
|
||||
|
||||
2. Conveying Modified Versions.
|
||||
|
||||
If you modify a copy of the Library, and, in your modifications, a
|
||||
facility refers to a function or data to be supplied by an Application
|
||||
that uses the facility (other than as an argument passed when the
|
||||
facility is invoked), then you may convey a copy of the modified
|
||||
version:
|
||||
|
||||
a) under this License, provided that you make a good faith effort to
|
||||
ensure that, in the event an Application does not supply the
|
||||
function or data, the facility still operates, and performs
|
||||
whatever part of its purpose remains meaningful, or
|
||||
|
||||
b) under the GNU GPL, with none of the additional permissions of
|
||||
this License applicable to that copy.
|
||||
|
||||
3. Object Code Incorporating Material from Library Header Files.
|
||||
|
||||
The object code form of an Application may incorporate material from
|
||||
a header file that is part of the Library. You may convey such object
|
||||
code under terms of your choice, provided that, if the incorporated
|
||||
material is not limited to numerical parameters, data structure
|
||||
layouts and accessors, or small macros, inline functions and templates
|
||||
(ten or fewer lines in length), you do both of the following:
|
||||
|
||||
a) Give prominent notice with each copy of the object code that the
|
||||
Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the object code with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
4. Combined Works.
|
||||
|
||||
You may convey a Combined Work under terms of your choice that,
|
||||
taken together, effectively do not restrict modification of the
|
||||
portions of the Library contained in the Combined Work and reverse
|
||||
engineering for debugging such modifications, if you also do each of
|
||||
the following:
|
||||
|
||||
a) Give prominent notice with each copy of the Combined Work that
|
||||
the Library is used in it and that the Library and its use are
|
||||
covered by this License.
|
||||
|
||||
b) Accompany the Combined Work with a copy of the GNU GPL and this license
|
||||
document.
|
||||
|
||||
c) For a Combined Work that displays copyright notices during
|
||||
execution, include the copyright notice for the Library among
|
||||
these notices, as well as a reference directing the user to the
|
||||
copies of the GNU GPL and this license document.
|
||||
|
||||
d) Do one of the following:
|
||||
|
||||
0) Convey the Minimal Corresponding Source under the terms of this
|
||||
License, and the Corresponding Application Code in a form
|
||||
suitable for, and under terms that permit, the user to
|
||||
recombine or relink the Application with a modified version of
|
||||
the Linked Version to produce a modified Combined Work, in the
|
||||
manner specified by section 6 of the GNU GPL for conveying
|
||||
Corresponding Source.
|
||||
|
||||
1) Use a suitable shared library mechanism for linking with the
|
||||
Library. A suitable mechanism is one that (a) uses at run time
|
||||
a copy of the Library already present on the user's computer
|
||||
system, and (b) will operate properly with a modified version
|
||||
of the Library that is interface-compatible with the Linked
|
||||
Version.
|
||||
|
||||
e) Provide Installation Information, but only if you would otherwise
|
||||
be required to provide such information under section 6 of the
|
||||
GNU GPL, and only to the extent that such information is
|
||||
necessary to install and execute a modified version of the
|
||||
Combined Work produced by recombining or relinking the
|
||||
Application with a modified version of the Linked Version. (If
|
||||
you use option 4d0, the Installation Information must accompany
|
||||
the Minimal Corresponding Source and Corresponding Application
|
||||
Code. If you use option 4d1, you must provide the Installation
|
||||
Information in the manner specified by section 6 of the GNU GPL
|
||||
for conveying Corresponding Source.)
|
||||
|
||||
5. Combined Libraries.
|
||||
|
||||
You may place library facilities that are a work based on the
|
||||
Library side by side in a single library together with other library
|
||||
facilities that are not Applications and are not covered by this
|
||||
License, and convey such a combined library under terms of your
|
||||
choice, if you do both of the following:
|
||||
|
||||
a) Accompany the combined library with a copy of the same work based
|
||||
on the Library, uncombined with any other library facilities,
|
||||
conveyed under the terms of this License.
|
||||
|
||||
b) Give prominent notice with the combined library that part of it
|
||||
is a work based on the Library, and explaining where to find the
|
||||
accompanying uncombined form of the same work.
|
||||
|
||||
6. Revised Versions of the GNU Lesser General Public License.
|
||||
|
||||
The Free Software Foundation may publish revised and/or new versions
|
||||
of the GNU Lesser General Public License from time to time. Such new
|
||||
versions will be similar in spirit to the present version, but may
|
||||
differ in detail to address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the
|
||||
Library as you received it specifies that a certain numbered version
|
||||
of the GNU Lesser General Public License "or any later version"
|
||||
applies to it, you have the option of following the terms and
|
||||
conditions either of that published version or of any later version
|
||||
published by the Free Software Foundation. If the Library as you
|
||||
received it does not specify a version number of the GNU Lesser
|
||||
General Public License, you may choose any version of the GNU Lesser
|
||||
General Public License ever published by the Free Software Foundation.
|
||||
|
||||
If the Library as you received it specifies that a proxy can decide
|
||||
whether future versions of the GNU Lesser General Public License shall
|
||||
apply, that proxy's public statement of acceptance of any version is
|
||||
permanent authorization for you to choose that version for the
|
||||
Library.
|
118
LICENSE.md
118
LICENSE.md
|
@ -1,118 +0,0 @@
|
|||
Qabel Public License Version 0.2 (QaPL v0.2) (c) Qabel GmbH, Hannover
|
||||
=====================================================================
|
||||
|
||||
|
||||
You may copy and distribute verbatim copies of this license agreement. You may also use content from it for your own license agreement. Unless not expressly stated, you may not use the name Qabel Public License ("QaPL") in connection with any license agreement that is not a verbatim copy of This License.
|
||||
|
||||
|
||||
PREAMBLE
|
||||
--------
|
||||
|
||||
Today Software is the undisputed centerpiece of the information society and access to software and information society services became a public commodity. Yet traditional software is made available in object code only, where the software user is not entitled to study or even modify the source code. We believe that this is a salient shortcoming in particular when it comes to software which is designed to help the user protect his privacy in a virtual world. A proprietary software developer who refuses to unveil the source code of its security software, requires users to place a great deal of faith into the computer program and its ability to protect personal data. Not only because trust in conventional software security was all too often disappointed, we have decided to replace "trust" with "transparency" and everybody is welcome to study, modify and improve the source code of this software. Furthermore, and although we believe in the idea of free software, we have decided to make two important exceptions, to wit, QaPL-licensed software should neither be used commercially without our consent, nor for military, intelligence or related purposes. By that we hope to make it a powerful, self sustaining and constantly evolving tool that helps to reinforce data security and the protection of personal data. However, it shall be up to the user to decide whether he finds this software fit for the purpose.
|
||||
|
||||
|
||||
[0] Definitions
|
||||
---------------
|
||||
|
||||
[a] "Application" means any software that may be, directly or indirectly, linked to the Library by using its interface.
|
||||
|
||||
[b] "Commercial use" means utilizing the Library or other software licensed under the QaPL or parts thereof to, directly or indirectly, establish a source of income, including but not limited to, embedding the Library or other software licensed under the QaPL or parts thereof into Proprietary Software, executable software, or consulting services utilizing the Library or other software licensed under the QaPL or parts thereof. It is not considered Commercial Use if the Licensee, including a commercial enterprise, uses the Library or other software licensed under the QaPL or parts thereof for academic, study and/or research purposes, or if a software project is solely based on donations.
|
||||
|
||||
[c] "Original Copyright Holder" means Kevin Röbert.
|
||||
|
||||
[d] "Contributor" means any person or entity that creates or contributes to the creation of modifications to the Library or other software licensed under the QaPL.
|
||||
|
||||
[e] "Library" means a collection of software functions, subroutines and/or data prepared so as to be conveniently linked with Applications (which use some of those functions and data) to form executables including associated documentation.
|
||||
|
||||
[f] "Licensee" means any individual or legal entity exercising rights under the QaPL.
|
||||
|
||||
[g] "Make Publicly Available" refers to the public distribution of the Library or other software licensed under the QaPL in an immaterial form, including but not limited to, making it available for download in data networks and Software as a Service (SaaS).
|
||||
|
||||
[h] "Modification" means any change to the Library or other software licensed under the QaPL in a way that would, under the applicable law, require the copyright holder's permission, including but not limited to the extension, deletion, alteration, translation into other programming languages or combination with other software.
|
||||
|
||||
[i] "Modification of the Library" means the Library or its derivatives containing the Library as a whole or in parts and Applications or any other software that are linked to the Library.
|
||||
|
||||
[j] "Object Code" means any machine-readable form of the Library or other software licensed under the QaPL, excluding the Source Code.
|
||||
|
||||
[k] "Proprietary Software" means software that is not licensed under an open source license as defined by the open source definition (Version 1.9).
|
||||
|
||||
[l] "Source Code" means the preferred form of the Library or other software licensed under the QaPL for making Modifications to it.
|
||||
|
||||
[m] "This License" means the Qabel Public License regardless of its version.
|
||||
|
||||
|
||||
[1] Scope of Application
|
||||
-------------------------------
|
||||
|
||||
The QaPL applies to any software library or other software that contains a notice placed by the copyright holder or another authorised party stating that the Library or other software is governed by the
|
||||
terms of the QaPL. This license shall also apply to remote network interaction.
|
||||
|
||||
|
||||
[2] License Grant and Conditions
|
||||
------------------------------------------
|
||||
|
||||
[a] As far as This License is not restricted according to sec. [3], Licensee may free of charge and in any medium modify, reproduce, distribute, and Make Publicly Available the Library or other software licensed under the QaPL.
|
||||
|
||||
[b] Licensee may distribute, and Make Publicly Available unmodified versions, of the Library or other software licensed under the QaPL provided that the following condition is met: A conspicuous reference to the text of This License
|
||||
that allows any recipient to easily access the text of This License must be provided.
|
||||
|
||||
[c] Licensee may distribute, and Make Publicly Available modified versions, of the Library or other software licensed under the QaPL provided that, in addition to the conditions stated in sec. [2][b], the following conditions are met: The files modified must bear notices which state that the files were changed, the date of change and the author of the Modification. The Library or other software licensed under the QaPL must in its entirety be licensed free of charge to all third parties under the terms of This License.
|
||||
|
||||
[d] If you wish to distribute or Make the Library or other software licensed under the QaPL, modified or unmodified, Publicly Available in Object Code form only, you must in addition to the forgoing make the complete Source Code publicly available or ensure that the Original Copyright Holder does so and make a conspicuous reference to the internet address from which the Source Code may be downloaded.
|
||||
|
||||
|
||||
[3] Restrictions
|
||||
--------------------
|
||||
|
||||
[a] No license is granted by the Original Copyright Holder for the Commercial Use of the Library or other software licensed under the QaPL. In particular, no license is granted for linking Applications to the Library which shall be used commercially. If you would like to use the Library or other software licensed under the QaPL for commercial purposes or link to an Application that shall be used commercially, including selling an Application that shall be linked to the Library or other software licensed under the QaPL, please inquire with the Original Copyright Holder.
|
||||
|
||||
[b] No license is granted by the Original Copyright Holder for military, intelligence or related purposes, including but not limited to intelligence and military research.
|
||||
|
||||
|
||||
[4] Contributor's License Grant
|
||||
----------------------------------------
|
||||
|
||||
[a] A Contributor, who distributes or makes publicly available a Modification, hereby grants the Original Copyright Holder a perpetual, irrevocable, worldwide, free of charge, royalty-free, non-exclusive, unrestricted license that may be subject to third party property claims, to use, reproduce, modify, display, perform, sublicense, distribute, Make Publicly Available, commercially exploit and exercise all ownership rights in the Contributors contribution. Contributor hereby agrees that he will not assert any moral rights in his contribution against the Original Copyright Holder.
|
||||
|
||||
[b] A contributor, who distributes or makes publicly available a Modification, hereby grants to the Original Copyright Holder a perpetual, worldwide, non-exclusive, free-of-charge, royalty-free patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Library or other software licensed under the QaPL. Where such license applies it shall only apply to those patent claims licensable by the Contributor that are necessarily infringed by their contributions alone or by combination of their contributions with the Library or other software licensed under the QaPL with which such contribution was combined.
|
||||
|
||||
[c] Contributor represents and warrants that his contribution is his own original creation and to the best of his knowledge he can legally grant the rights in his contribution set out in This License and, where applicable, is authorised by his employer and that the Original Copyright Holder exercising the rights granted under this license does, to the best of the Contributors knowledge, not infringe any third party rights. Contributor further represents that he is not aware of any claims, suits or court actions in relation to his contribution. Contributor agrees that he will immediately notify the Original Copyright Holder if he becomes aware of any third party claims and, if the Contributor after having submitted or otherwise distributed his contribution, becomes aware of a third party claim in relation to his contribution, shall promptly take all reasonable measures to mitigate damages resulting from the infringement of third party claims, including but not limited to informing those who may have received software containing the contribution.
|
||||
|
||||
|
||||
[5] Conclusion of Contract
|
||||
----------------------------------
|
||||
|
||||
[a] This License constitutes the offer to conclude a contract to use the Library or other software licensed under the QaPL in compliance with the conditions of This License. Acceptance may be declared by exercising the right granted under sec. [2] of This License.
|
||||
|
||||
[b] All Licensees obtain the rights granted by This License directly from the Original Copyright Holder. Without having to accept This License the Library or other software may still be used in accordance with the applicable statutory provisions.
|
||||
|
||||
|
||||
[6] Termination
|
||||
--------------------
|
||||
|
||||
The rights granted under This License will terminate
|
||||
automatically if the Licensee fails to comply with its terms.
|
||||
|
||||
|
||||
[7] Warranty and Liability
|
||||
---------------------------------
|
||||
|
||||
[a] The copyright holders are not liable for contradictory third-party rights, unless they were aware of such rights without informing the Licensee.
|
||||
|
||||
[b] Liability for damages arising out of the use or inability to use the Library or other software licensed under the QaPL, including but not limited to software failure, data loss, data being rendered inaccurate, a failure of the software to operate with any other program and any other defects in the Library or other software licensed under the QaPL, shall be governed by separate agreements, or, if no such agreement exists, by the applicable statutory provisions.
|
||||
|
||||
|
||||
[8] License Updates
|
||||
-------------------------
|
||||
|
||||
Qabel GmbH or its legal successors may, from time to time, revise and update the QaPL in order to address new developments and concerns. These revisions and updates will reflect the spirit of the current license version and will not impose on any Licensee or copyright holder additional obligations. QaPL license updates shall replace all older license versions in existing agreements. This does not apply to original copyright holders other than Qabel GmbH, who have chosen to submit their program to the QaPL, unless they have designated their program as licensed under "QaPL 0.2 or any later version".
|
||||
|
||||
|
||||
[9] Miscellaneous
|
||||
----------------------
|
||||
|
||||
[a] This License shall be governed by German Law. The application of the UN Convention on the International Sale of Goods (CISG) and the principles of conflict of laws shall be excluded.
|
||||
|
||||
[b] If you wish to incorporate parts of the Library or other software licensed under the QaPL into other software whose license terms contradict with the provisions of this license, you may inquire with either the Original Copyright Holder or the copyright holder of the other software on possible exceptions.
|
||||
|
||||
[c] If, under the applicable law, any provision of This License is or becomes invalid or unenforceable, it shall not affect the validity or enforceability of the remainder of the terms of This License, and without further action by the parties to This License, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
|
6
PRIVACY.md
Normal file
6
PRIVACY.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
ClearURLs protects and respects your privacy.
|
||||
We do not collect any of your usage data. Furthermore, ClearURLs has no home server nor embed any kind of analytic hooks in its code.
|
||||
|
||||
The only time ClearURLs connects to a remote server (gitlab.io or github.io) is to update the rules file and the associated hash file. You can replace the default update address (_rules1.clearurls.xyz_/_rules2.clearurls.xyz_) with your address at any time in the settings.
|
||||
|
||||
The project and the rule file are currently hosted on gitlab.com and github.com, which is owned by GitLab Inc. and GitHub Inc. Thus they are unrelated to ClearURLs. The _rules1.clearurls.xyz_ and _rules2.clearurls.xyz_ addresses are just CNAME records and thus we got no information about the request.
|
130
README.md
130
README.md
|
@ -1,43 +1,87 @@
|
|||
# ClearURLs [](https://addons.mozilla.org/en-US/firefox/addon/clearurls/versions/)
|
||||
[](https://www.paypal.me/KevinRoebert)
|
||||
|
||||
[](https://addons.mozilla.org/en-US/firefox/addon/clearurls/reviews/)
|
||||
|
||||
[](https://addons.mozilla.org/en-US/firefox/addon/clearurls/statistics/?last=30)
|
||||
|
||||
**ClearURLs** is an add-on based on the new WebExtensions technology and is optimized for *Firefox*.
|
||||
|
||||
This add-on will remove the tracking fields from all URLs which are visited by the browser and use a rule file, namely `data.json`.
|
||||
|
||||
This add-on protects your privacy and block the request from advertising services like *doubleclick.net*.
|
||||
|
||||
## Application
|
||||
Large (and small) webpages use elements in the URL, e.g.: https://example.com?source=thisIstheSiteIvisitedBefore to track your online activities. In this example, the source field tells the provider which page you visited before. The add-on will remove these tracking fields from the URL.
|
||||
|
||||
## Installation
|
||||
[](https://addons.mozilla.org/en-US/firefox/addon/clearurls/)
|
||||
|
||||
## Contribute
|
||||
If you have any suggestions or complaints, please [create an issue.](https://gitlab.com/KevinRoebert/ClearUrls/issues/new)
|
||||
|
||||
## Screenshot
|
||||

|
||||
|
||||
## Copyright
|
||||
We use some third-party scripts in our add-on. The authors and licenses are listed below.
|
||||
- [Bootstrap v3.3.7 ](http://getbootstrap.com) |
|
||||
Copyright 2011-2016 Twitter, Inc. |
|
||||
[MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
- [jQuery v3.2.1](https://jquery.com/) |
|
||||
Copyright 2017 The jQuery Foundation |
|
||||
[MIT](https://jquery.org/license/)
|
||||
- [sha256.jquery.plugin](https://github.com/orsozed/sha256.jquery.plugin) |
|
||||
Copyright 2003, Christoph Bichlmeier |
|
||||
[MIT](https://raw.github.com/orsozed/JQuery-Plugins/master/license/MIT-LICENSE.txt) |
|
||||
[GPLv2](https://raw.github.com/orsozed/JQuery-Plugins/master/license/GPL-LICENSE.txt)
|
||||
- [DataTables](https://datatables.net/) | Copyright 2011-2015 SpryMedia Ltd | [MIT](https://datatables.net/license/)
|
||||
- [Pick-a-Color v1.2.3](https://github.com/lauren/pick-a-color) | Copyright (c) 2013 Lauren Sperber and Broadstreet Ads |
|
||||
[MIT](https://github.com/lauren/pick-a-color/blob/master/LICENSE)
|
||||
|
||||
## Licence
|
||||
[](https://gitlab.com/KevinRoebert/ClearUrls/blob/master/LICENSE.md)
|
||||
This is a fork of [ClearURLs/Addon](https://github.com/ClearURLs/Addon) with some modifications. The
|
||||
main change is moving the data/rule files to this repo instead of loading them from a gitlab page
|
||||
that the original author hosts. This removes the risk of a bad actor gaining control over that URL
|
||||
and making changes that lead to arbitrary code execution or redirecting your browser to arbitrary
|
||||
URLs.
|
||||
|
||||
## Install
|
||||
|
||||
**Firefox**
|
||||
* I have a signed xpi that you can immediately install. Open `build/` and drag the xpi into Firefox.
|
||||
It may take a few seconds for the browser to display the extension installation dialog box.
|
||||
* You can also find the signed Firefox files in the project's [Releases page](https://github.com/sir-pinecone/clear-urls-browser-extension/releases).
|
||||
|
||||
**Chrome**
|
||||
* Go to Chrome extensions page.
|
||||
* Toggle the developer mode (top-right of page).
|
||||
* Click `Load unpacked`.
|
||||
* Select this project's root folder.
|
||||
|
||||
## Development
|
||||
|
||||
### Local Testing
|
||||
|
||||
* Firefox: open about:debugging and click `Load Temporary Add-on...` then select `manifest.json` file.
|
||||
* Chrome: follow the install steps from above.
|
||||
|
||||
## Signing and Building
|
||||
|
||||
### Firefox
|
||||
* Install web-ext with `$ npm install --global web-ext`
|
||||
* Generate an unlisted xpi with:
|
||||
`web-ext sign --api-key <your JWT issuer> --api-secret <your JWT secret>`
|
||||
* You can obtain these keys from https://addons.mozilla.org/en-US/developers/addon/api/key/
|
||||
* The signed xpi will be in `web-ext-artifacts/`. Drag this into Firefox to install it.
|
||||
* Alternatively use the private sign-firefox-extension.sh script (not included in the repo) which places the xpi in `build/`.
|
||||
|
||||
---
|
||||
|
||||
**ClearURLs** is an add-on based on the new WebExtensions technology and is optimized for *Firefox* and *Chrome* based browsers.
|
||||
|
||||
This extension will automatically remove tracking elements from URLs to help protect your privacy when browse through the Internet,
|
||||
which is regularly updated by us and can be found [here](https://gitlab.com/anti-tracking/ClearURLs/rules/-/raw/master/data.min.json).
|
||||
|
||||
## Application
|
||||
Many websites use tracking elements in the URL (e.g. `https://example.com?utm_source=newsletter1&utm_medium=email&utm_campaign=sale`) to mark your online activity.
|
||||
All that tracking code is not necessary for a website to be displayed or work correctly and can therefore be removed—that is exactly what ClearURLs does.
|
||||
|
||||
Another common example are Amazon URLs. If you search for a product on Amazon you will see a very long URL, such as:
|
||||
```
|
||||
https://www.amazon.com/dp/exampleProduct/ref=sxin_0_pb?__mk_de_DE=ÅMÅŽÕÑ&keywords=tea&pd_rd_i=exampleProduct&pd_rd_r=8d39e4cd-1e4f-43db-b6e7-72e969a84aa5&pd_rd_w=1pcKM&pd_rd_wg=hYrNl&pf_rd_p=50bbfd25-5ef7-41a2-68d6-74d854b30e30&pf_rd_r=0GMWD0YYKA7XFGX55ADP&qid=1517757263&rnid=2914120011
|
||||
```
|
||||
|
||||
Indeed most of the above URL is tracking code. Once ClearURLs has cleaned the address, it will look like this:
|
||||
`https://www.amazon.com/dp/exampleProduct`
|
||||
|
||||
## Features
|
||||
|
||||
* Removes tracking from URLs automatically in the background
|
||||
* Blocks some common ad domains (optional)
|
||||
* Has a built-in tool to clean up multiple URLs at once
|
||||
* Supports redirection to the destination, without tracking services as middleman
|
||||
* Adds an entry to the context menu so that links can be copied quickly and cleanly
|
||||
* Blocks hyperlink auditing, also known as *ping tracking* (see also [this article](https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing))
|
||||
* Prevents ETag tracking
|
||||
* Prevents tracking injection over history API (see also: [The replaceState() method](https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method))
|
||||
* Prevents Google from rewriting the search results (to include tracking elements)
|
||||
* Prevents Yandex from rewriting the search results (to include tracking elements)
|
||||
|
||||
## Permissons
|
||||
Reasoning for needed permissions can be found under [here](https://gitlab.com/KevinRoebert/ClearUrls/issues/159).
|
||||
|
||||
## Copyright
|
||||
We use some third-party scripts in our add-on. The authors and licenses are listed below.
|
||||
- [WebExtension browser API Polyfill](https://github.com/mozilla/webextension-polyfill) |
|
||||
Copyright by Mozilla |
|
||||
[MPL-2.0](https://github.com/mozilla/webextension-polyfill/blob/master/LICENSE)
|
||||
- [Bootstrap v4.3.1](https://github.com/twbs/bootstrap/tree/v4.3.1) |
|
||||
Copyright 2011-2016 Twitter, Inc. |
|
||||
[MIT](https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
- [jQuery v3.4.1](https://github.com/jquery/jquery/tree/3.4.1) |
|
||||
Copyright JS Foundation and other contributors |
|
||||
[MIT](https://jquery.org/license/)
|
||||
- [DataTables v1.10.20](https://github.com/DataTables/DataTables/tree/master) | Copyright (c) 2008-2015 SpryMedia Limited | [MIT](https://datatables.net/license/)
|
||||
- [Pickr v1.7.0](https://github.com/Simonwep/pickr/tree/1.7.0) | Copyright (c) 2018 - 2020 Simon Reinisch |
|
||||
[MIT](https://github.com/Simonwep/pickr/blob/master/LICENSE)
|
||||
- [Font Awesome v5.12.0](https://github.com/FortAwesome/Font-Awesome/tree/5.12.0) | Copyright (c) @fontawesome |
|
||||
[Font Awesome Free License](https://github.com/FortAwesome/Font-Awesome/blob/master/LICENSE.txt)
|
||||
|
|
|
@ -1,246 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "Aktuell",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass kein Update für die ClearURLs-Regeln verfügbar ist und alles auf dem neuesten Stand ist."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "Aktuallisiert",
|
||||
"description": ""
|
||||
"message": "Aktualisiert",
|
||||
"description": "Dieser Statuscode besagt, dass die ClearURLs-Regeln erfolgreich aktualisiert wurden."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "Aktuallisierung verfügbar",
|
||||
"description": ""
|
||||
"message": "Aktualisierung verfügbar",
|
||||
"description": "Dieser Statuscode besagt, dass ein Update für die ClearURLs-Regeln verfügbar ist."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "Fehler",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass ClearURLs nicht korrekt gestartet werden konnten."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Da ist etwas schiefgelaufen!",
|
||||
"description": ""
|
||||
"description": "Dieser Statuscode besagt, dass beim Aktualisieren der ClearURLs-Regeln ein Fehler aufgetreten ist."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Diese Url wurde weiter geleitet",
|
||||
"description": ""
|
||||
"message": "Diese URL wurde weiter geleitet",
|
||||
"description": "Diese Zeichenfolge wird für Umleitungen im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Diese Domain wurde blockiert",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird für blockierte Domäns im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Protokoll-Listener wurde hinzugefügt.",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird beim Start des ClearURL-Protokolls verwendet."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Protokoll von ClearURLs",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Überschrift auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Vor der Verarbeitung",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Nach der Verarbeitung",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Zeit",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Tabellentitel auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Zurücksetzen auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Setzt das globale Protokoll zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen auf der Protokollseite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Einstellungen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Konfigurationen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Filterschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Der Filter-Schalter aktiviert die Reinigungsfunktion von ClearURLs, wenn sie die Funktion ausschalten, dann deaktivieren sie das gesamte Addon",
|
||||
"description": ""
|
||||
"message": "Der Filter-Schalter aktiviert die Reinigungsfunktion von ClearURLs, wenn Sie die Funktion ausschalten, dann deaktivieren Sie das gesamte Add-on",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Filterschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Umschalten der Protokollierung auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Das Protokoll wird nur lokal gespeichert. Wir empfehlen diese Funktion deaktiviert zulassen, wenn Sie sie nicht benötigen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Umschalten der Protokollierung auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Zähler",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Wechseln der Abzeichen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Zeigt die Anzahl der gereinigten URLs an",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Wechseln der Abzeichen auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistik",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Statistiken auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elemente",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blockiert",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die blockierten Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Anteil",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für den Prozentsatz der blockierten Elemente auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Zurücksetzen der Statistik auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Setzt die globale Statistik zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen der Statistik auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regel Status",
|
||||
"description": ""
|
||||
"message": "Regel-Status",
|
||||
"description": "Diese Zeichenfolge wird als Titel für den Abschnitt \"Regelstatus\" auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Protokollschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Öffnet das Protokoll",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Protokollschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"popup_html_report_button": {
|
||||
"message": "Aktuelle URL melden",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Meldet die aktuelle URL aus diesem Tab.",
|
||||
"description": ""
|
||||
"description": "Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Auf Festplatte gespeichert.",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge teilt dem Benutzer mit, dass ClearURLs die Einstellungen auf der Festplatte gespeichert hat."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Das Addon konnte nicht gestartet werden.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Das Add-on konnte nicht gestartet werden.",
|
||||
"description": "Diese Zeichenfolge teilt dem Benutzer mit, dass ClearURLs nicht gestartet werden konnten."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiken",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Statistikschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktiviert oder deaktiviert die Statistikfunktion",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Statistikschaltfläche auf der Popup-Seite verwendet."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Einstellungen von ClearURLs",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Zählerfarbe",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für das Etikett mit den abgebildeten Farben verwendet."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Zurücksetzen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Zurücksetzen auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Setzt alle Einstellungen zurück",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Zurücksetzen auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Die Url zu der data.json Datei (Regeln)",
|
||||
"description": ""
|
||||
"message": "Die URL zu der data.json Datei (Regeln)",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Regel-URL-Bezeichnung verwendet."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Speichern & Addon neustarten",
|
||||
"description": ""
|
||||
"message": "Speichern & Add-on neustarten",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Speichern und erneuten Laden auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Speichert die Einstellungen",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Speichern und erneuten Laden auf der Einstellungsseite verwendet."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Die Url zu der rules.hash Datei (Hash)",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die rule.hash URL verwendet."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (Expertenniveau)",
|
||||
"description": ""
|
||||
"description": "Diese Zeichenfolge wird als Name für die Typenbezeichnung verwendet."
|
||||
},
|
||||
|
||||
"setting_report_server_label": {
|
||||
"message": "Meldungsserver für URLs",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"success_report_url": {
|
||||
"message": "Die URL wurde erfolgreich gemeldet. Wir werden sie in Kürze prüfen.",
|
||||
"description": ""
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
|
||||
"error_report_url": {
|
||||
"message": "Es schaut so aus, als ob diese URL schon gemeldet wurde.",
|
||||
"description": ""
|
||||
"message": "Es sieht so aus, als sei diese URL schon gemeldet worden.",
|
||||
"description": "Hinweis: Wird derzeit nicht verwendet."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Eine Schenkung (Spende) für den ClearURLs-Urheber",
|
||||
"description": "Diese Zeichenfolge wird verwendet, um auf eine Spendenseite zu verweisen."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Gesäuberte Link-Adresse kopieren",
|
||||
"description": "Diese Zeichenfolge wird im Kontextmenü zum Kopieren sauberer Links verwendet."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Kontextmenü-Eintrag anzeigen",
|
||||
"description": "Mit dieser Zeichenfolge wird der Kontextmenüeintrag ein- und ausgeschaltet, um saubere Links zu kopieren."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Verhindere Tracking über die History-API (Siehe auch: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "Diese Zeichenfolge wird als Name für das History-API-Listener-Label verwendet."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Säuberungswerkzeug von ClearURLs",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Reinigungswerkzeugseite verwendet."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Mit diesem Werkzeug können Sie URLs in die Textbox einfügen. Nach einem klick auf den grünen Button reinigt ClearURLs die Links. Sie können mehrer URLs auf einmal einfügen, jede URL muss aber in einer eigenen Zeile stehen.",
|
||||
"description": "Diese Zeichenfolge wird als Beschreibung des Reinigungswerkzeugs verwendet."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URLs säubern",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche \"URLs säubern\" verwendet."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Hier können Sie die ungesäuberten URLs einfügen:",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Seite des Bereinigungstools für die fehlerhaften URLs verwendet."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Hier finden Sie die gesäuberten URLs:",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Bereinigungswerkzeugseite für die bereinigten URLs verwendet."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Auslassen von lokalen URLs (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Auslassen von lokalen URLs verwendet."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Auslassen von lokalen URLs",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Auslassen von lokalen URLs verwendet."
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportieren",
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Exportieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exportieren des globalen Protokolls",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Exportieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importieren",
|
||||
"description": "Diese Zeichenfolge wird für die Schaltfläche zum Importieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importieren des globalen Protokolls",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Importieren auf der Protokollseite verwendet."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportieren",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Exportieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exportiert alle Einstellungen",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Exportieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importieren",
|
||||
"description": "Diese Zeichenfolge wird als Name für die Schaltfläche zum Importieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importiert alle Einstellungen inkl. Regeln und Protokoll",
|
||||
"description": "Diese Zeichenfolge wird als Titel für die Schaltfläche zum Importieren auf der Einstellungsseite verwendet."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitiert das Protokoll auf $LIMIT$ Einträge.",
|
||||
"description": "Diese Zeichenfolge wird als Name für das Protokolllimit verwendet.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Diese Seite wurde von <b>ClearURLs</b> blockiert.",
|
||||
"description": "Diese Zeichenfolge wird als Titel auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Diese Seite wurde vom <b>ClearURLs</b>-Add-on blockiert, weil wir sie als Werbe- bzw. Trackingservice identifiziert haben. Um diese Seite zu besuchen, müssen Sie das Add-on temporär deaktivieren oder in den Einstellungen von ClearURLs das Domain-Blocking deaktivieren. Dann können Sie auf den untenstehenden Button klicken, um die Seite aufzurufen.",
|
||||
"description": "Diese Zeichenfolge wird als Mengentext auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Seite besuchen",
|
||||
"description": "Diese Zeichenfolge wird als Buttontext auf der Hinweisseite für blockierte Seiten verwendet."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Erlaube Referral-Marketing",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Referral-Marketing verwendet."
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Erlaubt Referral-Marketing",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Referral-Marketing verwendet."
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Der Watchdog hat ein Problem festgestellt und ist bereits das $TIMES$-te mal gescheitert.",
|
||||
"description": "Diese Zeichenkette wird als Text für den Watchdog verwendet.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Erlaube Domain-Blocking (Kann zu Problemen auf Seiten führen, die AdBlocker nicht erlauben)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Domain-Blocking verwendet."
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Erlaube Domain-Blocking (Kann zu Problemen auf Seiten führen, die AdBlocker nicht erlauben)",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Domain-Blocking verwendet."
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Diese Hyperlink-Auditing-Anfrage wurde blockiert",
|
||||
"description": "Diese Zeichenfolge wird für blockierte Hyperlink-Auditing-Anfragen im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blockiere Hyperlink-Auditing-Anfragen (siehe auch <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>diese Spezifikation</a>)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Hyperlink Auditing-Blocking verwendet."
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blockiere Hyperlink-Auditing-Anfragen",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Hyperlink-Auditing-Blocking verwendet."
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Entfernt Tracking-Elemente von URLs.",
|
||||
"description": "Erweiterungsbeschreibung (max. 132 Zeichen)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag-Header wurde aus dieser Anfrage entfernt",
|
||||
"description": "Diese Zeichenkette wird für das Filtern von ETag-Headern im ClearURL-Protokoll verwendet."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtert die ETag-Header aus den Anfragen (Siehe auch <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>diesen Artikel</a>)",
|
||||
"description": "Diese Zeichenkette wird als Beschreibung für das Filtern von ETag-Headern verwendet."
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtert ETag-Header. Info: Cache muss vor der ersten Benutzung geleert werden.",
|
||||
"description": "Diese Zeichenkette wird als Titel für das Filtern von ETag-Headern verwendet."
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "Nachricht",
|
||||
"description": "nur zur Fehlerbehebung benötigt"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,246 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "up to date",
|
||||
"description": ""
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "updated",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "update available",
|
||||
"description": ""
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "error",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops something went wrong!",
|
||||
"description": ""
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "This url is redirected",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "This domain is blocked",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener is added.",
|
||||
"description": ""
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Log from ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Before processing",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "After processing",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Rule",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Time",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Reset the global log",
|
||||
"description": ""
|
||||
"message": "Resets the global log",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configs",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "The filters switch activates the cleaning functionality of ClearURLs. If you disable this option, the whole addon is disabled",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Logging",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "The log is saved only locally. We advise against this feature if you do not need it",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Badges",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Show number of cleaned urls",
|
||||
"description": ""
|
||||
"message": "Show numbers of cleaned urls",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elements",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blocked",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentage",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Reset the global statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Rules-Status",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Open the log",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_report_button": {
|
||||
"message": "Report current URL",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Report the current URL from this tab.",
|
||||
"description": ""
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Save on disk.",
|
||||
"description": ""
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: The addon could not started.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: The addon could not start.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistics",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Activate or deactivate the statistics function",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Settings from ClearURLs",
|
||||
"description": ""
|
||||
"message": "ClearURLs settings",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Badged color",
|
||||
"description": ""
|
||||
"message": "Badge color",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Reset",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Reset everything",
|
||||
"description": ""
|
||||
"message": "Resets everything",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "The url to the data.json file (rules)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Save & reload addon",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Saves the settings",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "The url to the rules.hash file (hash)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expert level)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
|
||||
"setting_report_server_label": {
|
||||
"message": "Report server for URLs",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"success_report_url": {
|
||||
"message": "The URL was successfully reported. We will check this URL soon.",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
|
||||
"error_report_url": {
|
||||
"message": "It seems like this URL has already been reported.",
|
||||
"description": ""
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "A donation for the ClearURLs creator.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copy Clean Link Location",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Display context menu entry",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevent tracking injection over history API (See also: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs cleaning tool",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "With this tool you can paste in URLs and ClearURLs will clean the URLs after a click on the green button. You can paste in multiple URLs at once, but every URL must be on a separate line.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Clean URLs",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Here you can paste in the dirty URLs:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Here you can find the cleaned URLs:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Skip URLs on local hosts (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Skips URLs on local hosts",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exports the global log",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Import the global log",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Export",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exports everything",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Import",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Imports everything",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limit the log to $LIMIT$ entries.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "This site was blocked by <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "This site was blocked by the <b>ClearURLs</b> Add-on, because we identify this site as an advertising and/or tracking service. To visit this site, you must temporarily deactivate the Add-on or disable domain blocking in the ClearURLs settings. After this you can click on the button below to load the page.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visit page",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Allow referral marketing",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Allows referral marketing",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: The watchdog has detected a problem and has already failed $TIMES$ times.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Allow domain blocking (Can lead to problems on pages that do not allow AdBlockers)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Allow domain blocking (Can lead to problems on pages that do not allow AdBlockers)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "This hyperlink auditing was blocked",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Block hyperlink auditing (See also <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>this article</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Block hyperlink auditing",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Remove tracking elements from URLs.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag header was removed from this request",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filters ETag headers from requests (See also <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>this article</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filters ETag headers. Hint: Cache must be cleared before first use.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,216 +1,328 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "actualizado",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"message": "actualizado",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponivel",
|
||||
"description": ""
|
||||
"message": "actualización disponible",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erro",
|
||||
"description": ""
|
||||
"message": "error",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops, algo deu errado!",
|
||||
"description": ""
|
||||
"message": "¡Vaya, algo ha ido mal!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Esta url foi redirecionada",
|
||||
"description": ""
|
||||
"message": "Esta dirección ha sido redirigida",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio foi bloqueado",
|
||||
"description": ""
|
||||
"message": "Este dominio está bloqueado",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Examinador de registro foi adicionado",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Registro activado.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Registro do ClearURLs",
|
||||
"description": ""
|
||||
"message": "Registro de ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes de processar",
|
||||
"description": ""
|
||||
"message": "Antes de procesar",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois de processar",
|
||||
"description": ""
|
||||
"message": "Tras procesar",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra",
|
||||
"description": ""
|
||||
"message": "Regla",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tempo",
|
||||
"description": ""
|
||||
"message": "Hora",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Resetar o registro global",
|
||||
"description": ""
|
||||
"message": "Reiniciar el registro general",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações",
|
||||
"description": ""
|
||||
"message": "Configuraciones",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtrar",
|
||||
"description": ""
|
||||
"message": "Filtrado",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O botão filtrar ativa a funcionalidade de limpeza do ClearURLs. Se você desativar essa opção toda a extensão é desativada",
|
||||
"description": ""
|
||||
"message": "Este interruptor activa la funcionalidad de filtrado de ClearURLs. Si se deshabilita, el complemento entero dejará de operar.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O registro é salvo localmente apenas. Aconselhamos contra este recurso se você não precisa dele",
|
||||
"description": ""
|
||||
"message": "El registro sólo se guarda localmente. No recomendamos activarlo a menos que la necesites.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostrar número de urls limpas",
|
||||
"description": ""
|
||||
"message": "Muestra el número de direcciones modificadas.",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"message": "Estadísticas",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementos",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueado",
|
||||
"description": ""
|
||||
"message": "Bloqueados",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Porcentagem",
|
||||
"description": ""
|
||||
"message": "Porcentaje",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Resetar as estatísticas globais",
|
||||
"description": ""
|
||||
"message": "Reinicia las estadísticas generales",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras",
|
||||
"description": ""
|
||||
"message": "Reglas",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abrir o registro",
|
||||
"description": ""
|
||||
"message": "Abre el registro.",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Notificar dirección actual",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Notifica sobre la dirección de la pestaña actual.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salvar no disco.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Guardar a disco.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: A extensão não pode ser inicializada.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: El complemento no ha podido arrancar.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"message": "Estadísticas",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar função de estatísticas",
|
||||
"description": ""
|
||||
"message": "Habilita o deshabilita las estadísticas",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Configurações do ClearURLs",
|
||||
"description": ""
|
||||
"message": "Ajustes de ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Cor do contador",
|
||||
"description": ""
|
||||
"message": "Color del contador",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"message": "Reiniciar",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Resetar tudo",
|
||||
"description": ""
|
||||
"message": "Reinicia el complemento entero.",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Url do arquivo data.json (regras)",
|
||||
"description": ""
|
||||
"message": "Dirección al fichero data.json de reglas",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Salvar e recarregar extensão",
|
||||
"description": ""
|
||||
"message": "Guardar y aplicar",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salvar configurações",
|
||||
"description": ""
|
||||
"message": "Guarda los ajustes.",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Url do arquivo rules.hash (hash)",
|
||||
"description": ""
|
||||
"message": "Dirección al fichero rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Solicitar tipos</a> (nivel experto)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Servidor de notificado de direcciones",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "La dirección ha sido enviada satisfactoriamente. La comprobaremos en breves.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que esta dirección ya había sido notificada.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donar al creador de ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar ubicación actual limpia",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Mostrar en el menú contextual",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Evitar inyección mediante la API del historial (información técnica en <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>el método replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Herramienta de filtrado de ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Con esta herramienta puedes filtrar múltiples direcciones de un plumazo. Simplemente pégalas en la caja de abajo, con una dirección por línea, y pulsa sobre el botón verde.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Filtrar direcciones",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Aquí puedes pegar las direcciones con metadatos:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Aquí aparecerán las direcciones filtradas:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Omitir filtrado en redes locales (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Omitir filtrado en local",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporta el registro general",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importar el registro general",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportar",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporta todo.",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importar",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importar todo.",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitar el tamaño del registro a $LIMIT$ eventos.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Este sitio ha sido bloqueado por <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Este sitio ha sido bloqueado por el complemento <b>ClearURLs</b> porque hemos detectado que se trata de un sitio empleado para publicidad o seguimiento. Si deseas aun así visitarlo, tendrás que deshabilitar temporalmente el complemento o desabilitar el bloqueo de dominios en los ajustes, y después pulsar el botón de abajo.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visitar página",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permitir márketing de referidos",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permitir márketing de referidos",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: El watchdog detectado un problema. ClearURLs será reiniciado.",
|
||||
"description": "This string is used as text for the watchdog"
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permitir bloqueo de dominios (Puede provocar problemas con sitios que no permitan bloqueadores de anuncios)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permitir bloqueo de dominios (Puede provocar problemas con sitios que no permitan bloqueadores de anuncios)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "La auditoría de este hipervínculo ha sido bloqueada",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquear auditoría de hipervínculos (más información en inglés en <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>este artículo</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquear auditoría de hipervínculos",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,221 +1,350 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "Mise à jour",
|
||||
"description": ""
|
||||
"message": "à jour",
|
||||
"description": "Les règles ClearURLs sont parfaitement à jour."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "Mis à jour",
|
||||
"description": ""
|
||||
"message": "mis à jour",
|
||||
"description": "Cela indique la réussite des mises à jour des règles de ClearURLs."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "Mise à jour disponible",
|
||||
"description": ""
|
||||
"message": "mise à jour disponible",
|
||||
"description": "Une mis à jour pour les règles de ClearURLs sont disponibles."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erreur",
|
||||
"description": ""
|
||||
"description": "ClearURLs n’a pas pu démarrer adéquatement pour son bon fonctionnement."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Quelque chose a dysfonctionné, mais quoi ...",
|
||||
"description": ""
|
||||
"message": "Quelque chose a dysfonctionné",
|
||||
"description": "Pendant la mis à jour des règles ClearURLs un dysfonctionnement est survenue."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Ce lien Internet a été redirigé",
|
||||
"description": ""
|
||||
"message": "Cette URL a été redirigée",
|
||||
"description": "Cette chaîne est utilisée pour les redirections dans le protocole ClearURL."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Ce domaine est bloqué",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée sur les domaines bloqués dans le journal de ClearURLs."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Une base de données pour les URL a été ajoutée",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée au démarrage du journal de ClearURL."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Connexion à partir de ClearURLS",
|
||||
"description": ""
|
||||
"message": "Journaux de ClearURLs",
|
||||
"description": "Cette chaîne est utilisée comme en-tête sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Avant le processus de traitement",
|
||||
"description": ""
|
||||
"message": "Avant traitement",
|
||||
"description": "Cette chaîne est utilisée comme titre de tableau sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Après le processus de traitement. ",
|
||||
"description": ""
|
||||
"message": "Après traitement. ",
|
||||
"description": "Cette chaîne est utilisée comme titre de tableau sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Règle",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée comme titre de tableau sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Temps",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée comme titre de tableau sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Remise à l’état initial",
|
||||
"description": ""
|
||||
"message": "Remise à zéro",
|
||||
"description": "Cette chaîne est utilisée comme titre de tableau sur la page de journal."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Réinitialiser la base de données",
|
||||
"description": ""
|
||||
"message": "Réinitialiser les journaux globaux",
|
||||
"description": "Cette chaîne est utilisée comme titre pour le bouton de réinitialisation sur la page de journal."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Paramétrages",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée comme titre pour les paramétrages sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtre",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée comme nom pour le bouton de changement de filtre sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Le commutateur de l'extension active ou désactive la fonction de nettoyage de ClearURLs",
|
||||
"description": ""
|
||||
"description": "Cette chaîne est utilisée comme titre pour le bouton de changement de filtre sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Historique",
|
||||
"description": ""
|
||||
"message": "Journalisation",
|
||||
"description": "Cette chaîne est utilisée comme nom pour le bouton du commutateur de journalisation sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "L'historique est enregistré localement. Si vous n’avez pas besoin de le consulter, nous déconseillons de l’activer",
|
||||
"description": ""
|
||||
"message": "Les journaux sont enregistrés localement. Si vous n’avez pas besoin de les consulter, nous déconseillons de les activer",
|
||||
"description": "Cette chaîne est utilisée comme titre pour le bouton du commutateur de journalisation sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Compteur",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Nombre de liens Internet nettoyés",
|
||||
"description": ""
|
||||
"message": "Afficher le nombre d'URL nettoyées",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Liens Internet",
|
||||
"description": ""
|
||||
"message": "Éléments",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Nb. de bloqués",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Pourcentage",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Remettre à zéro",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Remettre à zéro le décompte, les statistiques",
|
||||
"description": ""
|
||||
"message": "Remettre à zéro les statistiques globales",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Règles de la base de données",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Compte-rendu",
|
||||
"description": ""
|
||||
"message": "Journaux",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Ouvrir le compte-rendu",
|
||||
"description": ""
|
||||
"message": "Ouvrir les journaux",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Signaler cette URL",
|
||||
"description": "Annotation : actuellement non utilisé."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Signaler un dysfonctionnement sur cette URL",
|
||||
"description": "actuellement non utilisé."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Sauvegarder sur le disque",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Sauvegarder sur le disque.",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: L’extension n’a pu être démarrée",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: L’extension n’a pu être démarrée.",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Activer ou désactiver les statistiques",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Paramétrages de ClearURLs",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Couleur du compteur",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Remettre à l’état initial",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Réinitialisation de tous les paramètres",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Lien Internet du fichier Data (basse de données)",
|
||||
"description": ""
|
||||
"message": "L'URL du fichier data.json (règles)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Sauvegarder et redémarrer l’extension",
|
||||
"description": ""
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Sauvegarder les paramétrages",
|
||||
"description": ""
|
||||
"message": "Sauvegarde les paramétrages",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Lien Internet du fichier Hash (signature de contrôle)",
|
||||
"description": ""
|
||||
"message": "L'URL du fichier rules.hash (signature de contrôle)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Demande de données (webRequest)</a> (Uniquement si vous maitrisez la programmation)",
|
||||
"description": ""
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Types de requête (webRequest)</a> (niveau expert)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Serveur pour signaler des URL",
|
||||
"description": "Annotation : actuellement non utilisé."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Nous avons reçu votre signalement. Nous allons vérifier cette URL.",
|
||||
"description": "Annotation : actuellement non utilisé."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Il semble que cette URL a déjà été signalée.",
|
||||
"description": "Annotation : actuellement non utilisé."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Subventionner le créateur de ClearURLs.",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copier l’URL sans le traqueur",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Activer ClearUrls dans le menu contextuel (le clic droit sur une page)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Empêcher les sites d’aller fouiner dans l'historique. (<a href='https://developer.mozilla.org/fr/docs/Web/Guide/DOM/Manipuler_historique_du_navigateur' target='_blank'>La méthode utilisée est replaceState()</a>)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Outil de nettoyage pour ClearURLs",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Ici, vous pouvez déposer des URL et ClearURLs les nettoiera par un clic sur le bouton vert. Vous pouvez mettre plusieurs URL mais chaque URL devra être mise sur une ligne séparée.",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Nettoyer les URL",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Coller ici les URL à nettoyer :",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Vous trouverez ici les URL nettoyées :",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Ignorer les IP sur les hôtes locaux, Box, routeur, serveur, etc. (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Ignorer les IP ou URL sur les hôtes locaux, Box, routeur, serveur ...",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exporter",
|
||||
"description": "Cette chaîne est utilisée pour le bouton d'exportation sur la page du journal."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporter le journal",
|
||||
"description": "Cette chaîne est utilisée comme titre pour le bouton d'exportation de la page du journal."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importer",
|
||||
"description": "Cette chaîne est utilisée pour le bouton d'importation sur la page de journal."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importer le journal",
|
||||
"description": "Cette chaîne est utilisée comme titre pour le bouton d'importation sur la page de journal."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exporter",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Tout exporter",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importer",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Tout importer",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Nombre d’éléments à enregistrer dans le journal, $LIMIT$ de -1 à l’infini",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Site Internet bloqué par <b>ClearURLs</b>",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Ce site Internet a été bloqué par l’extension <b>ClearURLs</b> ; il est identifié comme étant problématique, soit publicitaire, soit d’espionnage ; vous pouvez désactiver temporairement le blocage du site dans les paramétrages, soit l’extension, afin de vous y connecter. Il vous faudra recharger la page, soit par le navigateur, soit avec le bouton ci-dessous.",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Se connecter",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permettre certaines actions commerciales",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permettre certaines actions commerciales",
|
||||
"description": "Sert à afficher la signification de la fonction sur la switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Watchdog, très petit programme qui surveille les attaques de la mémoire vive, a détecté $TIMES$ problème(s)",
|
||||
"description": "Utilisé pour un texte explicatif du Watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Bloquer les atteintes à la vie privée. Cependant, des sites décèlent la technique de protection et dysfonctionnent délibérément ou affichent des avertissements",
|
||||
"description": "Sert à afficher la signification de la fonction sur la page qui affiche les options."
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Autoriser le blocage de domaine (ex : example.com) ; peut poser des problèmes d'affichage sur des sites refusant les bloqueurs de contenu",
|
||||
"description": "Cette chaîne est utilisée comme titre pour le commutateur de blocage de domaine"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Bloquer l’espionnage des clics souris sur les liens hypertextes",
|
||||
"description": "Cette chaîne est utilisée pour de l'audit (espionnage) des liens hypertextes dans le journal ClearURLs."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquer l’espionnage des clics souris sur les liens hypertextes (voyez <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>cet article en anglais</a>)",
|
||||
"description": "Utilisé pour le bouton activer/désactiver l'audit (espionnages) des liens hypertextes"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquer l’espionnage auditing",
|
||||
"description": "Utilisé comme titre pour le bouton, commutateur, de l’audit des liens hypertextes"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Retirer les espions dans les adresses Internet.",
|
||||
"description": "Description des fonctions ; utilisez au maximum 132 caractères."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "L’identification ETag a été supprimée",
|
||||
"description": "Utilisé pour le journal de ClearUrls et indiquer ce qui a été nettoyé"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrer ETag ; les sites mettent dans le cache du Navigateur, ou Système d’Exploitation, un identifiant pour vous pister",
|
||||
"description": "Titre pour le bouton de filtrage ETag"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtre les identifications ETag, mais pour la première utilisation, veuillez vider le cache",
|
||||
"description": "Titre pour le bouton de filtrage ETag"
|
||||
}
|
||||
}
|
||||
}
|
218
_locales/hu/messages.json
Normal file
218
_locales/hu/messages.json
Normal file
|
@ -0,0 +1,218 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "naprakész",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "frissítve",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "frissítés érhető el",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "hiba",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Hoppá, valami nincs rendben!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Ez az url átirányítva",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "A domain blokkolva",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: naplózás elindult.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs napló",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Feldolgozás előtt",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Feldolgozást követően",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Szabály",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Idő",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Nullázás",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Teljes napló törlése",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Beállítások",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Szűrők",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "A Szűrők kapcsoló aktiválja a ClearURLs tisztítás funkcióját. Ha kikapcsolod, akkor az egész bővítmény működése leáll.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Naplózás",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "A napló helyileg lesz elmentve. Ha nincs rá szükséged inkább ne kapcsold be.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Jelvények",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mutassa a tisztított URL-ek számát",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statisztika",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Összes elem",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blokkolva",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Százalék",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Nullázás",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Teljes statisztika törlése",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Szabályok állapota",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Napló",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Napló megnyitása",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Aktív URL jelentése",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Jelenlegi fül URL címének jelentése.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: elmentve a lemezre.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: a bővítmény nem tudott elindulni.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statisztika",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Statisztika funkció aktiválása, letiltása",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs beállításai",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Jelvény színe",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Visszaállítás",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Minden visszaállítása alapértékre",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "URL a data.json fájlhoz (szabályok)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Mentés és bővítmény újraindítása",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Beállítások elmentése",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "URL a rules.hash fájlhoz (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (haladó szint)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Adomány a ClearURLs készítőjének.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Tisztított link másolása",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Környezeti menü elemei",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Tisztító eszköz a ClearURLs-től",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Az ide beillesztett URL-eket megtisztíthatod a ClearURLs segítségével, ha a zöld gombra nyomsz. Egyszerre több URL-t is megadhatsz, de a címeket soronként kell beírnod.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL tisztítás",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Itt adhatod meg az URL-eket:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Itt láthatod a tisztított URL-eket:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
}
|
||||
}
|
328
_locales/it/messages.json
Normal file
328
_locales/it/messages.json
Normal file
|
@ -0,0 +1,328 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "tutto aggiornato",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "aggiornate",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "aggiornamento disponibile",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "errore",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops qualcosa è andato storto!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Questo URL viene reindirizzato",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Questo dominio è bloccato",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener è stato aggiunto.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Log di ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Prima dell'elaborazione",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Dopo l'elaborazione",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regola",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Data e ora",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Azzera il log globale",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurazioni",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtra",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "L'interruttore dei filtri attiva la funzione di pulizia di ClearURLs. Se si disabilita questa opzione, l'intero componente aggiuntivo è disabilitato.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Log",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Il registro viene salvato solo in locale. Si sconsiglia di utilizzare questa funzione se non ne hai bisogno.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contatore",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostra il numero di url puliti",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistiche",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementi",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloccati",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentuale",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Ripristina le statistiche globali",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regole-Stato",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Log",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Apri il file di log",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Segnala l'url corrente",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Segnala l'URL corrente da questa scheda.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salva sul disco.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Il componente aggiuntivo non può essere avviato.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistiche",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Attiva o disattiva le statistiche",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Impostazioni da ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Colore distintivo",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Ripristina",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Ripristina tutto",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Indirizzo del file data.json (regole)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Salva e ricarica il componente aggiuntivo",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salva le impostazioni",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Indirizzo del file rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (livello esperto)\n",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Server di report per gli URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "L'URL è stato segnalato correttamente. Verificheremo l'URL quanto prima.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Sembra che questo URL sia già stato segnalato.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Una donazione per l'autore di ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copia i collegamenti puliti",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Visualizza la voce del menu contestuale",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Impedisci il tracciamento via cronologia API (vedi: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>Il metodo replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Strumento di pulizia di ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Con questo strumento è possibile incollare URL che ClearURLs pulirà facendo clic sul pulsante verde. È possibile incollare più URL contemporaneamente, indica un singolo URL per riga.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Pulisci gli URL",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Qui puoi incollare gli URL sporchi:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Qui di seguito puoi trovare gli URL puliti:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Escludi gli URL locali (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Escludi gli URL locali",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Esporta",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Esporta il log globale",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importa",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importa il log globale",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Esporta",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Esporta tutto",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importa",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importa tutto",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limita le voci di log a $LIMIT$.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Questo sito è stato bloccato da <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Questo sito è stato bloccato da <b>ClearURLs</b> perché è stato identificato come sito web di advertising e/o servizio di tracciamento. Per visitare questo sito web devi temporaneamente disattivare il componente aggiuntivo. Dopo aver disattivato ClearURLs potrai fare clic sul pulsante qui sotto per ricaricare la pagina.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visita la pagina",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permetti l'utilizzo di referral marketing",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permette l'utilizzo del referral marketing (esempio: Amazon)",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Il sistema di controllo ha identificato un problema. ClearURLs verrà riavviato.",
|
||||
"description": "This string is used as text for the watchdog"
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permetti il blocco dei domini (può portare a problemi su pagine che non consentono AdBlocker)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permetti il blocco dei domini (può portare a problemi su pagine che non consentono AdBlocker)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Questa verifica del collegamento è stata bloccata",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blocca la verifica dei collegamenti (vedi anche <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>questo articolo</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blocca la verifica dei collegamenti",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
}
|
||||
}
|
378
_locales/ja/messages.json
Normal file
378
_locales/ja/messages.json
Normal file
|
@ -0,0 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "最新",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新が無く、すべてが最新であることを示しています。"
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "更新しました",
|
||||
"description": "このステータスコードは、ClearURLs ルールが正常に更新されたことを示しています。"
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "更新が利用可能",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新が利用可能であることを示しています。"
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "エラー",
|
||||
"description": "このステータスコードは、ClearURLs が正しく開始できなかったことを示しています。"
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "おっと!何かが間違っていた!",
|
||||
"description": "このステータスコードは、ClearURLs ルールの更新中にエラーが発生したことを示しています。"
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "この URL はリダイレクトされます",
|
||||
"description": "この文字列は、ClearURLs ログをリダイレクトして使用されます。"
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "このドメインはブロックされています",
|
||||
"description": "この文字列は、ClearURLs ログでブロックされたドメインで使用されます。"
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]:ログリスナーを追加しました。",
|
||||
"description": "この文字列は、ClearURLs ログの起動時に使用されます。"
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs のログ",
|
||||
"description": "この文字列は、ログページのヘッダーとして使用されます。"
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "処理前",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "処理後",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "ルール",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "時間",
|
||||
"description": "この文字列は、ログページのテーブルタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、ログページのリセットボタンに使用されます。"
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "グローバルログをリセットする",
|
||||
"description": "この文字列は、ログページのリセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "設定",
|
||||
"description": "この文字列は、ポップアップページの設定のタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "フィルター",
|
||||
"description": "この文字列は、ポップアップページのフィルタースイッチボタンの名前として使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "フィルタースイッチは、ClearURLs のクリーニング機能を有効にします。 このオプションを無効にすると、アドオン全体が無効になります。",
|
||||
"description": "この文字列は、ポップアップページのフィルタースイッチボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "追跡記録",
|
||||
"description": "この文字列は、ポップアップページのロギングスイッチボタンの名前として使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "ログはローカルにのみ保存されます。この機能が必要ない場合は、この機能を無効にすることをおすすめします。",
|
||||
"description": "この文字列は、ポップアップページのロギングスイッチボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "バッジ",
|
||||
"description": "この文字列は、ポップアップページのバッジスイッチボタンの名前として使用されます。"
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "消去された URL の数を表示する",
|
||||
"description": "この文字列は、ポップアップページのバッジ切り替えボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "統計",
|
||||
"description": "この文字列は、ポップアップページの統計のタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "要素",
|
||||
"description": "この文字列は、ポップアップページの要素の名前として使用されます。"
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "ブロックされた要素",
|
||||
"description": "この文字列は、ポップアップページでブロックされた要素の名前として使用されます。"
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "ブロックされた要素の割合",
|
||||
"description": "この文字列は、ポップアップページでブロックされた要素の割合の名前として使用されます。"
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、ポップアップページの統計リセットボタンの名前として使用されます。"
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "グローバル統計をリセットする",
|
||||
"description": "この文字列は、ポップアップページの統計リセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "ルール・ステータス",
|
||||
"description": "この文字列は、ポップアップページのルール・ステータスセクションのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "記録を取る",
|
||||
"description": "この文字列は、ポップアップページのログボタンの名前として使用されます。"
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "ログを開く",
|
||||
"description": "この文字列は、ポップアップページのログボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "現在の URL を報告する",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "このタブから現在の URL を報告してください。",
|
||||
"description": "現在使用されていません。"
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]:ディスクに保存します。",
|
||||
"description": "この文字列は、ClearURLs が設定をディスクに保存したことをユーザーに伝えるために使用されます。"
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]:アドオンを開始できませんでした。",
|
||||
"description": "この文字列は、ClearURLs を開始できなかったことをユーザーに伝えるために使用されます。"
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "統計情報",
|
||||
"description": "この文字列は、ポップアップページの統計情報切り替えボタンの名前として使用されます。"
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "統計情報機能を有効または無効にする",
|
||||
"description": "この文字列は、ポップアップページの統計情報切り替えボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs の設定",
|
||||
"description": "この文字列は、設定ページのタイトルとして使用されます。"
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "バッジの色",
|
||||
"description": "この文字列は、バッジ付きカラーラベルの名前として使用されます。"
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "リセットする",
|
||||
"description": "この文字列は、設定ページのリセットボタンの名前として使用されます。"
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "すべてをリセットする",
|
||||
"description": "この文字列は、設定ページのリセットボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json ファイルへの URL(ルール)",
|
||||
"description": "この文字列は、ルールの URL ラベルの名前として使用されます。"
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "アドオンの保存と再読み込み",
|
||||
"description": "この文字列は、設定ページの保存と再読み込みボタンの名前として使用されます。"
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "設定を保存します。",
|
||||
"description": "この文字列は、設定ページの保存と再読み込みボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash ファイル(ハッシュ)への URL",
|
||||
"description": "この文字列は、rule.hash URL ラベルの名前として使用されます。"
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'> リクエストタイプ</a> (エキスパートレベル)",
|
||||
"description": "この文字列は、タイプラベルの名前として使用されます。"
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "URL のサーバーを報告する",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "URL は正常に報告されました。 我々はすぐに、この URL をチェックします。",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "この URL は既に報告されているようです。",
|
||||
"description": "注:現在使用されていません。"
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ClearURLs 作成者への寄付。",
|
||||
"description": "この文字列は、寄付ページを参照するために使用されます。"
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "クリーンリンクをコピー",
|
||||
"description": "この文字列は、コンテキストメニューでクリーンリンクをコピーするために使用されます。"
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "コンテキストメニューエントリを表示する",
|
||||
"description": "この文字列は、コンテキストメニューのエントリを切り替えて、クリーンなリンクをコピーするために使用されます。"
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "history(履歴)API でのインジェクションの追跡を防止する (参照: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "この文字列は、history(履歴)API リスナーラベルの名前として使用されます。"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs のクリーニングツール",
|
||||
"description": "この文字列は、クリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "このツールを使用すると、URL を貼り付けることができます。ClearURLs は、緑色のボタンをクリックすると URL を消去します。 一度に複数の URL を貼り付けることができますが、すべての URL を別々の行に含める必要があります。",
|
||||
"description": "この文字列は、クリーニングツールの説明として使用されます。"
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Clean URLs",
|
||||
"description": "この文字列は、クリーン URL ボタンの名前として使用されます。"
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "ここで、難読化された URL を貼り付けることができます。",
|
||||
"description": "この文字列は、難読化された URL のクリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "ここで、クリーンアップされた URL を見つけることができます。",
|
||||
"description": "この文字列は、クリーン URL のクリーニングツールページのタイトルとして使用されます。"
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "ローカルホストの URL をスキップする (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "この文字列は、ローカルホストのスキップスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "ローカルホストの URL をスキップ",
|
||||
"description": "この文字列は、ローカルホストのスキップスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "エクスポート",
|
||||
"description": "この文字列は、ログページのエクスポートボタンに使用されます。"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "グローバルログをエクスポートする",
|
||||
"description": "この文字列は、ログページのエクスポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "インポート",
|
||||
"description": "この文字列は、ログページのインポートボタンに使用されます。\n"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "グローバルログのインポート",
|
||||
"description": "この文字列は、ログページのインポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "エクスポート",
|
||||
"description": "この文字列は、設定ページのエクスポートボタンの名前として使用されます。\n"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "すべてをエクスポートする",
|
||||
"description": "この文字列は、設定ページのエクスポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "インポート",
|
||||
"description": "この文字列は、設定画面のリセットボタンの名前として使用されます。"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "すべてをインポートする",
|
||||
"description": "この文字列は、設定ページのインポートボタンのタイトルとして使用されます。"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "ログのエントリを $LIMIT$ に制限します。",
|
||||
"description": "この文字列は、ログリミットラベルの名前として使用されます。",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "このサイトは <b>ClearURLs</b> よってブロックされました。",
|
||||
"description": "この文字列は、ブロックされたサイトのページのタイトルとして使用されます。"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "このサイトは <b>ClearURLs</b> アドオンによってブロックされました。このサイトを訪問するには、アドオンを一時的に無効にするか、ClearURLs の設定でドメインブロックを無効にする必要があります。その対処後、下のボタンをクリックしてページを読み込むことができます。",
|
||||
"description": "この文字列は、ブロックされたサイトページの本文として使用されます。"
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "ページを見る",
|
||||
"description": "この文字列は、ブロックされたサイトのページのボタンとして使用されます。"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Referral marketing(口コミなどの紹介商法)を許可する",
|
||||
"description": "この文字列は、Referral marketing(口コミなどの紹介商法)スイッチのラベルとして使用されます。"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Referral marketing(口コミなどの紹介商法)を許可する",
|
||||
"description": "この文字列は、Referral marketing(口コミなどの紹介商法)スイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: システム監視ツールのウォッチドッグが問題を検出し、すでに $TIMES$ 回失敗しています。",
|
||||
"description": "この文字列は、システム監視ツール・ウォッチドッグのテキストとして使用されます。",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "ドメインブロックを許可する(AdBlocker を許可していないページで問題が発生する可能性があります。)",
|
||||
"description": "この文字列はドメインブロッキングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "ドメインブロックを許可する(AdBlocker を許可していないページで問題が発生する可能性があります。)",
|
||||
"description": "この文字列は、ドメインブロッキングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "このハイパーリンク監査はブロックされました",
|
||||
"description": "この文字列は、ClearURLs ログのハイパーリンク監査で使用されます。"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "ハイパーリンク監査をブロックする (<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>この記事</a>も参照してください)",
|
||||
"description": "この文字列は、ハイパーリンク監査ブロッキングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "ハイパーリンク監査をブロックする",
|
||||
"description": "この文字列は、ハイパーリンク監査ブロッキングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "URL からトラッキング要素を削除します。",
|
||||
"description": "拡張機能の説明(最大 132 文字)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "このリクエストから ETag ヘッダが削除されました。",
|
||||
"description": "この文字列は、ClearURLs ログの ETag ヘッダフィルタリングで使用されます。"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "リクエストから ETag ヘッダをフィルタリングします (<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'> この記事 </a> も参照してください)",
|
||||
"description": "この文字列は、ETag ヘッダフィルタリングスイッチのラベルとして使用されます。"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag ヘッダをフィルタリングします。ヒント: 最初に使用する前にキャッシュをクリアしなければなりません。",
|
||||
"description": "この文字列は、ETag ヘッダフィルタリングスイッチのタイトルとして使用されます。"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "メッセージ",
|
||||
"description": "例外を防ぐためにのみ必要"
|
||||
}
|
||||
}
|
273
_locales/nl/messages.json
Normal file
273
_locales/nl/messages.json
Normal file
|
@ -0,0 +1,273 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "up-to-date",
|
||||
"description": "Deze statuscode betekent dat er geen update voor de ClearURLs-regels beschikbaar is. Alles is up-to-date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "geüpdatet",
|
||||
"description": "Deze statuscode betekent dat de ClearURLs-regels succesvol geüpdatet zijn."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "update beschikbaar",
|
||||
"description": "Deze statuscode betekent dat er een update beschikbaar is voor de ClearURLs-regels."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "error",
|
||||
"description": "Deze statuscode betekent dat ClearURLs niet correct gestart kon worden."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Oeps, er ging iets mis!",
|
||||
"description": "Deze statuscode betekent dat er iets mis ging tijdens het updaten van de ClearURLs-regels."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Deze URL werd doorgestuurd",
|
||||
"description": "Deze string wordt in de ClearURLs-log gebruikt voor redirects."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Dit domein wordt geblokkeerd",
|
||||
"description": "Deze string wordt in de ClearURLs-log gebruikt voor geblokkeerde domeinen."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Log listener is toegevoegd",
|
||||
"description": "Deze string wordt gebruikt wanneer de ClearURLs-log start."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs-log",
|
||||
"description": "Deze string wordt als titel op de logpagina gebruikt"
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Voor opschoning",
|
||||
"description": "Deze string wordt gebruikt als tabeltitel op de logpagina."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Na verwerking"
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel"
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tijd"
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Reset"
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Reset de globale log"
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Opties"
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter"
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "De “Filter”-knop activeert de opschoonfunctionaliteit van ClearURLs. Als je deze uit zet, dan zet je de hele add-on uit"
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Loggen"
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Je log wordt alleen lokaal bewaard. We raden aan dit uit te laten staan als je het niet nodig hebt"
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Badges"
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Laat het aantal opgeschoonde URLs zien"
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistieken"
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementen"
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Geblokkeerd"
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentage"
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Reset"
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Reset de globale statistieken"
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Status van de regels"
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Open de log"
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Rapporteer huidige URL"
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Rapporteer URL van dit tabblad"
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Sla op naar je hardeschijf"
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: De add-on kon niet starten."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistieken"
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Houd statistieken bij"
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs-instellingen"
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Badge-kleur"
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Reset"
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Reset alles"
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "De URL naar het “data.json”-bestand (regels)"
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Sla op en herlaad de add-on"
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Slaat de instellingen op"
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "De URL naar het “rules.hash”-bestand (hash)"
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request-types</a> (voor geavanceerde gebruikers)"
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Rapportage-server voor URLs"
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "De URL werd succesvol gerapporteerd. We checken hem snel."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Het lijkt er op dat deze URL al eerder gerapporteerd werd."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Een donatie voor de ontwikkelaar van ClearURLs."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiëer schone link-URL"
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Laat optie in het contextmenu zien"
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Voorkom tracking injection over de history API (Zie: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>replaceState() method</a>)"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs opschoon-tool"
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Met deze tool kun je URLs plakken die ClearURLs vervolgens met één klik op de groene knop voor je opschoont. Je kunt meerdere URLs plakken, één per regel."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Schoon URLs op"
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Plak hier de URLs met tracking-parameters:"
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Hier vind je de opgeschoonde URLs:"
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Sla URLs op lokale hosts (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost) over"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Sla URLs op lokale hosts over"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exporteer"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporteer de globale log"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importeer"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importeer de globale log"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exporteer"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporteer alles"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importeer"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importeer alles"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Beperk de log tot $LIMIT$ regels.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Deze site werd geblokkeerd door <b>ClearURLs</b>"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Deze site werd geblokkeerd door de <b>ClearURLs</b>-add-on omdat we hem herkenden als een advertentie- en/of tracking-service. Om deze site toch te bezoeken moet je de add-on tijdelijk deactiveren, of het blokkeren van domeinen in de instellingen uitzetten. Klik daarna op onderstaande knop om de pagina te herladen."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Bezoek pagina"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: De “watchdog” liep tegen een probleem aan en is al $TIMES$ keer gefaald.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Sta het blokkeren van domeinen toe. (Dit kan problemen veroorzaken op pagina's die ad blockers niet toestaan.)"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Sta het blokkeren van domeinen toe. (Dit kan problemen veroorzaken op pagina's die ad blockers niet toestaan.)"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Deze “hyperlink auditing” werd geblokkeerd"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blokkeer “hyperlink auditing”. (Zie <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>dit artikel</a>)"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blokkeer “hyperlink auditing”"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Verwijder tracking-elementen uit URLs."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "De “ETag header” werd van deze request verwijderd"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filter “Etag headers” van requests. (Zie <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>dit artikel</a>)"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filter “Etag headers”. Hint: De cache moet geleegd worden vóór het eerste gebruik."
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "bericht"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "bericht"
|
||||
}
|
||||
}
|
350
_locales/pl/messages.json
Normal file
350
_locales/pl/messages.json
Normal file
|
@ -0,0 +1,350 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "aktualne",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "zaktualizowano",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "dostępna aktualizacja",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "błąd",
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ups, coś poszło nie tak!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Ten adres URL jest przekierowany",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Ta domena jest zablokowana",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Dodano nasłuchiwanie dziennika.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Dziennik ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Przed przetworzeniem",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Po przetworzeniu",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Reguła",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Czas",
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Wyczyść wszystkie wpisy dziennika",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfiguracja",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtr",
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Przełącznik filtra aktywuje funkcję oczyszczania ClearURLs. Jeśli wyłączysz tę funkcję, dodatek przestanie działać.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Dziennik",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Dziennik zapisywany jest wyłącznie lokalnie. Nie zalecamy używania tej funkcji, jeśli nie jest potrzebna.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Znaczniki",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Pokazuje liczbę oczyszczonych adresów URL",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statystyki",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementy",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Zablokowane",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Procent",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Wyczyść wszystkie statystyki",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Stan reguł",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Dziennik",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Otwórz dziennik",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Raportuj bieżący adres URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Raportuj bieżący adres URL z tej karty.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Zapisz na dysku.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Dodatek nie mógł się uruchomić.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statystyki",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktywuj lub dezaktywuj funkcję statystyk",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Ustawienia ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Kolor znacznika",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Wyczyść",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Wyczyszcza wszystko",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Adres URL do pliku data.json (reguły)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Zapisz i załaduj ponownie dodatek",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Zapisuje ustawienia",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Adres URL do pliku rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/pl/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Typy żądań</a> (poziom ekspercki)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Serwer raportów dla adresów URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Adres URL został zaraportowany z powodzeniem. Wkrótce sprawdzimy ten raport.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Ten adres URL już był raportowany.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Dotacja dla twórcy ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiuj oczyszczony odnośnik",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Wyświetl wpis w menu kontekstowym",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Zapobiegaj wstrzykiwaniu śledzenia przez interfejs API historii (Zobacz także: <a href='https://developer.mozilla.org/pl/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>metoda replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Narzędzie do czyszczenia ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "To narzędzie pozwala wkleić adres URL, a po wciśnięciu zielonego przycisku ClearURLs oczyści go. Można wkleić wiele adresów URL jednocześnie, ale każdy pojedynczy powinien być w osobnej linii.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Oczyść adresy URL",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Tu możesz wkleić zabrudzone adresy URL:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Tu możesz znaleźć oczyszczone adresy URL:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Pomijaj adresy URL lokalnych hostów (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Pomija adresy URL lokalnych hostów",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Eksportuj",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Eksportuje cały dziennik",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importuj",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importuje cały dziennik",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Eksportuj",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Eksportuje wszystko",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importuj",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importuje wszystko",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Ogranicz dziennik do $LIMIT$ wpisów",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Ta strona została zablokowana przez <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Ta strona została zablokowana przez dodatek <b>ClearURLs</b>, ponieważ identyfikujemy tę witrynę jako usługę reklamową i/lub śledzenia. Aby odwiedzić tę witrynę, musisz tymczasowo dezaktywować dodatek lub wyłączyć blokowanie domeny w ustawieniach ClearURLs. Następnie możesz kliknąć przycisk poniżej, aby załadować stronę.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Odwiedź stronę",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Zezwalaj na marketing referencyjny",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Zezwala na marketing referencyjny",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Strażnik wykrył problem i już zawiódł $TIMES$ razy.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Zezwalaj na blokowanie domen (może prowadzić do problemów na stronach, które nie zezwalają na blokery reklam)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Zezwala na blokowanie domen (może prowadzić do problemów na stronach, które nie zezwalają na blokery reklam)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Ta inspekcja hiperłączy została zablokowana",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blokuj inspekcję hiperłączy (Zobacz także <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>ten artykuł</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blokuje inspekcję hiperłączy",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Usuwaj elementy śledzące z adresów URL.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Nagłówek ETag został usunięty z tego żądania",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtruj nagłówki ETag z żądań (Zobacz także <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>ten artykuł</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtruje nagłówki ETag. Wskazówka: pamięć podręczną należy wyczyścić przed pierwszym użyciem.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
}
|
||||
}
|
|
@ -1,206 +1,234 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizado",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponivel",
|
||||
"description": ""
|
||||
"message": "atualização disponível",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "erro",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Oops, algo deu errado!",
|
||||
"description": ""
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Esta url foi redirecionada",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio foi bloqueado",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Examinador de registro foi adicionado",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Examinador de registro foi adicionado.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Registro do ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes de processar",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois de processar",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tempo",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Resetar o registro global",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtrar",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O switch de filtros ativa a funcionalidade de limpeza do ClearURLs. Se você desabilitar essa opção, toda a extensão será desativada",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O registro é salvo localmente apenas. Aconselhamos contra este recurso se você não precisa dele",
|
||||
"description": ""
|
||||
"message": "O registro é salvo apenas localmente. Aconselhamos contra este recurso se você não precisa dele",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostrar o número de urls limpas",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementos",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueado",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Porcentagem",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Resetar as estatísticas globais",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Registro",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abrir o registro",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Reportar URL atual",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Reportar a URL atual dessa aba.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Salvar no disco.",
|
||||
"description": ""
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: A extensão não pode ser inicializada.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: A extensão não pôde ser inicializada.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar função de estatísticas",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Configurações do ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Cor do contador",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Resetar",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Resetar tudo",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Url do arquivo data.json (regras)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Salvar e recarregar extensão",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Salvar configurações",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Url do arquivo rules.hash (hash)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Tipos de pedidos</a> (expert level)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Reportar servidor para URLs",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "A URL foi reportada com sucesso. Estaremos verificando a url em breve.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que essa URL ja foi reportada.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Uma doação para o criador do ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar local do link limpo",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Mostrar entrada do menu de contexto",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevent tracking injection over history API (See also: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Ferramenta de limpeza do ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Com essa ferramenta você pode colar URLs e ClearURLs as limpará após um clique no botão verde. Você pode colar várias URLs de uma só vez, mas cada URL deve estar em uma linha separada.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Limpar URLs",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Aqui você pode colar as urls que deseja limpar:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Aqui você pode encontrar as urls limpas:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
}
|
||||
}
|
||||
}
|
260
_locales/pt_PT/messages.json
Normal file
260
_locales/pt_PT/messages.json
Normal file
|
@ -0,0 +1,260 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "em dia"
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "atualizadas"
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "atualização disponível"
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "erro"
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ups! Qualquer coisa correu mal."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Este URL é um reencaminhamento"
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Este domínio está bloqueado"
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: O observador de registos foi adicionado."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Registo de funcionamento do ClearURLs"
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Antes do processamento"
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Depois do processamento"
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regra"
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Data"
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Limpar"
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Limpa o registo."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Configurações"
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtro"
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "O interruptor do filtro controla a função de limpeza do ClearURLs. Se desativar esta opção, a extensão será desativada."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Registo de Operação"
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "O registo é apenas guardado localmente. Aconselhamos que não use esta função se ela não for necessária."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Crachás"
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Mostrar o número de URLs limpos."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Estatísticas"
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Elementos"
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Bloqueados"
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Percentagem"
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Repor"
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Repõe as estatísticas globais"
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Estado das regras"
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Registo"
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Abre o registo de operação"
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Denunciar URL atual"
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Denuncia o URL atual deste separador."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Guardar definições no disco."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Não foi possível iniciar a extensão."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Estatísticas"
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Ativar ou desativar a função de estatística"
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Definições do ClearURLs"
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Cor dos crachás"
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Repor"
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Repõe as definições de fábrica"
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "URL do ficheiro data.json (regras)"
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Guardar e reiniciar extensão"
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Guarda as novas definições"
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "URL do ficheiro rules.hash (soma de verificação das regras)"
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Tipos de pedidos</a> (expert level)"
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Denunciar URLs do servidor"
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "O URL foi denunciado com sucesso. Iremos verificá-lo brevemente."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Parece que este URL já foi denunciado."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Uma doação para o criador do ClearURLs."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Copiar ligação limpa."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Mostrar entrada no menu de contexto"
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Prevenir injeção de rastreadores com a API do histórico (Ver mais: <a href='https://developer.mozilla.org/pt-BR/docs/Web/API/History_API#O_m%C3%A9todo_replaceState()' target='_blank'>O método replaceState()</a>)"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Ferramenta de limpeza ClearURLs"
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Com esta ferramenta pode colar URLs e nós limpamo-los quando clicar no butão verde. Pode colar vários URLs de uma vez, mas devem estar em linhas separadas."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Limpar URLs"
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Cole aqui os URLs sujos:"
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Aqui estão os URLs limpos:"
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Ignorar URLs de anfitriões locais (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Ignora os URLs em páginas de anfitriões locais"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportar"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exporta o registo de atividade"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importar"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importa o registo de atividade"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportar"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exporta tudo"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importar"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importa tudo"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Limitar o registo a $LIMIT$ entradas",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Este site foi bloqueado pelo <b>ClearURLs</b>"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Este site foi bloqueado pela extensão <b>ClearURLs</b>, porque identificámos este site como um serviço de publicidade e/ou rastreamento. Para visitar este site, deve desativar a extensão temporáriamente ou desativar o bloqueio de domínio nas definições da extensão. Depois, clique no botão abaixo para carregar a página."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Visitar página"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Permitir <i>referral marketing</i>"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Permite <i>referral marketing</i>"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: O watchdog detetou um problema e já falhou $TIMES$ vezes.\n"
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Permitir o bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Permitir o bloqueio de domínios (pode causar problemas em páginas que não permitem bloqueadores de anúncios)"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Esta inspeção de ligação foi bloqueada"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Bloquear inspeção de ligações (Ver também <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>este artigo</a>)"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Bloquear inspeção de ligações"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Remover elementos de rastreamento de URLs."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "O cabeçalho ETag foi removido deste pedido"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtra cabeçalhos ETag dos pedidos (Ver também <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>este artigo</a>)"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrar cabeçalhos ETag. Dica: deve limpar a cache antes de começar a utlizar esta função."
|
||||
}
|
||||
}
|
|
@ -1,216 +1,350 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "не требует обновления",
|
||||
"description": ""
|
||||
"message": "актуальны",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "обновлено",
|
||||
"description": ""
|
||||
"message": "обновлены",
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "есть обновление",
|
||||
"description": ""
|
||||
"message": "доступно обновление",
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "ошибка",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Ой, что-то не так!",
|
||||
"description": ""
|
||||
"message": "Ой! Что-то пошло не так!",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Этот URL перенаправляется",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Этот домен заблокирован",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Лог listener добавлен.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: логирование активировано.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Лог ClearURLs",
|
||||
"description": ""
|
||||
"message": "Журнал ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "До обработки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "После обработки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Правило",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Время",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"message": "Очистить",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Сброс глобального лога",
|
||||
"description": ""
|
||||
"message": "Очистить журнал",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Настройки",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Фильтр",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Активирует функцию очистки URL. Если выключить - аддон не будет работать",
|
||||
"description": ""
|
||||
"message": "Функция очистки URL. Если выключить - расширение работать не будет!",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Логирование",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Лог сохраняется только локально. Не используйте эту функцию, если она вам не нужна.",
|
||||
"description": ""
|
||||
"message": "Журнал сохраняется только локально. Не используйте эту функцию, если она Вам не нужна",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Значки",
|
||||
"description": ""
|
||||
"message": "Счётчик",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Показать количество очищенных URL",
|
||||
"description": ""
|
||||
"message": "Показывать количество очищенных URL",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Элементы",
|
||||
"description": ""
|
||||
"message": "Элементов",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Заблокировано",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Процент",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"message": "Очистить",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Сброс глобальной статистики",
|
||||
"description": ""
|
||||
"message": "Очистить статистику",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Актуальность правил",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Лог",
|
||||
"description": ""
|
||||
"message": "Журнал",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Открыть лог",
|
||||
"description": ""
|
||||
"message": "Открыть журнал",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Сообщить о текущей ссылке",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Сообщить о текущей вкладке",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Сохранить на диск.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: сохранено на диск.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Не удалось запустить аддон.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: не удалось запустить расширение.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Вкл. или выкл. статистику",
|
||||
"description": ""
|
||||
"message": "Вкл./выкл. статистики",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Настройки ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Цвет значка",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Сброс",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Сбросить всё",
|
||||
"description": ""
|
||||
"message": "Сброс всех настроек",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Ссылка на файл data.json (правила)",
|
||||
"description": ""
|
||||
"message": "Ссылка к файлу data.json (правила)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Сохранить и перезагрузить аддон",
|
||||
"description": ""
|
||||
"message": "Сохранить и перезапустить расширение",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Сохранение настроек",
|
||||
"description": ""
|
||||
"message": "Сохранить настройки",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Ссылка на файл rules.hash (хэш)",
|
||||
"description": ""
|
||||
"message": "Ссылка к файлу rules.hash (хэш)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Тип запроса</a> (уровень эксперта)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Сервер отчётов для URL-адресов",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Отчёт об URL успешно отправлен. Мы проверим его в ближайшее время.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Похоже, об этом URL уже сообщили.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Пожертвование для разработчика ClearURLs",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Копировать чистую ссылку",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Отображение пункта в контекстном меню",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Предотвращение отслеживания по истории API (см.: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>replaceState() метод</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Инструмент очистки ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Вставьте ссылки в текстовое поле, ClearURLs очистит ссылки после нажатия на зелёную кнопку. Вы можете вставить несколько URL-адресов, но каждый URL-адрес должен быть в отдельной строке.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Почистить ссылки",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Сюда Вы можете вставить грязные ссылки:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Здесь Вы найдёте очищенные ссылки:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Пропускать локальные адреса (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Пропускать локальные адреса",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Экспорт",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Экспорт журнала",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Импорт",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Импорт журнала",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Экспорт",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Экспортировать всё",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Импорт",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Импортировать всё",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Ограничивать журнал до $LIMIT$ записей",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Этот сайт был заблокирован <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Этот сайт был заблокирован расширением <b>ClearURLs</b>, потому что он определён как рекламный и/или отслеживающий сервис. Чтобы посетить этот сайт, необходимо временно отключить расширение или отключить блокировку домена в настройках ClearURLs. Затем нажмите кнопку ниже, чтобы загрузить страницу",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Посетить страницу",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Разрешить рефералы маркетинга",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Разрешить рефералы маркетинга",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: сторожевой таймер обнаружил проблему. ClearURLs будет перезапущен.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Разрешить блокировку домена (может вызвать проблемы на сайтах, которые запрещают AdBlocker)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Разрешить блокировку домена (может вызвать проблемы на сайтах, которые запрещают AdBlocker)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Аудит гиперссылки был заблокирован",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Блокировка аудита гиперссылок (см. <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>эту статью</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Блокировка аудита гиперссылок",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Удаление элементов слежения из URL-адресов.",
|
||||
"description": "Описание расширения"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "Заголовок ETag был удален из этого запроса",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Фильтровать заголовки ETag из запросов (см. <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>эту статью</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Фильтрация заголовков ETag. Примечание: очистите кэш перед первым использованием.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
}
|
||||
}
|
||||
}
|
378
_locales/sv_SE/messages.json
Normal file
378
_locales/sv_SE/messages.json
Normal file
|
@ -0,0 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "senaste version",
|
||||
"description": "Den här statuskoden säger att ingen uppdatering är tillgänglig för ClearURLs-reglerna och allt är uppdaterat."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "uppdaterad",
|
||||
"description": "Den här statuskoden säger att ClearURLs-reglerna har uppdaterats."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "uppdatering tillgänglig",
|
||||
"description": "Den här statuskoden säger att en uppdatering är tillgänglig för ClearURLs-reglerna."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "fel",
|
||||
"description": "Den här statuskoden säger att ClearURLs inte kunde startas korrekt."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Ojdå, något gick fel!",
|
||||
"description": "Den här statuskoden säger att ett fel inträffade vid uppdatering av ClearURLs-reglerna."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Den här webbadressen omdirigeras",
|
||||
"description": "Den här strängen används vid omdirigeringar i ClearURLs-loggen."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Den här domänen är blockerad",
|
||||
"description": "Den här strängen används på blockerade domäner i ClearURLs-loggen."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Logglistare är tilllagd.",
|
||||
"description": "Den här strängen används vid ClearURLs loggstart."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "Logg från ClearURLs",
|
||||
"description": "Den här strängen används som rubrik på loggsidan."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "Före bearbetning",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "Efter bearbetning",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Regel",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Tid",
|
||||
"description": "Den här strängen används som tabellnamn på loggsidan."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "Den här strängen används för återställningsknappen på loggsidan."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Återställ den globala loggen",
|
||||
"description": "Den här strängen används som titel för återställningsknappen på loggsidan."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Konfiguration",
|
||||
"description": "Den här strängen används som titel för konfigurationerna på popup-sidan."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filter",
|
||||
"description": "Den här strängen används som namn för filteromkopplarna på popup-sidan."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Filteromkopplaren aktiverar rensningsfunktionen i ClearURLs. Om du inaktiverar detta alternativ, är hela tillägget inaktiverat",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Logga",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Loggen sparas endast lokalt. Vi avråder dig från att använda den här funktionen om du inte behöver den",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Märken",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Visa antalet rensade webbadresser",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Statistik",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Element",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Blockerade",
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Procentsats",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Återställ den globala statistiken",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Regler-Status",
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Logg",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Öppna loggen",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Rapportera aktuell webbadress",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Rapportera den aktuella webbadressen från den här fliken.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Spara till disk.",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Tillägget kunde inte starta.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "Statistik",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Aktivera eller inaktivera statistiken",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "Inställningar för ClearURLs",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Märkesfärg",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Återställ",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Återställer allt",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Webbadressen till filen data.json (regler)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Spara och ladda om tillägget",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Sparar inställningarna",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Webbadressen till filen rules.hash (hash)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (expertnivå)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Rapporteringsserver för webbadresser",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Webbadressen har rapporterats. Vi kommer att kontrollera webbadressen snart.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Det verkar som att den här webbadressen redan har rapporterats.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Donera till skaparen av ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Kopiera rensad webbadress",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Visa post i innehållsmenyn",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Förhindra spårning av injektion över historik-API (Se även: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "Rensningsverktyg för ClearURLs",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Med detta verktyg kan du klistra in webbadresser och ClearURLs kommer att rensa webbadresserna efter ett klick på den gröna knappen. Du kan klistra en mer än en webbadress samtidigt, men varje webbadress måste vara på var sin rad.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "Rensa webbadresser",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Här kan du klistra in orensade webbadresser:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Här hittar du de rensade webbadresserna:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Hoppa över webbadresser på lokala värdar (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Hoppa över webbadresser på lokala värdar",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Exportera",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Exportera den globala loggen",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Importera",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Importera den globala loggen",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Exportera",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Exportera allt",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Importera",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Importera allt",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Begränsa loggfilen till $LIMIT$ poster.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Den här webbplatsen blockerades av <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Den här sidan har blivit blockerats av <b>ClearURLs</b>, eftersom vi har identifierat webbplatsen som en reklam- och/eller spårningstjänst. För att besöka webbplatsen måste du tillfälligt inaktivera tillägget eller inaktivera domänblockering i inställningarna på ClearURLs. Efter detta kan du klicka på knappen nedan för att ladda sidan.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Gå till sidan",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Tillåt referral marketing",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Tillåt referral marketing",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: Ett problem har upptäckts. ClearURLs startar om.",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Tillåt domänblockering (Kan leda till problem på sidor som inte tillåter AdBlockers)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Tillåt domänblockering (Kan leda till problem på sidor som inte tillåter AdBlockers)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Den här hyperlänksrevisionen blockerades",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Blockera hyperlänkrevision (Se även <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>den här artikeln</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Blockera hyperlänkrevision",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Ta bort spårningselement från webbadresser.",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag-rubriken togs bort från denna begäran",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Filtrera ETAG-rubriker från förfrågningar (Se även <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>den här artikeln</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Filtrera ETag-rubriker. Tips: Cachen måste rensas innan den används första gången.",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "meddelande",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
378
_locales/tr/messages.json
Normal file
378
_locales/tr/messages.json
Normal file
|
@ -0,0 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "güncel",
|
||||
"description": "Bu durum kodu, ClearURL kuralları için güncelleme olmadığını ve her şeyin güncel olduğunu söylüyor."
|
||||
},
|
||||
"hash_status_code_2": {
|
||||
"message": "güncelleştirildi",
|
||||
"description": "Bu durum kodu, ClearURL kurallarının başarıyla güncellendiğini söylüyor."
|
||||
},
|
||||
"hash_status_code_3": {
|
||||
"message": "Güncelleme mevcut",
|
||||
"description": "Bu durum kodu, ClearURL kuralları için bir güncellemenin mevcut olduğunu söylüyor."
|
||||
},
|
||||
"hash_status_code_4": {
|
||||
"message": "hata",
|
||||
"description": "Bu durum kodu, ClearURL'lerin doğru şekilde başlatılamadığını söylüyor."
|
||||
},
|
||||
"hash_status_code_5": {
|
||||
"message": "Hoop! Birşeyler yanlış gitti!",
|
||||
"description": "Bu durum kodu, ClearURL kurallarını güncellerken bir hata oluştuğunu söylüyor."
|
||||
},
|
||||
"log_redirect": {
|
||||
"message": "Bu URL yönlendirildi",
|
||||
"description": "Bu dize ClearURL'ler günlüğündeki yönlendirmelerde kullanılır."
|
||||
},
|
||||
"log_domain_blocked": {
|
||||
"message": "Bu alan adı engellendi",
|
||||
"description": "Bu dize ClearURL'ler günlüğündeki engellenen alan adlarında kullanılır."
|
||||
},
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Günlük dinleyicisi eklendi.",
|
||||
"description": "Bu dize ClearURLs log başlangıcında kullanılır."
|
||||
},
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs'dan Günlük",
|
||||
"description": "Bu dize, günlük sayfasında üstbilgi olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_1": {
|
||||
"message": "İşlemeden önce",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_2": {
|
||||
"message": "İşlemden sonra",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_3": {
|
||||
"message": "Kural",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_table_head_4": {
|
||||
"message": "Zaman",
|
||||
"description": "Bu dize, günlük sayfasında tablo başlığı olarak kullanılır."
|
||||
},
|
||||
"log_html_reset_button": {
|
||||
"message": "Sıfırla",
|
||||
"description": "Bu dize, günlük sayfasındaki sıfırlama düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Genel günlüğü sıfırla",
|
||||
"description": "Bu dize, günlük sayfasındaki sıfırlama düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_head": {
|
||||
"message": "Yapılandırmalar",
|
||||
"description": "Bu dize, açılır sayfadaki yapılandırmalar için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Filtre",
|
||||
"description": "Bu dize, açılır sayfadaki filtre değiştirme düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Filtreler anahtarı ClearURL'lerin temizleme işlevini etkinleştirir. Bu seçeneği devre dışı bırakırsanız, tüm eklenti devre dışı bırakılır",
|
||||
"description": "Bu dize, açılır sayfadaki filtre değiştirme düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Günlük tutma",
|
||||
"description": "Bu dize, açılır sayfadaki günlük anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Günlük yalnızca yerel olarak kaydedilir. İhtiyacınız yoksa bu özelliğe karşı tavsiyede bulunuruz",
|
||||
"description": "Bu dize, açılır sayfadaki kayıt anahtarı düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Rozetler",
|
||||
"description": "Bu dize, açılır sayfadaki rozetler anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Temizlenmiş URL'lerin sayısını göster",
|
||||
"description": "Bu dize, açılır sayfadaki rozetler anahtar düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_head": {
|
||||
"message": "istatistik",
|
||||
"description": "Bu dize, açılır sayfadaki istatistikler için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Öğeler",
|
||||
"description": "Bu dize, açılır sayfadaki öğelerin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Engellendi",
|
||||
"description": "Bu dize, açılır penceredeki engellenen öğelerin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Yüzde",
|
||||
"description": "Bu dize, açılır sayfadaki engellenen öğelerin yüzdesi için ad olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Sıfırlama",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Genel istatistikleri sıfırla",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik sıfırlama düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Kurallar-Durum",
|
||||
"description": "Bu dize, açılır sayfadaki kurallar-durum bölümü için başlık olarak kullanılır."
|
||||
},
|
||||
"popup_html_log_head": {
|
||||
"message": "Günlük",
|
||||
"description": "Bu dize, açılır sayfadaki günlük düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Günlüğü aç",
|
||||
"description": "Bu dize, açılır penceredeki günlük düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Geçerli URL'yi bildir",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Geçerli URL’yi bu sekmeden bildirin.",
|
||||
"description": "Şu anda kullanılmamış."
|
||||
},
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Diske kaydedin.",
|
||||
"description": "Bu dize, kullanıcıya ClearURL'lerin ayarları diske kaydettiğini söylemek için kullanılır."
|
||||
},
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Eklenti başlatılamadı.",
|
||||
"description": "Bu dize, kullanıcıya ClearURL'lerin başlatılamadığını söylemek için kullanılır."
|
||||
},
|
||||
"configs_switch_statistics": {
|
||||
"message": "İstatistikler",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik anahtar düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "İstatistik işlevini etkinleştirin veya devre dışı bırakın",
|
||||
"description": "Bu dize, açılır sayfadaki istatistik değiştirme düğmesinin başlığı olarak kullanılır."
|
||||
},
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURL'lerdeki Ayarlar",
|
||||
"description": "Bu dize, ayarlar sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"badged_color_label": {
|
||||
"message": "Rozet renk",
|
||||
"description": "Bu dize, rozet renk etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_reset_button": {
|
||||
"message": "Sıfırlama",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Her şeyi sıfırla",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_rule_url_label": {
|
||||
"message": "Data.json dosyasının URL'si (kurallar)",
|
||||
"description": "Bu dize kural url etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"settings_html_save_button": {
|
||||
"message": "Eklentiyi kaydet ve yeniden yükle",
|
||||
"description": "Bu dize, ayarlar sayfasındaki kaydet ve yeniden yükle düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Ayarları kaydeder",
|
||||
"description": "Bu dize, ayarlar sayfasındaki kaydet ve yeniden yükle düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_hash_url_label": {
|
||||
"message": "Rules.hash dosyasının URL'si (karma)",
|
||||
"description": "Bu dize rule.hash url etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/tr-TR/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Request types</a> (uzman seviyesi)",
|
||||
"description": "Bu dize, tür etiketi için ad olarak kullanılır."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "URL'ler için rapor sunucusu",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "URL başarıyla rapor edildi. Bu URL’yi yakında kontrol edeceğiz.",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Bu URL zaten bildirilmiş gibi görünüyor.",
|
||||
"description": "Not: Şu anda kullanılmamaktadır."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "ClearURL'nin yaratıcısı için bir bağış.",
|
||||
"description": "Bu dize bir bağış sayfasına başvurmak için kullanılır."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Temiz Bağlantı Konumunu Kopyala",
|
||||
"description": "Bu dize bağlam menüsünde temiz bağlantıları kopyalamak için kullanılır."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "İçerik menüsü girişini görüntüle",
|
||||
"description": "Bu dize, temiz linkleri kopyalamak için bağlam menüsü girişini değiştirmek için kullanılır."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Geçmiş API'si üzerinden izleme enjeksiyonunu engelle(Ayrıca bakınız: <a href='https://developer.mozilla.org/tr-TR/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "Bu dize geçmiş API dinleyici etiketinin adı olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURL'lerden temizleme aracı",
|
||||
"description": "Bu dize temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "Bu araçla URL'lere yapıştırabilirsiniz ve ClearURL'ler yeşil düğmeye tıkladıktan sonra URL'leri temizler. Aynı anda birden fazla URL'ye yapıştırabilirsiniz, ancak her URL ayrı bir satırda olmalıdır.",
|
||||
"description": "Bu dize temizleme aracının açıklaması olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "URL’leri temizle",
|
||||
"description": "Bu dize temiz url düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Burada kirli URL'leri yapıştırabilirsiniz:",
|
||||
"description": "Bu dize, kirli URL’lerin temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Temizlenmiş URL’leri burada bulabilirsiniz:",
|
||||
"description": "Bu dize, temiz URL’lerin temizleme aracı sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Yerel ana makinelerde URL’lerin atlanması (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, yerel ana bilgisayar)",
|
||||
"description": "Bu dize, yerel ana bilgisayar atlama anahtarı için etiket olarak kullanılır."
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Yerel ana makinelerde URL atlama",
|
||||
"description": "Bu dize, yerel ana bilgisayar atlama anahtarı için başlık olarak kullanılır"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Dışa Aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki verme düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Genel günlüğü dışa aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki verme düğmesine başlık olarak kullanılır."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "İçe Aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki içe aktar düğmesi için kullanılır."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Genel günlüğü içe aktar",
|
||||
"description": "Bu dize, günlük sayfasındaki içe aktarma düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Dışa Aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki verme düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Her şeyi dışa aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki dışa aktar düğmesi için başlık olarak kullanılır."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Dışa Aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki sıfırlama düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Her şeyi içe aktar",
|
||||
"description": "Bu dize, ayarlar sayfasındaki alma düğmesinin adı olarak kullanılır."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Günlüğü $ LIMIT $ girişleriyle sınırlar",
|
||||
"description": "Bu dize, günlük sınırı etiketinin adı olarak kullanılır.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Bu site tarafından engellendi <b>ClearURLs</b>",
|
||||
"description": "Bu dize engellenen site sayfasında başlık olarak kullanılır."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Bu site tarafından engellendi <b>ClearURLs</b> Eklentisi, çünkü bu siteyi bir reklamcılık ve / veya izleme hizmeti olarak tanımlıyoruz. Bu siteyi ziyaret etmek için Eklentiyi geçici olarak devre dışı bırakmanız gerekir. ClearURL'leri devre dışı bıraktıktan sonra sayfayı yüklemek için aşağıdaki düğmeye tıklayabilirsiniz.",
|
||||
"description": "Bu dize engellenen site sayfasında gövde olarak kullanılır."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Sayfayı ziyaret et",
|
||||
"description": "Bu dize engellenen site sayfasındaki düğme olarak kullanılır."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Tavsiye pazarlamasına izin ver",
|
||||
"description": "Bu dize tavsiye pazarlama anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Tavsiye pazarlamasına izin verir",
|
||||
"description": "Bu dize tavsiye pazarlama anahtarı için başlık olarak kullanılır"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURL'ler]: Güvenlik Zamanlayıcısı bir sorun tespit etti. ClearURL'ler yeniden başlatıldı.",
|
||||
"description": "Bu dize güvenlik zamanlayıcısı için metin olarak kullanılır.",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Alan adı engellemeye izin ver (Reklam Engelleyicilere izin vermeyen sayfalarda sorunlara neden olabilir)",
|
||||
"description": "Bu dize, alan adı engelleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Alan adı engellemeye izin ver (Reklam Engelleyicilere izin vermeyen sayfalarda sorunlara neden olabilir)",
|
||||
"description": "Bu dize, alan adı engelleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Bu köprü denetimi engellendi",
|
||||
"description": "Bu dize, ClearURLs günlüğündeki köprü denetimi için kullanılır."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Köprü denetimini engelle (Ayrıca bkz.<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>this article</a>)",
|
||||
"description": "Bu dize köprü denetim engelleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Köprü denetimini engelle",
|
||||
"description": "Bu dize köprü denetim engelleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "İzleme öğelerini URL'lerden kaldırın.",
|
||||
"description": "Uzantı açıklaması."
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag başlığı bu istekten kaldırıldı",
|
||||
"description": "Bu dize, ClearURLs günlüğünde ETag üstbilgisi filtrelemesinde kullanılır."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "ETag başlıklarını isteklerden filtreler (Ayrıca bkz. <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>Bu makaleye</a>)",
|
||||
"description": "Bu dize, ETag başlık filtreleme anahtarı için etiket olarak kullanılır"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "ETag başlıklarını filtreler. İpucu: İlk kullanımdan önce önbellek temizlenmelidir.",
|
||||
"description": "Bu dize, ETag başlık filtreleme anahtarının başlığı olarak kullanılır"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": "ileti",
|
||||
"description": "gerekli değil, sadece istisnaları önlemek için"
|
||||
}
|
||||
}
|
|
@ -1,216 +1,350 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "не потребує оновлення",
|
||||
"description": ""
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "оновлено",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "наявне оновлення",
|
||||
"description": ""
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "помилка",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "Ой, щось не так!",
|
||||
"description": ""
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "Цей URL перенаправляється",
|
||||
"description": ""
|
||||
"message": "Ця URL-адреса перенаправляється",
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "Цей домен заблоковано",
|
||||
"description": ""
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: Лог listener додано.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: listener журналу додано.",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "Лог ClearURLs",
|
||||
"description": ""
|
||||
"message": "Журнал ClearURLs",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "Перед обробкою",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "Після обробки",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "Правило",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "Час",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "Скидання",
|
||||
"description": ""
|
||||
"message": "Скинути",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "Скидання глобального логу",
|
||||
"description": ""
|
||||
"message": "Скидання глобального журналу",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "Налаштування",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "Фільтр",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "Активує функцію очищення URL. Якщо вимкнути - аддон не працюватиме",
|
||||
"description": ""
|
||||
"message": "Активує функцію очищення ClearURLs. Якщо вимкнути - додаток не працюватиме",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "Логування",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "Лог зберігається лише локально. Не активуйте цю функцію, якщо вона вам не потрібна.",
|
||||
"description": ""
|
||||
"message": "Журнал зберігається лише локально. Не активуйте цю функцію, якщо вона вам не потрібна",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "Значки",
|
||||
"description": ""
|
||||
"message": "Позначки",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "Показати кількість очищених URL",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "Елементи",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "Заблоковано",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "Відсоток",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "Скинути",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "Скидання глобальної статистики",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "Актуальність правил",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "Лог",
|
||||
"description": ""
|
||||
"message": "Журнал",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "Відкрити лог",
|
||||
"description": ""
|
||||
"message": "Відкрити журнал",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "Повідомити про URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "Повідомити про URL з цієї вкладки.",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: Зберегти на диск.",
|
||||
"description": ""
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: Не вдалося запустити аддон.",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: Не вдалося запустити додаток.",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "Статистика",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "Увімк. чи вимк. статистику",
|
||||
"description": ""
|
||||
"message": "Увімкнення чи вимкнення статистики",
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "Налаштування ClearURLs",
|
||||
"description": ""
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "Колір значка",
|
||||
"description": ""
|
||||
"message": "Колір піктограми",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "Скинути",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "Скинути все",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "Посилання на файл data.json (правила)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "Зберегти і перезавантажити аддон",
|
||||
"description": ""
|
||||
"message": "Зберегти і перезавантажити додаток",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "Збереження налаштувань",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "Посилання на файл rules.hash (хеш)",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>Типи запитів</a> (експертний рівень)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "Звіт про сервер URL",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "Успішно повідомлено про URL-адресу. Ми невдовзі це перевіримо.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "Схоже, про цю URL-адресу вже повідомлено.",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "Внесок для розробників ClearURLs.",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "Скопіювати \"чисте\" посилання",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "Відобразити контекстне меню",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "Запобігти трекінг через API історії браузеру (див. також: <a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>Метод replaceState()</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs є утилітою очищення посилань",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "За допомогою цієї утиліти ви можете вставити URL-адреси для ії \"очищення\" після натискання на зелену кнопку. Ви можете вставити відразу кілька URL-адрес, але кожна URL-адреса повинна бути на окремому рядку.",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "\"Чисті\" посилання",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "Тут ви можете вставити \"брудні\" посилання:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "Тут ви можете знайти \"чисті\" посилання:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "Не фільтрувати посилання на локальних адресах (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "Не фільтрує посилання на локальних адресах",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "Експорт",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "Експортувати глобальний лог",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "Імпорт",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "Імпортувати глобальний лог",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "Експрот",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "Експортує все",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "Імпорт",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "Імпортує все",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "Обмежити логування $LIMIT$ записів.",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "Цей сайт було заблоковано додатком <b>ClearURLs</b>",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "Цей сайт було заблоковано додатком <b>ClearURLs</b>, оскільки ми ідентифікували його як рекламний і/або трекінговий сервіс.\nДля того, щоб відвідати цей сайт, ви повинні тимчасово відключати додаток або виключати блокування доменів в налаштуваннях ClearURLs.\nПісля цього ви зможете натитснути кнопку нижче, щоб завантажити сторінку.",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "Відвідати сторінку",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "Дозволити реферальний маркетинг",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "Дозволяє реферальний маркетинг",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: \"Сторожовий пес\" помітив проблему та вилетів $TIMES$ разів.\n",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "Дозволити блокування домену (Може привести до проблем на сайтах, які блокують AdBlocker'и)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "Дозволити блокування домену (Може привести до проблем на сайтах, які блокують AdBlocker'и)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "Цей аудит гіперпосилань було заблоковано",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "Відключити аудит гіперпосилань (див. також <a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>цю статтю</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "Блокувати аудит гіперпосилань",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "Видалити елементи трекінгу з посилань",
|
||||
"description": "Опис додатку (максимум 132 символи)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag був видалений з цього запиту",
|
||||
"description": "Ця стрічка використовується для фільтрації заголовків ETag у журналі ClearURL."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "Фільтрує ETag заголовки в запитах (див. також <a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>цю статтю</a>)",
|
||||
"description": "Цей рядок використовується, як мітка для перемикача фільтра заголовка ETag"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "Фільтри заголовків ETag. \nПідказка: Кеш повинен бути скинутим перед першим використанням.",
|
||||
"description": "Цей рядок використовується, як заголовок для перемикача фільтра заголовка ETag"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,216 +1,378 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "已是最新的",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则已经是最新的,无需继续更新"
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "已更新",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则更新成功"
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "有可用的更新",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs规则可以进行更新"
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "错误",
|
||||
"description": ""
|
||||
"description": "这个状态码表示,ClearURLs无法正确启动"
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "糟糕! 有东西不对劲",
|
||||
"description": ""
|
||||
"message": "发生错误",
|
||||
"description": "这个状态码表示,ClearURLs在更新中遇到了错误"
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "此网址已被转址",
|
||||
"description": ""
|
||||
"message": "此网址已被重定向",
|
||||
"description": "在ClearURLs的日志中,这个字符串表示重定向的网址"
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "此网址已被封锁",
|
||||
"description": ""
|
||||
"description": "在ClearURLs的日志中,这个字符串表示已被封锁的网址"
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: 已新增日志聆听者",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 已新增日志监听器",
|
||||
"description": "在ClearURLs 的日志中,这个字符串表示日志开始"
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs日志",
|
||||
"description": ""
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "处理前",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "处理后",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "规则",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "时间",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "重设全域日志",
|
||||
"description": ""
|
||||
"message": "重置全局日志",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "配置",
|
||||
"description": ""
|
||||
"message": "设定",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "过滤器",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "此过滤器开关为ClearURLs的主开关, 若此项不勾选, 则本插件失效.",
|
||||
"description": ""
|
||||
"message": "此为ClearURLs的主开关. 若关闭则此插件失效.",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "日志",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "日志会被储存于本地. 若不需要此功能, 建议不要使用.",
|
||||
"description": ""
|
||||
"message": "日志会被储存于本地. 若不需要此功能建议关闭.",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "徽章",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "显示已清理数量",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "统计",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "元件",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "已阻挡",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "比例",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "重设全域统计",
|
||||
"description": ""
|
||||
"message": "重置全局统计",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "规则状态",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "日志",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "开启日志",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "回报目前网址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "回报该分页目前网址",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: 储存于硬盘",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 储存于本地",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: 此插件无法启动",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 插件无法启动",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "统计",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "开启或关闭统计功能",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs设置",
|
||||
"description": ""
|
||||
"message": "ClearURLs设定",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "徽章颜色",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "重设",
|
||||
"description": ""
|
||||
"message": "重置",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "重设所有设置",
|
||||
"description": ""
|
||||
"message": "重置所有设定",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json的网址 (规则)",
|
||||
"description": ""
|
||||
"message": "data.json 档的网址 (规则)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "储存并重启插件",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "储存设置",
|
||||
"description": ""
|
||||
"message": "储存设定",
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash的网址 (校验)",
|
||||
"description": ""
|
||||
"message": "rules.hash 档的网址 (校验)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>请求类型</a> (进阶设定)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "回报网址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "该网址已成功回报",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "该网址已被回报过",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "给ClearURLs的作者一点贊助",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "複製清理过的网址",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "显示右键选单条目",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "阻止历史 API 跟踪注入(参见:<a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)",
|
||||
"description": "This string is used as name for the history API listener label."
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs的网址清理工具",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "手动清理网址工具\n在下方粘贴原网址并按下绿色按钮,ClearURLs将进行清理后输出。若要同时清理多个网址,请分行。",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "网址清理工具",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "清理前的网址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "清理后的网址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "跳过本地主机链接(10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, 100.64.0.0/10, 169.254.0.0/16, 127.0.0.1, localhost)",
|
||||
"description": "This string is used as label for the local host skipping switch"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "跳过本地主机 URL",
|
||||
"description": "This string is used as title for the local host skipping switch"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "导出",
|
||||
"description": "This string is used for the export button on the log page."
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "导出全局日志",
|
||||
"description": "This string is used as title for the export button on the log page."
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "导入",
|
||||
"description": "This string is used for the import button on the log page."
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "导入全局日志",
|
||||
"description": "This string is used as title for the import button on the log page."
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "导出",
|
||||
"description": "This string is used as name for the export button on the settings page."
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "导出全部设置",
|
||||
"description": "This string is used as title for the export button on the settings page."
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "导入",
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "导入全部设置",
|
||||
"description": "This string is used as title for the import button on the settings page."
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "限制为 $LIMIT$ 条日志。",
|
||||
"description": "This string is used as name for the log limit label.",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "此站点被 <b>ClearURLs</b> 屏蔽",
|
||||
"description": "This string is used as title on the blocked site page."
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "此站点被 <b>ClearURLs</b> 插件屏蔽,因为我们识别出此站点为广告和/或跟踪服务。为访问此站点,您必须暂时禁用此插件或在 ClearURLs 设置中禁用域名屏蔽禁用。之后您可以点击下方按钮载入此页面。",
|
||||
"description": "This string is used as body on the blocked site page."
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "访问页面",
|
||||
"description": "This string is used as button on the blocked site page."
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "允许跳转营销",
|
||||
"description": "This string is used as label for the referral marketing switch"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "允许跳转营销",
|
||||
"description": "This string is used as title for the referral marketing switch"
|
||||
},
|
||||
"watchdog": {
|
||||
"message": "[ClearURLs]: 看门狗检测到一个问题并已失败 $TIMES$ 次。",
|
||||
"description": "This string is used as text for the watchdog",
|
||||
"placeholders": {
|
||||
"times": {
|
||||
"content": "$1",
|
||||
"example": "3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "允许域名屏蔽(在不允许广告拦截器的页面上会导致问题)",
|
||||
"description": "This string is used as label for the domain blocking switch"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "允许域名屏蔽(在不允许广告拦截器的页面上会导致问题)",
|
||||
"description": "This string is used as title for the domain blocking switch"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "此超链接审计已屏蔽",
|
||||
"description": "This string is used on hyperlink auditing in the ClearURLs log."
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "屏蔽超链接审计(参见<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>此文章</a>)",
|
||||
"description": "This string is used as label for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "屏蔽超链接审计",
|
||||
"description": "This string is used as title for the hyperlink auditing blocking switch"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "从 URL 中移除跟踪元素。",
|
||||
"description": "Extension description (max. 132 characters)"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "ETag 头已从此请求移除",
|
||||
"description": "This string is used on ETag header filtering in the ClearURLs log."
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "从请求中过滤 ETag 头(参见<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>此文章</a>)",
|
||||
"description": "This string is used as label for the ETag header filtering switch"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "过滤 ETag 头。提示:第一次使用前必须清除缓存。",
|
||||
"description": "This string is used as title for the ETag header filtering switch"
|
||||
},
|
||||
"popup_html_rules_status_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_percentage_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_blocked_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_elements_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_statistics_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"popup_html_configs_head_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
},
|
||||
"context_menu_enabled_title": {
|
||||
"message": " ",
|
||||
"description": "not needed, only to prevent exceptions"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,216 +1,314 @@
|
|||
{
|
||||
"hash_status_code_1": {
|
||||
"message": "已是最新的",
|
||||
"description": ""
|
||||
"message": "已是最新版本",
|
||||
"description": "This status code says, that no update is available for the ClearURLs rules and everything is up to date."
|
||||
},
|
||||
|
||||
"hash_status_code_2": {
|
||||
"message": "已更新",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs rules are successfully updated."
|
||||
},
|
||||
|
||||
"hash_status_code_3": {
|
||||
"message": "有可用的更新",
|
||||
"description": ""
|
||||
"description": "This status code says, that an update is available for the ClearURLs rules."
|
||||
},
|
||||
|
||||
"hash_status_code_4": {
|
||||
"message": "錯誤",
|
||||
"description": ""
|
||||
"description": "This status code says, that the ClearURLs could not be started correctly."
|
||||
},
|
||||
|
||||
"hash_status_code_5": {
|
||||
"message": "糟糕! 有東西不對勁",
|
||||
"description": ""
|
||||
"message": "發生錯誤",
|
||||
"description": "This status code says, that an error occurred while updating the ClearURLs rules."
|
||||
},
|
||||
|
||||
"log_redirect": {
|
||||
"message": "此網址已被轉址",
|
||||
"description": ""
|
||||
"description": "This string is used on redirections in the ClearURLs log."
|
||||
},
|
||||
|
||||
"log_domain_blocked": {
|
||||
"message": "此網址已被封鎖",
|
||||
"description": ""
|
||||
"message": "已封鎖此網域",
|
||||
"description": "This string is used on blocked domains in the ClearURLs log."
|
||||
},
|
||||
|
||||
"check_os_log": {
|
||||
"message": "[ClearURLs]: 已新增記錄聆聽者",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 已新增記錄監聽器",
|
||||
"description": "This string is used on ClearURLs log startup."
|
||||
},
|
||||
|
||||
"log_html_page_title": {
|
||||
"message": "ClearURLs記錄檔",
|
||||
"description": ""
|
||||
"message": "ClearURLs 記錄檔",
|
||||
"description": "This string is used as header on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_1": {
|
||||
"message": "處理前",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_2": {
|
||||
"message": "處理後",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_3": {
|
||||
"message": "規則",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_table_head_4": {
|
||||
"message": "時間",
|
||||
"description": ""
|
||||
"description": "This string is used as table title on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"message": "清除",
|
||||
"description": "This string is used for the reset button on the log page."
|
||||
},
|
||||
|
||||
"log_html_reset_button_title": {
|
||||
"message": "重設全域記錄檔",
|
||||
"description": ""
|
||||
"message": "清除全域記錄檔",
|
||||
"description": "This string is used as title for the reset button on the log page."
|
||||
},
|
||||
|
||||
"popup_html_configs_head": {
|
||||
"message": "配置",
|
||||
"description": ""
|
||||
"message": "設定",
|
||||
"description": "This string is used as title for the configs on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter": {
|
||||
"message": "過濾器",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_filter_title": {
|
||||
"message": "此過濾器開關為ClearURLs的主開關, 若此項不打勾, 則本附加元件失效.",
|
||||
"description": ""
|
||||
"message": "「過濾器」即 ClearURLs 的網址清理功能。若你關閉此選項,則本套件的主要功能將無法作用。",
|
||||
"description": "This string is used as title for the filter switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log": {
|
||||
"message": "記錄",
|
||||
"description": ""
|
||||
"message": "錄製記錄",
|
||||
"description": "This string is used as name for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_log_title": {
|
||||
"message": "記錄檔會被儲存於本機. 若不需要此功能, 建議不要使用.",
|
||||
"description": ""
|
||||
"message": "記錄檔將儲存於本機。若不需要此功能,建議關閉。",
|
||||
"description": "This string is used as title for the logging switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges": {
|
||||
"message": "徽章",
|
||||
"description": ""
|
||||
"message": "計數徽章",
|
||||
"description": "This string is used as name for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_configs_switch_badges_title": {
|
||||
"message": "顯示已清理數量",
|
||||
"description": ""
|
||||
"message": "顯示已清理的數量",
|
||||
"description": "This string is used as title for the badges switch button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_head": {
|
||||
"message": "統計",
|
||||
"description": ""
|
||||
"message": "統計資料",
|
||||
"description": "This string is used as title for the statistics on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_elements": {
|
||||
"message": "元件",
|
||||
"description": ""
|
||||
"message": "元素",
|
||||
"description": "This string is used as name for the elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_blocked": {
|
||||
"message": "已阻擋",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_percentage": {
|
||||
"message": "比例",
|
||||
"description": ""
|
||||
"message": "阻擋比率",
|
||||
"description": "This string is used as name for the percentage of blocked elements on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"message": "歸零",
|
||||
"description": "This string is used as name for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_statistics_reset_button_title": {
|
||||
"message": "重設全域統計",
|
||||
"description": ""
|
||||
"message": "重置全域統計資料",
|
||||
"description": "This string is used as title for the statistics reset button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_rules_status_head": {
|
||||
"message": "規則狀態",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the rules-status section on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head": {
|
||||
"message": "記錄檔",
|
||||
"description": ""
|
||||
"message": "記錄",
|
||||
"description": "This string is used as name for the log button on the popup page."
|
||||
},
|
||||
|
||||
"popup_html_log_head_title": {
|
||||
"message": "開啟記錄檔",
|
||||
"description": ""
|
||||
"message": "檢視記錄檔",
|
||||
"description": "This string is used as title for the log button on the popup page."
|
||||
},
|
||||
"popup_html_report_button": {
|
||||
"message": "回報目前網址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"popup_html_report_button_title": {
|
||||
"message": "回報目前分頁的網址",
|
||||
"description": "Currently not used."
|
||||
},
|
||||
|
||||
"core_save_on_disk": {
|
||||
"message": "[ClearURLs]: 儲存於磁碟",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 儲存於本機",
|
||||
"description": "This string is used to tell the user, that ClearURLs saved the settings on disk."
|
||||
},
|
||||
|
||||
"core_error": {
|
||||
"message": "[ClearURLs]: 此附加元件無法啟動",
|
||||
"description": ""
|
||||
"message": "[ClearURLs]: 無法啟動擴充功能",
|
||||
"description": "This string is used to tell the user, that ClearURLs could not be started."
|
||||
},
|
||||
|
||||
"configs_switch_statistics": {
|
||||
"message": "統計",
|
||||
"description": ""
|
||||
"message": "統計資料",
|
||||
"description": "This string is used as name for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"configs_switch_statistics_title": {
|
||||
"message": "開啟或關閉統計功能",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the statistics switch button on the popup page."
|
||||
},
|
||||
|
||||
"settings_html_page_title": {
|
||||
"message": "ClearURLs設定",
|
||||
"description": ""
|
||||
"message": "ClearURLs 偏好設定",
|
||||
"description": "This string is used as title on the settings page."
|
||||
},
|
||||
|
||||
"badged_color_label": {
|
||||
"message": "徽章顏色",
|
||||
"description": ""
|
||||
"message": "計數徽章背景顏色",
|
||||
"description": "This string is used as name for the badged color label."
|
||||
},
|
||||
|
||||
"setting_html_reset_button": {
|
||||
"message": "重設",
|
||||
"description": ""
|
||||
"description": "This string is used as name for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_html_reset_button_title": {
|
||||
"message": "重設所有設定",
|
||||
"description": ""
|
||||
"message": "將所有設定還原為預設值",
|
||||
"description": "This string is used as title for the reset button on the settings page."
|
||||
},
|
||||
|
||||
"setting_rule_url_label": {
|
||||
"message": "data.json的網址 (規則)",
|
||||
"description": ""
|
||||
"message": "data.json 檔的網址 (規則)",
|
||||
"description": "This string is used as name for the rule url label."
|
||||
},
|
||||
|
||||
"settings_html_save_button": {
|
||||
"message": "儲存並重啟附加元件",
|
||||
"description": ""
|
||||
"message": "儲存並重新啟動擴充功能",
|
||||
"description": "This string is used as name for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"settings_html_save_button_title": {
|
||||
"message": "儲存設定",
|
||||
"description": ""
|
||||
"description": "This string is used as title for the save&reload button on the settings page."
|
||||
},
|
||||
|
||||
"setting_hash_url_label": {
|
||||
"message": "rules.hash的網址 (校驗)",
|
||||
"description": ""
|
||||
"message": "rules.hash 檔的網址 (校驗)",
|
||||
"description": "This string is used as name for the rule.hash url label."
|
||||
},
|
||||
"setting_types_label": {
|
||||
"message": "<a href='https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/ResourceType' target='_blank'>請求類型</a> (進階設定)",
|
||||
"description": "This string is used as name for the types label."
|
||||
},
|
||||
"setting_report_server_label": {
|
||||
"message": "回報網址",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"success_report_url": {
|
||||
"message": "已成功回報網址,我們將儘速對其檢查。",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"error_report_url": {
|
||||
"message": "該網址已被回報過",
|
||||
"description": "Note: Currently not used."
|
||||
},
|
||||
"donate_button": {
|
||||
"message": "給 ClearURLs 的作者一點贊助!",
|
||||
"description": "This string is used to refer to a donation page."
|
||||
},
|
||||
"clipboard_copy_link": {
|
||||
"message": "複製經過清理的網址",
|
||||
"description": "This string is used in the context menu to copy clean links."
|
||||
},
|
||||
"context_menu_enabled": {
|
||||
"message": "在快顯功能表中顯示",
|
||||
"description": "This string is used toggle the context menu entry to copy clean links."
|
||||
},
|
||||
"history_listener_enabled": {
|
||||
"message": "防止藉由 History API 注入追蹤 (參見:<a href='https://developer.mozilla.org/en-US/docs/Web/API/History_API#The_replaceState()_method' target='_blank'>The replaceState() method</a>)"
|
||||
},
|
||||
"cleaning_tool_page_title": {
|
||||
"message": "ClearURLs 網址清理工具",
|
||||
"description": "This string is used as title on the cleaning tool page."
|
||||
},
|
||||
"cleaning_tool_description": {
|
||||
"message": "這個工具可讓你手動清理冗長的網址。請貼上欲清理的網址,並點擊「清理網址」按鈕,ClearURLs 便會還你乾淨的網址。你可以批次處理多個網址,每條網址須以換行分隔。",
|
||||
"description": "This string is used as description of the cleaning tool."
|
||||
},
|
||||
"cleaning_tool_btn": {
|
||||
"message": "清理網址",
|
||||
"description": "This string is used as name for the clean url button."
|
||||
},
|
||||
"cleaning_tool_dirty_urls_label": {
|
||||
"message": "原始網址:",
|
||||
"description": "This string is used as title on the cleaning tool page for the dirty URLs."
|
||||
},
|
||||
"cleaning_tool_clean_urls_label": {
|
||||
"message": "清理結果:",
|
||||
"description": "This string is used as title on the cleaning tool page for the clean URLs."
|
||||
},
|
||||
"local_hosts_skipping": {
|
||||
"message": "略過本機網址 (10.0.0.0/8、172.16.0.0/12、192.168.0.0/16、100.64.0.0/10、169.254.0.0/16、127.0.0.1、localhost)"
|
||||
},
|
||||
"local_hosts_skipping_title": {
|
||||
"message": "略過本機網址"
|
||||
},
|
||||
"log_html_export_button": {
|
||||
"message": "匯出"
|
||||
},
|
||||
"log_html_export_button_title": {
|
||||
"message": "匯出全域記錄檔"
|
||||
},
|
||||
"log_html_import_button": {
|
||||
"message": "匯入"
|
||||
},
|
||||
"log_html_import_button_title": {
|
||||
"message": "匯入全域記錄檔"
|
||||
},
|
||||
"setting_html_export_button": {
|
||||
"message": "匯出"
|
||||
},
|
||||
"setting_html_export_button_title": {
|
||||
"message": "將各項設定匯出"
|
||||
},
|
||||
"setting_html_import_button": {
|
||||
"message": "匯入"
|
||||
},
|
||||
"setting_html_import_button_title": {
|
||||
"message": "匯入各項設定"
|
||||
},
|
||||
"setting_log_limit_label": {
|
||||
"message": "最多保存 $LIMIT$ 筆記錄檔",
|
||||
"placeholders": {
|
||||
"limit": {
|
||||
"content": "$1",
|
||||
"example": "100"
|
||||
}
|
||||
}
|
||||
},
|
||||
"blocked_html_title": {
|
||||
"message": "這個網站已由 <b>ClearURLs</b> 封鎖"
|
||||
},
|
||||
"blocked_html_body": {
|
||||
"message": "由於我們判定這個網站是廣告商或追蹤器的伺服器,因此 <b>ClearURLs</b> 已封鎖此網站。若你仍需造訪此網站,請先暫時停用本擴充功能;或者,至 ClearURLs 的偏好設定中關閉「允許封鎖網域」。完成上述操作後,點擊下方的「繼續前往」即可瀏覽該網站。"
|
||||
},
|
||||
"blocked_html_button": {
|
||||
"message": "繼續前往"
|
||||
},
|
||||
"referral_marketing_enabled": {
|
||||
"message": "允許聯盟行銷"
|
||||
},
|
||||
"referral_marketing_enabled_title": {
|
||||
"message": "允許聯盟行銷"
|
||||
},
|
||||
"domain_blocking_enabled": {
|
||||
"message": "允許封鎖網域 (部分阻撓「廣告阻擋器」的網頁可能無法正常顯示)"
|
||||
},
|
||||
"domain_blocking_enabled_title": {
|
||||
"message": "允許封鎖網域 (部分阻撓「廣告阻擋器」的網頁可能無法正常顯示)"
|
||||
},
|
||||
"log_ping_blocked": {
|
||||
"message": "已阻擋超連結稽核"
|
||||
},
|
||||
"ping_blocking_enabled": {
|
||||
"message": "阻擋超連結稽核 (<a href='https://html.spec.whatwg.org/multipage/links.html#hyperlink-auditing' target='_blank'>瞭解詳情</a>)"
|
||||
},
|
||||
"ping_blocking_enabled_title": {
|
||||
"message": "阻擋超連結稽核"
|
||||
},
|
||||
"extension_description": {
|
||||
"message": "將網址中的追蹤元素一掃而空"
|
||||
},
|
||||
"eTag_filtering_log": {
|
||||
"message": "已在這次請求裡移除 ETag 標頭"
|
||||
},
|
||||
"eTag_filtering_enabled": {
|
||||
"message": "濾除請求裡的 ETag 標頭 (<a href='https://en.wikipedia.org/wiki/HTTP_ETag#Tracking_using_ETags' target='_blank'>瞭解詳情</a>)"
|
||||
},
|
||||
"eTag_filtering_enabled_title": {
|
||||
"message": "濾除 ETag 標頭 (注意:初次啟用前須先清除快取)"
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -11,7 +11,7 @@
|
|||
global.browser = mod.exports;
|
||||
}
|
||||
})(this, function (module) {
|
||||
/* webextension-polyfill - v0.3.1 - Tue Aug 21 2018 10:09:34 */
|
||||
/* webextension-polyfill - v0.4.0 - Wed Feb 06 2019 11:58:31 */
|
||||
/* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
|
||||
/* vim: set sts=2 sw=2 et tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
|
@ -28,7 +28,7 @@
|
|||
// contents of a function until the first time it's called, and since it will
|
||||
// never actually need to be called, this allows the polyfill to be included
|
||||
// in Firefox nearly for free.
|
||||
const wrapAPIs = () => {
|
||||
const wrapAPIs = extensionAPIs => {
|
||||
// NOTE: apiMetadata is associated to the content of the api-metadata.json file
|
||||
// at build time by replacing the following "include" with the content of the
|
||||
// JSON file.
|
||||
|
@ -241,7 +241,8 @@
|
|||
"inspectedWindow": {
|
||||
"eval": {
|
||||
"minArgs": 1,
|
||||
"maxArgs": 2
|
||||
"maxArgs": 2,
|
||||
"singleCallbackArg": false
|
||||
}
|
||||
},
|
||||
"panels": {
|
||||
|
@ -763,9 +764,9 @@
|
|||
*/
|
||||
const makeCallback = (promise, metadata) => {
|
||||
return (...callbackArgs) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
promise.reject(chrome.runtime.lastError);
|
||||
} else if (metadata.singleCallbackArg || callbackArgs.length <= 1) {
|
||||
if (extensionAPIs.runtime.lastError) {
|
||||
promise.reject(extensionAPIs.runtime.lastError);
|
||||
} else if (metadata.singleCallbackArg || callbackArgs.length <= 1 && metadata.singleCallbackArg !== false) {
|
||||
promise.resolve(callbackArgs[0]);
|
||||
} else {
|
||||
promise.resolve(callbackArgs);
|
||||
|
@ -1110,14 +1111,14 @@
|
|||
});
|
||||
|
||||
const wrappedSendMessageCallback = ({ reject, resolve }, reply) => {
|
||||
if (chrome.runtime.lastError) {
|
||||
if (extensionAPIs.runtime.lastError) {
|
||||
// Detect when none of the listeners replied to the sendMessage call and resolve
|
||||
// the promise to undefined as in Firefox.
|
||||
// See https://github.com/mozilla/webextension-polyfill/issues/130
|
||||
if (chrome.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
|
||||
if (extensionAPIs.runtime.lastError.message === CHROME_SEND_MESSAGE_CALLBACK_NO_RESPONSE_MESSAGE) {
|
||||
resolve();
|
||||
} else {
|
||||
reject(chrome.runtime.lastError);
|
||||
reject(extensionAPIs.runtime.lastError);
|
||||
}
|
||||
} else if (reply && reply.__mozWebExtensionPolyfillReject__) {
|
||||
// Convert back the JSON representation of the error into
|
||||
|
@ -1173,14 +1174,13 @@
|
|||
}
|
||||
};
|
||||
|
||||
return wrapObject(chrome, staticWrappers, apiMetadata);
|
||||
return wrapObject(extensionAPIs, staticWrappers, apiMetadata);
|
||||
};
|
||||
|
||||
// The build process adds a UMD wrapper around this file, which makes the
|
||||
// `module` variable available.
|
||||
module.exports = wrapAPIs(); // eslint-disable-line no-undef
|
||||
module.exports = wrapAPIs(chrome);
|
||||
} else {
|
||||
module.exports = browser; // eslint-disable-line no-undef
|
||||
module.exports = browser;
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=browser-polyfill.js.map
|
||||
|
|
BIN
build/clearurls-1.22.0.xpi
Normal file
BIN
build/clearurls-1.22.0.xpi
Normal file
Binary file not shown.
87
build_tools/minifyDataJSON.js
Normal file
87
build_tools/minifyDataJSON.js
Normal file
|
@ -0,0 +1,87 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for minification of the data.min.json file and deletes also empty entries.
|
||||
*/
|
||||
let fs = require('fs');
|
||||
const inFileLocation = process.argv.slice(2)[0];
|
||||
const outFileLocation = process.argv.slice(2)[1];
|
||||
|
||||
if(inFileLocation === undefined || outFileLocation === undefined) {
|
||||
throw "in- and output must be set!";
|
||||
}
|
||||
|
||||
const fileContent = fs.readFileSync(inFileLocation).toString();
|
||||
|
||||
/**
|
||||
* Builds a minify version of the data.min.json file.
|
||||
*/
|
||||
function build() {
|
||||
const data = JSON.parse(fileContent);
|
||||
let minifiedData = {"providers":{}};
|
||||
|
||||
for(let provider in data.providers) {
|
||||
minifiedData.providers[provider] = {};
|
||||
let self = minifiedData.providers[provider];
|
||||
|
||||
if(data.providers[provider].completeProvider === true) {
|
||||
self.completeProvider = true;
|
||||
}
|
||||
|
||||
if(data.providers[provider].forceRedirection === true) {
|
||||
self.forceRedirection = true;
|
||||
}
|
||||
|
||||
if(data.providers[provider].urlPattern !== "") {
|
||||
self.urlPattern = data.providers[provider].urlPattern;
|
||||
}
|
||||
|
||||
if(data.providers[provider].rules.length !== 0) {
|
||||
self.rules = data.providers[provider].rules;
|
||||
}
|
||||
|
||||
if(data.providers[provider].rawRules.length !== 0) {
|
||||
self.rawRules = data.providers[provider].rawRules;
|
||||
}
|
||||
|
||||
if(data.providers[provider].referralMarketing.length !== 0) {
|
||||
self.referralMarketing = data.providers[provider].referralMarketing;
|
||||
}
|
||||
|
||||
if(data.providers[provider].exceptions.length !== 0) {
|
||||
self.exceptions = data.providers[provider].exceptions;
|
||||
}
|
||||
|
||||
if(data.providers[provider].redirections.length !== 0) {
|
||||
self.redirections = data.providers[provider].redirections;
|
||||
}
|
||||
}
|
||||
|
||||
fs.writeFile(outFileLocation, JSON.stringify(minifiedData), function(err) {
|
||||
|
||||
if(err) {
|
||||
return console.log(err);
|
||||
}
|
||||
|
||||
console.log("The file was saved!");
|
||||
});
|
||||
}
|
||||
|
||||
build();
|
1450
clearurls.js
1450
clearurls.js
File diff suppressed because it is too large
Load Diff
77
core_js/badgedHandler.js
Normal file
77
core_js/badgedHandler.js
Normal file
|
@ -0,0 +1,77 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for setting the badged.
|
||||
*/
|
||||
|
||||
let badges = {};
|
||||
|
||||
/**
|
||||
* Increases the badged by one.
|
||||
*/
|
||||
function increaseBadged(quiet = false, request) {
|
||||
if (!quiet) increaseURLCounter();
|
||||
|
||||
if(request === null) return;
|
||||
|
||||
const tabId = request.tabId;
|
||||
const url = request.url;
|
||||
|
||||
if(tabId === -1) return;
|
||||
|
||||
if (badges[tabId] == null) {
|
||||
badges[tabId] = {
|
||||
counter: 1,
|
||||
lastURL: url
|
||||
};
|
||||
} else {
|
||||
badges[tabId].counter += 1;
|
||||
}
|
||||
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res) {
|
||||
if (storage.badgedStatus && !quiet) {
|
||||
browser.browserAction.setBadgeText({text: (badges[tabId]).counter.toString(), tabId: tabId}).catch(handleError);
|
||||
} else {
|
||||
browser.browserAction.setBadgeText({text: "", tabId: tabId}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
* And if url has changed.
|
||||
*/
|
||||
function handleUpdated(tabId, changeInfo, tabInfo) {
|
||||
if(!badges[tabId] || !changeInfo.url) return;
|
||||
|
||||
if (badges[tabId].lastURL !== changeInfo.url) {
|
||||
badges[tabId] = {
|
||||
counter: 0,
|
||||
lastURL: tabInfo.url
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Call by each tab is updated.
|
||||
*/
|
||||
browser.tabs.onUpdated.addListener(handleUpdated);
|
80
core_js/cleaning_tool.js
Normal file
80
core_js/cleaning_tool.js
Normal file
|
@ -0,0 +1,80 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
var cleanedURLs = [];
|
||||
var i = 0;
|
||||
var length = 0;
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
(function() {
|
||||
setText();
|
||||
document.getElementById('cleaning_tool_btn').onclick = cleanURLs;
|
||||
})();
|
||||
|
||||
/**
|
||||
* This function cleans all URLs line by line in the textarea.
|
||||
*/
|
||||
function cleanURLs() {
|
||||
const cleanTArea = document.getElementById('cleanURLs');
|
||||
const dirtyTArea = document.getElementById('dirtyURLs');
|
||||
const urls = dirtyTArea.value.split('\n');
|
||||
cleanedURLs = [];
|
||||
length = urls.length;
|
||||
|
||||
for(i=0; i < length; i++) {
|
||||
browser.runtime.sendMessage({
|
||||
function: "pureCleaning",
|
||||
params: [urls[i]]
|
||||
}).then((data) => {
|
||||
cleanedURLs.push(data.response);
|
||||
if(i >= length-1) {
|
||||
cleanTArea.value= cleanedURLs.join('\n');
|
||||
}
|
||||
}, handleError);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
document.title = translate('cleaning_tool_page_title');
|
||||
document.getElementById('page_title').textContent = translate('cleaning_tool_page_title');
|
||||
document.getElementById('cleaning_tool_description').textContent = translate('cleaning_tool_description');
|
||||
document.getElementById('cleaning_tool_btn').textContent = translate('cleaning_tool_btn');
|
||||
document.getElementById('cleaning_tool_dirty_urls_label').textContent = translate('cleaning_tool_dirty_urls_label');
|
||||
document.getElementById('cleaning_tool_clean_urls_label').textContent = translate('cleaning_tool_clean_urls_label');
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
57
core_js/context_menu.js
Normal file
57
core_js/context_menu.js
Normal file
|
@ -0,0 +1,57 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for context menu cleaning functions
|
||||
* and based on: https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types
|
||||
*/
|
||||
|
||||
function contextMenuStart() {
|
||||
if(storage.contextMenuEnabled) {
|
||||
browser.contextMenus.create({
|
||||
id: "copy-link-to-clipboard",
|
||||
title: translate("clipboard_copy_link"),
|
||||
contexts: ["link"]
|
||||
});
|
||||
|
||||
browser.contextMenus.onClicked.addListener((info, tab) => {
|
||||
if (info.menuItemId === "copy-link-to-clipboard") {
|
||||
const url = pureCleaning(info.linkUrl);
|
||||
const code = "copyToClipboard(" +
|
||||
JSON.stringify(url)+");";
|
||||
|
||||
browser.tabs.executeScript({
|
||||
code: "typeof copyToClipboard === 'function';",
|
||||
}).then((results) => {
|
||||
if (!results || results[0] !== true) {
|
||||
return browser.tabs.executeScript(tab.id, {
|
||||
file: "/external_js/clipboard-helper.js",
|
||||
}).catch(handleError);
|
||||
}
|
||||
}).then(() => {
|
||||
return browser.tabs.executeScript(tab.id, {
|
||||
code,
|
||||
});
|
||||
}).catch((error) => {
|
||||
console.error("Failed to copy text: " + error);
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
46
core_js/eTagFilter.js
Normal file
46
core_js/eTagFilter.js
Normal file
|
@ -0,0 +1,46 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
|
||||
/**
|
||||
* Filters eTag headers from web requests.
|
||||
*/
|
||||
function eTagFilter(requestDetails) {
|
||||
if(!requestDetails.responseHeaders || !storage.eTagFiltering
|
||||
|| storage.localHostsSkipping && checkLocalURL(requestDetails.url)) return {};
|
||||
const responseHeaders = requestDetails.responseHeaders;
|
||||
|
||||
const filteredHeaders = responseHeaders.filter(header => {
|
||||
return header.name.toLowerCase() !== "etag";
|
||||
});
|
||||
|
||||
if(filteredHeaders.length < responseHeaders.length) {
|
||||
pushToLog(requestDetails.url, requestDetails.url, translate("eTag_filtering_log"));
|
||||
increaseBadged(false, requestDetails);
|
||||
increaseGlobalURLCounter(1);
|
||||
|
||||
return {responseHeaders: filteredHeaders};
|
||||
}
|
||||
}
|
||||
|
||||
browser.webRequest.onHeadersReceived.addListener(
|
||||
eTagFilter,
|
||||
{urls: ["<all_urls>"]},
|
||||
["blocking", "responseHeaders"]
|
||||
);
|
67
core_js/google_link_fix.js
Normal file
67
core_js/google_link_fix.js
Normal file
|
@ -0,0 +1,67 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Based on:
|
||||
* Remove Google Redirection
|
||||
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
|
||||
* Copyright (c) 2017 kodango
|
||||
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
|
||||
*/
|
||||
(function (window) {
|
||||
"use strict";
|
||||
|
||||
function injectFunction() {
|
||||
let ele = document.createElement('script');
|
||||
let s = document.getElementsByTagName('script')[0];
|
||||
|
||||
ele.type = 'text/javascript';
|
||||
ele.textContent = "Object.defineProperty(window, 'rwt', {" +
|
||||
" value: function() { return true; }," +
|
||||
" writable: false," +
|
||||
" configurable: false" +
|
||||
"});";
|
||||
|
||||
s.parentNode.insertBefore(ele, s);
|
||||
}
|
||||
|
||||
/*
|
||||
* The main entry
|
||||
*/
|
||||
function main()
|
||||
{
|
||||
injectFunction();
|
||||
|
||||
document.addEventListener('mouseover', function (event) {
|
||||
let a = event.target, depth = 1;
|
||||
|
||||
while (a && a.tagName !== 'A' && depth-- > 0) {
|
||||
a = a.parentNode;
|
||||
}
|
||||
|
||||
if (a && a.tagName === 'A') {
|
||||
try {
|
||||
a.removeAttribute('data-cthref');
|
||||
delete a.dataset.cthref;
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
main();
|
||||
})(window);
|
55
core_js/historyListener.js
Normal file
55
core_js/historyListener.js
Normal file
|
@ -0,0 +1,55 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for listen on history changes.
|
||||
* This technique is often used to inject tracking code into the location bar,
|
||||
* because all feature events will use the updated URL.
|
||||
*/
|
||||
|
||||
function historyListenerStart() {
|
||||
if(storage.historyListenerEnabled) {
|
||||
browser.webNavigation.onHistoryStateUpdated.addListener(historyCleaner);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function that is triggered on history changes. Injects script into page
|
||||
* to clean links that were pushed to the history stack with the
|
||||
* history.replaceState method.
|
||||
* @param {state object} details The state object is a JavaScript object
|
||||
* which is associated with the new history entry created by replaceState()
|
||||
*/
|
||||
function historyCleaner(details) {
|
||||
if(storage.globalStatus) {
|
||||
const urlBefore = details.url;
|
||||
const urlAfter = pureCleaning(details.url);
|
||||
|
||||
if(urlBefore !== urlAfter) {
|
||||
browser.tabs.executeScript(details.tabId, {
|
||||
frameId: details.frameId,
|
||||
code: 'history.replaceState({state: "cleaned_history"},"",'+JSON.stringify(urlAfter)+');'
|
||||
}).then(() => {}, onError);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function onError(error) {
|
||||
console.log(`[ClearURLs] Error: ${error}`);
|
||||
}
|
155
core_js/log.js
155
core_js/log.js
|
@ -1,21 +1,38 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/**
|
||||
* Get the log and display the data as table.
|
||||
*/
|
||||
var log = {};
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
/**
|
||||
* Reset the global log
|
||||
*/
|
||||
function resetGlobalLog(){
|
||||
core(function (ref){
|
||||
obj = {"log": []};
|
||||
ref.setData('log', JSON.stringify(obj));
|
||||
});
|
||||
getLog();
|
||||
let obj = {"log": []};
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['log', JSON.stringify(obj)]
|
||||
}).catch(handleError);
|
||||
|
||||
location.reload();
|
||||
}
|
||||
|
||||
|
@ -24,35 +41,49 @@ function resetGlobalLog(){
|
|||
*/
|
||||
function getLog()
|
||||
{
|
||||
core(function (ref){
|
||||
log = ref.getData('log');
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['log']
|
||||
}).then((data) => {
|
||||
log = data.response;
|
||||
|
||||
// Sort the log | issue #70
|
||||
log.log.sort(function(a,b) {
|
||||
return b.timestamp - a.timestamp;
|
||||
});
|
||||
|
||||
var length = Object.keys(log.log).length;
|
||||
var row;
|
||||
if(length != 0)
|
||||
{
|
||||
for(var i=0; i<length;i++)
|
||||
{
|
||||
row = "<tr>"
|
||||
+ "<td>"+log.log[i].before+"</td>"
|
||||
+ "<td>"+log.log[i].after+"</td>"
|
||||
+ "<td>"+log.log[i].rule+"</td>"
|
||||
+ "<td>"+toDate(log.log[i].timestamp)+"</td>";
|
||||
$('#tbody').append(row);
|
||||
}
|
||||
}
|
||||
$('#logTable').DataTable({
|
||||
"data": log.log,
|
||||
"columns": [
|
||||
{
|
||||
"data": "before",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "after",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "rule",
|
||||
"type": "string"
|
||||
},
|
||||
{
|
||||
"data": "timestamp",
|
||||
"type": "date"
|
||||
}
|
||||
],
|
||||
"columnDefs": [
|
||||
{
|
||||
targets: 3,
|
||||
render: toDate
|
||||
}
|
||||
],
|
||||
"pageLength": 10,
|
||||
"language": {
|
||||
"url": getDataTableTranslation()
|
||||
}
|
||||
} ).order([3, 'desc']).draw();
|
||||
});
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -60,11 +91,9 @@ function getLog()
|
|||
*/
|
||||
function getDataTableTranslation()
|
||||
{
|
||||
var lang = browser.i18n.getUILanguage();
|
||||
let lang = browser.i18n.getUILanguage();
|
||||
lang = lang.substring(0,2);
|
||||
var file = browser.extension.getURL('./external_js/dataTables/i18n/'+lang+'.lang');
|
||||
|
||||
return file;
|
||||
return browser.extension.getURL('./external_js/dataTables/i18n/' + lang + '.lang');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -75,14 +104,52 @@ function toDate(time)
|
|||
return new Date(time).toLocaleString();
|
||||
}
|
||||
|
||||
/**
|
||||
* This function export the global log as json file.
|
||||
*/
|
||||
function exportGlobalLog() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ['log']
|
||||
}).then((data) => {
|
||||
let blob = new Blob([JSON.stringify(data.response)], {type: 'application/json'});
|
||||
|
||||
browser.downloads.download({
|
||||
'url': URL.createObjectURL(blob),
|
||||
'filename': 'ClearURLsLogExport.json',
|
||||
'saveAs': true
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function imports an exported global log and overwrites the old one.
|
||||
*/
|
||||
function importGlobalLog(evt) {
|
||||
let file = evt.target.files[0];
|
||||
let fileReader = new FileReader();
|
||||
|
||||
fileReader.onload = function(e) {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ["log", e.target.result]
|
||||
}).then(() => {
|
||||
location.reload();
|
||||
}, handleError);
|
||||
};
|
||||
fileReader.readAsText(file);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
$(document).ready(function(){
|
||||
(function () {
|
||||
setText();
|
||||
getLog();
|
||||
$('#reset_log_btn').on("click", resetGlobalLog);
|
||||
});
|
||||
document.getElementById('reset_log_btn').onclick = resetGlobalLog;
|
||||
document.getElementById('export_log_btn').onclick = exportGlobalLog;
|
||||
document.getElementById('importLog').onchange = importGlobalLog;
|
||||
})();
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
|
@ -100,11 +167,19 @@ function translate(string)
|
|||
function setText()
|
||||
{
|
||||
document.title = translate('log_html_page_title');
|
||||
$('#page_title').text(translate('log_html_page_title'));
|
||||
$('#reset_log_btn').text(translate('log_html_reset_button'));
|
||||
$('#log_html_reset_button').prop('title', translate('log_html_reset_button_title'));
|
||||
$('#head_1').text(translate('log_html_table_head_1'));
|
||||
$('#head_2').text(translate('log_html_table_head_2'));
|
||||
$('#head_3').text(translate('log_html_table_head_3'));
|
||||
$('#head_4').text(translate('log_html_table_head_4'));
|
||||
document.getElementById('page_title').textContent = translate('log_html_page_title');
|
||||
document.getElementById('reset_log_btn').textContent = translate('log_html_reset_button');
|
||||
document.getElementById('reset_log_btn').setAttribute('title', translate('log_html_reset_button_title'));
|
||||
document.getElementById('head_1').textContent = translate('log_html_table_head_1');
|
||||
document.getElementById('head_2').textContent = translate('log_html_table_head_2');
|
||||
document.getElementById('head_3').textContent = translate('log_html_table_head_3');
|
||||
document.getElementById('head_4').textContent = translate('log_html_table_head_4');
|
||||
document.getElementById('export_log_btn_text').textContent = translate('log_html_export_button');
|
||||
document.getElementById('export_log_btn').setAttribute('title', translate('log_html_export_button_title'));
|
||||
document.getElementById('import_log_btn_text').textContent = translate('log_html_import_button');
|
||||
document.getElementById('importLog').setAttribute('title', translate('log_html_import_button_title'));
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
|
42
core_js/message_handler.js
Normal file
42
core_js/message_handler.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the communication between background and content_scripts.
|
||||
*/
|
||||
|
||||
/**
|
||||
* [handleMessage description]
|
||||
* @param request The message itself. This is a JSON-ifiable object.
|
||||
* @param sender A runtime.MessageSender object representing the sender of the message.
|
||||
* @param sendResponse A function to call, at most once, to send a response to the message. The function takes a single argument, which may be any JSON-ifiable object. This argument is passed back to the message sender.
|
||||
*/
|
||||
function handleMessage(request, sender, sendResponse)
|
||||
{
|
||||
let fn = window[request.function];
|
||||
|
||||
if(typeof fn === "function")
|
||||
{
|
||||
let response = fn.apply(null, request.params);
|
||||
|
||||
return Promise.resolve({response});
|
||||
}
|
||||
}
|
||||
|
||||
browser.runtime.onMessage.addListener(handleMessage);
|
281
core_js/popup.js
Normal file
281
core_js/popup.js
Normal file
|
@ -0,0 +1,281 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
var element = document.getElementById('statistics_value');
|
||||
var elGlobalPercentage = document.getElementById('statistics_value_global_percentage');
|
||||
var elProgressbar_blocked = document.getElementById('progress_blocked');
|
||||
var elProgressbar_non_blocked = document.getElementById('progress_non_blocked');
|
||||
var elTotal = document.getElementById('statistics_total_elements');
|
||||
var globalPercentage = 0;
|
||||
var globalCounter;
|
||||
var globalurlcounter;
|
||||
var globalStatus;
|
||||
var badgedStatus;
|
||||
var hashStatus;
|
||||
var loggingStatus;
|
||||
var statisticsStatus;
|
||||
var currentURL;
|
||||
|
||||
/**
|
||||
* Initialize the UI.
|
||||
*
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
setSwitchButton("globalStatus", "globalStatus");
|
||||
setSwitchButton("tabcounter", "badgedStatus");
|
||||
setSwitchButton("logging", "loggingStatus");
|
||||
setSwitchButton("statistics", "statisticsStatus");
|
||||
setHashStatus();
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the globalCounter and globalurlcounter value from the storage
|
||||
*/
|
||||
function changeStatistics()
|
||||
{
|
||||
globalPercentage = ((globalCounter/globalurlcounter)*100).toFixed(3);
|
||||
|
||||
if(isNaN(Number(globalPercentage))) globalPercentage = 0;
|
||||
|
||||
element.textContent = globalCounter.toLocaleString();
|
||||
elGlobalPercentage.textContent = globalPercentage+"%";
|
||||
elProgressbar_blocked.style.width = globalPercentage+'%';
|
||||
elProgressbar_non_blocked.style.width = (100-globalPercentage)+'%';
|
||||
elTotal.textContent = globalurlcounter.toLocaleString();
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value for the hashStatus on startUp.
|
||||
*/
|
||||
function setHashStatus()
|
||||
{
|
||||
let element = document.getElementById('hashStatus');
|
||||
|
||||
if(hashStatus)
|
||||
{
|
||||
element.textContent = translate(hashStatus);
|
||||
}
|
||||
else {
|
||||
element.textContent = translate('hash_status_code_5');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID)
|
||||
{
|
||||
let element = document.getElementById(id);
|
||||
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
element.onchange = function(){
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [storageID, element.checked]
|
||||
}).then((data) => {
|
||||
if(storageID === "globalStatus"){
|
||||
browser.runtime.sendMessage({
|
||||
function: "changeIcon",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
};
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the visibility of sections.
|
||||
*/
|
||||
function changeVisibility(id, storageID)
|
||||
{
|
||||
let element;
|
||||
|
||||
switch(storageID)
|
||||
{
|
||||
case "loggingStatus":
|
||||
element = document.getElementById('log_section');
|
||||
break;
|
||||
case "statisticsStatus":
|
||||
element = document.getElementById('statistic_section');
|
||||
break;
|
||||
default:
|
||||
element = "undefine";
|
||||
}
|
||||
|
||||
if(element !== "undefine")
|
||||
{
|
||||
if(document.getElementById(id).checked)
|
||||
{
|
||||
element.style.display = '';
|
||||
element.style.display = '';
|
||||
}
|
||||
else {
|
||||
element.style.display = 'none';
|
||||
element.style.display = 'none';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname)
|
||||
{
|
||||
const element = document.getElementById(id);
|
||||
element.checked = this[varname];
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the global statistic
|
||||
*/
|
||||
function resetGlobalCounter(){
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['globalCounter', 0]
|
||||
}).catch(handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: ['globalurlcounter', 0]
|
||||
}).catch(handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
|
||||
globalCounter = 0;
|
||||
globalurlcounter = 0;
|
||||
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
(function() {
|
||||
loadData("globalCounter")
|
||||
.then(() => loadData("globalurlcounter"))
|
||||
.then(() => loadData("globalStatus"))
|
||||
.then(() => loadData("badgedStatus"))
|
||||
.then(() => loadData("hashStatus"))
|
||||
.then(() => loadData("loggingStatus"))
|
||||
.then(() => loadData("statisticsStatus"))
|
||||
.then(() => loadData("getCurrentURL", "currentURL"))
|
||||
.then(() => {
|
||||
init();
|
||||
document.getElementById('reset_counter_btn').onclick = resetGlobalCounter;
|
||||
changeSwitchButton("globalStatus", "globalStatus");
|
||||
changeSwitchButton("tabcounter", "badgedStatus");
|
||||
changeSwitchButton("logging", "loggingStatus");
|
||||
changeSwitchButton("statistics", "statisticsStatus");
|
||||
document.getElementById('loggingPage').href = browser.extension.getURL('./html/log.html');
|
||||
document.getElementById('settings').href = browser.extension.getURL('./html/settings.html');
|
||||
document.getElementById('cleaning_tools').href = browser.extension.getURL('./html/cleaningTool.html');
|
||||
setText();
|
||||
});
|
||||
})();
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
injectText('loggingPage','popup_html_log_head');
|
||||
injectText('reset_counter_btn','popup_html_statistics_reset_button');
|
||||
injectText('rules_status_head','popup_html_rules_status_head');
|
||||
injectText('statistics_percentage','popup_html_statistics_percentage');
|
||||
injectText('statistics_blocked','popup_html_statistics_blocked');
|
||||
injectText('statistics_elements','popup_html_statistics_elements');
|
||||
injectText('statistics_head','popup_html_statistics_head');
|
||||
injectText('configs_switch_badges','popup_html_configs_switch_badges');
|
||||
injectText('configs_switch_log','popup_html_configs_switch_log');
|
||||
injectText('configs_switch_filter','popup_html_configs_switch_filter');
|
||||
injectText('configs_head','popup_html_configs_head');
|
||||
injectText('configs_switch_statistics','configs_switch_statistics');
|
||||
document.getElementById('donate').title = translate('donate_button');
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {string} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip = "")
|
||||
{
|
||||
const object = document.getElementById(id);
|
||||
object.textContent = translate(attribute);
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute+"_title");
|
||||
|
||||
if(tooltip !== "")
|
||||
{
|
||||
object.setAttribute('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads data from storage and saves into local variable.
|
||||
*
|
||||
* @param name data name
|
||||
* @param varName variable name
|
||||
* @returns {Promise<data>} requested data
|
||||
*/
|
||||
async function loadData(name, varName=name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: [name]
|
||||
}).then(data => {
|
||||
this[varName] = data.response;
|
||||
resolve(data);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
|
@ -1,265 +0,0 @@
|
|||
var element = $("#statistics_value");
|
||||
var elGlobalPercentage = $("#statistics_value_global_percentage");
|
||||
var elProgressbar_blocked = $('#progress_blocked');
|
||||
var elProgressbar_non_blocked = $('#progress_non_blocked');
|
||||
var elTotal = $('#statistics_total_elements');
|
||||
var globalPercentage = 0;
|
||||
var globalCounter;
|
||||
var globalurlcounter;
|
||||
var globalStatus;
|
||||
var badgedStatus;
|
||||
var hashStatus;
|
||||
var loggingStatus;
|
||||
var statisticsStatus;
|
||||
var currentURL;
|
||||
var reportServer;
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
function getData()
|
||||
{
|
||||
core(function (ref){
|
||||
globalCounter = ref.getData('globalCounter');
|
||||
globalurlcounter = ref.getData('globalurlcounter');
|
||||
globalStatus = ref.getData('globalStatus');
|
||||
badgedStatus = ref.getData('badgedStatus');
|
||||
hashStatus = ref.getData('hashStatus');
|
||||
loggingStatus = ref.getData('loggingStatus');
|
||||
statisticsStatus = ref.getData('statisticsStatus');
|
||||
currentURL = ref.getCurrentURL();
|
||||
reportServer = ref.getData('reportServer');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the UI.
|
||||
*
|
||||
*/
|
||||
function init()
|
||||
{
|
||||
setSwitchButton("globalStatus", "globalStatus");
|
||||
setSwitchButton("tabcounter", "badgedStatus");
|
||||
setSwitchButton("logging", "loggingStatus");
|
||||
setSwitchButton("statistics", "statisticsStatus");
|
||||
setHashStatus();
|
||||
changeStatistics();
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the globalCounter value from the browser storage
|
||||
* @param {(data){} Return value form browser.storage.local.get
|
||||
*/
|
||||
function changeStatistics()
|
||||
{
|
||||
globalPercentage = ((globalCounter/globalurlcounter)*100).toFixed(3);
|
||||
|
||||
if(isNaN(Number(globalPercentage))) globalPercentage = 0;
|
||||
|
||||
element.text(globalCounter.toLocaleString());
|
||||
elGlobalPercentage.text(globalPercentage+"%");
|
||||
elProgressbar_blocked.css('width', globalPercentage+'%');
|
||||
elProgressbar_non_blocked.css('width', (100-globalPercentage)+'%');
|
||||
elTotal.text(globalurlcounter.toLocaleString());
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value for the hashStatus on startUp.
|
||||
*/
|
||||
function setHashStatus()
|
||||
{
|
||||
var element = $('#hashStatus');
|
||||
|
||||
if(hashStatus)
|
||||
{
|
||||
element.text(translate(hashStatus));
|
||||
}
|
||||
else {
|
||||
element.text(translate('hash_status_code_5'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID)
|
||||
{
|
||||
var element = $('#'+id);
|
||||
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
element.on('change', function(){
|
||||
core(function (ref){
|
||||
ref.setData(storageID, element.is(':checked'));
|
||||
if(storageID == "globalStatus") ref.changeIcon();
|
||||
changeVisibility(id, storageID);
|
||||
|
||||
ref.saveOnExit();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the visibility of sections.
|
||||
*/
|
||||
function changeVisibility(id, storageID)
|
||||
{
|
||||
var element;
|
||||
|
||||
switch(storageID)
|
||||
{
|
||||
case "loggingStatus":
|
||||
element = $('#log_section');
|
||||
break;
|
||||
case "statisticsStatus":
|
||||
element = $('#statistic_section');
|
||||
break;
|
||||
default:
|
||||
element = "undefine";
|
||||
}
|
||||
|
||||
if(element != "undefine")
|
||||
{
|
||||
if($('#'+id).is(':checked'))
|
||||
{
|
||||
element.css('display', '');
|
||||
element.css('display', '');
|
||||
}
|
||||
else {
|
||||
element.css('display', 'none');
|
||||
element.css('display', 'none');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname)
|
||||
{
|
||||
var element = $('#'+id);
|
||||
element.prop('checked', this[varname]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reset the global statistic
|
||||
*/
|
||||
function resetGlobalCounter(){
|
||||
core(function (ref){
|
||||
globalurlcounter = 0;
|
||||
globalCounter = 0;
|
||||
ref.setData('globalCounter', 0);
|
||||
ref.setData('globalurlcounter', 0);
|
||||
ref.saveOnExit();
|
||||
|
||||
changeStatistics();
|
||||
});
|
||||
}
|
||||
|
||||
if(!browser.extension.inIncognitoContext)
|
||||
{
|
||||
getData();
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
if(!browser.extension.inIncognitoContext)
|
||||
{
|
||||
init();
|
||||
$('#reset_counter_btn').on("click", resetGlobalCounter);
|
||||
changeSwitchButton("globalStatus", "globalStatus");
|
||||
changeSwitchButton("tabcounter", "badgedStatus");
|
||||
changeSwitchButton("logging", "loggingStatus");
|
||||
changeSwitchButton("statistics", "statisticsStatus");
|
||||
$('#loggingPage').attr('href', browser.extension.getURL('./html/log.html'));
|
||||
$('#settings').attr('href', browser.extension.getURL('./html/settings.html'));
|
||||
$('#reportButton').on("click", reportURL);
|
||||
setText();
|
||||
} else {
|
||||
$('#config_section').remove();
|
||||
$('#statistic_section').remove();
|
||||
$('#status_section').remove();
|
||||
$('#log_section').remove();
|
||||
$('#incognito').css('display', '');
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
injectText('loggingPage','popup_html_log_head');
|
||||
injectText('reset_counter_btn','popup_html_statistics_reset_button');
|
||||
injectText('rules_status_head','popup_html_rules_status_head');
|
||||
injectText('statistics_percentage','popup_html_statistics_percentage');
|
||||
injectText('statistics_blocked','popup_html_statistics_blocked');
|
||||
injectText('statistics_elements','popup_html_statistics_elements');
|
||||
injectText('statistics_head','popup_html_statistics_head');
|
||||
injectText('configs_switch_badges','popup_html_configs_switch_badges');
|
||||
injectText('configs_switch_log','popup_html_configs_switch_log');
|
||||
injectText('configs_switch_filter','popup_html_configs_switch_filter');
|
||||
injectText('configs_head','popup_html_configs_head');
|
||||
injectText('configs_switch_statistics','configs_switch_statistics');
|
||||
injectText('reportButton', 'popup_html_report_button', true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {boolean} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip)
|
||||
{
|
||||
object = $('#'+id);
|
||||
object.text(translate(attribute));
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute+"_title");
|
||||
|
||||
if(tooltip != "")
|
||||
{
|
||||
object.prop('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
||||
|
||||
/**
|
||||
* Send the url to the DB on clearurls.röb.it to checked for tracking fields.
|
||||
*/
|
||||
function reportURL()
|
||||
{
|
||||
$.ajax({
|
||||
url: reportServer+'/report_url.php?url='+encodeURI(currentURL),
|
||||
success: function(result) {
|
||||
BootstrapDialog.show({
|
||||
message: translate('success_report_url')
|
||||
});
|
||||
},
|
||||
error: function(result) {
|
||||
BootstrapDialog.show({
|
||||
message: translate('error_report_url')
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
58
core_js/pureCleaning.js
Normal file
58
core_js/pureCleaning.js
Normal file
|
@ -0,0 +1,58 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
|
||||
/**
|
||||
* Cleans given links. Also do automatic redirection.
|
||||
*
|
||||
* @param {String} url url as string
|
||||
* @param {boolean} quiet if the action should be displayed in log and statistics
|
||||
* @return {String} redirectUrl or none
|
||||
*/
|
||||
function pureCleaning(url, quiet = false) {
|
||||
let cleanURL = url;
|
||||
const URLbeforeReplaceCount = countFields(url);
|
||||
|
||||
if(!quiet) {
|
||||
//Add Fields form Request to global url counter
|
||||
increaseGlobalURLCounter(URLbeforeReplaceCount);
|
||||
}
|
||||
|
||||
for (let i = 0; i < providers.length; i++) {
|
||||
let result = {
|
||||
"changes": false,
|
||||
"url": "",
|
||||
"redirect": false,
|
||||
"cancel": false
|
||||
};
|
||||
|
||||
if(providers[i].matchURL(cleanURL))
|
||||
{
|
||||
result = removeFieldsFormURL(providers[i], cleanURL, quiet);
|
||||
cleanURL = result.url;
|
||||
}
|
||||
|
||||
if(result.redirect)
|
||||
{
|
||||
return result.url;
|
||||
}
|
||||
}
|
||||
|
||||
return cleanURL;
|
||||
}
|
|
@ -1,105 +1,335 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
var settings = [];
|
||||
|
||||
var core = function (func) {
|
||||
return browser.runtime.getBackgroundPage().then(func);
|
||||
};
|
||||
|
||||
getData();
|
||||
const pickr = Pickr.create({
|
||||
el: '#badged-color-picker',
|
||||
theme: 'nano',
|
||||
components: {
|
||||
preview: true,
|
||||
opacity: true,
|
||||
hue: true,
|
||||
default: '#FFA500',
|
||||
comparison: false,
|
||||
interaction: {
|
||||
hex: true,
|
||||
rgba: false,
|
||||
hsla: false,
|
||||
hsva: false,
|
||||
cmyk: false,
|
||||
input: true,
|
||||
clear: false,
|
||||
save: true
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Load only when document is ready
|
||||
*/
|
||||
$(document).ready(function(){
|
||||
setText();
|
||||
$(".pick-a-color").pickAColor();
|
||||
$('#reset_settings_btn').on("click", reset);
|
||||
$('#save_settings_btn').on("click", save);
|
||||
|
||||
$("#badged_color input").on("change", function () {
|
||||
settings.badged_color = $(this).val();
|
||||
core(function (ref){
|
||||
ref.setData('badged_color', settings.badged_color);
|
||||
ref.setBadgedStatus();
|
||||
ref.saveOnExit();
|
||||
});
|
||||
* Load only when document is ready
|
||||
*/
|
||||
(function () {
|
||||
pickr.on('init', () => {
|
||||
getData();
|
||||
setText();
|
||||
document.getElementById('reset_settings_btn').onclick = reset;
|
||||
document.getElementById('export_settings_btn').onclick = exportSettings;
|
||||
document.getElementById('importSettings').onchange = importSettings;
|
||||
document.getElementById('save_settings_btn').onclick = save;
|
||||
});
|
||||
});
|
||||
})();
|
||||
|
||||
/**
|
||||
* Reset everything.
|
||||
* Set everthing to the default values.
|
||||
*/
|
||||
function reset()
|
||||
{
|
||||
core(function (ref){
|
||||
ref.initSettings();
|
||||
ref.saveOnExit();
|
||||
ref.reload();
|
||||
});
|
||||
function reset() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "initSettings",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "reload",
|
||||
params: []
|
||||
}).then(handleResponse, handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves the settings.
|
||||
*/
|
||||
function save()
|
||||
{
|
||||
core(function (ref){
|
||||
ref.setData('badged_color', $('input[name=badged_color]').val());
|
||||
ref.setBadgedStatus();
|
||||
ref.setData('ruleURL', $('input[name=rule_url]').val());
|
||||
ref.setData('hashURL', $('input[name=hash_url]').val());
|
||||
ref.setData('types', $('input[name=types]').val());
|
||||
ref.setData('reportServer', $('input[name=report_server]').val());
|
||||
ref.saveOnExit();
|
||||
ref.reload();
|
||||
});
|
||||
|
||||
location.reload();
|
||||
function save() {
|
||||
saveData("badged_color", pickr.getColor().toHEXA().toString())
|
||||
.then(() => saveData("ruleURL", document.querySelector('input[name=ruleURL]').value))
|
||||
.then(() => saveData("hashURL", document.querySelector('input[name=hashURL]').value))
|
||||
.then(() => saveData("types", document.querySelector('input[name=types]').value))
|
||||
.then(() => saveData("logLimit", Math.max(0, Math.min(5000, document.querySelector('input[name=logLimit]').value))))
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "setBadgedStatus",
|
||||
params: []
|
||||
}), handleError)
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}), handleError)
|
||||
.then(() => browser.runtime.sendMessage({
|
||||
function: "reload",
|
||||
params: []
|
||||
}), handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
* @param {string[]} placeholders Array of placeholders
|
||||
*/
|
||||
function translate(string, ...placeholders) {
|
||||
return browser.i18n.getMessage(string, placeholders);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the data.
|
||||
*/
|
||||
function getData()
|
||||
{
|
||||
core(function (ref){
|
||||
settings.badged_color = ref.getData('badged_color');
|
||||
settings.rule_url = ref.getData('ruleURL');
|
||||
settings.hash_url = ref.getData('hashURL');
|
||||
settings.types = ref.getData('types');
|
||||
settings.reportServer = ref.getData('reportServer');
|
||||
function getData() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: ["badged_color"]
|
||||
}).then(data => {
|
||||
settings["badged_color"] = data.response;
|
||||
pickr.setColor(data.response, false);
|
||||
}).catch(handleError);
|
||||
|
||||
loadData("ruleURL")
|
||||
.then(() => loadData("hashURL"))
|
||||
.then(() => loadData("types"))
|
||||
.then(() => loadData("logLimit"))
|
||||
.then(logData => {
|
||||
if (logData.response === undefined) {
|
||||
document.getElementById('logLimit_label').textContent = translate('setting_log_limit_label', "0");
|
||||
} else {
|
||||
document.getElementById('logLimit_label').textContent = translate('setting_log_limit_label', logData.response);
|
||||
}
|
||||
}).catch(handleError);
|
||||
|
||||
loadData("contextMenuEnabled")
|
||||
.then(() => loadData("historyListenerEnabled"))
|
||||
.then(() => loadData("localHostsSkipping"))
|
||||
.then(() => loadData("referralMarketing"))
|
||||
.then(() => loadData("domainBlocking"))
|
||||
.then(() => loadData("pingBlocking"))
|
||||
.then(() => loadData("eTagFiltering"))
|
||||
.then(() => {
|
||||
changeSwitchButton("localHostsSkipping", "localHostsSkipping");
|
||||
changeSwitchButton("historyListenerEnabled", "historyListenerEnabled");
|
||||
changeSwitchButton("contextMenuEnabled", "contextMenuEnabled");
|
||||
changeSwitchButton("referralMarketing", "referralMarketing");
|
||||
changeSwitchButton("domainBlocking", "domainBlocking");
|
||||
changeSwitchButton("pingBlocking", "pingBlocking");
|
||||
changeSwitchButton("eTagFiltering", "eTagFiltering");
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Loads data from storage and saves into local variable.
|
||||
*
|
||||
* @param name data/variable name
|
||||
* @returns {Promise<data>} requested data
|
||||
*/
|
||||
async function loadData(name) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "getData",
|
||||
params: [name]
|
||||
}).then(data => {
|
||||
settings[name] = data.response;
|
||||
if (document.querySelector('input[id=' + name + ']') == null) {
|
||||
console.debug(name)
|
||||
}
|
||||
document.querySelector('input[id=' + name + ']').value = data.response;
|
||||
resolve(data);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Saves data to storage.
|
||||
*
|
||||
* @param key key of the data that should be saved
|
||||
* @param data data that should be saved
|
||||
* @returns {Promise<message>} message from background script
|
||||
*/
|
||||
async function saveData(key, data) {
|
||||
return new Promise((resolve, reject) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [key, data]
|
||||
}).then(message => {
|
||||
handleResponse(message);
|
||||
resolve(message);
|
||||
}, handleError);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
function setText() {
|
||||
document.title = translate('settings_html_page_title');
|
||||
$('#page_title').text(translate('settings_html_page_title'));
|
||||
$('#badged_color_label').text(translate('badged_color_label'));
|
||||
$('input[name=badged_color]').val(settings.badged_color);
|
||||
$('#reset_settings_btn').text(translate('setting_html_reset_button'));
|
||||
$('#reset_settings_btn').prop('title', translate('setting_html_reset_button_title'));
|
||||
$('#rule_url_label').text(translate('setting_rule_url_label'));
|
||||
$('input[name=rule_url]').val(settings.rule_url);
|
||||
$('#hash_url_label').text(translate('setting_hash_url_label'));
|
||||
$('input[name=hash_url]').val(settings.hash_url);
|
||||
$('#types_label').html(translate('setting_types_label'));
|
||||
$('input[name=types]').val(settings.types);
|
||||
$('#save_settings_btn').text(translate('settings_html_save_button'));
|
||||
$('#save_settings_btn').prop('title', translate('settings_html_save_button_title'));
|
||||
$('#report_server_label').html(translate('setting_report_server_label'));
|
||||
$('input[name=report_server]').val(settings.reportServer);
|
||||
document.getElementById('page_title').textContent = translate('settings_html_page_title');
|
||||
document.getElementById('badged_color_label').textContent = translate('badged_color_label');
|
||||
document.getElementById('reset_settings_btn').textContent = translate('setting_html_reset_button');
|
||||
document.getElementById('reset_settings_btn').setAttribute('title', translate('setting_html_reset_button_title'));
|
||||
document.getElementById('rule_url_label').textContent = translate('setting_rule_url_label');
|
||||
document.getElementById('hash_url_label').textContent = translate('setting_hash_url_label');
|
||||
document.getElementById('types_label').innerHTML = translate('setting_types_label');
|
||||
document.getElementById('save_settings_btn').textContent = translate('settings_html_save_button');
|
||||
document.getElementById('save_settings_btn').setAttribute('title', translate('settings_html_save_button_title'));
|
||||
injectText("context_menu_enabled", "context_menu_enabled");
|
||||
document.getElementById('history_listener_enabled').innerHTML = translate('history_listener_enabled');
|
||||
injectText("local_hosts_skipping", "local_hosts_skipping");
|
||||
document.getElementById('export_settings_btn_text').textContent = translate('setting_html_export_button');
|
||||
document.getElementById('export_settings_btn').setAttribute('title', translate('setting_html_export_button_title'));
|
||||
document.getElementById('import_settings_btn_text').textContent = translate('setting_html_import_button');
|
||||
document.getElementById('importSettings').setAttribute('title', translate('setting_html_import_button_title'));
|
||||
injectText("referral_marketing_enabled", "referral_marketing_enabled");
|
||||
injectText("domain_blocking_enabled", "domain_blocking_enabled");
|
||||
document.getElementById('ping_blocking_enabled').innerHTML = translate('ping_blocking_enabled');
|
||||
document.getElementById('ping_blocking_enabled').setAttribute('title', translate('ping_blocking_enabled_title'));
|
||||
document.getElementById('eTag_filtering_enabled').innerHTML = translate('eTag_filtering_enabled');
|
||||
document.getElementById('eTag_filtering_enabled').setAttribute('title', translate('eTag_filtering_enabled_title'));
|
||||
}
|
||||
|
||||
/**
|
||||
* This function exports all ClearURLs settings with statistics and rules.
|
||||
*/
|
||||
function exportSettings() {
|
||||
browser.runtime.sendMessage({
|
||||
function: "storageAsJSON",
|
||||
params: []
|
||||
}).then((data) => {
|
||||
let blob = new Blob([JSON.stringify(data.response)], {type: 'application/json'});
|
||||
|
||||
browser.downloads.download({
|
||||
'url': URL.createObjectURL(blob),
|
||||
'filename': 'ClearURLs.conf',
|
||||
'saveAs': true
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* This function imports an exported ClearURLs setting and overwrites the old one.
|
||||
*/
|
||||
function importSettings(evt) {
|
||||
let file = evt.target.files[0];
|
||||
let fileReader = new FileReader();
|
||||
|
||||
fileReader.onload = function (e) {
|
||||
let data = JSON.parse(e.target.result);
|
||||
const length = Object.keys(data).length;
|
||||
let i = 0;
|
||||
|
||||
Object.entries(data).forEach(([key, value]) => {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [key, value]
|
||||
}).then(() => {
|
||||
i++;
|
||||
if (i === length) {
|
||||
location.reload();
|
||||
}
|
||||
}, handleError);
|
||||
});
|
||||
};
|
||||
fileReader.readAsText(file);
|
||||
}
|
||||
|
||||
function handleResponse(message) {
|
||||
console.log(`Message from the background script: ${message.response}`);
|
||||
}
|
||||
|
||||
function handleError(error) {
|
||||
console.log(`Error: ${error}`);
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} storageID storage internal id
|
||||
*/
|
||||
function changeSwitchButton(id, storageID) {
|
||||
let element = document.getElementById(id);
|
||||
|
||||
element.onchange = function () {
|
||||
browser.runtime.sendMessage({
|
||||
function: "setData",
|
||||
params: [storageID, element.checked]
|
||||
}).then(() => {
|
||||
if (storageID === "globalStatus") {
|
||||
browser.runtime.sendMessage({
|
||||
function: "changeIcon",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}
|
||||
|
||||
browser.runtime.sendMessage({
|
||||
function: "saveOnExit",
|
||||
params: []
|
||||
}).catch(handleError);
|
||||
}).catch(handleError);
|
||||
};
|
||||
setSwitchButton(id, storageID);
|
||||
}
|
||||
|
||||
/**
|
||||
* Helper function to inject the translated text and tooltip.
|
||||
*
|
||||
* @param {string} id ID of the HTML element
|
||||
* @param {string} attribute Name of the attribute used for localization
|
||||
* @param {string} tooltip
|
||||
*/
|
||||
function injectText(id, attribute, tooltip = "") {
|
||||
let object = document.getElementById(id);
|
||||
object.textContent = translate(attribute);
|
||||
|
||||
/*
|
||||
This function will throw an error if no translation
|
||||
is found for the tooltip. This is a planned error.
|
||||
*/
|
||||
tooltip = translate(attribute + "_title");
|
||||
|
||||
if (tooltip !== "") {
|
||||
object.setAttribute('title', tooltip);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set the value of a switch button.
|
||||
* @param {string} id HTML id
|
||||
* @param {string} varname js internal variable name
|
||||
*/
|
||||
function setSwitchButton(id, varname) {
|
||||
let element = document.getElementById(id);
|
||||
element.checked = settings[varname];
|
||||
}
|
||||
|
|
51
core_js/siteBlockedAlert.js
Normal file
51
core_js/siteBlockedAlert.js
Normal file
|
@ -0,0 +1,51 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the blocked alert page.
|
||||
*/
|
||||
|
||||
/**
|
||||
* Set the text for the UI.
|
||||
*/
|
||||
function setText()
|
||||
{
|
||||
document.title = translate('blocked_html_title');
|
||||
document.getElementById('title').innerHTML = translate('blocked_html_title');
|
||||
document.getElementById('body').innerHTML = translate('blocked_html_body');
|
||||
document.getElementById('page').textContent = translate('blocked_html_button');
|
||||
|
||||
}
|
||||
|
||||
(function() {
|
||||
setText();
|
||||
|
||||
const source = new URLSearchParams(window.location.search).get("source");
|
||||
document.getElementById('page').href = decodeURIComponent(source);
|
||||
})();
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
*/
|
||||
function translate(string)
|
||||
{
|
||||
return browser.i18n.getMessage(string);
|
||||
}
|
285
core_js/storage.js
Normal file
285
core_js/storage.js
Normal file
|
@ -0,0 +1,285 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for the storage.
|
||||
*/
|
||||
var storage = [];
|
||||
var hasPendingSaves = false;
|
||||
var pendingSaves = new Set();
|
||||
|
||||
/**
|
||||
* Writes the storage variable to the disk.
|
||||
*/
|
||||
function saveOnExit() {
|
||||
saveOnDisk(Object.keys(storage));
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the storage as JSON.
|
||||
*/
|
||||
function storageAsJSON() {
|
||||
let json = {};
|
||||
|
||||
Object.entries(storage).forEach(([key, value]) => {
|
||||
json[key] = storageDataAsString(key);
|
||||
});
|
||||
|
||||
return json;
|
||||
}
|
||||
|
||||
/**
|
||||
* Converts a given storage data to its string representation.
|
||||
* @param key key of the storage data
|
||||
* @returns {string} string representation
|
||||
*/
|
||||
function storageDataAsString(key) {
|
||||
let value = storage[key];
|
||||
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
return JSON.stringify(value);
|
||||
case "types":
|
||||
return value.toString();
|
||||
default:
|
||||
return value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Save multiple keys on the disk.
|
||||
* @param {String[]} keys
|
||||
*/
|
||||
function saveOnDisk(keys) {
|
||||
let json = {};
|
||||
|
||||
keys.forEach(function (key) {
|
||||
json[key] = storageDataAsString(key);
|
||||
});
|
||||
|
||||
console.log(translate('core_save_on_disk'));
|
||||
browser.storage.local.set(json).catch(handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Schedule to save a key to disk in 30 seconds.
|
||||
* @param {String} key
|
||||
*/
|
||||
function deferSaveOnDisk(key) {
|
||||
if (hasPendingSaves) {
|
||||
pendingSaves.add(key);
|
||||
return;
|
||||
}
|
||||
|
||||
setTimeout(function () {
|
||||
saveOnDisk(Array.from(pendingSaves));
|
||||
pendingSaves.clear();
|
||||
hasPendingSaves = false;
|
||||
}, 30000);
|
||||
hasPendingSaves = true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start sequence for ClearURLs.
|
||||
*/
|
||||
function genesis() {
|
||||
browser.storage.local.get(null).then((items) => {
|
||||
initStorage(items);
|
||||
|
||||
// Start the clearurls.js
|
||||
start();
|
||||
|
||||
//Set correct icon on startup
|
||||
changeIcon();
|
||||
|
||||
// Start the context_menu
|
||||
contextMenuStart();
|
||||
|
||||
// Start history listener
|
||||
historyListenerStart();
|
||||
}, handleError);
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the value under the key.
|
||||
* @param {String} key
|
||||
* @return {Object}
|
||||
*/
|
||||
function getData(key) {
|
||||
return storage[key];
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the entire storage object.
|
||||
* @return {Object}
|
||||
*/
|
||||
function getEntireData() {
|
||||
return storage;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the value under the key on the RAM.
|
||||
*
|
||||
* Note: To store the data on the hard disk, one of
|
||||
* deferSaveOnDisk(), saveOnDisk(), or saveOnExit()
|
||||
* must be called.
|
||||
* @param {String} key
|
||||
* @param {Object} value
|
||||
*/
|
||||
function setData(key, value) {
|
||||
switch (key) {
|
||||
case "ClearURLsData":
|
||||
case "log":
|
||||
storage[key] = JSON.parse(value);
|
||||
break;
|
||||
case "hashURL":
|
||||
case "ruleURL":
|
||||
storage[key] = replaceOldURLs(value);
|
||||
break;
|
||||
case "types":
|
||||
storage[key] = value.split(',');
|
||||
break;
|
||||
case "logLimit":
|
||||
storage[key] = Math.max(0, Number(value));
|
||||
break;
|
||||
default:
|
||||
storage[key] = value;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values, if the storage is empty.
|
||||
* @param {Object} items
|
||||
*/
|
||||
function initStorage(items) {
|
||||
initSettings();
|
||||
|
||||
if (!isEmpty(items)) {
|
||||
Object.entries(items).forEach(([key, value]) => {
|
||||
setData(key, value);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set default values for the settings.
|
||||
*/
|
||||
function initSettings() {
|
||||
storage.ClearURLsData = [];
|
||||
storage.dataHash = "";
|
||||
storage.badgedStatus = true;
|
||||
storage.globalStatus = true;
|
||||
storage.globalurlcounter = 0;
|
||||
storage.globalCounter = 0;
|
||||
storage.hashStatus = "error";
|
||||
storage.loggingStatus = false;
|
||||
storage.log = {"log": []};
|
||||
storage.statisticsStatus = true;
|
||||
storage.badged_color = "#ffa500";
|
||||
storage.hashURL = "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/rules.minify.hash";
|
||||
storage.ruleURL = "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
storage.contextMenuEnabled = true;
|
||||
storage.historyListenerEnabled = true;
|
||||
storage.localHostsSkipping = true;
|
||||
storage.referralMarketing = false;
|
||||
storage.logLimit = 100;
|
||||
storage.domainBlocking = true;
|
||||
storage.pingBlocking = true;
|
||||
storage.eTagFiltering = true;
|
||||
storage.watchDogErrorCount = 0;
|
||||
|
||||
if (getBrowser() === "Firefox") {
|
||||
storage.types = ["font", "image", "imageset", "main_frame", "media", "object", "object_subrequest", "other", "script", "stylesheet", "sub_frame", "websocket", "xml_dtd", "xmlhttprequest", "xslt"];
|
||||
storage.pingRequestTypes = ["ping", "beacon"];
|
||||
} else if (getBrowser() === "Chrome") {
|
||||
storage.types = ["main_frame", "sub_frame", "stylesheet", "script", "image", "font", "object", "xmlhttprequest", "ping", "csp_report", "media", "websocket", "other"];
|
||||
storage.pingRequestTypes = ["ping"];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace the old URLs with the
|
||||
* new GitLab URLs.
|
||||
*/
|
||||
function replaceOldURLs(url) {
|
||||
switch (url) {
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/rules.hash?flush_cache=true":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/rules.minify.hash";
|
||||
case "https://raw.githubusercontent.com/KevinRoebert/ClearUrls/master/data/data.json?flush_cache=true":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/rules.hash":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/rules.minify.hash";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.json":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/rules.min.hash?job=hash%20rules":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/rules.minify.hash";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.min.json":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/raw/master/data/data.minify.json":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/data.minify.json?job=hash%20rules":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/data.minify.json";
|
||||
case "https://gitlab.com/KevinRoebert/ClearUrls/-/jobs/artifacts/master/raw/rules.minify.hash?job=hash%20rules":
|
||||
return "https://git.michael.is/michael/clear-urls-browser-extension/raw/branch/master/data/rules.minify.hash";
|
||||
default:
|
||||
return url;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore() {
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Save the hash status to the local storage (RAM).
|
||||
* The status can have the following values:
|
||||
* 1 "up to date"
|
||||
* 2 "updated"
|
||||
* 3 "update available"
|
||||
* @param status_code the number for the status
|
||||
*/
|
||||
function storeHashStatus(status_code) {
|
||||
switch (status_code) {
|
||||
case 1:
|
||||
status_code = "hash_status_code_1";
|
||||
break;
|
||||
case 2:
|
||||
status_code = "hash_status_code_2";
|
||||
break;
|
||||
case 3:
|
||||
status_code = "hash_status_code_3";
|
||||
break;
|
||||
case 5:
|
||||
status_code = "hash_status_code_5";
|
||||
break;
|
||||
case 4:
|
||||
default:
|
||||
status_code = "hash_status_code_4";
|
||||
}
|
||||
|
||||
storage.hashStatus = status_code;
|
||||
}
|
||||
|
||||
// Start storage and ClearURLs
|
||||
genesis();
|
370
core_js/tools.js
Normal file
370
core_js/tools.js
Normal file
|
@ -0,0 +1,370 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible for some tools.
|
||||
*/
|
||||
|
||||
// Needed by the sha256 method
|
||||
const enc = new TextEncoder();
|
||||
|
||||
// Max amount of log entries to prevent performance issues
|
||||
const logThreshold = 5000;
|
||||
|
||||
/*
|
||||
* To support Waterfox.
|
||||
*/
|
||||
Array.prototype.rmEmpty = function () {
|
||||
return this.filter(v => v);
|
||||
};
|
||||
|
||||
/*
|
||||
* To support Waterfox.
|
||||
*/
|
||||
Array.prototype.flatten = function () {
|
||||
return this.reduce((a, b) => a.concat(b), []);
|
||||
};
|
||||
|
||||
/**
|
||||
* Check if an object is empty.
|
||||
* @param {Object} obj
|
||||
* @return {Boolean}
|
||||
*/
|
||||
function isEmpty(obj) {
|
||||
return (Object.getOwnPropertyNames(obj).length === 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Translate a string with the i18n API.
|
||||
*
|
||||
* @param {string} string Name of the attribute used for localization
|
||||
* @param {string[]} placeholders Array of placeholders
|
||||
*/
|
||||
function translate(string, ...placeholders)
|
||||
{
|
||||
return browser.i18n.getMessage(string, placeholders);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reloads the extension.
|
||||
*/
|
||||
function reload() {
|
||||
browser.runtime.reload();
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if it is an android device.
|
||||
* @return bool
|
||||
*/
|
||||
async function checkOSAndroid() {
|
||||
if (os === undefined || os === null || os === "") {
|
||||
await chrome.runtime.getPlatformInfo(function (info) {
|
||||
os = info.os;
|
||||
});
|
||||
}
|
||||
|
||||
return os === "android";
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the host without port from an url.
|
||||
* @param {String} url URL as String
|
||||
* @return {String} host as string
|
||||
*/
|
||||
function extractHost(url) {
|
||||
let parsed_url = new URL(url);
|
||||
|
||||
return parsed_url.hostname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the url has a local host.
|
||||
* @param {String} url URL as String
|
||||
* @return {boolean}
|
||||
*/
|
||||
function checkLocalURL(url) {
|
||||
let host = extractHost(url);
|
||||
|
||||
if(!host.match(/^\d/) && host !== 'localhost') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return ipRangeCheck(host, ["10.0.0.0/8", "172.16.0.0/12",
|
||||
"192.168.0.0/16", "100.64.0.0/10",
|
||||
"169.254.0.0/16", "127.0.0.1"]) ||
|
||||
host === 'localhost';
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of parameters query strings.
|
||||
* @param {String} url URL as String
|
||||
* @return {int} Number of Parameters
|
||||
*/
|
||||
function countFields(url) {
|
||||
return extractFileds(url).length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if fields exists.
|
||||
* @param {String} url URL as String
|
||||
* @return {boolean}
|
||||
*/
|
||||
function existsFields(url) {
|
||||
let matches = (url.match(/\?.+/i) || []);
|
||||
let count = matches.length;
|
||||
|
||||
return (count > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the fields from an url.
|
||||
* @param {String} url URL as String
|
||||
* @return {Array} Fields as array
|
||||
*/
|
||||
function extractFileds(url) {
|
||||
if (existsFields(url)) {
|
||||
let fields = url.replace(new RegExp(".*?\\?", "i"), "");
|
||||
if (existsFragments(url)) {
|
||||
fields = fields.replace(new RegExp("#.*", "i"), "");
|
||||
}
|
||||
|
||||
return (fields.match(/[^\/|\?|&]+=?[^&]*/gi) || []);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Return the number of fragments query strings.
|
||||
* @param {String} url URL as String
|
||||
* @return {int} Number of fragments
|
||||
*/
|
||||
function countFragments(url) {
|
||||
return extractFragments(url).length;
|
||||
}
|
||||
|
||||
/**
|
||||
* Extract the fragments from an url.
|
||||
* @param {String} url URL as String
|
||||
* @return {Array} fragments as array
|
||||
*/
|
||||
function extractFragments(url) {
|
||||
if (existsFragments(url)) {
|
||||
let fragments = url.replace(new RegExp(".*?#", "i"), "");
|
||||
return (fragments.match(/[^&]+=?[^&]*/gi) || []);
|
||||
}
|
||||
|
||||
return [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if fragments exists.
|
||||
* @param {String} url URL as String
|
||||
* @return {boolean}
|
||||
*/
|
||||
function existsFragments(url) {
|
||||
let matches = (url.match(/\#.+/i) || []);
|
||||
let count = matches.length;
|
||||
|
||||
return (count > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Load local saved data, if the browser is offline or
|
||||
* some other network trouble.
|
||||
*/
|
||||
function loadOldDataFromStore() {
|
||||
localDataHash = storage.dataHash;
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by {number} the GlobalURLCounter
|
||||
* @param {int} number
|
||||
*/
|
||||
function increaseGlobalURLCounter(number) {
|
||||
if (storage.statisticsStatus) {
|
||||
storage.globalurlcounter += number;
|
||||
deferSaveOnDisk('globalurlcounter');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Increase by one the URLCounter
|
||||
*/
|
||||
function increaseURLCounter() {
|
||||
if (storage.statisticsStatus) {
|
||||
storage.globalCounter++;
|
||||
deferSaveOnDisk('globalCounter');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Change the icon.
|
||||
*/
|
||||
function changeIcon() {
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res) {
|
||||
if (storage.globalStatus) {
|
||||
browser.browserAction.setIcon({path: "img/clearurls_128x128.png"}).catch(handleError);
|
||||
} else {
|
||||
browser.browserAction.setIcon({path: "img/clearurls_gray_128x128.png"}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the badged status from the browser storage and put the value
|
||||
* into a local variable.
|
||||
*
|
||||
*/
|
||||
function setBadgedStatus() {
|
||||
checkOSAndroid().then((res) => {
|
||||
if (!res && storage.badgedStatus) {
|
||||
let color = storage.badged_color;
|
||||
if (storage.badged_color.charAt(0) !== '#')
|
||||
color = '#' + storage.badged_color;
|
||||
browser.browserAction.setBadgeBackgroundColor({
|
||||
'color': color
|
||||
}).catch(handleError);
|
||||
|
||||
// Works only in Firefox: https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/browserAction/setBadgeTextColor#Browser_compatibility
|
||||
if (getBrowser() === "Firefox") {
|
||||
browser.browserAction.setBadgeTextColor({
|
||||
color: "#FFFFFF"
|
||||
}).catch(handleError);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the current URL.
|
||||
* @return {String} [description]
|
||||
*/
|
||||
function getCurrentURL() {
|
||||
return currentURL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check for browser.
|
||||
*/
|
||||
function getBrowser() {
|
||||
if (typeof InstallTrigger !== 'undefined') {
|
||||
return "Firefox";
|
||||
} else {
|
||||
return "Chrome";
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Decodes an URL, also one that is encoded multiple times.
|
||||
*
|
||||
* @see https://stackoverflow.com/a/38265168
|
||||
*
|
||||
* @param url the url, that should be decoded
|
||||
*/
|
||||
function decodeURL(url) {
|
||||
let rtn = decodeURIComponent(url);
|
||||
|
||||
while(isEncodedURI(rtn)) {
|
||||
rtn = decodeURIComponent(rtn);
|
||||
}
|
||||
|
||||
// Required (e.g., to fix https://github.com/ClearURLs/Addon/issues/71)
|
||||
if(rtn.substr(0, 4) !== 'http') {
|
||||
rtn = 'http://'+rtn
|
||||
}
|
||||
|
||||
return rtn;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true, iff the given URI is encoded
|
||||
* @see https://stackoverflow.com/a/38265168
|
||||
*/
|
||||
function isEncodedURI(uri) {
|
||||
return uri !== decodeURIComponent(uri || '')
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the value of at `key` an object. If the resolved value is `undefined`, the `defaultValue` is returned in its place.
|
||||
*
|
||||
* @param {string} key the key of the object
|
||||
* @param {object} defaultValue the default value
|
||||
*/
|
||||
Object.prototype.getOrDefault = function (key, defaultValue) {
|
||||
return this[key] === undefined ? defaultValue : this[key];
|
||||
};
|
||||
|
||||
function handleError(error) {
|
||||
console.error("[ClearURLs ERROR]:" + error);
|
||||
}
|
||||
|
||||
/**
|
||||
* Function to log all activities from ClearUrls.
|
||||
* Only logging when activated.
|
||||
*
|
||||
* @param beforeProcessing the url before the clear process
|
||||
* @param afterProcessing the url after the clear process
|
||||
* @param rule the rule that triggered the process
|
||||
*/
|
||||
function pushToLog(beforeProcessing, afterProcessing, rule) {
|
||||
const limit = Math.max(0, storage.logLimit);
|
||||
if (storage.loggingStatus && limit !== 0 && !isNaN(limit)) {
|
||||
while (storage.log.log.length >= limit
|
||||
|| storage.log.log.length >= logThreshold) {
|
||||
storage.log.log.shift();
|
||||
}
|
||||
|
||||
storage.log.log.push(
|
||||
{
|
||||
"before": beforeProcessing,
|
||||
"after": afterProcessing,
|
||||
"rule": rule,
|
||||
"timestamp": Date.now()
|
||||
}
|
||||
);
|
||||
deferSaveOnDisk('log');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks if the storage is available.
|
||||
*/
|
||||
function isStorageAvailable() {
|
||||
return storage.ClearURLsData.length !== 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* This method calculates the SHA-256 hash as HEX string of the given message.
|
||||
* This method uses the native hashing implementations of the SubtleCrypto interface which is supported by all browsers
|
||||
* that implement the Web Cryptography API specification and is based on:
|
||||
* https://developer.mozilla.org/en-US/docs/Web/API/SubtleCrypto/digest
|
||||
*
|
||||
* @param message message for which the hash should be calculated
|
||||
* @returns {Promise<string>} SHA-256 of the given message
|
||||
*/
|
||||
async function sha256(message) {
|
||||
const msgUint8 = enc.encode(message);
|
||||
const hashBuffer = await crypto.subtle.digest('SHA-256', msgUint8);
|
||||
const hashArray = Array.from(new Uint8Array(hashBuffer));
|
||||
|
||||
return hashArray.map(b => b.toString(16).padStart(2, '0')).join('');
|
||||
}
|
44
core_js/watchdog.js
Normal file
44
core_js/watchdog.js
Normal file
|
@ -0,0 +1,44 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*jshint esversion: 6 */
|
||||
/*
|
||||
* This script is responsible to check in fixed intervals, that ClearURLs works properly.
|
||||
* In issue #203, some users reported, that ClearURLs filter function doesn't work after
|
||||
* some time, but without any recognizable reason.
|
||||
*
|
||||
* This watchdog restarts the whole Add-on, when the check fails.
|
||||
*/
|
||||
const CHECK_INTERVAL = 60000;
|
||||
|
||||
setInterval(function() {
|
||||
if(isStorageAvailable() && storage.globalStatus) {
|
||||
const dirtyURL = "https://clearurls.roebert.eu?utm_source=addon";
|
||||
const cleanURL = "https://clearurls.roebert.eu";
|
||||
|
||||
if(pureCleaning(dirtyURL, true) !== cleanURL) {
|
||||
storage.watchDogErrorCount += 1;
|
||||
console.log(translate('watchdog', storage.watchDogErrorCount));
|
||||
saveOnExit();
|
||||
if(storage.watchDogErrorCount < 3) reload();
|
||||
} else if(storage.watchDogErrorCount > 0){
|
||||
storage.watchDogErrorCount = 0;
|
||||
saveOnExit();
|
||||
}
|
||||
}
|
||||
}, CHECK_INTERVAL);
|
|
@ -1,6 +1,24 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/**
|
||||
* This file writes only the version into every page.
|
||||
* @return version
|
||||
*/
|
||||
var version = browser.runtime.getManifest().version;
|
||||
$('#version').text(version);
|
||||
const version = browser.runtime.getManifest().version;
|
||||
document.getElementById('version').textContent = version;
|
||||
|
|
66
core_js/yandex_link_fix.js
Normal file
66
core_js/yandex_link_fix.js
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*
|
||||
* Based on:
|
||||
* Remove Google Redirection
|
||||
* https://github.com/kodango/Remove-Google-Redirection/blob/master/extension/chrome/remove-google-redirection.user.js
|
||||
* Copyright (c) 2017 kodango
|
||||
* MIT License: https://github.com/kodango/Remove-Google-Redirection/blob/master/LICENSE
|
||||
*/
|
||||
(function (window) {
|
||||
"use strict";
|
||||
|
||||
function injectFunction() {
|
||||
let ele = document.createElement('script');
|
||||
let s = document.getElementsByTagName('script')[0];
|
||||
|
||||
ele.type = 'text/javascript';
|
||||
ele.textContent = "Object.defineProperty(window, '_borschik', {" +
|
||||
" value: function() { return false; }," +
|
||||
" writable: false," +
|
||||
" configurable: false" +
|
||||
"});";
|
||||
|
||||
s.parentNode.insertBefore(ele, s);
|
||||
}
|
||||
|
||||
/*
|
||||
* The main entry
|
||||
*/
|
||||
function main() {
|
||||
injectFunction();
|
||||
|
||||
document.addEventListener('mouseover', function (event) {
|
||||
let a = event.target, depth = 1;
|
||||
|
||||
while (a && a.tagName !== 'A' && depth-- > 0) {
|
||||
a = a.parentNode;
|
||||
}
|
||||
|
||||
if (a && a.tagName === 'A') {
|
||||
try {
|
||||
a.removeAttribute('data-counter');
|
||||
delete a.dataset.cthref;
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
|
||||
main();
|
||||
})(window);
|
1
css/bootstrap-dialog.min.css
vendored
1
css/bootstrap-dialog.min.css
vendored
|
@ -1 +0,0 @@
|
|||
.bootstrap-dialog .modal-header{border-top-left-radius:4px;border-top-right-radius:4px}.bootstrap-dialog .bootstrap-dialog-title{color:#fff;display:inline-block;font-size:16px}.bootstrap-dialog .bootstrap-dialog-message{font-size:14px}.bootstrap-dialog .bootstrap-dialog-button-icon{margin-right:3px}.bootstrap-dialog .bootstrap-dialog-close-button{font-size:20px;float:right;opacity:.9;filter:alpha(opacity=90)}.bootstrap-dialog .bootstrap-dialog-close-button:hover{cursor:pointer;opacity:1;filter:alpha(opacity=100)}.bootstrap-dialog.type-default .modal-header{background-color:#fff}.bootstrap-dialog.type-default .bootstrap-dialog-title{color:#333}.bootstrap-dialog.type-info .modal-header{background-color:#5bc0de}.bootstrap-dialog.type-primary .modal-header{background-color:#337ab7}.bootstrap-dialog.type-success .modal-header{background-color:#5cb85c}.bootstrap-dialog.type-warning .modal-header{background-color:#f0ad4e}.bootstrap-dialog.type-danger .modal-header{background-color:#d9534f}.bootstrap-dialog.size-large .bootstrap-dialog-title{font-size:24px}.bootstrap-dialog.size-large .bootstrap-dialog-close-button{font-size:30px}.bootstrap-dialog.size-large .bootstrap-dialog-message{font-size:18px}.bootstrap-dialog .icon-spin{display:inline-block;-moz-animation:spin 2s infinite linear;-o-animation:spin 2s infinite linear;-webkit-animation:spin 2s infinite linear;animation:spin 2s infinite linear}@-moz-keyframes spin{0%{-moz-transform:rotate(0deg)}100%{-moz-transform:rotate(359deg)}}@-webkit-keyframes spin{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg)}}@-o-keyframes spin{0%{-o-transform:rotate(0deg)}100%{-o-transform:rotate(359deg)}}@-ms-keyframes spin{0%{-ms-transform:rotate(0deg)}100%{-ms-transform:rotate(359deg)}}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
|
7
css/bootstrap.min.css
vendored
7
css/bootstrap.min.css
vendored
File diff suppressed because one or more lines are too long
57
css/core.css
57
css/core.css
|
@ -1,16 +1,61 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
body {
|
||||
font-size: 13px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.small-version {
|
||||
font-size: 10px;
|
||||
}
|
||||
|
||||
.navbar-header {
|
||||
margin-top: 0;
|
||||
margin-bottom: 8px;
|
||||
.brand {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.col-sm-1 {
|
||||
margin-top: -10px;
|
||||
.navbar-margin {
|
||||
margin-top: 0;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
#donate {
|
||||
transition: 0.3s;
|
||||
opacity: 0.8;
|
||||
color: #ffa500;
|
||||
}
|
||||
|
||||
#donate:hover {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.btn-default {
|
||||
color:#333;
|
||||
background-color:#fff;
|
||||
border-color:#ccc
|
||||
}
|
||||
.btn-default.focus,
|
||||
.btn-default:focus {
|
||||
color:#333;
|
||||
background-color:#e6e6e6;
|
||||
border-color:#8c8c8c
|
||||
}
|
||||
.btn-default:hover {
|
||||
color:#333;
|
||||
background-color:#e6e6e6;
|
||||
border-color:#adadad
|
||||
}
|
||||
|
|
1
css/dataTables.bootstrap.min.css
vendored
1
css/dataTables.bootstrap.min.css
vendored
|
@ -1 +0,0 @@
|
|||
table.dataTable{clear:both;margin-top:6px !important;margin-bottom:6px !important;max-width:none !important;border-collapse:separate !important}table.dataTable td,table.dataTable th{-webkit-box-sizing:content-box;box-sizing:content-box}table.dataTable td.dataTables_empty,table.dataTable th.dataTables_empty{text-align:center}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}div.dataTables_wrapper div.dataTables_length label{font-weight:normal;text-align:left;white-space:nowrap}div.dataTables_wrapper div.dataTables_length select{width:75px;display:inline-block}div.dataTables_wrapper div.dataTables_filter{text-align:right}div.dataTables_wrapper div.dataTables_filter label{font-weight:normal;white-space:nowrap;text-align:left}div.dataTables_wrapper div.dataTables_filter input{margin-left:0.5em;display:inline-block;width:auto}div.dataTables_wrapper div.dataTables_info{padding-top:8px;white-space:nowrap}div.dataTables_wrapper div.dataTables_paginate{margin:0;white-space:nowrap;text-align:right}div.dataTables_wrapper div.dataTables_paginate ul.pagination{margin:2px 0;white-space:nowrap}div.dataTables_wrapper div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:1em 0}table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting{padding-right:30px}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc_disabled{cursor:pointer;position:relative}table.dataTable thead .sorting:after,table.dataTable thead .sorting_asc:after,table.dataTable thead .sorting_desc:after,table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{position:absolute;bottom:8px;right:8px;display:block;font-family:'Glyphicons Halflings';opacity:0.5}table.dataTable thead .sorting:after{opacity:0.2;content:"\e150"}table.dataTable thead .sorting_asc:after{content:"\e155"}table.dataTable thead .sorting_desc:after{content:"\e156"}table.dataTable thead .sorting_asc_disabled:after,table.dataTable thead .sorting_desc_disabled:after{color:#eee}div.dataTables_scrollHead table.dataTable{margin-bottom:0 !important}div.dataTables_scrollBody>table{border-top:none;margin-top:0 !important;margin-bottom:0 !important}div.dataTables_scrollBody>table>thead .sorting:after,div.dataTables_scrollBody>table>thead .sorting_asc:after,div.dataTables_scrollBody>table>thead .sorting_desc:after{display:none}div.dataTables_scrollBody>table>tbody>tr:first-child>th,div.dataTables_scrollBody>table>tbody>tr:first-child>td{border-top:none}div.dataTables_scrollFoot>.dataTables_scrollFootInner{box-sizing:content-box}div.dataTables_scrollFoot>.dataTables_scrollFootInner>table{margin-top:0 !important;border-top:none}@media screen and (max-width: 767px){div.dataTables_wrapper div.dataTables_length,div.dataTables_wrapper div.dataTables_filter,div.dataTables_wrapper div.dataTables_info,div.dataTables_wrapper div.dataTables_paginate{text-align:center}}table.dataTable.table-condensed>thead>tr>th{padding-right:20px}table.dataTable.table-condensed .sorting:after,table.dataTable.table-condensed .sorting_asc:after,table.dataTable.table-condensed .sorting_desc:after{top:6px;right:6px}table.table-bordered.dataTable th,table.table-bordered.dataTable td{border-left-width:0}table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable th:last-child,table.table-bordered.dataTable td:last-child,table.table-bordered.dataTable td:last-child{border-right-width:0}table.table-bordered.dataTable tbody th,table.table-bordered.dataTable tbody td{border-bottom-width:0}div.dataTables_scrollHead table.table-bordered{border-bottom-width:0}div.table-responsive>div.dataTables_wrapper>div.row{margin:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:first-child{padding-left:0}div.table-responsive>div.dataTables_wrapper>div.row>div[class^="col-"]:last-child{padding-right:0}
|
15
css/datatables.min.css
vendored
Normal file
15
css/datatables.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
86
css/pick-a-color-1.2.3.min.css
vendored
86
css/pick-a-color-1.2.3.min.css
vendored
|
@ -1,86 +0,0 @@
|
|||
|
||||
.pick-a-color-markup *{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
|
||||
.pick-a-color-markup .hex-pound{padding-left:8px;padding-right:8px}@media screen and (max-width:991px){.pick-a-color-markup .hex-pound{padding:3px 5px 0px 5px;min-height:30px}}
|
||||
.pick-a-color-markup .pick-a-color{padding:5px}@media screen and (max-width:991px){.pick-a-color-markup .pick-a-color{width:100%;font-size:18px;padding:9px;min-width:222px;height:47px}}
|
||||
.pick-a-color-markup .input-group-btn .color-dropdown{padding:6px 5px}.pick-a-color-markup .input-group-btn .color-dropdown.no-hex{border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .input-group-btn .color-dropdown:focus{background-color:#fff}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .input-group-btn .color-dropdown{height:47px}}
|
||||
.pick-a-color-markup .color-preview{border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);height:1.429em;width:1.429em;display:inline-block;cursor:pointer;margin-right:5px}.pick-a-color-markup .color-preview.current-color{margin-bottom:-5px}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-preview{height:1.875em;width:1.875em}}
|
||||
.pick-a-color-markup .color-menu{text-align:left;padding:5px 0px;width:330px;font-size:14px;left:auto;}.pick-a-color-markup .color-menu.color-menu--inline{left:-285px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu.color-menu--inline{left:-242px}}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-menu{left:-242px;width:293px}}.pick-a-color-markup .color-menu.small{width:100px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu.small{left:-105px}}
|
||||
.pick-a-color-markup .color-menu.no-hex{left:0px}
|
||||
.pick-a-color-markup .color-menu ul{padding:0px;margin:0px}
|
||||
.pick-a-color-markup .color-menu li{list-style-type:none;padding:5px 0px;margin:0px}
|
||||
.pick-a-color-markup .color-menu .color-preview{vertical-align:middle;margin:0px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .color-preview{height:35px;width:35px}}.pick-a-color-markup .color-menu .color-preview.current-color,.pick-a-color-markup .color-menu .color-preview.white{background-color:#fff}
|
||||
.pick-a-color-markup .color-menu .color-preview.red{background-color:#f00}
|
||||
.pick-a-color-markup .color-menu .color-preview.orange{background-color:#f60}
|
||||
.pick-a-color-markup .color-menu .color-preview.yellow{background-color:#ff0}
|
||||
.pick-a-color-markup .color-menu .color-preview.green{background-color:#008000}
|
||||
.pick-a-color-markup .color-menu .color-preview.blue{background-color:#00f}
|
||||
.pick-a-color-markup .color-menu .color-preview.indigo{background-color:#4a0080}
|
||||
.pick-a-color-markup .color-menu .color-preview.violet{background-color:#ee81ee}
|
||||
.pick-a-color-markup .color-menu .color-preview.purple{background-color:#80007f}
|
||||
.pick-a-color-markup .color-menu .color-preview.black{background-color:#000}
|
||||
.pick-a-color-markup .color-menu .basicColors-content li>a,.pick-a-color-markup .color-menu .savedColors-content li>a{padding:5px 15px 3px 15px;cursor:default;min-height:25px;color:#333}.pick-a-color-markup .color-menu .basicColors-content li>a:hover,.pick-a-color-markup .color-menu .savedColors-content li>a:hover{background-color:#fff}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .color-menu .basicColors-content li>a,.pick-a-color-markup .color-menu .savedColors-content li>a{min-height:40px}}
|
||||
.pick-a-color-markup .color-menu .basicColors-content li:hover a,.pick-a-color-markup .color-menu .savedColors-content li:hover a{color:#333;background-image:none;filter:none;text-decoration:none;font-weight:bold}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .basicColors-content li:hover a,.pick-a-color-markup .color-menu .savedColors-content li:hover a{background-color:#fff;font-weight:normal}}
|
||||
.pick-a-color-markup .color-menu .btn.color-select{margin:0px 5px;height:20px;padding:0px 5px;margin-top:0px;line-height:1.5px;border-radius:4px}@media screen and (max-width:991px){.pick-a-color-markup .color-menu .btn.color-select{height:35px}}
|
||||
.pick-a-color-markup .caret{margin-bottom:3px}
|
||||
.pick-a-color-markup .color-menu-instructions,.pick-a-color-markup .advanced-instructions{text-align:center;padding:0px 6px;margin:0px;font-size:14px;font-weight:normal}@media screen and (min-width:992px){.pick-a-color-markup .color-menu-instructions,.pick-a-color-markup .advanced-instructions{display:none}}
|
||||
.pick-a-color-markup .color-label{vertical-align:middle;margin:0px;margin-left:10px;cursor:pointer}@media screen and (max-width:991px){.pick-a-color-markup .color-label{margin-left:8px}}
|
||||
.pick-a-color-markup .color-box{height:20px;width:200px;position:absolute;left:115px;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);box-shadow:inset 0 0 2px 2px rgba(0,0,0,0.075);cursor:pointer}@media screen and (max-width:991px){.pick-a-color-markup .color-box{width:160px;height:35px}}
|
||||
.pick-a-color-markup .black .highlight-band-stripe{background-color:#fff}
|
||||
.pick-a-color-markup .spectrum-white{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#808080));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#808080 100%));background-image:-moz-linear-gradient(left, #fff 0, #808080 100%);background-image:linear-gradient(to right, #fff 0, #808080 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ff808080', GradientType=1)}.pick-a-color-markup .spectrum-white .highlight-band{left:0px}
|
||||
.pick-a-color-markup .spectrum-red{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f00), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f00 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f00 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-orange{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f60), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f60 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f60 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f60 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f60 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-yellow{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #ff0), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #ff0 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #ff0 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #ff0 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #ff0 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-green{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #80ff80), color-stop(.5, #008000), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #80ff80 0, #008000 50%, #000 100%);background-image:-webkit-linear-gradient(left, #80ff80 0, #008000 50%, #000 100%);background-image:-o-linear-gradient(left, #80ff80 0, #008000 50%, #000 100%);background-image:linear-gradient(to right, #80ff80 0, #008000 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-blue{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #00f), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #00f 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #00f 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #00f 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #00f 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-purple{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #ff80ff), color-stop(.5, #80007f), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #ff80ff 0, #80007f 50%, #000 100%);background-image:-webkit-linear-gradient(left, #ff80ff 0, #80007f 50%, #000 100%);background-image:-o-linear-gradient(left, #ff80ff 0, #80007f 50%, #000 100%);background-image:linear-gradient(to right, #ff80ff 0, #80007f 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .spectrum-black{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#000), to(#808080));background-image:-webkit-linear-gradient(left, color-stop(#000 0), color-stop(#808080 100%));background-image:-moz-linear-gradient(left, #000 0, #808080 100%);background-image:linear-gradient(to right, #000 0, #808080 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff000000', endColorstr='#ff808080', GradientType=1)}.pick-a-color-markup .spectrum-black .highlight-band{left:0px;border:1px solid #808080}
|
||||
.pick-a-color-markup .ie-spectrum{height:20px;width:100px;display:inline-block;top:-1}.pick-a-color-markup .ie-spectrum.hue{width:50.5px}@media screen and (max-width:991px){.pick-a-color-markup .ie-spectrum.hue{width:45.5px}}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .ie-spectrum{width:80px;height:35px}}
|
||||
.pick-a-color-markup .red-spectrum-0,.pick-a-color-markup .lightness-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #fff 0, #f00 100%);background-image:linear-gradient(to right, #fff 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffff0000', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .red-spectrum-1,.pick-a-color-markup .lightness-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f00), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#f00 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #f00 0, #000 100%);background-image:linear-gradient(to right, #f00 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0000', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .lightness-spectrum-0,.pick-a-color-markup .lightness-spectrum-1{width:150px}@media screen and (max-width:991px){.pick-a-color-markup .lightness-spectrum-0,.pick-a-color-markup .lightness-spectrum-1{width:135px}}
|
||||
.pick-a-color-markup .orange-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#f60));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#f60 100%));background-image:-moz-linear-gradient(left, #fff 0, #f60 100%);background-image:linear-gradient(to right, #fff 0, #f60 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffff6600', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .orange-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f60), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#f60 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #f60 0, #000 100%);background-image:linear-gradient(to right, #f60 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff6600', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .yellow-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#ff0));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#ff0 100%));background-image:-moz-linear-gradient(left, #fff 0, #ff0 100%);background-image:linear-gradient(to right, #fff 0, #ff0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffffff00', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .yellow-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff0), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#ff0 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #ff0 0, #000 100%);background-image:linear-gradient(to right, #ff0 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff00', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .green-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#80ff80), to(#008000));background-image:-webkit-linear-gradient(left, color-stop(#80ff80 0), color-stop(#008000 100%));background-image:-moz-linear-gradient(left, #80ff80 0, #008000 100%);background-image:linear-gradient(to right, #80ff80 0, #008000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff80ff80', endColorstr='#ff008000', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .green-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#008000), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#008000 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #008000 0, #000 100%);background-image:linear-gradient(to right, #008000 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff008000', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .blue-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#fff), to(#00f));background-image:-webkit-linear-gradient(left, color-stop(#fff 0), color-stop(#00f 100%));background-image:-moz-linear-gradient(left, #fff 0, #00f 100%);background-image:linear-gradient(to right, #fff 0, #00f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ff0000ff', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .blue-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#00f), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#00f 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #00f 0, #000 100%);background-image:linear-gradient(to right, #00f 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000ff', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .purple-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff80ff), to(#80007f));background-image:-webkit-linear-gradient(left, color-stop(#ff80ff 0), color-stop(#80007f 100%));background-image:-moz-linear-gradient(left, #ff80ff 0, #80007f 100%);background-image:linear-gradient(to right, #ff80ff 0, #80007f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff80ff', endColorstr='#ff80007f', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .purple-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#80007f), to(#000));background-image:-webkit-linear-gradient(left, color-stop(#80007f 0), color-stop(#000 100%));background-image:-moz-linear-gradient(left, #80007f 0, #000 100%);background-image:linear-gradient(to right, #80007f 0, #000 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff80007f', endColorstr='#ff000000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px}
|
||||
.pick-a-color-markup .saturation-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#808080), to(#bf4040));background-image:-webkit-linear-gradient(left, color-stop(#808080 0), color-stop(#bf4040 100%));background-image:-moz-linear-gradient(left, #808080 0, #bf4040 100%);background-image:linear-gradient(to right, #808080 0, #bf4040 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff808080', endColorstr='#ffbf4040', GradientType=1);border-bottom-left-radius:4px;border-top-left-radius:4px;width:150px}@media screen and (max-width:991px){.pick-a-color-markup .saturation-spectrum-0{width:135px}}
|
||||
.pick-a-color-markup .saturation-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#bf4040), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#bf4040 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #bf4040 0, #f00 100%);background-image:linear-gradient(to right, #bf4040 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffbf4040', endColorstr='#ffff0000', GradientType=1);border-bottom-right-radius:4px;border-top-right-radius:4px;width:150px}@media screen and (max-width:991px){.pick-a-color-markup .saturation-spectrum-1{width:135px}}
|
||||
.pick-a-color-markup .hue-spectrum-0{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f00), to(#ff0));background-image:-webkit-linear-gradient(left, color-stop(#f00 0), color-stop(#ff0 100%));background-image:-moz-linear-gradient(left, #f00 0, #ff0 100%);background-image:linear-gradient(to right, #f00 0, #ff0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff0000', endColorstr='#ffffff00', GradientType=1)}
|
||||
.pick-a-color-markup .hue-spectrum-1{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#ff0), to(#0f0));background-image:-webkit-linear-gradient(left, color-stop(#ff0 0), color-stop(#0f0 100%));background-image:-moz-linear-gradient(left, #ff0 0, #0f0 100%);background-image:linear-gradient(to right, #ff0 0, #0f0 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff00', endColorstr='#ff00ff00', GradientType=1)}
|
||||
.pick-a-color-markup .hue-spectrum-2{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#0f0), to(#0ff));background-image:-webkit-linear-gradient(left, color-stop(#0f0 0), color-stop(#0ff 100%));background-image:-moz-linear-gradient(left, #0f0 0, #0ff 100%);background-image:linear-gradient(to right, #0f0 0, #0ff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ff00', endColorstr='#ff00ffff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-3{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#0ff), to(#00f));background-image:-webkit-linear-gradient(left, color-stop(#0ff 0), color-stop(#00f 100%));background-image:-moz-linear-gradient(left, #0ff 0, #00f 100%);background-image:linear-gradient(to right, #0ff 0, #00f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00ffff', endColorstr='#ff0000ff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-4{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#00f), to(#f0f));background-image:-webkit-linear-gradient(left, color-stop(#00f 0), color-stop(#f0f 100%));background-image:-moz-linear-gradient(left, #00f 0, #f0f 100%);background-image:linear-gradient(to right, #00f 0, #f0f 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0000ff', endColorstr='#ffff00ff', GradientType=1);left:-1px;position:relative}
|
||||
.pick-a-color-markup .hue-spectrum-5{background-image:-webkit-gradient(linear, 0 top, 100% top, from(#f0f), to(#f00));background-image:-webkit-linear-gradient(left, color-stop(#f0f 0), color-stop(#f00 100%));background-image:-moz-linear-gradient(left, #f0f 0, #f00 100%);background-image:linear-gradient(to right, #f0f 0, #f00 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffff00ff', endColorstr='#ffff0000', GradientType=1);left:-2px;position:relative}
|
||||
.pick-a-color-markup .highlight-band{border:1px solid #222;border-radius:2px;-webkit-box-shadow:1px 1px 1px #333;box-shadow:1px 1px 1px #333;height:19px;width:11px;display:inline-block;cursor:pointer;cursor:-webkit-grab;cursor:-moz-grab;position:absolute;top:-1px;left:94.5px;text-align:center}@media screen and (max-width:991px){.pick-a-color-markup .highlight-band{width:21px;left:69.5px;height:34px}}
|
||||
.pick-a-color-markup .highlight-band-stripe{min-height:80%;min-width:1px;background-color:#000;opacity:0.40;margin:2px 1px;display:inline-block;-webkit-box-shadow:1px 0 2px 0 #fff;box-shadow:1px 0 2px 0 #fff}@media screen and (max-width:991px){.pick-a-color-markup .highlight-band-stripe{margin:4px 2px}}
|
||||
.pick-a-color-markup .color-menu-tabs{padding:5px 3px 3px 10px;font-size:12px;color:#333;border-bottom:1px solid #ccc;margin-bottom:5px}.pick-a-color-markup .color-menu-tabs .tab{padding:4px 5px;margin:5px;border-left:1px solid #fff;border-right:1px solid #fff;cursor:pointer;background-color:#fff}.pick-a-color-markup .color-menu-tabs .tab:hover{padding-bottom:6px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;border-top-right-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .color-menu-tabs a{color:#333;text-decoration:none}
|
||||
.pick-a-color-markup .color-menu-tabs .tab-active{border-bottom:3px solid #fff;padding-bottom:5px;border-top:1px solid #ccc;border-right:1px solid #ccc;border-left:1px solid #ccc;border-top-right-radius:4px;border-top-left-radius:4px}
|
||||
.pick-a-color-markup .active-content{display:block}
|
||||
.pick-a-color-markup .inactive-content{display:none}
|
||||
.pick-a-color-markup .savedColors-content{padding:5px 15px;white-space:normal}.pick-a-color-markup .savedColors-content li.color-item>a{margin-left:7px;padding-left:8px;border-radius:4px}
|
||||
.pick-a-color-markup .saved-color-col{position:relative;left:-15px;float:left;width:149px}@media screen and (max-width:991px){.pick-a-color-markup .saved-color-col{width:130px}}
|
||||
.pick-a-color-markup .advanced-content ul{margin-top:10px}
|
||||
.pick-a-color-markup .advanced-content li{padding:5px 15px 3px 15px;cursor:default;min-height:25px;height:50px;position:relative}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content li{min-height:70px}}
|
||||
.pick-a-color-markup .advanced-content .color-preview{height:50px;width:300px;float:left;margin:0px 0px 10px 0px;background-color:#f00;text-align:center}.pick-a-color-markup .advanced-content .color-preview .color-select.btn.advanced{margin-top:15px;display:none}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-preview .color-select.btn.advanced{display:inline;margin-top:7px}}
|
||||
.pick-a-color-markup .advanced-content .color-preview:hover .color-select.btn.advanced{display:inline}
|
||||
@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-preview{width:270px;margin-left:-10px}}
|
||||
.pick-a-color-markup .advanced-content .spectrum-hue{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #f00), color-stop(17%, #ff0), color-stop(34%, #0f0), color-stop(51%, #0ff), color-stop(68%, #00f), color-stop(85%, #f0f), color-stop(100%, #f00));background-image:-moz-linear-gradient(left center, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:-webkit-linear-gradient(left, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:-o-linear-gradient(left, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-image:linear-gradient(to right, #f00 0, #ff0 17%, #0f0 24%, #0ff 51%, #00f 68%, #f0f 85%, #f00 100%);background-repeat:repeat-x}.pick-a-color-markup .advanced-content .spectrum-hue .highlight-band{left:0px}
|
||||
.pick-a-color-markup .advanced-content .spectrum-lightness{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #fff), color-stop(.5, #f00), color-stop(1, #000));background-image:-moz-linear-gradient(left center, #fff 0, #f00 50%, #000 100%);background-image:-webkit-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:-o-linear-gradient(left, #fff 0, #f00 50%, #000 100%);background-image:linear-gradient(to right, #fff 0, #f00 50%, #000 100%);background-repeat:repeat-x}
|
||||
.pick-a-color-markup .advanced-content .spectrum-saturation{background-image:-webkit-gradient(linear, left top, right top, color-stop(0, #808080), color-stop(.5, #f00), color-stop(1, #f00));background-image:-moz-linear-gradient(left center, #808080 0, #f00 50%, #f00 100%);background-image:-webkit-linear-gradient(left, #808080 0, #f00 50%, #f00 100%);background-image:-o-linear-gradient(left, #808080 0, #f00 50%, #f00 100%);background-image:linear-gradient(to right, #808080 0, #f00 50%, #f00 100%);background-repeat:repeat-x}.pick-a-color-markup .advanced-content .spectrum-saturation .highlight-band{left:287px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .spectrum-saturation .highlight-band{left:247px}}
|
||||
.pick-a-color-markup .advanced-content .spectrum-lightness .highlight-band{left:143.5px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .spectrum-lightness .highlight-band{left:123.5px}}
|
||||
.pick-a-color-markup .advanced-content .lightness-text,.pick-a-color-markup .advanced-content .hue-text,.pick-a-color-markup .advanced-content .saturation-text,.pick-a-color-markup .advanced-content .preview-text{vertical-align:middle;text-align:center;display:block}
|
||||
.pick-a-color-markup .advanced-content .color-box{left:15px;top:25px;width:300px}@media screen and (max-width:991px){.pick-a-color-markup .advanced-content .color-box{width:270px;left:10px}}
|
||||
.pick-a-color-markup .advanced-content .preview-item{height:80px}
|
||||
@-moz-document url-prefix(){@media screen and (max-width:991px){div.pick-a-color-markup .color-menu{left:0px}}}
|
1
css/pickr.nano.min.css
vendored
Normal file
1
css/pickr.nano.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
|
@ -1,3 +1,21 @@
|
|||
/*
|
||||
* ClearURLs
|
||||
* Copyright (c) 2017-2020 Kevin Röbert
|
||||
*
|
||||
* This program is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU Lesser General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Stylesheet for the switch buttons.
|
||||
*/
|
||||
|
@ -64,6 +82,7 @@ input:checked + .slider:before {
|
|||
.switch label {
|
||||
position: absolute;
|
||||
left: 60px;
|
||||
word-break: keep-all;
|
||||
}
|
||||
|
||||
label {
|
||||
|
|
358
data/data.json
358
data/data.json
|
@ -1,358 +0,0 @@
|
|||
{
|
||||
"providers": {
|
||||
"amazon": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"pf_rd_[a-zA-Z]=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"srs=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(adsensecustomsearchads\\.com)\\/.*",
|
||||
"pd_rd_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"__mk_[a-zA-Z]{1,3}_[a-zA-Z]{1,3}=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"spIA=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ms3_c=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[a-zA-Z%0-9]*ie=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"refRID=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"colid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"coliid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[^a-zA-Z%0-9]adId=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qualifier=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_encoding=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"smid=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(amazon\\.).*(\\/gp).*\\/redirector.html\\/.*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"fls-na.amazon": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(fls-na\\.amazon)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"google": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(google)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ved=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"bi[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gfe_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ei=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gs_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"site=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"&\\.[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"oq=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"esrc=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"uact=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"cd=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"cad=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gws_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"atyp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"vet=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_u=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"je=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"dcr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ie=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sei=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sa=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"dpr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"btnG=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(mail\\.google\\.).*(\\/mail\\/u\\/0)\\/.*",
|
||||
".*(mail\\.google\\.).*(\\/mail\\/u\\/0)\\/.*",
|
||||
".*(google\\.).*(\\/upload)?(\\/drive)\\/.*",
|
||||
".*(docs\\.google\\.).*\\/.*",
|
||||
".*(accounts\\.google\\.).*",
|
||||
".*(google\\.).*\\/searchbyimage\\?image_url=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(hangouts\\.google\\.).*\\/webchat.*zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(client-channel\\.google\\.).*\\/client-channel.*zx=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(google\\.).*\\/complete\\/search\\?client=youtube.*gs_gbg=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(google\\.).*\\/s\\?tbm=map.*gs_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
".*(news\\.google\\.).*\\?hl=.*"
|
||||
],
|
||||
"redirections": [
|
||||
".*google\\..*\\/.*url\\?.*url=([^&]*)"
|
||||
]
|
||||
},
|
||||
"googlesyndication": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(googlesyndication)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"doubleclick": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(doubleclick)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
".*doubleclick\\..*\\/.*tag_for_child_directed_treatment=;%3F(.*)"
|
||||
]
|
||||
},
|
||||
"globalRules": {
|
||||
"urlPattern": ".*",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"utm_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_term=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_content=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ga_place=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"yclid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_openstat=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_action_ids=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_action_types=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"fb_ref=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_object_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_type_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"action_ref_map=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gs_l=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"mkt_tok=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"hmb_source=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[\\?|&]ref[\\_]?=[^\\/|\\?|&]*",
|
||||
"\\?$",
|
||||
"\\&$"
|
||||
],
|
||||
"exceptions": [
|
||||
".*([\\.]?matrix\\.org)(\\/_matrix)\\/.*",
|
||||
".*([\\.]?prismic\\.io).*",
|
||||
".*([\\.]?gitlab\\.com).*",
|
||||
".*([\\.]?gcsip\\.com).*[\\?|&]ref[\\_]?=[^\\/|\\?|&]*.*",
|
||||
".*([\\.]?cloudflare\\.com).*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"adtech": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(adtech)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"contentpass.net": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(contentpass\\.net).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"bf-ad": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bf-ad)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"amazon-adsystem": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(amazon-adsystem)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"adsensecustomsearchads": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(adsensecustomsearchads)(\\.[a-zA-Z]{2,}).*",
|
||||
"completeProvider": true,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"youtube": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(youtube)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"feature=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"gclid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"kw=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"facebook": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(facebook)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"hc_location=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [
|
||||
".*(facebook\\.)\\w{2,}.*(\\/plugins\\/).*"
|
||||
],
|
||||
"redirections": []
|
||||
},
|
||||
"twitter": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitter)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"(ref_)?src=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"reddit": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(reddit)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
"out\\.reddit\\.\\w{2,}\\/.*url=([^&]*)"
|
||||
]
|
||||
}
|
||||
,
|
||||
"netflix": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(netflix)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"trackId=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"tctx=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"techcrunch": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?([\\.]?techcrunch\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ncid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sr_share=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"bing": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(bing)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"cvid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"form=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sk=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"sc=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qs=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"qp=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"tweakers": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(tweakers\\.net)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"nb=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"u=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"twitch": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(twitch)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"tt_medium=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"tt_content=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"vivaldi": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(vivaldi\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"pk_campaign=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"pk_kwd=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"indeed": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(indeed\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"from=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"alid=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"[a-zA-Z]*tk=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"hhdotru": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(hh\\.ru)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"vss=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"t=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"swnt=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"grpos=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ptl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"stl=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"exp=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"plim=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"ebay": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(ebay)(\\.[a-zA-Z]{2,})(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"_trkparms=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"_trksid=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"cnet": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(cnet\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ftag=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"imdb.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(imdb\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"ref_=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"pf_rd_[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
},
|
||||
"govdelivery.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(govdelivery\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [],
|
||||
"exceptions": [],
|
||||
"redirections": [
|
||||
".*links\\.govdelivery\\.com.*\\/track\\?.*(http:\\/\\/.*)",
|
||||
".*links\\.govdelivery\\.com.*\\/track\\?.*(https:\\/\\/.*)"
|
||||
]
|
||||
},
|
||||
"walmart.com": {
|
||||
"urlPattern": "(https:\\/\\/|http:\\/\\/)([a-zA-Z0-9-]*\\.)?(walmart\\.com)(.*\\?.*)",
|
||||
"completeProvider": false,
|
||||
"rules": [
|
||||
"u1=[^\\/|\\?|&]*(\\/|&(amp;)?)?",
|
||||
"ath[a-zA-Z]*=[^\\/|\\?|&]*(\\/|&(amp;)?)?"
|
||||
],
|
||||
"exceptions": [],
|
||||
"redirections": []
|
||||
}
|
||||
}
|
||||
}
|
1
data/data.minify.json
Normal file
1
data/data.minify.json
Normal file
File diff suppressed because one or more lines are too long
2831
data/data_in_readable_form.txt
Normal file
2831
data/data_in_readable_form.txt
Normal file
File diff suppressed because it is too large
Load Diff
|
@ -1 +0,0 @@
|
|||
010ce5f572473cb89c93397e9f925086c3bd1908320fdc16e167b87f3e291c28
|
1
data/rules.minify.hash
Normal file
1
data/rules.minify.hash
Normal file
|
@ -0,0 +1 @@
|
|||
18ece9513135aefb68fdffa0e4d18b1ae441dc57076d1715bffb4bee27ec8963
|
10
external_js/bootstrap-colorpicker.min.js
vendored
Normal file
10
external_js/bootstrap-colorpicker.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
external_js/bootstrap-dialog.min.js
vendored
1
external_js/bootstrap-dialog.min.js
vendored
File diff suppressed because one or more lines are too long
12
external_js/bootstrap.min.js
vendored
12
external_js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
16
external_js/clipboard-helper.js
Normal file
16
external_js/clipboard-helper.js
Normal file
|
@ -0,0 +1,16 @@
|
|||
/*
|
||||
* Source: https://github.com/mdn/webextensions-examples/tree/master/context-menu-copy-link-with-types
|
||||
*/
|
||||
function copyToClipboard(text) {
|
||||
function oncopy(event) {
|
||||
document.removeEventListener("copy", oncopy, true);
|
||||
|
||||
event.stopImmediatePropagation();
|
||||
|
||||
event.preventDefault();
|
||||
event.clipboardData.setData("text/plain", text);
|
||||
}
|
||||
document.addEventListener("copy", oncopy, true);
|
||||
|
||||
document.execCommand("copy");
|
||||
}
|
8
external_js/dataTables.bootstrap.min.js
vendored
8
external_js/dataTables.bootstrap.min.js
vendored
|
@ -1,8 +0,0 @@
|
|||
/*!
|
||||
DataTables Bootstrap 3 integration
|
||||
©2011-2015 SpryMedia Ltd - datatables.net/license
|
||||
*/
|
||||
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(a){return b(a,window,document)}):"object"===typeof exports?module.exports=function(a,d){a||(a=window);if(!d||!d.fn.dataTable)d=require("datatables.net")(a,d).$;return b(d,a,a.document)}:b(jQuery,window,document)})(function(b,a,d,m){var f=b.fn.dataTable;b.extend(!0,f.defaults,{dom:"<'row'<'col-sm-6'l><'col-sm-6'f>><'row'<'col-sm-12'tr>><'row'<'col-sm-5'i><'col-sm-7'p>>",renderer:"bootstrap"});b.extend(f.ext.classes,
|
||||
{sWrapper:"dataTables_wrapper form-inline dt-bootstrap",sFilterInput:"form-control input-sm",sLengthSelect:"form-control input-sm",sProcessing:"dataTables_processing panel panel-default"});f.ext.renderer.pageButton.bootstrap=function(a,h,r,s,j,n){var o=new f.Api(a),t=a.oClasses,k=a.oLanguage.oPaginate,u=a.oLanguage.oAria.paginate||{},e,g,p=0,q=function(d,f){var l,h,i,c,m=function(a){a.preventDefault();!b(a.currentTarget).hasClass("disabled")&&o.page()!=a.data.action&&o.page(a.data.action).draw("page")};
|
||||
l=0;for(h=f.length;l<h;l++)if(c=f[l],b.isArray(c))q(d,c);else{g=e="";switch(c){case "ellipsis":e="…";g="disabled";break;case "first":e=k.sFirst;g=c+(0<j?"":" disabled");break;case "previous":e=k.sPrevious;g=c+(0<j?"":" disabled");break;case "next":e=k.sNext;g=c+(j<n-1?"":" disabled");break;case "last":e=k.sLast;g=c+(j<n-1?"":" disabled");break;default:e=c+1,g=j===c?"active":""}e&&(i=b("<li>",{"class":t.sPageButton+" "+g,id:0===r&&"string"===typeof c?a.sTableId+"_"+c:null}).append(b("<a>",{href:"#",
|
||||
"aria-controls":a.sTableId,"aria-label":u[c],"data-dt-idx":p,tabindex:a.iTabIndex}).html(e)).appendTo(d),a.oApi._fnBindAction(i,{action:c},m),p++)}},i;try{i=b(h).find(d.activeElement).data("dt-idx")}catch(v){}q(b(h).empty().html('<ul class="pagination"/>').children("ul"),s);i!==m&&b(h).find("[data-dt-idx="+i+"]").focus()};return f});
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user