31 Commits

Author SHA1 Message Date
R4SAS 4b161a4839 1.3.2
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 45df2dc2f5308421ed574e875d9357a35f01c470
2022-06-20 01:02:18 +03:00
R4SAS 44307ccfc8 [linux] fix env exec path
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 4b8ba60948
2022-04-27 01:25:10 +03:00
R4SAS a312c404d1 [linux] add modified logo
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 0cf9b6b6d8
2022-04-27 01:16:13 +03:00
R4SAS f344f8767f [linux] fix if statement
Former-commit-id: a40b8e216b
2022-04-21 00:31:10 +00:00
R4SAS a6f28e6fe0 [linux] add Desktop launch scripts
Former-commit-id: 57539ee9f0
2022-04-21 00:22:19 +00:00
R4SAS 677f1671c7 1.3.1
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 69e9c6743e
2022-03-24 03:30:23 +03:00
r4sas 186c28c4a2 pre-1.3.1: run ff without terminal on linux
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: 293d3da278
2022-03-24 00:11:38 +00:00
R4SAS e5f24ca9d4 pre-1.3.1: update i2pd files
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: a2ae68c239
2022-03-24 02:05:30 +03:00
R4SAS 41b610553d pre-1.3.1
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 249d3d81c2
2022-03-24 02:00:56 +03:00
R4SAS 9f4ce50f01 update scripts
[ff] switch to 78.14.0
[i2pd] switch to 2.39.0
[i2pd] update addressbook
[i2pd] add orignal's reseed cert
[win] update CA for curl
[win] update 7z SFX binary version

Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 18510de356
2021-09-20 01:34:35 +03:00
r4sas 11bf97797c [ff] switch to 78.14.0
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: fa9240fc07
2021-09-19 22:14:50 +00:00
R4SAS 059cd2a9c9 workaround for OpenBSD
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: fa0e02f1d6
2021-06-21 17:09:32 +03:00
r4sas f06eee67f0 [macos] fix build script
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: b442b2c71e
2021-06-09 03:20:38 +00:00
R4SAS cd5da5f1a9 1.3.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 6323f326e6
2021-06-09 01:31:33 +03:00
r4sas 4fd1d4f0da [linux] update i2pd to 2.38.0
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: 028a837e06
2021-06-08 22:08:44 +00:00
R4SAS 6d60f9dae1 update macos scripts
Former-commit-id: fbd24f6890
2021-06-02 00:41:14 +01:00
R4SAS 34b8bdaec1 update linux scripts
Former-commit-id: a1b26f90c2
2021-06-02 00:03:36 +01:00
R4SAS fd635c9997 update search engines override
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: f753a91932
2021-06-02 01:24:07 +03:00
R4SAS 2fd7967b17 update windows scripts to 78.11.0/2.38.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 232132a3c9
2021-06-01 23:10:07 +03:00
r4sas 98be313ff7 update i2pd to 2.32.1 (linux binary 2.32.1-43-gc4155410)
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: 5066a4f039
2020-07-21 15:26:32 +00:00
R4SAS e2f4436f38 Merge pull request #32 from curbengh/i2pd-2.32.1
chore: update i2pd to 2.32.1 in windows & osx
Former-commit-id: 2e2624d3f8
2020-07-21 13:20:38 +00:00
MDLeom cdcfdb06e8 chore: update i2pd to 2.32.1
https://github.com/PurpleI2P/i2pd/releases/tag/2.32.1

Former-commit-id: b81e7d032b
2020-07-21 09:01:44 +01:00
R4SAS b65fdb3f13 Merge pull request #31 from rex4539/update
Update I2Pd to 2.30.0

Former-commit-id: cdd9bb6cf9
2020-02-28 21:16:21 +00:00
Dimitris Apostolou a94d7d6aa8 Update I2Pd to 2.30.0
Former-commit-id: 9cce2a17fc
2020-02-28 22:49:11 +02:00
R4SAS eb32de6eee Merge pull request #30 from rex4539/i2pd-update
Update I2Pd to 2.29.0 (without linux binary)

Former-commit-id: 92f98a54c7
2019-10-27 16:40:53 +00:00
Dimitris Apostolou 97afe240e5 Update I2Pd to 2.29.0
Former-commit-id: cb6dfd27bd
2019-10-25 01:32:35 +03:00
R4SAS 42e191538d rewrite default search engines - #26
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 2c087e4914
2019-09-28 07:36:12 +03:00
R4SAS d312a41931 Fetch information about legwork from internal resource (closes #26)
Signed-off-by: R4SAS <r4sas@i2pmail.org>

Former-commit-id: 50b06188df
2019-09-28 07:21:21 +03:00
R4SAS 0a1be3ac45 Merge pull request #29 from rex4539/macos-update
Update to Firefox 60.9.0esr, i2pd 2.28.0, NoScript 11.0.3

Former-commit-id: 96fe25cf09
2019-09-25 09:59:29 +00:00
r4sas 3fc37f5da4 add i2pd 2.28.0 linux static binaries
Signed-off-by: r4sas <r4sas@i2pmail.org>

Former-commit-id: 7b97f62dda
2019-09-25 09:57:30 +00:00
Dimitris Apostolou 395a547a95 Update to Firefox 60.9.0esr, i2pd 2.28.0, NoScript 11.0.3
Former-commit-id: fbdd0448ac
2019-09-25 12:12:49 +03:00
183 changed files with 4346 additions and 14583 deletions
+7
View File
@@ -1 +1,8 @@
.DS_Store
/*.tar.gz
/*.zip
/*.7z
/*.exe
# Hash sums
/SHA512SUMS*
+2 -2
View File
@@ -1,3 +1,3 @@
/app
/browser
/data
/firefox-portable
/start-i2pd-browser.desktop
+50 -44
View File
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2013-2019, The PurpleI2P Project
# Copyright (c) 2013-2022, The PurpleI2P Project
# This file is part of Purple I2P project and licensed under BSD3
# See full license text in LICENSE file at top of project tree
@@ -12,14 +12,23 @@ cd $dir
arch=$(uname -m)
language=$(echo $LANG | cut -c-5 | sed s/_/-/g)
version="60.7.1esr"
version="91.9.1esr"
application="firefox"
ftpmirror="https://ftp.mozilla.org/pub/$application/releases/$version"
if [ "$arch" = "amd64" ]; then # OpenBSD (and maybe FreeBSD) returns amd64 as architecture instead x86_64
arch=x86_64
fi
curlfind=$(which curl)
if [ -z $curlfind ]; then
echo "'cURL' does not seem to be installed. The script needs it!";
exit 1;
echo "'cURL' does not seem to be installed. The script needs it!"
exit 1
fi
# We support only English (US) and Russian
if [ "$language" != "ru" ]; then
language="en-US"
fi
echo "This script is preparing $application $version for use with I2Pd"
@@ -30,27 +39,27 @@ filepath="linux-$arch/$language/$file"
echo "Downloading $application..."
curl -L -f -# -O $ftpmirror/$filepath
if [ $? -ne 0 ]; then # Not found error, trying to cut language variable
echo "[TRY 2] I'll try downloading Firefox with shorter language code";
echo "[TRY 2] I'll try downloading Firefox with shorter language code"
language=$(echo $language | cut -c-2)
# re-create variable with cutted lang
filepath="linux-$arch/$language/$file"
curl -L -f -# -O $ftpmirror/$filepath
if [ $? -ne 0 ]; then # Not found error, trying to download english version
echo "[TRY 3] I'll try downloading Firefox with the English language code";
echo "[TRY 3] I'll try downloading Firefox with the English language code"
language="en_US"
# re-create lang variable
filepath="linux-$arch/$language/$file"
curl -L -f -# -O $ftpmirror/$filepath
if [ $? -ne 0 ]; then # After that i can say only that user haven't internet connection
echo "[Error] Can't download file. Check your internet connectivity."
exit 1;
exit 1
fi
fi
fi
if [ ! -f $file ]; then
echo "[Error] Can't find downloaded file. Does it really exist?"
exit 1;
exit 1
fi
echo "Downloading checksum file and checking SHA512 checksum"
@@ -59,7 +68,7 @@ recv_sum=$(grep "$filepath" SHA512SUMS | cut -c-128)
file_sum=$(sha512sum $file | cut -c-128)
if [ $recv_sum != $file_sum ]; then
echo "[Error] File checksum failed!"
exit 1;
exit 1
else
echo "Checksum correct."
rm SHA512SUMS
@@ -68,51 +77,48 @@ fi
echo "Extracting archive, please wait..."
tar xfj $file
rm $file
mv $application ../app
mkdir ../data
mv $application ../browser
mkdir ../browser/data
# Deleting some not needed files
rm ../app/crashreporter*
rm ../app/minidump-analyzer
rm ../app/pingsender
rm ../app/precomplete
rm ../app/removed-files
rm ../app/update*
rm ../app/browser/blocklist.xml
rm ../app/browser/crashreporter-override.ini
rm ../app/browser/features/aushelper@mozilla.org.xpi
rm ../app/browser/features/firefox@getpocket.com.xpi
rm ../app/browser/features/followonsearch@mozilla.com.xpi
rm ../app/browser/features/formautofill@mozilla.org.xpi
rm ../app/browser/features/jaws-esr@mozilla.org.xpi
rm ../app/browser/features/onboarding@mozilla.org.xpi
rm ../app/browser/features/screenshots@mozilla.org.xpi
rm -r ../app/dictionaries
rm ../browser/crashreporter*
rm ../browser/minidump-analyzer
rm ../browser/pingsender
rm ../browser/precomplete
rm ../browser/removed-files
rm ../browser/update*
rm ../browser/Throbber-small.gif
rm ../browser/browser/crashreporter-override.ini
rm ../browser/browser/features/formautofill@mozilla.org.xpi
rm ../browser/browser/features/screenshots@mozilla.org.xpi
rm -r ../browser/icons
# And edit some places
sed -i 's/Enabled=1/Enabled=0/g' ../app/application.ini
sed -i 's/ServerURL=.*/ServerURL=-/' ../app/application.ini
# sed -i 's/Enabled=1/Enabled=0/g' ../app/webapprt/webapprt.ini
# sed -i 's/ServerURL=.*/ServerURL=-/' ../app/webapprt/webapprt.ini
sed -i 's/Enabled=1/Enabled=0/g' ../browser/application.ini
sed -i 's/ServerURL=.*/ServerURL=-/' ../browser/application.ini
# Done!
echo "Downloading language packs..."
curl -L -f -# -o ../app/browser/extensions/langpack-ru@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/978562/russian_ru_language_pack-60.0buildid20180605171542-an+fx.xpi
curl -L -f -# -o ../app/browser/extensions/langpack-en-US@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/978493/english_us_language_pack-60.0buildid20180605171542-an+fx.xpi
mkdir ../browser/browser/extensions
curl -L -f -# -o ../browser/browser/extensions/langpack-ru@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3829308/russian_ru_language_pack-91.0buildid20210823123856.xpi
curl -L -f -# -o ../browser/browser/extensions/ruspell-wiktionary@addons.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3957330/2696307-1.35.xpi
curl -L -f -# -o ../browser/browser/extensions/langpack-en-US@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3829281/english_us_language_pack-91.0buildid20210823123856.xpi
curl -L -f -# -o ../browser/browser/extensions/en-US@dictionaries.addons.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3893473/us_english_dictionary-91.0.xpi
echo "Downloading NoScript extension..."
curl -L -f -# -o ../app/browser/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi https://addons.mozilla.org/firefox/downloads/file/3028550/noscript_security_suite-10.6.3-an+fx.xpi
curl -L -f -# -o ../browser/browser/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi https://addons.mozilla.org/firefox/downloads/file/3954910/noscript-11.4.6.xpi
echo "Adding standard configs..."
cp profile/* ../data/
cp -r preferences/* ../app/
cp -r preferences/* ../browser/
cp -r profile/* ../browser/data/
echo '#!/bin/sh' > "../${application}-portable"
echo 'dir=${0%/*}' >> "../${application}-portable"
echo 'if [ "$dir" = "$0" ]; then' >> "../${application}-portable"
echo ' dir="."' >> "../${application}-portable"
echo 'fi' >> "../${application}-portable"
echo 'cd "$dir/app"' >> "../${application}-portable"
echo './firefox -profile ../data -no-remote' >> "../${application}-portable"
if [ "$language" = "ru" ]; then
cp -r profile-ru/* ../browser/data/
else
cp -r profile-en/* ../browser/data/
fi
echo "Copying Desktop launch scripts..."
cp -r scripts/* ../browser/
cp scripts/start-i2pd-browser.desktop ../
chmod +x "../$application-portable"
echo ... finished
Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 833 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

@@ -0,0 +1,363 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="512"
height="512"
version="1.1"
id="svg118"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs92">
<radialGradient
id="g"
cx="210%"
cy="-100%"
r="290%">
<stop
offset=".1"
stop-color="#ffe226"
id="stop2" />
<stop
offset=".79"
stop-color="#ff7139"
id="stop4" />
</radialGradient>
<radialGradient
id="c"
cx="49%"
cy="40%"
r="128%"
gradientTransform="matrix(.82 0 0 1 .088 0)">
<stop
offset=".3"
stop-color="#960e18"
id="stop7" />
<stop
offset=".35"
stop-color="#b11927"
stop-opacity=".74"
id="stop9" />
<stop
offset=".43"
stop-color="#db293d"
stop-opacity=".34"
id="stop11" />
<stop
offset=".5"
stop-color="#f5334b"
stop-opacity=".09"
id="stop13" />
<stop
offset=".53"
stop-color="#ff3750"
stop-opacity="0"
id="stop15" />
</radialGradient>
<radialGradient
id="d"
cx="48%"
cy="-12%"
r="140%">
<stop
offset=".13"
stop-color="#fff44f"
id="stop18" />
<stop
offset=".53"
stop-color="#ff980e"
id="stop20" />
</radialGradient>
<radialGradient
id="e"
cx="22.76%"
cy="110.11%"
r="100%">
<stop
offset=".35"
stop-color="#3a8ee6"
id="stop23" />
<stop
offset=".67"
stop-color="#9059ff"
id="stop25" />
<stop
offset="1"
stop-color="#c139e6"
id="stop27" />
</radialGradient>
<radialGradient
id="f"
cx="52%"
cy="33%"
r="59%"
gradientTransform="scale(.9 1)">
<stop
offset=".21"
stop-color="#9059ff"
stop-opacity="0"
id="stop30" />
<stop
offset=".97"
stop-color="#6e008b"
stop-opacity=".6"
id="stop32" />
</radialGradient>
<radialGradient
id="b"
cx="87.4%"
cy="-12.9%"
r="128%"
gradientTransform="matrix(.8 0 0 1 .178 .129)">
<stop
offset=".13"
stop-color="#ffbd4f"
id="stop35" />
<stop
offset=".28"
stop-color="#ff980e"
id="stop37" />
<stop
offset=".47"
stop-color="#ff3750"
id="stop39" />
<stop
offset=".78"
stop-color="#eb0878"
id="stop41" />
<stop
offset=".86"
stop-color="#e50080"
id="stop43" />
</radialGradient>
<radialGradient
id="h"
cx="84%"
cy="-41%"
r="180%">
<stop
offset=".11"
stop-color="#fff44f"
id="stop46" />
<stop
offset=".46"
stop-color="#ff980e"
id="stop48" />
<stop
offset=".72"
stop-color="#ff3647"
id="stop50" />
<stop
offset=".9"
stop-color="#e31587"
id="stop52" />
</radialGradient>
<radialGradient
id="i"
cx="16.1%"
cy="-18.6%"
r="348.8%"
gradientTransform="scale(1 .47) rotate(84 .279 -.297)">
<stop
offset="0"
stop-color="#fff44f"
id="stop55" />
<stop
offset=".3"
stop-color="#ff980e"
id="stop57" />
<stop
offset=".57"
stop-color="#ff3647"
id="stop59" />
<stop
offset=".74"
stop-color="#e31587"
id="stop61" />
</radialGradient>
<radialGradient
id="j"
cx="18.9%"
cy="-42.5%"
r="238.4%">
<stop
offset=".14"
stop-color="#fff44f"
id="stop64" />
<stop
offset=".48"
stop-color="#ff980e"
id="stop66" />
<stop
offset=".66"
stop-color="#ff3647"
id="stop68" />
<stop
offset=".9"
stop-color="#e31587"
id="stop70" />
</radialGradient>
<radialGradient
id="k"
cx="159.3%"
cy="-44.72%"
r="313.1%">
<stop
offset=".09"
stop-color="#fff44f"
id="stop73" />
<stop
offset=".63"
stop-color="#ff980e"
id="stop75" />
</radialGradient>
<linearGradient
id="a"
x1="87.25%"
y1="15.5%"
x2="9.4%"
y2="93.1%">
<stop
offset=".05"
stop-color="#fff44f"
id="stop78" />
<stop
offset=".37"
stop-color="#ff980e"
id="stop80" />
<stop
offset=".53"
stop-color="#ff3647"
id="stop82" />
<stop
offset=".7"
stop-color="#e31587"
id="stop84" />
</linearGradient>
<linearGradient
id="l"
x1="80%"
y1="14%"
x2="18%"
y2="84%">
<stop
offset=".17"
stop-color="#fff44f"
stop-opacity=".8"
id="stop87" />
<stop
offset=".6"
stop-color="#fff44f"
stop-opacity="0"
id="stop89" />
</linearGradient>
</defs>
<path
d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484a120.249 120.249 0 00-66.142 25.488 71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.913c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.08 12.7-2.365 15-.022.177-.032.347-.053.524a229.066 229.066 0 00-3.9 33.157c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zM201.716 354.447c1.124.537 2.18 1.124 3.334 1.639.048.033.114.07.163.1a126.191 126.191 0 01-3.497-1.739zm55.053-144.93zm198.131-30.59l-.032-.233c.012.085.027.174.04.259z"
fill="url(#a)"
id="path94" />
<path
d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z"
fill="url(#b)"
id="path96" />
<path
d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0-.058.011.048.036.226.012.085.027.174.04.259 22.675 61.47 10.322 123.978-7.479 162.175-27.539 59.1-94.215 119.67-198.576 116.716C136.1 454.651 36.766 370.988 18.223 261.41c-3.379-17.28 0-26.054 1.7-40.084-2.071 10.816-2.86 13.94-3.9 33.157 0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746z"
fill="url(#c)"
id="path98" />
<path
d="M361.922 194.6c.524.368 1 .734 1.493 1.1a130.706 130.706 0 00-22.31-29.112C266.4 91.892 321.516 4.626 330.811.194c.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.051 0 84.289 24.77 105.301 61.487z"
fill="url(#d)"
id="path100" />
<path
d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z"
fill="url(#e)"
id="path102" />
<path
d="M256.772 209.514c-.393 5.978-21.514 26.593-28.9 26.593-68.339 0-79.432 41.335-79.432 41.335 3.027 34.81 27.261 63.475 56.611 78.643 1.339.692 2.694 1.317 4.05 1.935a132.768 132.768 0 007.059 2.886 106.743 106.743 0 0031.271 6.031c119.78 5.618 142.986-143.194 56.545-186.408 22.137-3.85 45.115 5.053 57.947 14.067-21.012-36.714-60.25-61.484-105.3-61.484-2.85 0-5.641.235-8.442.429a120.249 120.249 0 00-66.142 25.488c3.664 3.1 7.8 7.244 16.514 15.828 16.302 16.067 58.13 32.705 58.219 34.657z"
fill="url(#f)"
id="path104" />
<g
id="layer1"
style="display:inline"
transform="matrix(0.35419593,0,0,0.35419593,167.60978,158.9271)">
<path
style="fill:#010101"
d="m 153,239 c -19.29628,10.1068 -35.89784,24.78369 -54.333641,36.46885 -9.746032,8.32066 -25.277462,12.6214 -28.707379,25.98943 10.307056,22.92658 37.56405,33.92848 53.60479,53.08074 23.28522,14.7741 12.39789,37.31214 10.86684,58.46127 -0.65103,19.79563 8.02486,38.22515 19.44408,53.8183 0.0876,13.91995 -31.90349,35.02457 -3.14719,41.12766 31.75568,-0.39587 63.54008,1.13262 95.2725,-0.006 19.25207,-6.5808 41.00426,2.46436 61.81371,-2.43182 23.28106,-1.22258 46.77912,-0.32628 69.92832,-2.57693 22.92231,-15.46076 -28.07351,-30.89777 -1.26144,-46.86781 C 390.50498,438.79689 387.18786,414.04679 382,394 c 17.87423,-14.93999 18.5116,-36.42509 19.87065,-57.42594 5.25206,-19.86251 14.03525,-38.69618 19.17732,-58.49812 -3.84842,-24.03985 -39.1751,-41.31194 -45.80958,-57.14885 17.78713,-29.29972 26.64951,-64.27647 19.59993,-98.29411 C 387.51638,67.544167 342.67824,21.758539 288.8189,10.337029 228.41755,-5.1087959 160.44586,26.883691 133.17057,82.782337 117.33803,113.72488 115.2685,151.24585 123.55952,184.65614 129.00838,205.07414 140.38108,222.47691 153,239 Z"
id="path1" />
<path
style="fill:#ffff01"
d="m 180,329 18,8 c 9.24,-17.53 14.78,-38.36 21.56,-57 2.31,-6.35 3.57,-17.15 9.57,-21.24 4.73,-3.22 14.51,-0.44 19.87,0.07 10.84,1.03 23.37,0.68 34,-1.72 C 335.22,245.34 372.71,199.28 374.96,146 378.07,72.236 305.3,13.58 234,29.02 c -43.93,9.507 -76.57,43.459 -88.57,85.985 -10.53,37.33 1.89,78.48 27.37,106.83 6.71,7.46 14.87,14.11 23.29,19.57 3.73,2.42 9.79,4.83 10.96,9.62 1.32,5.42 -4.33,13.76 -5.85,18.98 -5.82,19.96 -16.4,38.78 -21.2,59 z"
id="path2" />
<path
style="fill:#ce61a9"
d="m 237,270 c -8.48,15.92 -15.41,36.57 -20.08,54 -1.36,5.06 -6.23,11.67 -4.89,17 3.2,12.76 17.13,22.54 28.97,25.62 22.34,5.83 48.15,7.53 70,-1.07 3.88,-1.53 9.74,-2.89 11.97,-6.74 2.07,-3.57 0.82,-8.86 1.2,-12.81 0.99,-10.2 6.53,-18.52 16.83,-21 0.01,-9.11 1.67,-18.72 8.46,-25.47 3.91,-3.89 10.2,-6.15 14.14,-1.19 9.75,12.3 -3.7,27.68 12.4,36.66 13.76,-29.42 26.34,-75.12 -15,-88.74 -5.23,-1.73 -11.36,-4.63 -17,-4.08 -10.25,1.01 -22.68,14.27 -32.42,18.73 -22.23,10.18 -50.54,14.88 -74.58,9.09 z"
id="path3" />
<path
style="fill:#ce61a9"
d="m 137,338 c 3.18,-4.17 6.58,-7.19 11,-10 -1.97,-3.92 -6.68,-6.5 -7.46,-11 -1.64,-9.41 12.19,-20.93 20.46,-21.82 4.38,-0.48 12.3,5.08 15.49,2.99 2.51,-1.64 3.42,-6.55 4.51,-9.17 3.1,-7.51 12.87,-25.96 7.97,-33.72 -2.47285,-3.92245 -7.70872,-3.82217 -13.38023,-2.14588 -7.63086,2.25541 -16.05037,7.36385 -19.58977,9.36588 -13.64,7.73 -26.48,17.21 -39,26.63 -3.86,2.9 -12.34,8.01 -13.48,13 -1.24,5.43 2.89,10.17 6.2,13.83 7.67,8.5 17.17,16.64 27.28,22.04 z"
id="path4" />
<path
style="fill:#9fc79f"
d="m 157,384 c 0,13.94 -0.51,25.95 5.22,39 4.77,10.86 10.96,21.1 18.95,30 6.92,7.7 14.83,8.96 24.83,9 17.21,0.08 33.73,-6.21 42.48,-22 11.07,-19.97 3.58,-55.02 -21.52,-61.31 -7.81,-1.95 -23.68,6.35 -31.96,8.1 -13.65,2.89 -24.79,-0.54 -38,-2.79 z"
id="path5" />
<path
style="fill:#95bb95"
d="m 357,385 c -17.01,3.2 -27.07,2.97 -31,-16 -11.91,1.56 -23.62,7.8 -36,9.57 -4.1,0.59 -11.08,-0.98 -14.3,2.03 -5.1,4.77 -5.44,14.02 -5.74,20.4 -0.22,4.66 -2.39,9.33 -1.6,14 1.72,10.26 13.38,21.18 19.74,29 4.59,5.66 10.59,14.3 17.9,16.49 8.24,2.46 16.55,-4.65 23,-8.83 9.21,-5.99 19.98,-13.42 24.98,-23.66 2.33,-4.78 0.91,-11.82 1.04,-17 0.21,-8.7 1.98,-17.26 1.98,-26 z"
id="path6" />
<path
style="fill:#fbb5a7"
d="m 344.04,338.74 c -8.51,3.44 -8.51,27.18 -1.48,32.23 3.87,2.78 17.29,-0.65 21.44,-2.32 23.49,-9.46 -4.63,-36.1 -19.96,-29.91 z"
id="path7" />
<path
style="fill:#fbb5a7"
d="m 201,365 c -6.76,-9.02 -21.93,-17.44 -33,-19.53 -4.52,-0.85 -12.18,-1.71 -14.24,3.59 -2.56,6.57 3.94,13.06 9.24,15.61 11.8,5.69 25.9,4.17 38,0.33 z"
id="path8" />
<path
style="fill:#576e57"
d="m 365,406 c -0.86,6.78 1.35,18.22 -1.49,24.2 -7.25,15.25 -24.45,25.44 -38.51,33.66 -6.58,3.84 -13.19,7.73 -21,5.03 -16.77,-5.8 -20.94,-25.76 -35,-33.89 0,8.86 0.3,16.69 3.74,25 17.58,42.43 71.5,11.84 89.46,-14 7.43,-10.69 13.35,-29.47 2.8,-40"
id="path9" />
<path
style="fill:#576e57"
d="m 155,432 c 2.63,10.96 11.11,20.8 17.28,30.04 2.17,3.23 4.52,8.56 8.1,10.4 4.57,2.35 11.58,2.11 16.62,2.72 15.31,1.83 33.26,2.59 48,-2.5 5.63,-1.95 11.75,-4.02 14.68,-9.66 2.98,-5.74 -0.56,-14.03 -1.68,-20 -5.56,5.92 -9.39,12.43 -16,17.54 -14.23,10.98 -43.14,17.76 -59,6.03 -12.43,-9.19 -17.42,-24.31 -28,-34.57"
id="path10" />
<path
style="fill:#010101"
d="m 203,78.432 c -41.94,5.523 -52.25,62.648 -12,79.888 7.45,3.19 18.11,2.68 26,1.47 48.64,-7.5 34.78,-87.781 -14,-81.358 z"
id="path11" />
<path
style="fill:#ffffff"
d="m 196,147 c -1.86,-8.13 -2.94,-15.07 3.38,-21.79 10.5,-11.16 28.74,-3.58 30.62,10.79 9.52,-9.43 5.95,-29.23 -3.17,-37.74 -12.58,-11.724 -31.99,-10.389 -42.89,2.76 -3.76,4.52 -5.37,9.22 -6.17,14.98 -0.77,5.56 0.25,11.88 2.58,17 3.12,6.83 8.9,11.17 15.65,14 z"
id="path12" />
<path
style="fill:#010101"
d="m 299,75.518 c -52.42,11.12 -36.2,92.762 16,81.662 52.67,-11.2 36.32,-92.76 -16,-81.662 z"
id="path13" />
<path
style="fill:#ffffff"
d="m 283,134 c 2.92303,-6.34588 4.80429,-9.36607 10.18,-11.66 15.75,-7.07 24.49,8.35 22.82,21.66 38.8,-11.2 14.11,-71.907 -22,-53.85 -4.34,2.168 -8.17,5.944 -10.96,9.85 -3.18,4.48 -5.24,9.49 -5.71,15 -0.59,6.86 2.59,13.13 5.67,19 z"
id="path14" />
</g>
<path
d="M170.829 151.036a244.042 244.042 0 014.981 3.3 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7 1.155-.033 36.014-.66 53.543 10.732z"
fill="url(#g)"
id="path106" />
<path
d="M18.223 261.41C36.766 370.988 136.1 454.651 248.855 457.844c104.361 2.954 171.037-57.62 198.576-116.716 17.8-38.2 30.154-100.7 7.479-162.175l-.008-.026-.032-.233c-.025-.178-.04-.284-.036-.226 0 .039.015.136.047.4 8.524 55.661-19.79 109.584-64.051 146.044l-.133.313c-86.245 70.223-168.774 42.368-185.484 30.966a144.108 144.108 0 01-3.5-1.743c-50.282-24.029-71.054-69.838-66.6-109.124-42.457 0-56.934-35.809-56.934-35.809s38.119-27.179 88.358-3.541c46.53 21.893 90.228 3.543 90.233 3.541-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 282.929 282.929 0 00-4.981-3.3c-17.528-11.392-52.388-10.765-53.543-10.735h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.442 26.919c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-8.65 37.842-4.44 57.199z"
fill="url(#h)"
id="path108" />
<path
d="M341.105 166.587a130.706 130.706 0 0122.31 29.112c1.323.994 2.559 1.985 3.608 2.952 54.482 50.2 25.936 121.2 23.807 126.26 44.261-36.46 72.575-90.383 64.051-146.044C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1-9.291 4.428-64.407 91.694 10.298 166.389z"
fill="url(#i)"
id="path110" />
<path
d="M367.023 198.651c-1.049-.967-2.285-1.958-3.608-2.952-.489-.368-.969-.734-1.493-1.1-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1 16.71 11.4 99.239 39.257 185.484-30.966l.133-.313c2.129-5.054 30.675-76.057-23.807-126.258z"
fill="url(#j)"
id="path112" />
<path
d="M148.439 277.443s11.093-41.335 79.432-41.335c7.388 0 28.509-20.615 28.9-26.593s-43.7 18.352-90.233-3.541c-50.239-23.638-88.358 3.541-88.358 3.541s14.477 35.809 56.934 35.809c-4.453 39.286 16.319 85.1 66.6 109.124 1.124.537 2.18 1.124 3.334 1.639-29.348-15.169-53.582-43.834-56.609-78.644z"
fill="url(#k)"
id="path114" />
<path
d="M478.711 166.353c-10.445-25.124-31.6-52.248-48.212-60.821 13.52 26.505 21.345 53.093 24.335 72.936 0 .039.015.136.047.4C427.706 111.135 381.627 83.823 344 24.355c-1.9-3.007-3.805-6.022-5.661-9.2a73.716 73.716 0 01-2.646-4.972A43.7 43.7 0 01332.1.677a.626.626 0 00-.546-.644.818.818 0 00-.451 0c-.034.012-.084.051-.12.065-.053.021-.12.069-.176.1.027-.036.083-.117.1-.136-60.37 35.356-80.85 100.761-82.732 133.484 2.8-.194 5.592-.429 8.442-.429 45.053 0 84.291 24.77 105.3 61.484-12.832-9.014-35.81-17.917-57.947-14.067 86.441 43.214 63.235 192.026-56.545 186.408a106.743 106.743 0 01-31.271-6.031 134.51 134.51 0 01-7.059-2.886c-1.356-.618-2.711-1.243-4.05-1.935.048.033.114.07.163.1a144.108 144.108 0 01-3.5-1.743c1.124.537 2.18 1.124 3.334 1.639-29.35-15.168-53.584-43.833-56.611-78.643 0 0 11.093-41.335 79.432-41.335 7.388 0 28.509-20.615 28.9-26.593-.089-1.952-41.917-18.59-58.223-34.656-8.713-8.584-12.85-12.723-16.514-15.828a71.355 71.355 0 00-6.225-4.7 111.338 111.338 0 01-.674-58.732c-24.688 11.241-43.89 29.01-57.85 44.7h-.111c-9.527-12.067-8.855-51.873-8.312-60.184-.114-.515-7.107 3.63-8.023 4.255a175.073 175.073 0 00-23.486 20.12 210.478 210.478 0 00-22.435 26.916c0 .012-.007.026-.011.038 0-.013.007-.026.011-.038a202.838 202.838 0 00-32.247 72.805c-.115.521-.212 1.061-.324 1.586-.452 2.116-2.486 12.853-2.77 15.156-.022.177.021-.176 0 0a279.565 279.565 0 00-3.544 33.53c0 .41-.025.816-.025 1.227C16 388.418 123.6 496 256.324 496c118.865 0 217.56-86.288 236.882-199.63.407-3.076.733-6.168 1.092-9.271 4.777-41.21-.53-84.525-15.587-120.746zm-23.841 12.341c.012.085.027.174.04.259l-.008-.026-.032-.233z"
fill="url(#l)"
id="path116" />
</svg>

After

Width:  |  Height:  |  Size: 19 KiB

@@ -1 +0,0 @@
resource cck2 modules/
@@ -1,154 +0,0 @@
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
const EXPORTED_SYMBOLS = [];
var gForceExternalHandler = false;
XPCOMUtils.defineLazyServiceGetter(this, "extProtocolSvc",
"@mozilla.org/uriloader/external-protocol-service;1", "nsIExternalProtocolService");
var documentObserver = {
observe: function observe(subject, topic, data) {
if (subject instanceof Ci.nsIDOMWindow && topic == 'content-document-global-created') {
var doc = subject.document;
doc.addEventListener("DOMContentLoaded", function onLoad(event) {
event.target.removeEventListener("DOMContentLoaded", onLoad, false);
// If the parent document is a local file, don't do anything
// Links will just work
if (doc.location.href.indexOf("file://") == 0) {
return;
}
var links = event.target.getElementsByTagName("a");
for (var i=0; i < links.length; i++) {
var link = links[i];
if (link.href.indexOf("file://") != 0) {
continue;
}
link.addEventListener("click", function(link) {
return function(event) {
event.preventDefault();
if (gForceExternalHandler) {
extProtocolSvc.loadUrl(Services.io.newURI(link.href, null, null));
} else {
var target = "_self";
if (link.hasAttribute("target")) {
target = link.getAttribute("target");
}
// If we were told somewhere other than current (based on modifier keys), use it
var where = whereToOpenLink(event);
if (where != "current" || target == "_blank") {
sendAsyncMessage("cck2:open-url", {
"url": link.href,
"where": (target == "_blank") ? "tab" : where
});
return;
}
switch (target) {
case "_self":
link.ownerDocument.location = link.href;
break;
case "_parent":
link.ownerDocument.defaultView.parent.document.location = link.href;
break;
case "_top":
link.ownerDocument.defaultView.top.document.location = link.href;
break;
default:
// Attempt to find the iframe that this goes into
var iframes = doc.defaultView.parent.document.getElementsByName(target);
if (iframes.length > 0) {
iframes[0].contentDocument.location = link.href;
} else {
link.ownerDocument.location = link.href;
}
break;
}
}
}
}(link), false);
}
}, false);
}
}
}
// Don't do this check before Firefox 29
if (Services.vc.compare(Services.appinfo.version, "29") > 0) {
try {
if (Services.prefs.getCharPref("capability.policy.default.checkloaduri.enabled") == "allAccess") {
gForceExternalHandler = !extProtocolSvc.isExposedProtocol('file');
Services.obs.addObserver(documentObserver, "content-document-global-created", false);
addEventListener("unload", function() {
Services.obs.removeObserver(documentObserver, "content-document-global-created", false);
})
}
} catch (e) {}
}
/* Copied from http://mxr.mozilla.org/mozilla-central/source/browser/base/content/utilityOverlay.js?raw=1 */
function getBoolPref(prefname, def)
{
try {
return Services.prefs.getBoolPref(prefname);
}
catch(er) {
return def;
}
}
/* whereToOpenLink() looks at an event to decide where to open a link.
*
* The event may be a mouse event (click, double-click, middle-click) or keypress event (enter).
*
* On Windows, the modifiers are:
* Ctrl new tab, selected
* Shift new window
* Ctrl+Shift new tab, in background
* Alt save
*
* Middle-clicking is the same as Ctrl+clicking (it opens a new tab).
*
* Exceptions:
* - Alt is ignored for menu items selected using the keyboard so you don't accidentally save stuff.
* (Currently, the Alt isn't sent here at all for menu items, but that will change in bug 126189.)
* - Alt is hard to use in context menus, because pressing Alt closes the menu.
* - Alt can't be used on the bookmarks toolbar because Alt is used for "treat this as something draggable".
* - The button is ignored for the middle-click-paste-URL feature, since it's always a middle-click.
*/
function whereToOpenLink( e, ignoreButton, ignoreAlt )
{
Components.utils.import("resource://gre/modules/AppConstants.jsm");
// This method must treat a null event like a left click without modifier keys (i.e.
// e = { shiftKey:false, ctrlKey:false, metaKey:false, altKey:false, button:0 })
// for compatibility purposes.
if (!e)
return "current";
var shift = e.shiftKey;
var ctrl = e.ctrlKey;
var meta = e.metaKey;
var alt = e.altKey && !ignoreAlt;
// ignoreButton allows "middle-click paste" to use function without always opening in a new window.
var middle = !ignoreButton && e.button == 1;
var middleUsesTabs = true;
// Don't do anything special with right-mouse clicks. They're probably clicks on context menu items.
var metaKey = AppConstants.platform == "macosx" ? meta : ctrl;
if (metaKey || (middle && middleUsesTabs))
return shift ? "tabshifted" : "tab";
if (alt && getBoolPref("browser.altClickSave", false))
return "save";
if (shift || (middle && !middleUsesTabs))
return "window";
return "current";
}
@@ -1,183 +0,0 @@
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
const EXPORTED_SYMBOLS = [];
var gAllowedPasteSites = [];
var gAllowedCutCopySites = [];
var gDeniedPasteSites = [];
var gDeniedCutCopySites = [];
var gDefaultPastePolicy = false;
var gDefaultCutCopyPolicy = false;
function allowCutCopy(doc) {
var win = doc.defaultView;
if (win !== win.top) {
// It's an iframe. Use the top level window
// for security purposes
win = win.top;
}
if (gDefaultCutCopyPolicy == true) {
for (var i=0; i < gDeniedCutCopySites.length; i++) {
if (win.location.href.indexOf(gDeniedCutCopySites[i]) == 0) {
return false;
}
}
return true;
} else {
for (var i=0; i < gAllowedCutCopySites.length; i++) {
if (win.location.href.indexOf(gAllowedCutCopySites[i]) == 0) {
return true;
}
}
return false;
}
}
function allowPaste(doc) {
var win = doc.defaultView;
if (win !== win.top) {
// It's an iframe. Use the top level window
// for security purposes
win = win.top;
}
if (gDefaultPastePolicy == true) {
for (var i=0; i < gDeniedPasteSites.length; i++) {
if (win.location.href.indexOf(gDeniedPasteSites[i]) == 0) {
return false;
break;
}
}
return true;
} else {
for (var i=0; i < gAllowedPasteSites.length; i++) {
if (win.location.href.indexOf(gAllowedPasteSites[i]) == 0) {
return true;
break;
}
}
return false;
}
}
function myExecCommand(doc, originalExecCommand) {
return function(aCommandName, aShowDefaultUI, aValueArgument) {
switch (aCommandName.toLowerCase()) {
case "cut":
case "copy":
if (allowCutCopy(doc)) {
var win = Services.wm.getMostRecentWindow("navigator:browser");
win.goDoCommand("cmd_" + aCommandName.toLowerCase());
return true;
}
break;
case "paste":
if (allowPaste(doc)) {
var win = Services.wm.getMostRecentWindow("navigator:browser");
win.goDoCommand("cmd_" + aCommandName.toLowerCase());
return true;
}
break;
}
return originalExecCommand.call(doc, aCommandName, aShowDefaultUI, aValueArgument);
}
}
function myQueryCommandSupported(doc, originalQueryCommandSupported) {
return function(aCommandName) {
switch (aCommandName.toLowerCase()) {
case "cut":
case "copy":
if (allowCutCopy(doc)) {
return true;
}
break;
case "paste":
if (allowPaste(doc)) {
return true;
}
break;
}
return originalQueryCommandSupported.call(doc, aCommandName, aShowDefaultUI, aValueArgument);
}
}
var documentObserver = {
observe: function observe(subject, topic, data) {
if (subject instanceof Ci.nsIDOMWindow && topic == 'content-document-global-created') {
var doc = subject.document;
var cutCopyAllowed = allowCutCopy(doc);
var pasteAllowed = allowPaste(doc);
if (!cutCopyAllowed && !pasteAllowed) {
return;
}
var originalExecCommand = Cu.waiveXrays(doc).execCommand;
Cu.exportFunction(myExecCommand(doc, originalExecCommand), doc, {defineAs: "execCommand"});
var originalQueryCommandSupported = Cu.waiveXrays(doc).queryCommandSupported;
Cu.exportFunction(myQueryCommandSupported(doc, originalQueryCommandSupported), doc, {defineAs: "queryCommandSupported"});
var originalQueryCommandEnabled = Cu.waiveXrays(doc).queryCommandEnabled;
Cu.exportFunction(myQueryCommandSupported(doc, originalQueryCommandEnabled), doc, {defineAs: "queryCommandEnabled"});
}
}
}
// Don't do this check before Firefox 29
if (Services.vc.compare(Services.appinfo.version, "29") > 0) {
try {
if (Services.prefs.getCharPref("capability.policy.default.Clipboard.cutcopy") == "allAccess") {
gDefaultCutCopyPolicy = true;
}
} catch (e) {}
try {
if (Services.prefs.getCharPref("capability.policy.default.Clipboard.paste") == "allAccess") {
gDefaultPastePolicy = true;
}
} catch (e) {}
try {
var policies = [];
policies = Services.prefs.getCharPref("capability.policy.policynames").split(', ');
for (var i=0; i < policies.length; i++ ) {
try {
if (Services.prefs.getCharPref("capability.policy." + policies[i] + ".Clipboard.cutcopy") == "allAccess") {
var allowedCutCopySites = Services.prefs.getCharPref("capability.policy." + policies[i] + ".sites").split(" ");
for (var j=0; j < allowedCutCopySites.length; j++) {
gAllowedCutCopySites.push(allowedCutCopySites[j]);
}
}
} catch(e) {}
try {
if (Services.prefs.getCharPref("capability.policy." + policies[i] + ".Clipboard.cutcopy") == "noAccess") {
var deniedCutCopySites = Services.prefs.getCharPref("capability.policy." + policies[i] + ".sites").split(" ");
for (var j=0; j < deniedCutCopySites.length; j++) {
gDeniedCutCopySites.push(deniedCutCopySites[j]);
}
}
} catch(e) {}
try {
if (Services.prefs.getCharPref("capability.policy." + policies[i] + ".Clipboard.paste") == "allAccess") {
var allowedPasteSites = Services.prefs.getCharPref("capability.policy." + policies[i] + ".sites").split(" ");
for (var j=0; j < allowedPasteSites.length; j++) {
gAllowedPasteSites.push(allowedPasteSites[j]);
}
}
} catch(e) {}
try {
if (Services.prefs.getCharPref("capability.policy." + policies[i] + ".Clipboard.paste") == "noAccess") {
var deniedPasteSites = Services.prefs.getCharPref("capability.policy." + policies[i] + ".sites").split(" ");
for (var j=0; j < deniedPasteSites.length; j++) {
gDeniedPasteSites.push(deniedPasteSites[j]);
}
}
} catch(e) {}
}
} catch (e) {}
if (gDefaultCutCopyPolicy || gDefaultPastePolicy ||
gAllowedCutCopySites.length > 0 || gAllowedPasteSites> 0) {
Services.obs.addObserver(documentObserver, "content-document-global-created", false);
addEventListener("unload", function() {
Services.obs.removeObserver(documentObserver, "content-document-global-created", false);
})
}
}
File diff suppressed because it is too large Load Diff
@@ -1,111 +0,0 @@
/* This file overlays about:addons. It does the following: */
/* Workaround https://bugzilla.mozilla.org/show_bug.cgi?id=1132971 */
/* Hide the "Install Add-on From File" menu if xpinstall.enabled is false */
/* Hides the discover pane if xpinstall.enabled is false */
/* Hides the add-on entry if specified in the CCK2 config */
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://cck2/CCK2.jsm");
var addonId = "cck2wizard@kaply.com";
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "chrome-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "about:addons":
case "chrome://mozapps/content/extensions/extensions.xul":
var configs = CCK2.getConfigs();
var hiddenAddons = [];
var requiredAddons = [];
for (let id in configs) {
var config = configs[id];
if (config && "extension" in config && config.extension.hide) {
hiddenAddons.push(config.extension.id);
}
if (config.requiredAddons) {
requiredAddons.push.apply(requiredAddons, config.requiredAddons.split(","));
}
}
if (hiddenAddons.length > 0 || requiredAddons.length > 0) {
var ss;
for (var i = 0; i < doc.styleSheets.length; i++) {
if (doc.styleSheets[i].href == "chrome://mozapps/skin/extensions/extensions.css") {
ss = doc.styleSheets[i];
break;
}
}
for (var i=0; i < hiddenAddons.length; i++) {
ss.insertRule("richlistitem[value='" + hiddenAddons[i] + "'] { display: none;}", ss.cssRules.length);
}
for (var i=0; i < requiredAddons.length; i++) {
ss.insertRule("richlistitem[value='" + requiredAddons[i] + "'] button[anonid='disable-btn'] { display: none;}", ss.cssRules.length);
ss.insertRule("richlistitem[value='" + requiredAddons[i] + "'] button[anonid='remove-btn'] { display: none;}", ss.cssRules.length);
}
if (requiredAddons.length > 0) {
win.gViewController.commands.cmd_disableItem.origIsEnabled = win.gViewController.commands.cmd_disableItem.isEnabled;
win.gViewController.commands.cmd_disableItem.isEnabled = function(aAddon) { if (aAddon && requiredAddons.indexOf(aAddon.id) != -1) return false; return this.origIsEnabled;}
win.gViewController.commands.cmd_uninstallItem.origIsEnabled = win.gViewController.commands.cmd_disableItem.isEnabled;
win.gViewController.commands.cmd_uninstallItem.isEnabled = function(aAddon) { if (aAddon && requiredAddons.indexOf(aAddon.id) != -1) return false; return this.origIsEnabled;}
}
}
var showDiscoverPane = true;
var xpinstallEnabled = true;
try {
xpinstallEnabled = Services.prefs.getBoolPref("xpinstall.enabled");
} catch (e) {}
try {
showDiscoverPane = Services.prefs.getBoolPref("extensions.getAddons.showPane");
} catch (e) {}
if (!xpinstallEnabled || !showDiscoverPane) {
// Work around Mozilla bug 1132971
// Hide the discover pane if it is the selected pane
if (E("view-port", doc) && E("view-port", doc).selectedIndex == 0) {
try {
win.gViewController.loadView("addons://list/extension");
} catch (ex) {
// This fails with Webconverger installed. Ignore it.
}
}
}
if (!xpinstallEnabled) {
// Hide the "Install Add-on From File" separator
hide(E("utils-installFromFile-separator", doc));
// Hide the "Install Add-on From File" menuitem
hide(E("utils-installFromFile", doc));
win.gDragDrop.onDragOver = function(event) {
event.dataTransfer.dropEffect = "none";
event.stopPropagation();
event.preventDefault();
};
}
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "chrome-document-global-created", false);
function E(id, context) {
var element = context.getElementById(id);
return element;
}
function hide(element) {
if (element) {
element.setAttribute("hidden", "true");
}
}
@@ -1,33 +0,0 @@
/* This file is a workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=1139509 */
/* It bolds the Firefox version in the about dialog and unbolds the distribution information */
/* It can be removed once Firefox 38 ESR is out of support */
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "chrome-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "chrome://browser/content/aboutDialog.xul":
doc.querySelector("#version").style.fontWeight = "bold";
doc.querySelector("#distribution").style.fontWeight = "normal";
doc.querySelector("#distributionId").style.fontWeight = "normal";
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "chrome-document-global-created", false);
@@ -1,79 +0,0 @@
/* This file overrides about:home. It does the following:
* Remove the sync button if Sync is disabled
* Remove the Addons button if Sync is disabled
* Remove the snippets if snippets are disabled
*/
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
var configs = null;
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "content-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "about:home":
case "chrome://browser/content/abouthome/aboutHome.xhtml":
if (!configs) {
// TODO - Make this Async
configs = sendSyncMessage("cck2:get-configs")[0];
}
for (let id in configs) {
var config = configs[id];
if (config.disableSync) {
remove(E("sync", doc));
}
if (config.disableAddonsManager) {
remove(E("addons", doc));
}
if (config.disableWebApps) {
remove(E("apps", doc));
}
if (config.removeSnippets) {
var snippets = E("snippets", doc);
if (snippets) {
snippets.style.display = "none";
}
}
if (config.hiddenUI) {
for (var i=0; i < config.hiddenUI.length; i++) {
var uiElements = doc.querySelectorAll(config.hiddenUI[i]);
for (var j=0; j < uiElements.length; j++) {
var uiElement = uiElements[j];
uiElement.setAttribute("hidden", "true");
}
}
}
}
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "content-document-global-created", false);
addEventListener("unload", function() {
Services.obs.removeObserver(observer, "content-document-global-created", false);
})
function E(id, context) {
var element = context.getElementById(id);
return element;
}
function remove(element) {
if (element && element.parentNode)
element.parentNode.removeChild(element);
}
@@ -1,62 +0,0 @@
/* This file overrides about:support It does the following:
* Remove the reset Firefox button if disableResetFirefox is set
* Remove the safe mode Button if disableSafeMode is set
* Remove the box if both are set
*/
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://cck2/CCK2.jsm");
var configs = null;
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "chrome-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "about:support":
case "chrome://global/content/aboutSupport.xhtml":
if (!configs) {
configs = CCK2.getConfigs();
}
for (let id in configs) {
var config = configs[id];
if (config.disableResetFirefox) {
remove(E("reset-box", doc));
}
if (config.disableSafeMode) {
remove(E("safe-mode-box", doc));
}
if (config.disableResetFirefox &&
config.disableSafeMode) {
remove(E("action-box", doc));
}
}
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "chrome-document-global-created", false);
function E(id, context) {
var element = context.getElementById(id);
return element;
}
function remove(element) {
if (element && element.parentNode)
element.parentNode.removeChild(element);
}
@@ -1,373 +0,0 @@
/* This file modifies the main browser window. It does the following:
* Goes through the hiddenUI list and hides any UI
*
*/
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource:///modules/CustomizableUI.jsm");
Cu.import("resource://gre/modules/PrivateBrowsingUtils.jsm");
Cu.import("resource://cck2/CCK2.jsm");
var configs = null;
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "chrome-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "chrome://browser/content/browser.xul":
// Workaround https://bugzilla.mozilla.org/show_bug.cgi?id=1149617
var origSetReportPhishingMenu = win.gSafeBrowsing.setReportPhishingMenu;
win.gSafeBrowsing.setReportPhishingMenu = function() {
try {
origSetReportPhishingMenu();
} catch (e) {}
}
win.addEventListener("unload", function onUnload(event) {
win.removeEventListener("unload", onUnload, false);
var panelUIPopup = doc.getElementById("PanelUI-popup");
if (panelUIPopup) {
E("PanelUI-popup", doc).removeEventListener("popupshowing", onPanelShowing, false);
}
});
var panelUIPopup = doc.getElementById("PanelUI-popup");
if (panelUIPopup) {
E("PanelUI-popup", doc).addEventListener("popupshowing", onPanelShowing, false);
}
var appMenuPopup = doc.getElementById("appMenu-popup");
if (appMenuPopup) {
E("appMenu-popup", doc).addEventListener("popupshowing", onAppMenuShowing, false);
}
configs = CCK2.getConfigs();
for (let id in configs) {
config = configs[id];
if (config.disablePrivateBrowsing &&
PrivateBrowsingUtils.isWindowPrivate(win)) {
win.setTimeout(function() {
Services.prompt.alert(win, "Private Browsing", "Private Browsing has been disabled by your administrator");
win.close();
}, 0, false);
}
if (config.disablePrivateBrowsing) {
disablePrivateBrowsing(doc);
}
if (config.disableSync) {
disableSync(doc);
}
if (config.disableAddonsManager) {
disableAddonsManager(doc);
}
if (config.removeDeveloperTools) {
Services.tm.mainThread.dispatch(function() {
removeDeveloperTools(doc);
}, Ci.nsIThread.DISPATCH_NORMAL);
}
if (config.disableErrorConsole) {
disableErrorConsole(doc);
}
if (config.disableFirefoxHealthReport) {
var healthReportMenu = doc.getElementById("healthReport");
if (healthReportMenu) {
healthReportMenu.parentNode.removeChild(healthReportMenu);
}
}
if (config.removeSafeModeMenu) {
hide(E("helpSafeMode", doc));
}
if (config.titlemodifier) {
doc.getElementById("main-window").setAttribute("titlemodifier", config.titlemodifier);
}
if (config.removeSetDesktopBackground) {
// Because this is on a context menu, we can't use "hidden"
if (E("context-setDesktopBackground", doc)) {
E("context-setDesktopBackground", doc).setAttribute("style", "display: none;");
}
}
if (config.disableWebApps) {
CustomizableUI.destroyWidget("web-apps-button");
hide(E("menu_openApps", doc));
}
if (config.disableHello) {
CustomizableUI.destroyWidget("loop-button");
hide(E("menu_openLoop", doc));
}
if (config.disablePocket) {
CustomizableUI.destroyWidget("pocket-button");
}
if (config.disableSharePage) {
CustomizableUI.destroyWidget("social-share-button");
// Because these are on a context menu, we can't use "hidden"
if (E("context-sharelink", doc)) {
E("context-sharelink", doc).setAttribute("style", "display: none;");
}
if (E("context-shareselect", doc)) {
E("context-shareselect", doc).setAttribute("style", "display: none;");
}
if (E("context-shareimage", doc)) {
E("context-shareimage", doc).setAttribute("style", "display: none;");
}
if (E("context-sharevideo", doc)) {
E("context-sharevideo", doc).setAttribute("style", "display: none;");
}
if (E("context-sharepage", doc)) {
E("context-sharepage", doc).setAttribute("style", "display: none;");
}
}
if (config.disableSocialAPI) {
win.SocialActivationListener = {};
}
if (config.disableForget) {
CustomizableUI.destroyWidget("panic-button");
}
if (config.hiddenUI) {
hideUIElements(doc, config.hiddenUI);
}
if (config.helpMenu) {
// We need to run this function on a delay, because we won't know
// if the about menu is hidden for mac until after it is run.
Services.tm.mainThread.dispatch(function() {
var helpMenuPopup = doc.getElementById("menu_HelpPopup");
var menuitem = doc.createElement("menuitem");
menuitem.setAttribute("label", config.helpMenu.label);
if ("accesskey" in config.helpMenu) {
menuitem.setAttribute("accesskey", config.helpMenu.accesskey);
}
menuitem.setAttribute("oncommand", "openUILink('" + config.helpMenu.url + "');");
menuitem.setAttribute("onclick", "checkForMiddleClick(this, event);");
if (!E("aboutName", doc) || E("aboutName", doc).hidden) {
// Mac
helpMenuPopup.appendChild(menuitem);
} else {
helpMenuPopup.insertBefore(menuitem, E("aboutName", doc));
helpMenuPopup.insertBefore(doc.createElement("menuseparator"),
E("aboutName", doc));
}
}, Ci.nsIThread.DISPATCH_NORMAL);
}
if (config.firstrun || config.upgrade) {
if (config.displayBookmarksToolbar || (config.bookmarks && config.bookmarks.toolbar)) {
CustomizableUI.setToolbarVisibility("PersonalToolbar", "true");
}
if (config.displayMenuBar) {
CustomizableUI.setToolbarVisibility("toolbar-menubar", "true");
}
if (config.showSearchBar) {
CustomizableUI.addWidgetToArea("search-container", CustomizableUI.AREA_NAVBAR,
CustomizableUI.getPlacementOfWidget("urlbar-container").position + 1);
}
config.firstrun = false;
config.upgrade = false;
}
}
break;
case "chrome://browser/content/places/places.xul":
case "chrome://browser/content/bookmarks/bookmarksPanel.xul":
case "chrome://browser/content/history/history-panel.xul":
configs = CCK2.getConfigs();
for (let id in configs) {
var config = configs[id];
if (config.disablePrivateBrowsing) {
if (E("placesContext_open:newprivatewindow", doc)) {
E("placesContext_open:newprivatewindow", doc).setAttribute("style", "display: none;");
}
}
if (config.hiddenUI) {
hideUIElements(doc, config.hiddenUI);
}
}
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "chrome-document-global-created", false);
function disableSync(doc) {
var win = doc.defaultView;
if (win.gSyncUI) {
var mySyncUI = {
init: function() {
return;
},
initUI: function() {
return;
},
updateUI: function() {
hide(E("sync-setup-state", doc));
hide(E("sync-syncnow-state", doc));
hide(E("sync-setup", doc));
hide(E("sync-syncnowitem", doc));
}
}
win.gSyncUI = mySyncUI;
}
CustomizableUI.destroyWidget("sync-button");
CustomizableUI.removeWidgetFromArea("sync-button");
var toolbox = doc.getElementById("navigator-toolbox");
if (toolbox && toolbox.palette) {
let element = toolbox.palette.querySelector("#sync-button");
if (element) {
element.parentNode.removeChild(element);
}
}
hide(E("sync-setup-state", doc));
hide(E("sync-syncnow-state", doc));
hide(E("sync-setup", doc));
hide(E("sync-syncnowitem", doc));
}
function disablePrivateBrowsing(doc) {
disable(E("Tools:PrivateBrowsing", doc));
hide(E("menu_newPrivateWindow", doc));
// Because this is on a context menu, we can't use "hidden"
if (E("context-openlinkprivate", doc))
E("context-openlinkprivate", doc).setAttribute("style", "display: none;");
if (E("placesContext_open:newprivatewindow", doc))
E("placesContext_open:newprivatewindow", doc).setAttribute("style", "display: none;");
CustomizableUI.destroyWidget("privatebrowsing-button")
}
function disableAddonsManager(doc) {
hide(E("menu_openAddons", doc));
disable(E("Tools:Addons", doc)); // Ctrl+Shift+A
CustomizableUI.destroyWidget("add-ons-button")
}
function removeDeveloperTools(doc) {
var win = doc.defaultView;
// Need to delay this because devtools is created dynamically
win.setTimeout(function() {
CustomizableUI.destroyWidget("developer-button")
hide(E("webDeveloperMenu", doc));
var devtoolsKeyset = doc.getElementById("devtoolsKeyset");
if (devtoolsKeyset) {
for (var i = 0; i < devtoolsKeyset.childNodes.length; i++) {
devtoolsKeyset.childNodes[i].removeAttribute("oncommand");
devtoolsKeyset.childNodes[i].removeAttribute("command");
}
}
}, 0);
try {
doc.getElementById("Tools:ResponsiveUI").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:Scratchpad").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:BrowserConsole").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:BrowserToolbox").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:DevAppsMgr").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:DevToolbar").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:DevToolbox").removeAttribute("oncommand");
} catch (e) {}
try {
doc.getElementById("Tools:DevToolbarFocus").removeAttribute("oncommand");
} catch (e) {}
CustomizableUI.destroyWidget("developer-button")
}
function disableErrorConsole(doc) {
doc.getElementById("Tools:ErrorConsole").removeAttribute("oncommand");
}
function onPanelShowing(event) {
var configs = CCK2.getConfigs();
for (let id in configs) {
var config = configs[id];
if (config.disableSync) {
hide(E("PanelUI-fxa-status", event.target.ownerDocument));
hide(E("PanelUI-footer-fxa", event.target.ownerDocument)); // Firefox 42+
}
}
}
function onAppMenuShowing(event) {
var configs = CCK2.getConfigs();
for (let id in configs) {
var config = configs[id];
if (config.disableSync) {
hide(E("appMenu-fxa-container", event.target.ownerDocument));
}
if (config.removeDeveloperTools) {
hide(E("appMenu-developer-button", event.target.ownerDocument));
}
}
}
function E(id, context) {
var element = context.getElementById(id);
return element;
}
function hide(element) {
if (element) {
element.setAttribute("hidden", "true");
}
}
function disable(element) {
if (element) {
element.disabled = true;
element.setAttribute("disabled", "true");
}
}
function hideUIElements(doc, hiddenUI) {
for (var i=0; i < hiddenUI.length; i++) {
var uiElements = doc.querySelectorAll(hiddenUI[i]);
// Don't use .hidden since it doesn't work sometimes
var style = doc.getElementById("cck2-hidden-style");
if (!style) {
style = doc.createElementNS("http://www.w3.org/1999/xhtml", "style");
style.setAttribute("id", "cck2-hidden-style");
style.setAttribute("type", "text/css");
doc.documentElement.appendChild(style);
}
style.textContent = style.textContent + hiddenUI[i] + "{display: none !important;}";
if (!uiElements || uiElements.length == 0) {
continue;
}
for (var j=0; j < uiElements.length; j++) {
var uiElement = uiElements[j];
if (uiElement.nodeName == "menuitem") {
uiElement.removeAttribute("key");
uiElement.removeAttribute("oncommand");
if (uiElement.hasAttribute("command")) {
var commandId = uiElement.getAttribute("command");
uiElement.removeAttribute("command");
var command = doc.getElementById(commandId);
command.removeAttribute("oncommand");
var keys = doc.querySelectorAll("key[command='" + commandId + "']")
for (var k=0; k < keys.length; k++) {
keys[k].removeAttribute("command");
}
}
}
// Horrible hack to work around the crappy Australis help menu
// Items on the menu always show up in the Australis menu, so we have to remove them.
if (uiElements[j].parentNode.id == "menu_HelpPopup") {
uiElements[j].parentNode.removeChild(uiElements[j]);
}
}
}
}
@@ -1,47 +0,0 @@
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
var EXPORTED_SYMBOLS = [];
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
let CCK2FileBlock = {
chromeBlacklist: ["browser", "mozapps", "marionette", "specialpowers",
"branding", "alerts"],
shouldLoad: function(aContentType, aContentLocation, aRequestOrigin, aContext, aMimeTypeGuess, aExtra) {
// Prevent the loading of chrome URLs into the main browser window
if (aContentLocation.scheme == "chrome") {
if (aRequestOrigin &&
(aRequestOrigin.spec == "chrome://browser/content/browser.xul" ||
aRequestOrigin.scheme == "moz-nullprincipal")) {
for (var i=0; i < this.chromeBlacklist.length; i++) {
if (aContentLocation.host == this.chromeBlacklist[i]) {
if (aContentLocation.spec.includes(".xul")) {
return Ci.nsIContentPolicy.REJECT_REQUEST;
}
}
}
}
}
return Ci.nsIContentPolicy.ACCEPT;
},
shouldProcess: function(aContentType, aContentLocation, aRequestOrigin, aContext, aMimeTypeGuess, aExtra) {
return Ci.nsIContentPolicy.ACCEPT;
},
classDescription: "CCK2 FileBlock Service",
contractID: "@kaply.com/cck2-fileblock-service;1",
classID: Components.ID('{26e7afc9-e22d-4d12-bb57-c184fe24b828}'),
QueryInterface: XPCOMUtils.generateQI([Ci.nsIContentPolicy]),
createInstance: function(outer, iid) {
return this.QueryInterface(iid);
},
};
var registrar = Components.manager.QueryInterface(Ci.nsIComponentRegistrar);
registrar.registerFactory(CCK2FileBlock.classID,
CCK2FileBlock.classDescription,
CCK2FileBlock.contractID,
CCK2FileBlock);
var cm = Cc["@mozilla.org/categorymanager;1"].getService(Ci.nsICategoryManager);
cm.addCategoryEntry("content-policy", CCK2FileBlock.contractID,
CCK2FileBlock.contractID, false, true);
@@ -1,51 +0,0 @@
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
var disableSearchEngineInstall = false;
var documentObserver = {
observe: function observe(subject, topic, data) {
if (subject instanceof Ci.nsIDOMWindow && topic == 'content-document-global-created') {
var doc = subject.document;
doc.addEventListener("DOMContentLoaded", function onLoad(event) {
event.target.removeEventListener("DOMContentLoaded", onLoad, false);
if (disableSearchEngineInstall) {
subject.wrappedJSObject.external.AddSearchProvider = function() {};
}
if (!doc.documentURI.startsWith("about:")) {
return;
}
for (let id in configs) {
var config = configs[id];
if (config.hiddenUI) {
for (var i=0; i < config.hiddenUI.length; i++) {
// Don't use .hidden since it doesn't work sometimes
var style = doc.getElementById("cck2-hidden-style");
if (!style) {
style = doc.createElementNS("http://www.w3.org/1999/xhtml", "style");
style.setAttribute("id", "cck2-hidden-style");
style.setAttribute("type", "text/css");
doc.documentElement.appendChild(style);
}
style.textContent = style.textContent + config.hiddenUI[i] + "{display: none !important;}";
}
}
}
}, false);
}
}
}
var configs = sendSyncMessage("cck2:get-configs")[0];
for (var id in configs) {
var config = configs[id];
if (config.disableSearchEngineInstall) {
disableSearchEngineInstall = true;
break;
}
}
Services.obs.addObserver(documentObserver, "content-document-global-created", false);
addEventListener("unload", function() {
Services.obs.removeObserver(documentObserver, "content-document-global-created", false);
})
@@ -1,123 +0,0 @@
/* This file modifies the preferences dialogs. It does the following:
* Removes private browsing from the pref UI if it is disabled
* Removes Sync from the pref UI if it is diabled
* Disables the crash reporter button if crash reporter is disabled
* Removed the master password UI if it is disabled
* Goes through the hiddenUI list and hides any UI
*
*/
const EXPORTED_SYMBOLS = [];
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://cck2/CCK2.jsm");
var configs = null;
var observer = {
observe: function observe(subject, topic, data) {
switch (topic) {
case "chrome-document-global-created":
var win = subject.QueryInterface(Components.interfaces.nsIDOMWindow);
win.addEventListener("load", function onLoad(event) {
win.removeEventListener("load", onLoad, false);
var doc = event.target;
var url = doc.location.href.split("?")[0].split("#")[0];
switch (url) {
case "chrome://browser/content/preferences/preferences.xul":
configs = CCK2.getConfigs();
win.addEventListener("paneload", function(event) {
updatePrefUI(event.target.ownerDocument);
}, false);
updatePrefUI(doc);
for (let id in configs) {
var config = configs[id];
if (!config.disableSync) {
continue;
}
var prefWindow = E("BrowserPreferences", doc);
var paneSyncRadio = doc.getAnonymousElementByAttribute(prefWindow, "pane", "paneSync");
hide(paneSyncRadio);
var paneDeck = doc.getAnonymousElementByAttribute(prefWindow, "anonid", "paneDeck");
var paneSync = E("paneSync", doc);
paneSync.removeAttribute("helpTopic");
var weavePrefsDeck = E("weavePrefsDeck", doc);
if (weavePrefsDeck)
weavePrefsDeck.parentNode.removeChild(weavePrefsDeck);
if (prefWindow.currentPane == E("paneSync", doc))
prefWindow.showPane(E("paneMain", doc));
}
break;
case "about:preferences":
case "chrome://browser/content/preferences/in-content/preferences.xul":
configs = CCK2.getConfigs();
for (let id in configs) {
var config = configs[id];
if (config.disableSync) {
hide(E("category-sync", doc));
}
}
updatePrefUI(doc);
break;
}
}, false);
break;
}
}
}
Services.obs.addObserver(observer, "chrome-document-global-created", false);
// The IDs are the same, so I can reuse this for regular and in-content prefs
function updatePrefUI(doc) {
for (var id in configs) {
var config = configs[id];
if (config.disablePrivateBrowsing) {
hide(E("privateBrowsingAutoStart", doc));
var privateBrowsingMenu = doc.querySelector("menuitem[value='dontremember']");
hide(privateBrowsingMenu, doc);
}
if (config.disableCrashReporter) {
disable(E("submitCrashesBox", doc));
}
if (config.disableSync) {
hide(E("noFxaAccount", doc));
hide(E("hasFxaAccount", doc));
}
if (config.noMasterPassword == true) {
hide(E("useMasterPassword", doc));
hide(E("changeMasterPassword", doc));
}
if (config.hiddenUI) {
for (var i=0; i < config.hiddenUI.length; i++) {
// Don't use .hidden since it doesn't work sometimes
var style = doc.getElementById("cck2-hidden-style");
if (!style) {
style = doc.createElementNS("http://www.w3.org/1999/xhtml", "style");
style.setAttribute("id", "cck2-hidden-style");
style.setAttribute("type", "text/css");
doc.documentElement.appendChild(style);
}
style.textContent = style.textContent + config.hiddenUI[i] + "{display: none !important;}";
}
}
}
}
function E(id, context) {
var element = context.getElementById(id);
return element;
}
function hide(element) {
if (element) {
element.setAttribute("hidden", "true");
}
}
function disable(element) {
if (element) {
element.disabled = true;
}
}
@@ -1,123 +0,0 @@
/**
* Copied from https://github.com/jvillalobos/CTP-Manager/blob/master/extension/modules/permissions.js
**/
/**
* Copyright 2013 Jorge Villalobos
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
**/
var EXPORTED_SYMBOLS = ["CTP"];
const Cc = Components.classes;
const Ci = Components.interfaces;
Components.utils.import("resource://gre/modules/Services.jsm");
var CTP = {
/**
* Cleans up the plugin name to a more readable form.
* Taken from /browser/base/content/pageinfo/permissions.js (Firefox 20)
* @param aPluginName the name to clean up.
* @return cleaned up plugin name.
*/
makeNicePluginName : function(aPluginName) {
let newName =
aPluginName.replace(/[\s\d\.\-\_\(\)]+$/, "").
replace(/\bplug-?in\b/i, "").trim();
return newName;
},
/**
* Gets the plugin permission string from the tag object. In Firefox 20, this
* is the plugin filename. In 21 an above, the file extension is removed and
* Flash and Java are special-cased.
* @param aTag the tag object with the plugin information.
* @return permission string that corresponds to the plugin in the tag.
*/
getPluginPermissionFromTag : function(aTag) {
let permission = null;
let majorVersion = Services.appinfo.platformVersion.split(".")[0];
if (21 <= majorVersion) {
let mimeTypes = aTag.getMimeTypes();
if (CTP.isFlashPlugin(mimeTypes)) {
permission = "flash";
} else if (CTP.isJavaPlugin(mimeTypes)) {
permission = "java";
} else {
let lastPeriod = aTag.filename.lastIndexOf(".");
permission =
((0 < lastPeriod) ? aTag.filename.substring(0, lastPeriod) :
aTag.filename);
// Remove digits at the end
permission = permission.replace(/[0-9]+$/, "");
permission = permission.toLowerCase();
}
} else {
permission = aTag.filename;
}
return permission;
},
/**
* Checks if the tag object corresponds to the Java plugin.
* @param aMimeTypes the list of MIME types for the plugin.
* @return true if the tag corresponds to the Java plugin.
*/
isJavaPlugin : function(aMimeTypes) {
let isJava = false;
let mimeType;
for (let i = 0; i < aMimeTypes.length; i++) {
mimeType =
((null != aMimeTypes[i].type) ? aMimeTypes[i].type : aMimeTypes[i]);
if ((0 == mimeType.indexOf("application/x-java-vm")) ||
(0 == mimeType.indexOf("application/x-java-applet")) ||
(0 == mimeType.indexOf("application/x-java-bean"))) {
isJava = true;
break;
}
}
return isJava;
},
/**
* Checks if the tag object corresponds to the Flash plugin.
* @param aMimeTypes the list of MIME types for the plugin.
* @return true if the tag corresponds to the Flash plugin.
*/
isFlashPlugin : function(aMimeTypes) {
let isFlash = false;
let mimeType;
for (let i = 0; i < aMimeTypes.length; i++) {
mimeType =
((null != aMimeTypes[i].type) ? aMimeTypes[i].type : aMimeTypes[i]);
if (0 == mimeType.indexOf("application/x-shockwave-flash")) {
isFlash = true;
break;
}
}
return isFlash;
}
};
@@ -1,629 +0,0 @@
/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1/GPL 2.0/LGPL 2.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is Preferences.
*
* The Initial Developer of the Original Code is Mozilla.
* Portions created by the Initial Developer are Copyright (C) 2008
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Myk Melez <myk@mozilla.org>
* Daniel Aquino <mr.danielaquino@gmail.com>
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
* the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
* in which case the provisions of the GPL or the LGPL are applicable instead
* of those above. If you wish to allow use of your version of this file only
* under the terms of either the GPL or the LGPL, and not to allow others to
* use your version of this file under the terms of the MPL, indicate your
* decision by deleting the provisions above and replace them with the notice
* and other provisions required by the GPL or the LGPL. If you do not delete
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
let EXPORTED_SYMBOLS = ["Preferences"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cr = Components.results;
const Cu = Components.utils;
Cu.import("resource://gre/modules/Services.jsm");
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
// The minimum and maximum integers that can be set as preferences.
// The range of valid values is narrower than the range of valid JS values
// because the native preferences code treats integers as NSPR PRInt32s,
// which are 32-bit signed integers on all platforms.
const MAX_INT = Math.pow(2, 31) - 1;
const MIN_INT = -MAX_INT;
function Preferences(args) {
if (isObject(args)) {
if (args.branch)
this._prefBranch = args.branch;
}
else if (args)
this._prefBranch = args;
this.isDefaultBranch = false;
}
Preferences.prototype = {
/**
* Get the value of a pref, if any; otherwise return the default value.
*
* @param prefName {String|Array}
* the pref to get, or an array of prefs to get
*
* @param defaultValue
* the default value, if any, for prefs that don't have one
*
* @returns the value of the pref, if any; otherwise the default value
*/
get: function(prefName, defaultValue) {
if (isArray(prefName))
return prefName.map(v => this.get(v, defaultValue));
return this._get(prefName, defaultValue);
},
// In all cases below, the preference might exist as a user pref, but not
// have a default value. In those cases, get* throws. Return the default value.
_get: function(prefName, defaultValue) {
switch (this._prefSvc.getPrefType(prefName)) {
case Ci.nsIPrefBranch.PREF_STRING:
try {
return this._prefSvc.getComplexValue(prefName, Ci.nsISupportsString).data;
} catch (ex) {
if (this.isDefaultBranch)
return defaultValue;
else
return this._prefSvc.getCharPref(prefName);
}
case Ci.nsIPrefBranch.PREF_INT:
try {
return this._prefSvc.getIntPref(prefName);
} catch (ex) {
return defaultValue;
}
case Ci.nsIPrefBranch.PREF_BOOL:
try {
return this._prefSvc.getBoolPref(prefName);
} catch (ex) {
return defaultValue;
}
case Ci.nsIPrefBranch.PREF_INVALID:
return defaultValue;
default:
// This should never happen.
throw "Error getting pref " + prefName + "; its value's type is " +
this._prefSvc.getPrefType(prefName) + ", which I don't know " +
"how to handle.";
}
},
/**
* Set a preference to a value.
*
* You can set multiple prefs by passing an object as the only parameter.
* In that case, this method will treat the properties of the object
* as preferences to set, where each property name is the name of a pref
* and its corresponding property value is the value of the pref.
*
* @param prefName {String|Object}
* the name of the pref to set; or an object containing a set
* of prefs to set
*
* @param prefValue {String|Number|Boolean}
* the value to which to set the pref
*
* Note: Preferences cannot store non-integer numbers or numbers outside
* the signed 32-bit range -(2^31-1) to 2^31-1, If you have such a number,
* store it as a string by calling toString() on the number before passing
* it to this method, i.e.:
* Preferences.set("pi", 3.14159.toString())
* Preferences.set("big", Math.pow(2, 31).toString()).
*/
set: function(prefName, prefValue) {
if (isObject(prefName)) {
for (let [name, value] in Iterator(prefName))
this.set(name, value);
return;
}
this._set(prefName, prefValue);
},
_set: function(prefName, prefValue) {
let prefType;
if (typeof prefValue != "undefined" && prefValue != null)
prefType = prefValue.constructor.name;
var existingPrefType = this._prefSvc.getPrefType(prefName);
if (existingPrefType != Ci.nsIPrefBranch.PREF_INVALID)
{
// convert
if (existingPrefType == Ci.nsIPrefBranch.PREF_INT && prefType == "String")
{
prefValue = parseInt(prefValue);
if (isNaN(prefValue))
throw "Incompatible pref value type - " + prefName;
prefType = "Number";
}
else if (existingPrefType == Ci.nsIPrefBranch.PREF_BOOL && prefType == "String")
{
if (prefValue == "true")
prefValue = true;
else if (prefValue == "false")
prefValue = false;
else
throw "Incompatible pref value type - " + prefName;
prefType = "Boolean";
}
else if (existingPrefType == Ci.nsIPrefBranch.PREF_BOOL && prefType == "Number")
{
prefValue = prefValue != 0;
prefType = "Boolean";
}
}
switch (prefType) {
case "String":
{
try {
this._prefSvc.setStringPref(prefName, prefValue);
} catch (e) {
try {
let string = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString);
string.data = prefValue;
this._prefSvc.setComplexValue(prefName, Ci.nsISupportsString, string);
} catch (e2) {
Components.utils.reportError(e2);
}
}
}
break;
case "Number":
// We throw if the number is outside the range, since the result
// will never be what the consumer wanted to store, but we only warn
// if the number is non-integer, since the consumer might not mind
// the loss of precision.
if (prefValue > MAX_INT || prefValue < MIN_INT)
throw("you cannot set the " + prefName + " pref to the number " +
prefValue + ", as number pref values must be in the signed " +
"32-bit integer range -(2^31-1) to 2^31-1. To store numbers " +
"outside that range, store them as strings.");
try {
this._prefSvc.setIntPref(prefName, prefValue);
} catch (e) {
throw new Error(e.toString() + " - " + prefName);
}
if (prefValue % 1 != 0)
Cu.reportError("Warning: setting the " + prefName + " pref to the " +
"non-integer number " + prefValue + " converted it " +
"to the integer number " + this.get(prefName) +
"; to retain fractional precision, store non-integer " +
"numbers as strings.");
break;
case "Boolean":
this._prefSvc.setBoolPref(prefName, prefValue);
break;
default:
throw "can't set pref " + prefName + " to value '" + prefValue +
"'; it isn't a String, Number, or Boolean";
}
},
/**
* Whether or not the given pref has a value. This is different from isSet
* because it returns true whether the value of the pref is a default value
* or a user-set value, while isSet only returns true if the value
* is a user-set value.
*
* @param prefName {String|Array}
* the pref to check, or an array of prefs to check
*
* @returns {Boolean|Array}
* whether or not the pref has a value; or, if the caller provided
* an array of pref names, an array of booleans indicating whether
* or not the prefs have values
*/
has: function(prefName) {
if (isArray(prefName))
return prefName.map(this.has, this);
return this._has(prefName);
},
_has: function(prefName) {
return (this._prefSvc.getPrefType(prefName) != Ci.nsIPrefBranch.PREF_INVALID);
},
/**
* Whether or not the given pref has a user-set value. This is different
* from |has| because it returns true only if the value of the pref is a user-
* set value, while |has| returns true if the value of the pref is a default
* value or a user-set value.
*
* @param prefName {String|Array}
* the pref to check, or an array of prefs to check
*
* @returns {Boolean|Array}
* whether or not the pref has a user-set value; or, if the caller
* provided an array of pref names, an array of booleans indicating
* whether or not the prefs have user-set values
*/
isSet: function(prefName) {
if (isArray(prefName))
return prefName.map(this.isSet, this);
return (this.has(prefName) && this._prefSvc.prefHasUserValue(prefName));
},
/**
* Whether or not the given pref has a user-set value. Use isSet instead,
* which is equivalent.
* @deprecated
*/
modified: function(prefName) { return this.isSet(prefName) },
reset: function(prefName) {
if (isArray(prefName)) {
prefName.map(v => this.reset(v));
return;
}
this._reset(prefName);
},
_reset: function(prefName) {
try {
this._prefSvc.clearUserPref(prefName);
}
catch(ex) {
// The pref service throws NS_ERROR_UNEXPECTED when the caller tries
// to reset a pref that doesn't exist or is already set to its default
// value. This interface fails silently in those cases, so callers
// can unconditionally reset a pref without having to check if it needs
// resetting first or trap exceptions after the fact. It passes through
// other exceptions, however, so callers know about them, since we don't
// know what other exceptions might be thrown and what they might mean.
if (ex.result != Cr.NS_ERROR_UNEXPECTED)
throw ex;
}
},
/**
* If you need to know the default values, without resetting the actual
* user prefs, you can use this.
* @returns {Preferences} a new Preferences object, which accesses
* the defaults rather than the user prefs.
* *Only* call get() on this.
* If you call set(), you will modify the defaults, so don't do that!
*/
get defaults() {
// nsIPrefService
let defaultBranch = Services.prefs.
getDefaultBranch(this._prefBranch).
QueryInterface(Ci.nsIPrefBranch);
let prefs = new Preferences(this._prefBranch);
// override. nasty, but this is internal, so OK.
Object.defineProperty(prefs, "_prefSvc", {
get: function() {
return defaultBranch;
}
});
prefs.isDefaultBranch = true;
return prefs;
},
/**
* Lock a pref so it can't be changed.
*
* @param prefName {String|Array}
* the pref to lock, or an array of prefs to lock
* @param prefValue {String} (optional)
* default value of pref to lock only works if prefName isn't an array
*/
lock: function(prefName, prefValue) {
if (isArray(prefName))
prefName.map(this.lock, this);
else if (typeof prefValue != "undefined")
this.defaults.set(prefName, prefValue);
this._prefSvc.lockPref(prefName);
},
/**
* Unlock a pref so it can be changed.
*
* @param prefName {String|Array}
* the pref to lock, or an array of prefs to lock
*/
unlock: function(prefName) {
if (isArray(prefName))
prefName.map(this.unlock, this);
this._prefSvc.unlockPref(prefName);
},
/**
* Whether or not the given pref is locked against changes and
* if it is set to the passedi n value
*
* @param prefName {String|Array}
* the pref to check, or an array of prefs to check
* @param prefValue {String|Number|Boolean}}
* the pref value to compare against
*
* @returns {Boolean|Array}
* whether or not the pref is locked; or, if the caller
* provided an array of pref names, an array of booleans indicating
* whether or not the prefs are locked
* If a pref value was specified returns whether or not the pref
* was locked and equal to the passed in value.
*/
locked: function(prefName, prefValue) {
if (isArray(prefName))
return prefName.map(this.locked, this);
if (prefValue)
return this._prefSvc.prefIsLocked(prefName) && (this.get(prefName) == prefValue);
else
return this._prefSvc.prefIsLocked(prefName);
},
/**
* Start observing a pref.
*
* The callback can be a function or any object that implements nsIObserver.
* When the callback is a function and thisObject is provided, it gets called
* as a method of thisObject.
*
* @param prefName {String}
* the name of the pref to observe
*
* @param callback {Function|Object}
* the code to notify when the pref changes;
*
* @param thisObject {Object} [optional]
* the object to use as |this| when calling a Function callback;
*
* @returns the wrapped observer
*/
observe: function(prefName, callback, thisObject) {
let fullPrefName = this._prefBranch + (prefName || "");
let observer = new PrefObserver(fullPrefName, callback, thisObject);
Preferences._prefSvc.addObserver(fullPrefName, observer, true);
observers.push(observer);
return observer;
},
/**
* Stop observing a pref.
*
* You must call this method with the same prefName, callback, and thisObject
* with which you originally registered the observer. However, you don't have
* to call this method on the same exact instance of Preferences; you can call
* it on any instance. For example, the following code first starts and then
* stops observing the "foo.bar.baz" preference:
*
* let observer = function() {...};
* Preferences.observe("foo.bar.baz", observer);
* new Preferences("foo.bar.").ignore("baz", observer);
*
* @param prefName {String}
* the name of the pref being observed
*
* @param callback {Function|Object}
* the code being notified when the pref changes
*
* @param thisObject {Object} [optional]
* the object being used as |this| when calling a Function callback
*/
ignore: function(prefName, callback, thisObject) {
let fullPrefName = this._prefBranch + (prefName || "");
// This seems fairly inefficient, but I'm not sure how much better we can
// make it. We could index by fullBranch, but we can't index by callback
// or thisObject, as far as I know, since the keys to JavaScript hashes
// (a.k.a. objects) can apparently only be primitive values.
let [observer] = observers.filter(v => v.prefName == fullPrefName &&
v.callback == callback &&
v.thisObject == thisObject);
if (observer) {
Preferences._prefSvc.removeObserver(fullPrefName, observer);
observers.splice(observers.indexOf(observer), 1);
}
},
/**
* Same as observe(), but automatically unregisters itself when
* the window closes, saving you from writing an unload handler and
* calling ignore().
* @param win {nsIDOMWindow} your |window|
*/
observeAuto: function(win, prefName, callback, thisObject) {
if (!win instanceof Ci.nsIDOMWindow)
throw "Need your |window| as first parameter";
this.observe(prefName, callback, thisObject);
var self = this;
win.addEventListener("unload", function()
{
self.ignore(prefName, callback, thisObject);
}, false);
win = null; // don't let closure hold on to window unnecessarily
},
resetBranch: function(prefBranch) {
try {
this._prefSvc.resetBranch(prefBranch);
}
catch(ex) {
// The current implementation of nsIPrefBranch in Mozilla
// doesn't implement resetBranch, so we do it ourselves.
if (ex.result == Cr.NS_ERROR_NOT_IMPLEMENTED)
this.reset(this._prefSvc.getChildList(prefBranch, []));
else
throw ex;
}
},
/**
* Returns all child prefs of this pref branch.
* This equals nsIPrefBranch.getChildList().
* This allows you to do e.g.
* var myPrefs = new Preferences("extensions.cooler.");
* var contents = myPrefs.branch("contents.");
* for each (let prefname in contents.childPrefNames())
* dump("have " + contents.get(prefname) + " " + prefname + "\n");
*
* @returns {Array of String} The names of the children,
* without the base pref branch, but with subbranch.
*/
childPrefNames : function() {
return this._prefSvc.getChildList("", []);
},
/**
* Returns an nsIPrefBranch for the pref branch that this object stands for.
* You can use this to use functions that are not supported here.
* @returns {nsIPrefBranch}
*/
get mozillaPrefBranch() {
return this._prefSvc;
},
/**
* Returns the base pref name that this object stands for.
* E.g. "extensions.yourcooler.";
* @returns {String}
*/
get prefBranchName() {
return this._prefBranch;
},
/**
* Returns an Preferences object for an sub pref branch
* underneath the current pref branch.
* @param subbranch {String} Will be appended to the
* current pref branch. Don't forget the trailing dot,
* where necessary.
* E.g. "contents."
* @returns {Preferences}
*/
branch : function(subbranch) {
return new Preferences(this._prefBranch + subbranch);
},
/**
* The branch of the preferences tree to which this instance provides access.
* @private
*/
_prefBranch: "",
/**
* Preferences Service
* @private
*/
get _prefSvc() {
// nsIPrefService
let prefSvc = Services.prefs.
getBranch(this._prefBranch).
QueryInterface(Ci.nsIPrefBranch);
Object.defineProperty(this, "_prefSvc", {
get: function() {
return prefSvc;
}
});
return this._prefSvc;
}
};
// Give the constructor the same prototype as its instances, so users can access
// preferences directly via the constructor without having to create an instance
// first.
Preferences.__proto__ = Preferences.prototype;
/**
* A cache of pref observers.
*
* We use this to remove observers when a caller calls Preferences::ignore.
*
* All Preferences instances share this object, because we want callers to be
* able to remove an observer using a different Preferences object than the one
* with which they added it. That means we have to identify the observers
* in this object by their complete pref name, not just their name relative to
* the root branch of the Preferences object with which they were created.
*/
let observers = [];
function PrefObserver(prefName, callback, thisObject) {
this.prefName = prefName;
this.callback = callback;
this.thisObject = thisObject;
}
PrefObserver.prototype = {
QueryInterface: XPCOMUtils.generateQI([Ci.nsIObserver, Ci.nsISupportsWeakReference]),
observe: function(subject, topic, data) {
// The pref service only observes whole branches, but we only observe
// individual preferences, so we check here that the pref that changed
// is the exact one we're observing (and not some sub-pref on the branch).
if (data != this.prefName)
return;
if (typeof this.callback == "function") {
let prefValue = Preferences.get(this.prefName);
if (this.thisObject)
this.callback.call(this.thisObject, prefValue);
else
this.callback(prefValue);
}
else // typeof this.callback == "object" (nsIObserver)
this.callback.observe(subject, topic, data);
}
};
function isArray(val) {
// We can't check for |val.constructor == Array| here, since the value
// might be from a different context whose Array constructor is not the same
// as ours, so instead we match based on the name of the constructor.
return (typeof val != "undefined" && val != null && typeof val == "object" &&
val.constructor.name == "Array");
}
function isObject(val) {
// We can't check for |val.constructor == Object| here, since the value
// might be from a different context whose Object constructor is not the same
// as ours, so instead we match based on the name of the constructor.
return (typeof val != "undefined" && val != null && typeof val == "object" &&
val.constructor.name == "Object");
}
@@ -1,43 +0,0 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
/**
* JS module implementation of nsIDOMJSWindow.setTimeout and clearTimeout.
*/
this.EXPORTED_SYMBOLS = ["setTimeout", "clearTimeout"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm");
// This gives us >=2^30 unique timer IDs, enough for 1 per ms for 12.4 days.
let gNextTimeoutId = 1; // setTimeout must return a positive integer
let gTimeoutTable = new Map(); // int -> nsITimer
this.setTimeout = function setTimeout(aCallback, aMilliseconds) {
let id = gNextTimeoutId++;
let args = Array.slice(arguments, 2);
let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
timer.initWithCallback(function setTimeout_timer() {
gTimeoutTable.delete(id);
aCallback.apply(null, args);
}, aMilliseconds, timer.TYPE_ONE_SHOT);
gTimeoutTable.set(id, timer);
return id;
}
this.clearTimeout = function clearTimeout(aId) {
if (gTimeoutTable.has(aId)) {
gTimeoutTable.get(aId).cancel();
gTimeoutTable.delete(aId);
}
}
@@ -1,10 +0,0 @@
const {classes: Cc, interfaces: Ci, utils: Cu} = Components;
var EXPORTED_SYMBOLS = ["errorCritical"];
Components.utils.import("resource://gre/modules/Services.jsm");
function errorCritical(e)
{
Services.prompt.alert(null, "", e);
}
@@ -1,24 +0,0 @@
-----BEGIN CERTIFICATE-----
MIID9zCCAt+gAwIBAgIUervWv7EoWkk4Gt8J34xDR9nhH50wDQYJKoZIhvcNAQEL
BQAwgYIxCzAJBgNVBAYTAldXMRQwEgYDVQQIDAtJMlAgTmV0d29yazESMBAGA1UE
CgwJUHVycGxlSTJQMSowKAYDVQQDDCFQdXJwbGVJMlAgQ2VydGlmaWNhdGlvbiBB
dXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDnI0c2FzQG1haWwuaTJwMB4XDTE5MDMw
MzE2MjcxNFoXDTI5MDIyODE2MjcxNFowgYIxCzAJBgNVBAYTAldXMRQwEgYDVQQI
DAtJMlAgTmV0d29yazESMBAGA1UECgwJUHVycGxlSTJQMSowKAYDVQQDDCFQdXJw
bGVJMlAgQ2VydGlmaWNhdGlvbiBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEWDnI0
c2FzQG1haWwuaTJwMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwLEy
A0TamzrfORA+aIM/NRRGrKYkI9o5Q9UB/pTM8IFlSBREGleUfnC6LFHZeNV+Y1Tn
jrMBOZ7PmIKjPIv+fJP7KjhHACZdk6iqVZqkiGqE0/V17kG16g1+g05Bj2lkWr94
mp1rhzBeKJJSI8cG82824qdfDcgWZheziye+O0okENhi0o2bDhg78EnyysJiN/tu
OuoZSGfC9ZdITbpMWgqwuQcdeBg0FNy4hEqUJWoYNgrghe5uc0WMOjTAegSntYPE
MeaaZyzlGICZ2F+rKZgTjnzVYW60QlHqfg7sShieSPYIZmeN5l5hZ5GZk9Giaj/X
4pz4sup2iafKclWAmQIDAQABo2MwYTAdBgNVHQ4EFgQUCARvpDaXqPaF4amObzzV
GaDoZm4wHwYDVR0jBBgwFoAUCARvpDaXqPaF4amObzzVGaDoZm4wDwYDVR0TBAgw
BgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwDQYJKoZIhvcNAQELBQADggEBAKcmGUXV
gCw8PRHe0+XlkcSTX69e0TIPP+j5uJxMT3BHasvBdyV4FcjuUokHGjAnHal5OV4N
yWdbRPnIge7su4yLQZzlNM1OzbcRds1wSbqTEpb68R/6E8mv3ms6Rc8AcRoXwusc
byZvzS9tBSXTQ21wCVrltnIARAYabWlWu+URv+DFvlwMik6H8+DklHSVkPC6K3Ov
V1aMJztMnJ/XTTsFDS/yvaTfmJFG16LABIiSsEAW5QK64sWsN4sxvpcg0D6/EjWP
knyLM4KXuD3i08mzwzus8d97AjGxC5RCEFL5ADBpVaDU/5CpmZmZdY1daYjiHrXm
EVNoSbqid1fAVyA=
-----END CERTIFICATE-----
@@ -0,0 +1,96 @@
{
"policies": {
"AppUpdateURL": "http://127.0.0.1/",
"CaptivePortal": false,
"Certificates": {
"ImportEnterpriseRoots": false
},
"DNSOverHTTPS": {
"Enabled": false,
"Locked": true
},
"DisableAppUpdate": true,
"DisableFeedbackCommands": true,
"DisableFirefoxAccounts": true,
"DisableFirefoxScreenshots": true,
"DisableFirefoxStudies": true,
"DisablePasswordReveal": true,
"DisablePocket": true,
"DisableProfileImport": true,
"DisableProfileRefresh": true,
"DisableSafeMode": true,
"DisableSetDesktopBackground": true,
"DisableSystemAddonUpdate": true,
"DisableTelemetry": true,
"DontCheckDefaultBrowser": true,
"ExtensionUpdate": false,
"Extensions": {
"Locked": [
"73a6fe31-595d-460b-a920-fcc0f8843232"
]
},
"FirefoxHome": {
"Highlights": false,
"Pocket": false,
"Search": true,
"Snippets": false,
"TopSites": true
},
"FlashPlugin": {
"Default": false
},
"NetworkPrediction": false,
"NoDefaultBookmarks": true,
"OfferToSaveLoginsDefault": false,
"OverrideFirstRunPage": "http://i2pd.i2p/",
"OverridePostUpdatePage": "",
"Permissions": {
"Camera": {
"BlockNewRequests": true
},
"Location": {
"BlockNewRequests": true
},
"Microphone": {
"BlockNewRequests": true
}
},
"PopupBlocking": {
"Default": true
},
"Preferences": {
"browser.cache.disk.enable": true,
"browser.fixup.dns_first_for_single_words": false,
"browser.search.update": false,
"browser.tabs.warnOnClose": false,
"browser.urlbar.suggest.bookmark": true,
"browser.urlbar.suggest.history": true,
"browser.urlbar.suggest.openpage": true,
"datareporting.policy.dataSubmissionPolicyBypassNotification": true,
"dom.disable_window_flip": true,
"dom.disable_window_move_resize": true,
"dom.event.contextmenu.enabled": false,
"network.IDN_show_punycode": false,
"network.dns.disableIPv6": true,
"places.history.enabled": true,
"privacy.file_unique_origin": true
},
"PromptForDownloadLocation": true,
"Proxy": {
"AutoLogin": true,
"FTPProxy": "127.0.0.1:4444",
"HTTPProxy": "127.0.0.1:4444",
"Mode": "manual",
"SOCKSVersion": 5,
"SSLProxy": "127.0.0.1:4444",
"UseHTTPProxyForAllProtocols": false,
"UseProxyForDNS": true
},
"SearchBar": "unified",
"SearchSuggestEnabled": false,
"SupportMenu": {
"Title": "Ilita IRC",
"URL": "http://irc.r4sas.i2p/?nick=WebClient...&channels=dev%2Cen%2Cru&prompt=1&uio=OT10cnVlde"
}
}
}
+53 -126
View File
@@ -6,38 +6,46 @@
* See full license text in LICENSE file at top of project tree
*/
/* Do not edit this file.
*
* If you make changes to this file while the browser is running,
* the changes will be overwritten when the browser exits.
*
* To make a manual change to preferences, you can visit the URL about:config
* For more information, see http://www.mozilla.org/unix/customizing.html#prefs
*/
lockPref("accessibility.force_disabled", 1);
defaultPref("app.normandy.first_run", false);
lockPref("app.normandy.enabled", false);
lockPref("app.normandy.optoutstudies.enabled", false);
lockPref("app.shield.optoutstudies.enabled", false);
lockPref("app.update.auto", false);
lockPref("app.update.BITS.enabled", false);
lockPref("app.update.channel", "i2pdbrowser");
lockPref("app.update.disable_button.showUpdateHistory", true);
lockPref("app.update.enabled", false);
lockPref("app.update.interval", 0);
lockPref("app.update.service.enabled", false);
lockPref("app.update.url", "");
defaultPref("beacon.enabled", false);
pref("breakpad.reportURL", "");
pref("browser.aboutHomeSnippets.updateUrl", "");
defaultPref("browser.aboutHomeSnippets.updateUrl", "");
lockPref("browser.aboutwelcome.enabled", false);
defaultPref("browser.cache.disk.capacity", 131072);
defaultPref("browser.cache.offline.enable", false);
defaultPref("browser.casting.enabled", false);
lockPref("browser.contentblocking.database.enabled", false);
lockPref("browser.contentblocking.report.lockwise.enabled", false);
lockPref("browser.contentblocking.report.monitor.enabled", false);
lockPref("browser.discovery.enabled", false);
pref("browser.download.manager.retention", 0);
defaultPref("browser.download.useDownloadDir", false);
defaultPref("browser.feeds.showFirstRunUI", false);
defaultPref("browser.fixup.alternate.enabled", false);
defaultPref("browser.formfill.enable", false);
defaultPref("browser.formfill.expire_days", 0);
lockPref("browser.messaging-system.whatsNewPanel.enabled", false);
lockPref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false);
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
lockPref("browser.newtabpage.activity-stream.default.sites", "http://i2pd.i2p/,http://333.i2p/,http://inr.i2p/,http://102chan.i2p/,http://flibusta.i2p/,http://fsoc.i2p/,http://lifebox.i2p/,http://onelon.i2p/,http://wiki.ilita.i2p/");
lockPref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
lockPref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
lockPref("browser.newtabpage.activity-stream.feeds.snippets", false);
defaultPref("browser.newtabpage.activity-stream.showSearch", true);
lockPref("browser.newtabpage.activity-stream.showSponsored", false);
lockPref("browser.newtabpage.activity-stream.telemetry", false);
pref("browser.newtabpage.activity-stream.topSitesRows", 2);
pref("browser.newtabpage.enhanced", false);
@@ -49,6 +57,7 @@ defaultPref("browser.onboarding.tour.onboarding-tour-performance.completed", tru
defaultPref("browser.onboarding.tour.onboarding-tour-private-browsing.completed", true);
defaultPref("browser.onboarding.tour.onboarding-tour-screenshots.completed", true);
defaultPref("browser.pagethumbnails.capturing_disabled", true);
lockPref("browser.ping-centre.telemetry", false);
defaultPref("browser.places.smartBookmarksVersion", -1);
pref("browser.reader.detectedFirstArticle", false);
pref("browser.rights.3.shown", true);
@@ -79,24 +88,30 @@ defaultPref("browser.safebrowsing.updateURL", "");
defaultPref("browser.safebrowsing.warning.infoURL", "");
defaultPref("browser.search.countryCode", "US");
defaultPref("browser.search.defaultenginename", "YaCy 'legwork'");
defaultPref("browser.search.defaultenginename.US", "YaCy 'legwork'");
defaultPref("browser.search.geoSpecificDefaults", false);
defaultPref("browser.search.geoSpecificDefaults.url", "");
defaultPref("browser.search.geoip.url", "");
defaultPref("browser.search.hiddenOneOffs", "Amazon.com,Bing,DuckDuckGo,eBay,Google,Twitter,Wikipedia (en)");
defaultPref("browser.search.official", false);
defaultPref("browser.search.order.1", "YaCy 'legwork'");
defaultPref("browser.search.order.2", "");
defaultPref("browser.search.order.3", "");
defaultPref("browser.search.order.US.1", "YaCy 'legwork'");
defaultPref("browser.search.order.US.2", "");
defaultPref("browser.search.order.US.3", "");
defaultPref("browser.search.redirectWindowsSearch", false);
defaultPref("browser.search.region", "US");
defaultPref("browser.search.searchEnginesURL", "");
defaultPref("browser.search.suggest.enabled", false);
defaultPref("browser.search.update", false);
pref("browser.search.widget.inNavBar", true);
lockPref("browser.send_pings", false);
pref("browser.send_pings.require_same_host", true);
defaultPref("browser.shell.checkDefaultBrowser", false);
pref("browser.startup.homepage", "http://i2pd.i2p/");
defaultPref("browser.startup.homepage_override.mstone", "ignore");
defaultPref("browser.tabs.closeWindowWithLastTab", false);
lockPref("browser.tabs.crashReporting.sendReport", false);
defaultPref("browser.translation.engine", "");
defaultPref("browser.uitour.enabled", false);
defaultPref("browser.urlbar.formatting.enabled", false);
defaultPref("browser.urlbar.maxRichResults", 12);
@@ -125,6 +140,8 @@ pref("devtools.debugger.remote-enabled", false);
pref("devtools.webide.autoinstallADBHelper", false);
pref("devtools.webide.autoinstallFxdtAdapters", false);
pref("devtools.webide.enabled", false);
defaultPref("devtools.whatsnew.enabled", false);
defaultPref("devtools.whatsnew.feature-enabled", false);
pref("dom.allow_cut_copy", false);
pref("dom.archivereader.enabled", false);
pref("dom.battery.enabled", false);
@@ -139,6 +156,7 @@ pref("dom.maxHardwareConcurrency", 2);
pref("dom.mozTCPSocket.enabled", false);
pref("dom.netinfo.enabled", false);
pref("dom.network.enabled", false);
defaultPref("dom.push.enabled", false);
pref("dom.telephony.enabled", false);
pref("dom.vibrator.enabled", false);
pref("dom.vr.enabled", false);
@@ -148,13 +166,17 @@ pref("dom.workers.enabled", false);
pref("experiments.enabled", false);
pref("experiments.manifest.uri", "");
pref("experiments.supported", false);
pref("extensions.abuseReport.enabled", false);
pref("extensions.autoDisableScopes", 0);
pref("extensions.blocklist.enabled", false);
pref("extensions.blocklist.url", "");
pref("extensions.getAddons.cache.enabled", false);
defaultPref("extensions.getAddons.cache.enabled", false);
pref("extensions.lazarus.showDonateNotification", false);
lockPref("extensions.pocket.enabled", false);
lockPref("extensions.screenshots.upload-disabled", true);
pref("extensions.shownSelectionUI", true);
defaultPref("extensions.systemAddon.update.enabled", false);
defaultPref("extensions.systemAddon.update.url", "");
pref("extensions.ui.lastCategory", "addons://list/extension");
pref("extensions.update.autoUpdateDefault", false);
defaultPref("extensions.update.enabled", false);
@@ -163,23 +185,26 @@ pref("full-screen-api.warning.timeout", 0);
pref("general.buildID.override", "20100101");
lockPref("general.platform.override", "Win32");
lockPref("general.useragent.locale", "en-US");
lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0");
lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/78.0");
pref("general.warnOnAboutConfig", false);
defaultPref("geo.enabled", false);
lockPref("geo.wifi.logging.enabled", false);
defaultPref("geo.wifi.uri", "");
lockPref("identity.fxaccounts.commands.enabled", false);
lockPref("identity.fxaccounts.enabled", false);
defaultPref("intl.locale.matchOS", true);
pref("javascript.use_us_english_locale", true);
pref("keyword.enabled", false);
pref("lightweightThemes.update.enabled", false);
pref("loop.logDomains", false);
lockPref("marionette.enabled", false);
defaultPref("media.eme.enabled", false);
lockPref("media.getusermedia.audiocapture.enabled", false);
lockPref("media.getusermedia.screensharing.enabled", false);
pref("media.gmp-eme-adobe.enabled", false);
pref("media.gmp-gmpopenh264.enabled", false);
defaultPref("media.gmp-gmpopenh264.enabled", false);
pref("media.gmp-gmpopenh264.provider.enabled", false);
pref("media.gmp-manager.cert.checkAttributes", false);
pref("media.gmp-manager.url", "");
defaultPref("media.navigator.enabled", false);
defaultPref("media.navigator.video.enabled", false);
@@ -192,34 +217,25 @@ defaultPref("media.peerconnection.use_document_iceservers", false);
defaultPref("media.video_stats.enabled", false);
defaultPref("media.webspeech.recognition.enable", false);
defaultPref("media.webspeech.synth.enabled", false);
defaultPref("messaging-system.rsexperimentloader.enabled", false);
defaultPref("network.IDN.whitelist.i2p", true);
defaultPref("network.IDN_show_punycode", true);
defaultPref("network.allow-experiments", false);
lockPref("network.captive-portal-service.enabled", false);
lockPref("network.connectivity-service.enabled", false);
pref("network.cookie.prefsMigrated", true);
defaultPref("network.dns.disableIPv6", true);
defaultPref("network.dns.disablePrefetchFromHTTPS", true);
defaultPref("network.dns.disableprefetch", true);
pref("network.http.speculative-parallel-limit", 0);
defaultPref("network.dns.disablePrefetch", true);
defaultPref("network.http.speculative-parallel-limit", 0);
defaultPref("network.jar.open-unsafe-types", false);
pref("network.manage-offline-status", false);
defaultPref("network.negotiate-auth.allow-insecure-ntlm-v1", false);
defaultPref("network.notify.changed", false);
pref("network.predictor.enabled", false);
defaultPref("network.prefetch-next", false);
pref("network.protocol-handler.expose-all", false);
pref("network.protocol-handler.expose.about", true);
pref("network.protocol-handler.expose.file", true);
pref("network.protocol-handler.expose.ftp", true);
pref("network.protocol-handler.expose.http", true);
pref("network.protocol-handler.expose.https", true);
pref("network.protocol-handler.expose.javascript", true);
pref("network.protocol-handler.expose.moz-extension", true);
pref("network.protocol-handler.external.about", false);
pref("network.protocol-handler.external.file", false);
pref("network.protocol-handler.external.ftp", false);
pref("network.protocol-handler.external.http", false);
pref("network.protocol-handler.external.https", false);
pref("network.protocol-handler.external.javascript", false);
pref("network.protocol-handler.external.moz-extension", false);
pref("network.protocol-handler.expose-all", true);
defaultPref("network.protocol-handler.external-default", false);
defaultPref("network.protocol-handler.warn-external-default", true);
defaultPref("network.proxy.ftp", "127.0.0.1");
defaultPref("network.proxy.ftp_port", 4444);
@@ -250,19 +266,23 @@ defaultPref("privacy.resistFingerprinting", true);
pref("privacy.sanitize.timeSpan", 0);
defaultPref("privacy.spoof_english", 2);
defaultPref("privacy.trackingprotection.enabled", true);
lockPref("privacy.userContext.enabled", true);
//lockPref("privacy.userContext.enabled", true);
defaultPref("reader.parse-on-load.enabled", false);
defaultPref("reader.parse-on-load.force-enabled", false);
defaultPref("security.insecure_field_warning.contextual.enabled", false);
defaultPref("security.insecure_password.ui.enabled", false);
defaultPref("security.ssl.errorReporting.enabled", false);
defaultPref("security.OCSP.enabled", 0);
defaultPref("services.blocklist.update_enabled", false);
pref("services.settings.server", "");
lockPref("services.sync.enabled", false);
pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", false);
pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false);
pref("services.sync.prefs.sync.browser.search.update", false);
pref("services.sync.prefs.sync.extensions.update.enabled", false);
pref("signon.autofillForms", false);
defaultPref("signon.management.page.breach-alerts.enabled", false);
defaultPref("signon.management.page.vulnerable-passwords.enabled", false);
pref("signon.rememberSignons", false);
defaultPref("startup.homepage_welcome_url", "http://i2pd.i2p/");
pref("startup.homepage_welcome_url.additional", "about:blank");
@@ -278,96 +298,3 @@ defaultPref("webgl.disable-fail-if-major-performance-caveat", true);
defaultPref("webgl.disabled", true);
defaultPref("webgl.enable-debug-renderer-info", false);
defaultPref("webgl.min_capability_mode", true);
var config = {
"cckVersion": "2.2.9",
"name": "I2Pd Browser",
"description": "Preconfigured for use with I2P browser",
"version": "1.2.8",
"homePage": "http://i2pd.i2p/",
"welcomePage": "http://i2pd.i2p/",
"titlemodifier": "I2Pd Browser",
"extension": {
"name": "I2Pd Browser"
},
"noWelcomePage": true,
"noUpgradePage": true,
"removeSetDesktopBackground": true,
"removeSafeModeMenu": true,
"noGetAddons": true,
"noAddonCompatibilityCheck": true,
"disableSearchEngineInstall": true,
"removeDefaultSearchEngines": false,
"displayBookmarksToolbar": true,
"removeSmartBookmarks": true,
"removeDefaultBookmarks": true,
"removeDuplicateBookmarkNames": true,
"dontCheckDefaultBrowser": true,
"dontUseDownloadDir": true,
"disableFormFill": true,
"disableSync": true,
"disableCrashReporter": true,
"disableTelemetry": true,
"disableFirefoxHealthReportUpload": true,
"disableFirefoxHealthReport": true,
"disableFirefoxUpdates": true,
"removeSnippets": true,
"disableResetFirefox": true,
"disableWebApps": true,
"disableHello": true,
"disableSharePage": true,
"disableForget": true,
"disableHeartbeat": true,
"disablePocket": true,
"disableAboutSupport": true,
"disableAboutProfiles": true,
"showSearchBar": true,
"autoconfig": {
"disableProfileMigrator": true
},
"id": "i2pdbrowser",
"hiddenUI": [
"#defaultBrowserBox",
"#enableSearchUpdate",
"#dataCollectionCategory",
"#dataCollectionGroup",
".help-button",
"#onboarding-overlay-button",
".prefs-modal-inner-wrapper > section:nth-child(6)"
],
"searchplugins": {
"YaCy 'legwork'": "http://legwork.i2p/opensearchdescription.xml"
},
"defaultSearchEngine": "YaCy 'legwork'",
"certs": {
"ca": [
{
"url": "resource://cck2_i2pdbrowser/certs/purplei2p_ca.pem",
"trust": "CTc,CTc,CTc"
}
]
}
};
var io = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var resource = io.getProtocolHandler("resource")
.QueryInterface(Components.interfaces.nsIResProtocolHandler);
var greDir = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("GreD", Components.interfaces.nsIFile);
var cck2ModuleDir = greDir.clone();
cck2ModuleDir.append("cck2");
cck2ModuleDir.append("modules");
var cck2Alias = io.newFileURI(cck2ModuleDir);
resource.setSubstitution("cck2", cck2Alias);
var configModuleDir = greDir.clone();
configModuleDir.append("cck2");
configModuleDir.append("resources");
var configAlias = io.newFileURI(configModuleDir);
resource.setSubstitution("cck2_i2pdbrowser", configAlias);
Components.utils.import("resource://cck2/CCK2.jsm");
CCK2.init(config, "ä"[0], "ä");
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,23 @@
-----BEGIN CERTIFICATE-----
MIID7DCCAtSgAwIBAgIJAKXaTovgoTIUMA0GCSqGSIb3DQEBCwUAMIGCMQswCQYD
VQQGEwJXVzEUMBIGA1UECAwLSTJQIE5ldHdvcmsxEjAQBgNVBAoMCVB1cnBsZUky
UDEqMCgGA1UEAwwhUHVycGxlSTJQIENlcnRpZmljYXRpb24gQXV0aG9yaXR5MR0w
GwYJKoZIhvcNAQkBFg5yNHNhc0BtYWlsLmkycDAeFw0xODA4MjQyMTQ3NTJaFw0y
MzA4MjMyMTQ3NTJaMIGCMQswCQYDVQQGEwJXVzEUMBIGA1UECAwLSTJQIE5ldHdv
cmsxEjAQBgNVBAoMCVB1cnBsZUkyUDEqMCgGA1UEAwwhUHVycGxlSTJQIENlcnRp
ZmljYXRpb24gQXV0aG9yaXR5MR0wGwYJKoZIhvcNAQkBFg5yNHNhc0BtYWlsLmky
cDCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALAZnN/U5bgkmiBqp/Np
yiMOkUPjr2tLhV78Oba46xDLA6AiQ7yTPg+/ZYPIfbF2dPBTpfgGdly2M1xymRKc
3Pa+IUXkLw6oCA+lFzOFW0Swtekk9HRAgGyHgj6/Hvagva5Wer4HJIO1qRsFPew+
XcM3uhhiXoiO8o+YGpJ/7kz0gED3p2b9OVsLPd8G/GfdR3miD+Au+kUx/27z/WdJ
ISfFILFnYeYZGffrpRcFtoGwuZUCugwnbLtpQpNKuGq8jDidm1v6Rb85JmkoH3Sg
lRaX1MK0aPhM4WfCf7aWCNe669FAWPNB3Ya2lue7ewPLI84ZUEqcoJwmWn2ci2SU
EXUCAwEAAaNjMGEwHQYDVR0OBBYEFG3hwzikpXqMasw678OHM8uLyjEoMB8GA1Ud
IwQYMBaAFG3hwzikpXqMasw678OHM8uLyjEoMA8GA1UdEwQIMAYBAf8CAQAwDgYD
VR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4IBAQA07URxJMI/Ta9y1wIg+k7o
1aHXsl6YOXmd2ymhKZhZHrZlutE2U19IQSoEV0SBddP9D05xD6Ovsrwo7caeYzNt
+2DJnlJ2IY61NqYUIDEoJyNPL/S7WleH+xO+bcSqWvbntTNYAD6WQVfHCAimVE6P
RnSZGqG089i84DRCyrh/6F1OxnBd6j14z+2ctQD+h6NlQXiCAUIwzVirYoE7oGpH
Xta7Ei+RDvBXLXLAQRdXpzSP/Ddf7MCJzmH3VYAy+0sVuHr09hpFMtC59hTrdLVD
/qma0eKrBr1DGH6QrZMZDqpNfv4wUPyVQBsRbbn2/1fL9IqK43CIj8RUllCOsmyU
-----END CERTIFICATE-----
-1
View File
@@ -1 +0,0 @@
{"chrome://browser/content/browser.xul":{"navigator-toolbox":{"iconsize":"small"},"titlebar-placeholder-on-menubar-for-caption-buttons":{"width":"102"},"titlebar-placeholder-on-TabsToolbar-for-captions-buttons":{"width":"102"},"main-window":{"screenX":"30","screenY":"30","width":"1280","height":"720","sizemode":"normal"},"PersonalToolbar":{"collapsed":"false","currentset":"personal-bookmarks"},"toolbar-menubar":{"currentset":"menubar-items"},"TabsToolbar":{"currentset":"tabbrowser-tabs,new-tab-button,alltabs-button"},"addon-bar":{"currentset":"addonbar-closebutton,status-bar"},"nav-bar":{"currentset":"back-button,forward-button,stop-reload-button,urlbar-container,bookmarks-menu-button,downloads-button,_73a6fe31-595d-460b-a920-fcc0f8843232_-browser-action"},"sidebar-title":{"value":""}}}
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env bash
I2PDB_START_PROG="$(grep '^X-I2PdBrowser-ExecShell' $1 | tail -1 | sed 's/^X-I2PdBrowser-ExecShell=//' | sed 's/%.//')"
shift
if [ "$#" -ge 1 ]
then
echo "Launching '${I2PDB_START_PROG} $@'..."
else
echo "Launching '${I2PDB_START_PROG}'..."
fi
${I2PDB_START_PROG} "$@"
+289
View File
@@ -0,0 +1,289 @@
#!/usr/bin/env bash
#
# GNU/Linux does not really require something like RelativeLink.c
# However, we do want to have the same look and feel with similar features.
#
# Copyright 2017 The Tor Project. See LICENSE for licensing information.
complain_dialog_title="I2Pd Browser"
# Make sure this script wasn't started as 'sh start-i2pd-browser' or similar.
if [ "x$BASH" = "x" ]; then
echo "$complain_dialog_title should be started as './start-i2pd-browser'"
echo "Exiting." >&2
exit 1;
fi
# Do not (try to) connect to the session manager
unset SESSION_MANAGER
# Complain about an error, by any means necessary.
# Usage: complain message
# message must not begin with a dash.
complain () {
# Trim leading newlines, to avoid breaking formatting in some dialogs.
complain_message="`echo "$1" | sed '/./,$!d'`"
# If we're being run in debug/verbose mode, complain to stderr.
if [ "$show_output" -eq 1 ]; then
echo "$complain_message" >&2
return
fi
# Otherwise, we're being run by a GUI program of some sort;
# try to pop up a message in the GUI in the nicest way
# possible.
#
# In mksh, non-existent commands return 127; I'll assume all
# other shells set the same exit code if they can't run a
# command. (xmessage returns 1 if the user clicks the WM
# close button, so we do need to look at the exact exit code,
# not just assume the command failed to display a message if
# it returns non-zero.)
# First, try zenity.
zenity --error \
--title="$complain_dialog_title" \
--text="$complain_message"
if [ "$?" -ne 127 ]; then
return
fi
# Try kdialog.
kdialog --title "$complain_dialog_title" \
--error "$complain_message"
if [ "$?" -ne 127 ]; then
return
fi
# Try xmessage.
xmessage -title "$complain_dialog_title" \
-center \
-buttons OK \
-default OK \
-xrm '*message.scrollVertical: Never' \
"$complain_message"
if [ "$?" -ne 127 ]; then
return
fi
# Try gxmessage. This one isn't installed by default on
# Debian with the default GNOME installation, so it seems to
# be the least likely program to have available, but it might
# be used by one of the 'lightweight' Gtk-based desktop
# environments.
gxmessage -title "$complain_dialog_title" \
-center \
-buttons GTK_STOCK_OK \
-default OK \
"$complain_message"
if [ "$?" -ne 127 ]; then
return
fi
}
if [ "`id -u`" -eq 0 ]; then
complain "The I2Pd Browser Bundle should not be run as root. Exiting."
exit 1
fi
if test -r /proc/cpuinfo && ! grep -q '^flags\s*:.* sse2' /proc/cpuinfo; then
complain "I2Pd Browser requires a CPU with SSE2 support. Exiting."
exit 1
fi
tbb_usage () {
printf "\nI2Pd Browser Script Options\n"
printf " --verbose Display Firefox output in the terminal\n"
printf " --log [file] Record Firefox output in file (default: i2pd-browser.log)\n"
printf " --detach Detach from terminal and run I2Pd Browser in the background.\n"
printf " --register-app Register I2Pd Browser as a desktop app for this user\n"
printf " --unregister-app Unregister I2Pd Browser as a desktop app for this user\n"
}
log_output=0
show_output=0
detach=0
show_usage=0
register_desktop_app=0
logfile=/dev/null
while :
do
case "$1" in
--detach)
detach=1
shift
;;
-v | --verbose | -d | --debug)
show_output=1
verbose_arg="$2"
shift
;;
-h | "-?" | --help | -help)
show_usage=1
show_output=1
shift
;;
-l | --log)
if [ -z "$2" -o "${2:0:1}" == "-" ]; then
printf "Logging I2Pd Browser debug information to i2pd-browser.log\n"
logfile="../i2pd-browser.log"
elif [ "${2:0:1}" == "/" -o "${2:0:1}" == "~" ]; then
printf "Logging I2Pd Browser debug information to %s\n" "$2"
logfile="$2"
shift
else
printf "Logging I2Pd Browser debug information to %s\n" "$2"
logfile="../$2"
shift
fi
log_output=1
shift
;;
--register-app)
register_desktop_app=1
show_output=1
shift
;;
--unregister-app)
register_desktop_app=-1
show_output=1
shift
;;
*) # No more options
break
;;
esac
done
# We can't detach and show output at the same time..
if [ "$show_output" -eq 1 -a "$detach" -eq 1 ]; then
detach=0
fi
if [ "$show_output" -eq 0 ]; then
# If the user hasn't requested 'debug mode' or --help, close stdout and stderr,
# to keep Firefox and the stuff loaded by/for it (including the
# system's shared-library loader) from printing messages to
# $HOME/.xsession-errors or other files. (Users wouldn't have seen
# messages there anyway.)
exec > "$logfile"
exec 2> "$logfile"
fi
# If XAUTHORITY is unset, set it to its default value of $HOME/.Xauthority
# before we change HOME below. (See xauth(1) and #1945.) XDM and KDM rely
# on applications using this default value.
if [ -z "$XAUTHORITY" ]; then
XAUTHORITY=~/.Xauthority
export XAUTHORITY
fi
# If this script is being run through a symlink, we need to know where
# in the filesystem the script itself is, not where the symlink is.
myname="$0"
if [ -L "$myname" ]; then
# XXX readlink is not POSIX, but is present in GNU coreutils
# and on FreeBSD. Unfortunately, the -f option (which follows
# a whole chain of symlinks until it reaches a non-symlink
# path name) is a GNUism, so we have to have a fallback for
# FreeBSD. Fortunately, FreeBSD has realpath instead;
# unfortunately, that's also non-POSIX and is not present in
# GNU coreutils.
#
# If this launcher were a C program, we could just use the
# realpath function, which *is* POSIX. Too bad POSIX didn't
# make that function accessible to shell scripts.
# If realpath is available, use it; it Does The Right Thing.
possibly_my_real_name="`realpath "$myname" 2>/dev/null`"
if [ "$?" -eq 0 ]; then
myname="$possibly_my_real_name"
else
# realpath is not available; hopefully readlink -f works.
myname="`readlink -f "$myname" 2>/dev/null`"
if [ "$?" -ne 0 ]; then
# Ugh.
complain "start-i2pd-browser cannot be run using a symlink on this operating system."
fi
fi
fi
# Try to be agnostic to where we're being started from, chdir to where
# the script is.
mydir="`dirname "$myname"`"
test -d "$mydir" && cd "$mydir"
# If ${PWD} results in a zero length string, we can try something else...
if [ ! "${PWD}" ]; then
# "hacking around some braindamage"
PWD="`pwd`"
surveysays="This system has a messed up shell.\n"
fi
# This is a fix for an ibus issue on some Linux systems. See #9353 for more
# details. The symlink needs to be created before we change HOME.
if [ ! -d ".config/ibus" ]; then
mkdir -p .config/ibus
ln -nsf ~/.config/ibus/bus .config/ibus
fi
# Fix up .desktop Icon and Exec Paths, and update the .desktop file from the
# canonical version if it was changed by the updater.
cp start-i2pd-browser.desktop ../
sed -i -e "s,^Name=.*,Name=I2Pd Browser,g" ../start-i2pd-browser.desktop
sed -i -e "s,^Icon=.*,Icon=$PWD/browser/chrome/icons/default/default128.png,g" ../start-i2pd-browser.desktop
sed -i -e "s,^Exec=.*,Exec=sh -c '\"$PWD/start-i2pd-browser\" --detach || ([ ! -x \"$PWD/start-i2pd-browser\" ] \&\& \"\$(dirname \"\$*\")\"/Browser/start-i2pd-browser --detach)' dummy %k,g" ../start-i2pd-browser.desktop
if [ "$register_desktop_app" -eq 1 ]; then
mkdir -p "$HOME/.local/share/applications/"
cp ../start-i2pd-browser.desktop "$HOME/.local/share/applications/"
update-desktop-database "$HOME/.local/share/applications/"
printf "I2Pd Browser has been registered as a desktop app for this user in ~/.local/share/applications/\n"
exit 0
fi
if [ "$register_desktop_app" -eq -1 ]; then
if [ -e "$HOME/.local/share/applications/start-i2pd-browser.desktop" ]; then
rm -f "$HOME/.local/share/applications/start-i2pd-browser.desktop"
update-desktop-database "$HOME/.local/share/applications/"
printf "I2Pd Browser has been removed as a user desktop app (from ~/.local/share/applications/)\n"
else
printf "I2Pd Browser does not appear to be a desktop app (not present in ~/.local/share/applications/)\n"
fi
exit 0
fi
HOME="${PWD}"
export HOME
# Avoid overwriting user's dconf values. Fixes #27903.
export GSETTINGS_BACKEND=memory
cd "${HOME}"
# We pass all additional command-line arguments we get to Firefox.
#
# The --class parameter was added to fix bug 11102.
if [ "$show_usage" -eq 1 ]; then
# Display Firefox help, then our help
./firefox --class "I2Pd Browser" \
-profile data --help 2>/dev/null
tbb_usage
elif [ "$detach" -eq 1 ] ; then
./firefox --class "I2Pd Browser" \
-profile data "${@}" > "$logfile" 2>&1 </dev/null &
disown "$!"
elif [ "$log_output" -eq 1 -a "$show_output" -eq 1 ]; then
./firefox --class "I2Pd Browser" \
-profile data "${@}" 2>&1 </dev/null | \
tee "$logfile"
elif [ "$show_output" -eq 1 ]; then
./firefox --class "I2Pd Browser" \
-profile data "${@}" < /dev/null
else
./firefox --class "I2Pd Browser" \
-profile data "${@}" > "$logfile" 2>&1 </dev/null
fi
exit $?
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env ./browser/execdesktop
#
# This file is a self-modifying .desktop file that can be run from the shell.
# It preserves arguments and environment for the start-tor-browser script.
#
# Run './start-i2pd-browser.desktop --help' to display the full set of options.
#
# When invoked from the shell, this file must always be in a Tor Browser root
# directory. When run from the file manager or desktop GUI, it is relocatable.
#
# After first invocation, it will update itself with the absolute path to the
# current TBB location, to support relocation of this .desktop file for GUI
# invocation. You can also add Tor Browser to your desktop's application menu
# by running './start-i2pd-browser.desktop --register-app'
#
# If you use --register-app, and then relocate your TBB directory, Tor Browser
# will no longer launch from your desktop's app launcher/dock. However, if you
# re-run --register-app from inside that new directory, the script
# will correct the absolute paths and re-register itself.
#
# This file will also still function if the path changes when TBB is used as a
# portable app, so long as it is run directly from that new directory, either
# via the shell or via the file manager.
[Desktop Entry]
Type=Application
Name=I2Pd Browser Setup
GenericName=I2Pd Browser
Comment=I2Pd Browser for surfing I2P sites
Categories=Network;WebBrowser;Security;
Exec=sh -c '"$(dirname "$*")"/browser/start-i2pd-browser --detach || ([ ! -x "$(dirname "$*")"/browser/start-i2pd-browser ] && "$(dirname "$*")"/start-i2pd-browser --detach)' dummy %k
X-I2PdBrowser-ExecShell=./browser/start-i2pd-browser --detach
Icon=web-browser
StartupWMClass=I2Pd Browser
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc6gAwIBAgIUcPHZXtYSqGNRCD6z8gp79WUFtI0wCgYIKoZIzj0EAwIw
gZMxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEPMA0GA1UEBwwGQXVzdGlu
MRgwFgYDVQQKDA9TdG9ybXlDbG91ZCBJbmMxIzAhBgNVBAMMGnN0b3JteWNsb3Vk
LmZhbWlseS5pMnAubmV0MSQwIgYJKoZIhvcNAQkBFhVhZG1pbkBzdG9ybXljbG91
ZC5vcmcwHhcNMjIwMzE5MTU1MjU2WhcNMzIwMzE2MTU1MjU2WjCBkzELMAkGA1UE
BhMCVVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xGDAWBgNVBAoM
D1N0b3JteUNsb3VkIEluYzEjMCEGA1UEAwwac3Rvcm15Y2xvdWQuZmFtaWx5Lmky
cC5uZXQxJDAiBgkqhkiG9w0BCQEWFWFkbWluQHN0b3JteWNsb3VkLm9yZzBZMBMG
ByqGSM49AgEGCCqGSM49AwEHA0IABFUli0hvJEmowNjJVjbKEIWBJhqe973S4VdL
cJuA5yY3dC4Y998abWEox7/Y1BhnBbpJuiodA341bXKkLMXQy/kwCgYIKoZIzj0E
AwIDSAAwRQIgD12F/TfY3iV1/WDF7BSKgbD5g2MfELUIy1dtUlJQuJUCIQD69mZw
V1Z9j2x0ZsuirS3i6AMfVyTDj0RFS3U1jeHzIQ==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIEctG1gDANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEZMBcGA1UEAwwQYWNldG9uZUBtYWls
LmkycDAeFw0yMTAxMjUxMDMyMjBaFw0zMTAxMjMxMDMyMjBaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxHjAcBgNVBAoMFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECwwDSTJQMRkwFwYDVQQDDBBhY2V0b25lQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwqF/BRRmvZ54
5XArgxbytDi7m7MDjFE/whUADruHj/9jXGCxE8DDiiKTt3yhfakV0SNo5xk7AMD+
wqiSNC5JCHTm18gd2M4cQLIaOVRqucLLge4XVgk2WPX6OT98wfxh7mqA3wlSdEpj
dY3Txtkf7VfZLicG76/RBtLFW3aBdsn63hZaQqZE4x/5MJyPVZx59+lys5RmMi0o
LpXJy4HOu1/Gl1iKDJoI/ARFG3y7uP/B+ZtZBitJetTs0HcqycnNJq0tVZf2HiGF
JNy67AL4foxNYPXP6QsvXvp6LRpGANaBCkFCBlriSF+x1zO2H3uAkRnuLYXuKIfB
HudejTp4R57VgZGiHYoawHaF17FVAApue9G8O82XYECjhET35B9yFoOBHTvaMxLU
CKrmayH8KMQon95mfe1qpoO3/YDa8DCxkjAfjdtytat7nt2pGZMH6/cLJxcFiofh
RtRVvb+omv/X12j/6iCFrwP4NvBnAZsa736igbjpyee5n+CSyYxd9cJkRX1vQVk7
WFSqL58Pz+g6CKJmdMPvqNOfUQ6mieBeejmx35B4pLzLcoNxw8R3O1+I2l4dg042
dEydKRQNwdzOec4jYwnKR40iwIyZxpchXWGRbBdyF5RQCbIIo60QBJlfXMJ2svan
q5lYIeWeY3mlODXu4KH4K09y10KT8FsCAwEAAaMhMB8wHQYDVR0OBBYEFMh+DoIL
APNiu2o+6I9A49joNYQuMA0GCSqGSIb3DQEBDQUAA4ICAQBFeOJi0rmkqN5/E3IB
nE2x4mUeLI82tUcN2D3Yu8J81vy4DnH+oMRQFDtYEHW5pfirRmgSZ7MQwYQnqWLp
iTE7SyCxlqGrmVsYp7PzfS1pUT2QeWPtsNYUDdraG0Zr9BkIGB60VMhjMSa9WUrj
lbchzr6E/j/EsEOE7IK08JxIDKCDZM2LLwis4tAM6tmiylkMf2RlUBIRBs1TCO+q
x3yByttNE2P4nQyQVQpjc1qsaOMvJvbxun37dwo+oTQy+hwkA86BWTDRYdN3xwOk
OfAOtlX6zM/wCKMN0ZRnjZoh59ZCn4JXokt3IjZ4n8qJOuJFRKeKGmGeKA8uaGW8
ih5tdB99Gu5Z8LOT1FxAJKwQBn5My0JijPoMit4B0WKNC8hy2zc2YvNfflu1ZRj5
wF4E5ktbtT/LWFSoRPas/GFS8wSXk/kbSB0ArDcRRszb3JHqbALmSQxngz3rfwb3
SHwQIIg956gjMDueEX5CrGrMqigiK53b9fqtpghUrHDsqtEXqeImpAY65PX1asqo
metDNuETHF7XrAjP7TGJfnrYQyeK90iS7j1G68ScBGkKY2nsTnFoXkSk5s5D338E
SUzPaOlh91spmkVY6gQTVQ7BakADBHw+zBgDA1gBN/4JPvgN36hquj63+aG1cKy3
3ZUnv2ipo2fpr69NtuBnutK6gw==
-----END CERTIFICATE-----
@@ -1,32 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFfTCCA2WgAwIBAgIEOprmhjANBgkqhkiG9w0BAQ0FADBvMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEYMBYGA1UEAwwPYmFja3VwQG1haWwu
aTJwMB4XDTEzMTAxMzEzNDQ1NVoXDTIzMTAxMzEzNDQ1NVowbzELMAkGA1UEBhMC
WFgxCzAJBgNVBAgTAlhYMQswCQYDVQQHEwJYWDEeMBwGA1UEChMVSTJQIEFub255
bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxGDAWBgNVBAMMD2JhY2t1cEBtYWls
LmkycDCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBAIoAkobXwk/Enf1d
roHyqCyvcJfZJVTwb/LgYWAvCBMCr+RGqlSgtk3g69Y3I0xU08fD2kGt3r5Pwsbr
omXIbJAcccyLqmQ5QX6QgL+X9VpMDp9C4h2RogCrqLBAWw4cuZ4RS9VCpP1Yis7H
uejYqENP86p7BsRnuW/4cYnfunAdMpss4LpRGQXt1nTX+kfgCYgnKFbFqwAHt7yV
Ds+Pe6FuBHPlp+sc1amKRcUnSvhXLsv43VicnT7xYL/kUsN83wrtHA3B4aGDx3aA
3/EzuRmIXQB0BlTZILMEyYwG/nc4OsW82QYrvEZ9BIg9A4lF/wS/KZCICPxLF2zo
dGjnmlgkiA4s8eO+va/ElHyELjckVXqmG1eXHhSkEsDvOQJy01IUuwLinvq7cUbJ
HfJBZJllEg+sLDCv3FkEqN+XjBNFfQN4oNew4w6IPY6YH1INVB9LL0Cmdu4DudLv
TY8OcI8eSfez3hmm+pYQ23PJRYYnvRDnRECyIWBegkckWRh8U/WvZUYUvETK6EDl
/0KpTtfzX6MqHA5D6bTAB8Y3ijGMLrZ/B5vj5yCoZbLiGme9X2moR2k1LEhdhtzV
exsqezCpg6dn48FTX7mHjvR5/r4kz2jqBGmdPUWIIxnjFUzDUK3llVQiHihleHpe
jL4LqnhBGKWFRTaVwaIkBG4zAfIzAgMBAAGjITAfMB0GA1UdDgQWBBQNkfW7bSMl
1/4KDbgwrkf9x1Zu/TANBgkqhkiG9w0BAQ0FAAOCAgEAGg3a3rTf0EznQocmio0T
5gCoL0n8h6yKW/PyPAIELrd9wiYjhJFcWvMTcJJJnVqmAL5vpvhaAFVtAfx70MGa
0DZ7FvytK5hEfF4IqOFDyEEVGJR5rIpVK4MeI1nmwEsxdbW+FhODjtRzgYO8XBME
Xj4aY1FWg9vxc3reUj6PSFsZtsB0aLiRgL9JDovJIiRw0Uqr1v2wXBte5yVCxDge
vTREZtpK4cKetoOa68pwSXI32JwKE18j6bfdKVBCcYQKlKP/3gHGduaDrQv3w32S
DRym5s6MREeTUOtAw4wq46KpdOX8yyAqJPrCfMwS6ORd3t+egqOw0PUnsqb97w4O
lUtrRYvb2cOj60SmRx4vJvItyuHbKqIK7o2e1RcUZPXYoAVx2ww4XB2Wk4D7LSAs
cS7nLj8yAqzJ2qqtBzxu+zILJtkVa12dKF0xmS0BxBp4sCYiBtmAVE8AWQqEuSHA
FrMWqoXcjcfdvvyX487FFWWUE7ZBIn0hee2sK9J9+SPtqczJaN7TF3K3nzo65WJG
1epltmq2Ugjb67Gz7v4y7H23DJ/qhm8yLtCHTj69HTta5I08j6Kut924WLZaiMO/
4YoEL5AE63X0sxYibKFQiq7FW5nUJA280GRlY3xSMFzlB2ggazrUV3YAWVDhfdnI
flpzWXkFM2D36OUaubfe9YY=
-----END CERTIFICATE-----
@@ -1,32 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFezCCA2OgAwIBAgIEUQYyQjANBgkqhkiG9w0BAQ0FADBuMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEXMBUGA1UEAwwOYnVnbWVAbWFpbC5p
MnAwHhcNMTQxMTA2MDkxMTE0WhcNMjQxMTA1MDkxMTE0WjBuMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEXMBUGA1UEAwwOYnVnbWVAbWFpbC5p
MnAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCrThOH0eSDT0VnCSBC
sqYmAydWH+O8eNttDXr2mSvZLhvAW+6/xHTkKhaWvkIvvS0Vh8hujMnD90Cgp4Fk
TKCxMj9K527o5xIZwWW05OevbjlBwIpVLO1PjmsfsoD1nIX14eEzJSEoAulKsv7V
jGUC/6hC11mmVvH9buQLSRv6sCjuAcMszmw3TAD+XYBIs+z57KuwYXtX3+OA543c
l1/ZKLYkkwY8cwzZqWDVWqTKP5TfVae58t40HhJk3bOsr21FZsaOjlmao3GO+d/3
exKuUGJRcolSqskL3sZ1ovFqko81obvvx0upI0YA0iMr/NRGl3VPuf/LJvRppYGc
LsJHgy9TIgtHvaXRi5Nt4CbKl9sZh/7WkkTTI5YGvevu00btlabAN+DSAZZqdsB3
wY8HhM1MHiA9SWsqwU65TwErcRrjNna2FiDHEu0xk5+/iAGl6CSKHZBmNcYKXSv8
cwShB0jjmciK0a05nC638RPgj0fng7KRrSglyzfjXRrljmZ40LSBL/GGMZMWpOM7
mEsBH5UZJ/2BEmjc9X9257zBdx8BK8y1TXpAligpNBsERcTw1WP1PJ35einZvlXW
qI3GwMf0sl26sn+evcK0gDl27jVDZ45MtNQEq64M4NV3Tn9zq0eg/39YvjVeqrI5
l7sxmYqYGR6BuSncwdc4x+t6swIDAQABoyEwHzAdBgNVHQ4EFgQU/REZ7NMbVZHr
Xkao6Q8Ccqv2kAMwDQYJKoZIhvcNAQENBQADggIBACc2YjLVNbl1kJUdg2klCLJt
5LjNTiIZa2Cha5GStlC/lyoRRge6+q/y9TN3tTptlzLPS9pI9EE1GfIQaE+HAk+e
/bC3KUOAHgVuETvsNAbfpaVsPCdWpFuXmp/4b9iDN7qZy4afTKUPA/Ir/cLfNp14
JULfP4z2yFOsCQZ5viNFAs1u99FrwobV2LBzUSIJQewsksuOwj96zIyau0Y629oJ
k+og88Tifd9EH3MVZNGhdpojQDDdwHQSITnCDgfRP5yER1WIA4jg6l+mM90QkvLY
5NjWTna5kJ3X6UizvgCk365yzT2sbN3R9UGXfCJa9GBcnnviJtJF3+/gC0abwY2f
NtVYp32Xky45NY/NdRhDg0bjHP3psxmX+Sc0M9NuQcDQ+fUR+CzM0IGeiszkzXOs
RG+bOou2cZ81G4oxWdAALHIRrn7VvLGlkFMxiIZyhYcTGQZzsTPT6n18dY99+DAV
yQWZfIRdm8DOnt0G+cwfeohc/9ZwDmj4jJAAi0aeTXdY6NEGIVydk6MAycEhg2Hx
9EV96kRwZNIW0AGY8CozECFL3Eyo2ClQVV4Q35SsBibsitDjM03usc2DJ/qjynXA
C8HoOSWgbddiBvqZueqK8GdhykOy3J3ysr+MNN/lbG48LqkQr1OWxev9rGGQ6RJT
wpBgPyAFAwouPy1whmnx
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -1,32 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIESg3kkzANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEZMBcGA1UEAwwQZWNoZWxvbkBtYWls
LmkycDAeFw0xNDA3MzExNjQ3MDJaFw0yNDA3MzAxNjQ3MDJaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIEwJYWDELMAkGA1UEBxMCWFgxHjAcBgNVBAoTFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECxMDSTJQMRkwFwYDVQQDDBBlY2hlbG9uQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmcEgLwwhzLNe
XLOMSrhwB8hWpOhfjo4s6S/wjBtjjUc8nI3D0hSn3HY26p0rvcvNEWexPUpPULmC
exGkU463nu7PiFONiORI1eJAiUFHibRiaA7Wboyo38pO73KirwjG07Y+Ua0jp+HS
+4FQ/I/9H/bPplReTOU/6hmRbgQ69U8nE68HzZHQxP68yVJ2rPHSXMPhF4R1h0G1
1mCAT+TgTsnwHNGF77XHJnY4/M4e2cgycEZjZow36C3t2mNDVkMgF19QQeb9WmLR
zREn3nq9BJqHpUkn9yWw0kKXTZSds+7UxESfzf3BzK0+hky2fh5H+qbYAo2lz4yj
81MXTAu+4RRkg4DBLlF+2dkclhwQLxxzvkRC6tPkn5i33Yltg7EfzA9IoQ05potJ
I+iOcF+aStfFgFj9u3B5UkcF4P0cH1QD3c6BK4hIezQYqRoPly1gHqg+XdwjG/dr
4as7HA9FTz3p2E8nClpIC1x3hfgwAdfd29aeBxO1WW/z99iMF7TBAF+u5T86XEW1
WpknqCbTli36yJ8a5fPWxZHrryBRJT5yLxejjFeadtutBSwljiVFq+Y38VqwFivq
VLiBt7IxAsZ8iilgfnnnAvBH6chWfSKb4H7kB4TJvDiV96QmmvoEaWYNHZozMhyK
tO3b5w+xqbJXyCLA3Q75jD0km76hjcECAwEAAaMhMB8wHQYDVR0OBBYEFAHQcAam
QRS/EUhuCSr9pB4Ux0rYMA0GCSqGSIb3DQEBDQUAA4ICAQBq1+1QLmgLAjrTg3tb
4XKgAVICQRoBDNUEobQg3pYeUX9eFNya2RxNljuvYpwT80ilGMPOXcjddmr5ngiK
dbGRcuuJk9MPEHtPaPT3+JJlvKQ3B3g2wva2Wz2OAyLZUGQs389K4nTbwh4QF0n2
aHFL8BHiD62hiKnCoNaW4ZovUNNvOxo9lMyAiaFU2gqQNcdad8hP9EAllbvbxDx9
Tjww2UbwQUIHS9rna4Tlu+f0hDXTWIutc2A51W2fJCb7L3+lYO7Wv55ND/WtryLZ
XpMp27+MpuEnN3kQmz/l9R0hIJsWc/x9GQkjm5wEaIZEyTtenqwRKGmVCtAj0Pgv
jn1L3/lWmrNq+OZHb/QeyfKtA3nXfQKVmT98ewQiK/S5i1xIAXCJPytOD887b/o1
cdurTmCiZMwgiQ+HLJqCg3MDa5mvKqRkRdZXfE6aQWEcSbpAhpV15R17q7L+Fg0W
shLSNucxyGNU8PjiC/nOmqfqUiPiMltJjPmscxBLim8foyxjakC4+6N6m+Jzgznj
PocBehFAfKYj66XEwzIBN7Z2uuXoYH9YptkocFjTzvchcryVulDWZ4FWxreUMhpM
4oyjjhSB4tB9clXlwMqg577q3D6Ms0zLTqsztyPN3zr6jGev3jpVq7Q1GOlciHPv
JNJOWTH/Vas1W6XlwGcOOAARTQ==
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
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
CCOJyu3XtyzFf+tAeixOnuQ=
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFgTCCA2mgAwIBAgIETWAY1DANBgkqhkiG9w0BAQ0FADBxMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBAbWFp
bC5pMnAwHhcNMjExMjEzMTU0MDI3WhcNMzExMjExMTU0MDI3WjBxMQswCQYDVQQG
EwJYWDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5v
bnltb3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBA
bWFpbC5pMnAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXnjJ8UQ0f
lHHpfPMiHofBPSuL4sbOJY6fOXwPhSg/h6THh9DS/ZWmJXQ3qRD0glDVtv4/Dr/9
ldGQ5eltF9iCFXCQlMEy2HjQrBKq0nsl7RpYK12cyMaod0kkzCUk9ITLi9CmHM3Z
gQZcmG8TWjFEpDR+idx/QkQt2pcO4vzWlDit3Vh4ivnbX5jGQHbsVjQEMQWxr+pX
dsS+YQpjZ6RBmrooGTPO8QDOOeYLAn0lCjmffc/kzIH9E/p4/O0rOpyhVYbdxUD1
5wkqN9l4yrtxmORG/PudnRQQ0r4TUq8vsxfGY0Euo9IbhgXF2Parel1ZhDxB1WZV
VwWtgLIh9jGA1UMa8SYKnEfp8LWNZ3b3mUUnZb3kMrLk6jGYRWNsHmamhd4mC7AZ
qf/8lOkEIw3bPd3YguCDRVcLui5BwIEZmqXg8uoESxfO/sW3pBrN/8M7MkTex9kN
vjitGDDXvenK27qmNgZxbBlX72yTSfys7XTYTLnxZC8AwdAo2Wz9Z6HhGiPonf2h
vZkc9ZxuE0jFIrsbJra4X7iyjXgi4vV4ARNg/9Ft6F4/OIbECgeDcBQqq4TlT2bZ
EfWVrBbqXoj5vNsLigIkd+AyUNwPYEcB5IFSiiOh98pC7BH3pg0m8U5YBjxe1i+9
EQOOG0Qtx+JigXZHu6bGE0Twy9zy+UzoKQIDAQABoyEwHzAdBgNVHQ4EFgQUGK1b
0DkL6aLalcfBc/Uj/SF08C0wDQYJKoZIhvcNAQENBQADggIBAMpXM82bJDpH1TlH
TvhU3Z7nfZdvEhOQfujaFUYiuNripuEKcFGn948+DvAG0FUN+uNlJoqOVs8D7InD
gWlA9zpqw5Cl5Hij/Wns9QbXuAHJeA23fVUoaM2A6v9ifcIQ1A+rDuRQAo6/64KW
ChTg2e99RBpfGOyqgeh7tLLe0lPPekVpKHFuXabokaKRDuBcVHcUL4tWXe3dcyqa
Ej/PJrrS+nWL0EGZ4q80CEd2LPuDzPxNGCJt/R7ZfadENWajcgcXGceh1QBzozrB
SL/Ya6wF9SrsB7V/r5wX0LM4ZdDaLWbtmUe5Op0h/ZMH25Sa8xAXVz+O9L6sWSoO
FaiYTOvAiyyPz+nsxKa3xYryDHno7eKSt+hGOcaurhxbdZaEFY/CegEc73tCt9xK
e9qF8O/WkDLmixuErw3f5en4IfzGR7p3lJAwW/8WD8C6HS39h/eE7dVZNaWgtQnZ
SgGjgZMTJqTcQ3aZmfuCZefxGFok8w6AIkdbnd1pdMBRjYu8aXgl2hQSB9ZADDE9
R5d3rXi0PkSFLIvsNjVa5KXrZk/tB0Hpfmepq7CufBqjP/LG9TieRoXzLYUKFF74
QRwjP+y7AJ+VDUTpY1NV1P+k+2raubU2bOnLF3zL5DtyoyieGPhyeMMvp0fRIxdg
bSl5VHgPXHNM8mcnndMAuzvl7jEK
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
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
2Q==
-----END CERTIFICATE-----
@@ -1,32 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFeTCCA2GgAwIBAgIEZZozujANBgkqhkiG9w0BAQ0FADBtMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEWMBQGA1UEAwwNbWVlaEBtYWlsLmky
cDAeFw0xNDA2MjgyMjQ5MDlaFw0yNDA2MjcyMjQ5MDlaMG0xCzAJBgNVBAYTAlhY
MQswCQYDVQQIEwJYWDELMAkGA1UEBxMCWFgxHjAcBgNVBAoTFUkyUCBBbm9ueW1v
dXMgTmV0d29yazEMMAoGA1UECxMDSTJQMRYwFAYDVQQDDA1tZWVoQG1haWwuaTJw
MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAnVnmPE4uUvCky0yCnnVH
cJEDqzwDPupx0zr0YDlhZk5VOPPecx5haayJ/V6nXPc1aVVWn+CHfedcF2aBgN4K
5aBueS/l6l5WHcv02DofAqlTmyAws3oQeR1qoTuW24cKRtLR7h5bxv63f6bgp6e+
RihFNez6UxErnRPuJOJEO2Im6EgVp6fz7tQ7R35zxAUeES2YILPySvzy2vYm/EEG
jXX7Ap2A5svVo90xCMOeUZ/55vLsjyIshN+tV87U4xwvAkUmwsmWVHm3BQpHkI6z
zMJie6epB8Bqm0GYm0EcElJH4OCxGTvDLoghpswbuUO7iy3JSfoL7ZCnoiQdK9K4
yVVChj8lG+r7KaTowK96iZep+sZefjOt5VFGuW2Fi/WBv3ldiLlJAo/ZfrUM4+vG
fyNBXbl6bX87uTCGOT1p3dazo+zJMsAZ+Y93DlM/mDEWFa1kKNrs74syzaWEqF4L
KQE6VoYn80OOzafSigTVQgSwUtQtB0XGhMzJhyxU2XHWe1LFIy7Pta0B+lDiZj7c
I8nXxYjsDfEu/Elj/Ra9N6bH0awmgB5JDa+Tbir+oEM5SyDfpSaCGuatdGxjweGI
kVmFU0SqCZV/8TXbIu6MUVzTZMZVT94edifFSRad4fqw7eZbSXlPu++3d1/btn6h
ibM04nkv0mm+FxCKB/wdAkECAwEAAaMhMB8wHQYDVR0OBBYEFO7jIkSRkoXyJcho
9/Q0gDOINa5EMA0GCSqGSIb3DQEBDQUAA4ICAQBzfWO7+8HWOKLaYWToJ6XZbpNF
3wXv1yC4W/HRR80m4JSsq9r0d7838Nvd7vLVP6MY6MaVb/JnV76FdQ5WQ6ticD0Y
o3zmpqqbKVSspN0lrkig4surT88AjfVQz/vEIzKNQEbpzc3hC2LCiE2u+cK/ix4j
b9RohnaPvwLnew5RNQRpcmk+XejaNITISr2yQIwXL7TEYy8HdGCfzFSSFhKe9vkb
GsWS5ASrUzRoprswmlgRe8gEHI+d51Z7mWgna0/5mBz9bH/3QXtpxlLWm3bVV+kt
pZjQDTHE0GqG2YsD1Gmp4LU/JFhCojMTtiPCXmr9KFtpiVlx06DuKm5PC8Ak+5w+
m/DQYYfv9z+AA5Y430bjnzwg67bhqVyyek4wcDQinFswv3h4bIB7CJujDcEqXXza
lhG1ufPPCUTMrVjh7AShohZraqlSlyQPY9vEppLwD4W1d+MqDHM7ljOH7gQYaUPi
wE30AdXEOxLZcT3aRKxkKf2esNofSuUC/+NXQvPjpuI4UJKO3eegi+M9dbnKoNWs
MPPLPpycecWPheFYM5K6Ao63cjlUY2wYwCfDTFgjA5q8i/Rp7i6Z6fLE3YWJ4VdR
WOFB7hlluQ//jMW6M1qz6IYXmlUjcXl81VEvlOH/QBNrPvX3I3SYXYgVRnVGUudB
o3eNsanvTU+TIFBh2Q==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIEbNbRPjANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEZMBcGA1UEAwwQb3JpZ25hbEBtYWls
LmkycDAeFw0yMTA3MDYyMjExMDFaFw0zMTA3MDQyMjExMDFaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxHjAcBgNVBAoMFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECwwDSTJQMRkwFwYDVQQDDBBvcmlnbmFsQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvNJz2KGuAkHP
tGFobfLvpybtxB50fkcEsTc9opmiy7wBKK9rSI01VS616IhABkWKZVfK2A9NqpGv
v/CyhTKoaeSNeXY7+zORUWgWK/zA9fA4GRZFqlW8j4tbompDwcLYNqRBCsn1C0OY
YA5JhXPBixMcnXl8N8x4sXhQ4l9R3+QrydhUHRvgDc8dOxRyIX7zuQAyf8tmA2Xo
xZLdvDcCJdLBIbFwxhIceIhgcOwaOx7oRkZDZdYcLJd3zjyPbu8JtOM2ZkwH7r+0
ro5PktuDp2LAS6SII5yYNcwcrvPZGPqhLdifIw1BrdTIb/rIkQZ5iXOOdyPmT7e8
IwAJcPFlfvrS4Vbi9oDqyx3aDUBoubgmFnO1TirL56ck83R/ubcKtdnyzAn5dp+f
ZNYW6/foSBpDDOCViylbFAR5H0HJEbBns7PZx6mGEEI4tUAJdNYl7Ly7Df60a9Rz
cD/gz08U9UwFXYKoT6roEjToADGAzb5MI4cVlAb2AmQaMNXNe04HcDL1bU50mkNU
amqPv8nxf72fBQCEmZz2G57T6QiYTtcCwiWS1QdWsuaOtCo9zO0MKcjzSdUxuxEc
dXhjQdNegsgg/Xk7bJ8lKOsACqMpFftdPmuyeZU2t+3RPuBpV/0j2qUfg/y6kb0z
CxAOYmlcL4kqw4VT+5V/EeZLIG0h9I0CAwEAAaMhMB8wHQYDVR0OBBYEFD/wJObg
CCDuhMJCVWTSTj+B3rsUMA0GCSqGSIb3DQEBDQUAA4ICAQC0PjsTSPWlGbLNeeI8
F0B5xAwXYJzZ7/LRxh8u42HDUqVIDjqkuls1l3v9D7htty2Gr3Ws2dcvcOr2KcOy
mEWg+jdP/N3vt9IkZeVS4YQoPgq6orn7lVkk00bcKb24f7ZnoQnnVV0/m42Y5P4j
LLh+8MBxsez9azXyZbDVEkgsMUAkdVO6KNz6scqz7wb8egV2GAMAp7cwChC6lanK
gv9ZyJhG/HdTv6VyuMZhJy6rX4geM97tm1iHu1VLsQcIzBKAdEvWJv8ofMeiyINe
hqAP9NYaeowKi975NOrmf+XZwxd0niApIohV684RCVUfL8H7HSPbdXhBJ/WslyDP
cTGhA2BLqEXZBn/nLQknlnl0SZTQxG2n4fEgD1E5YS/aoBrig/uXtWm2Zdf8U3mM
+bNXhbi9s7LneN2ye8LlNJBSRklNn/bNo8OmzLII1RQwf1+vaHT96lASbTVepMZ/
Y9VcC8fAmho/zfQEKueLEB03K+gr2dGD+1crmMtUBjWJ9vPjtooZArtkDbh+kVYA
cx4N4NXULRwxVWZe5wTQOqcZ3qSS1ClMwaziwychGaj8xRAirHMZnlPOZO1UK4+5
8F4RMJktyZjNgSLP76XPS4rJK5fobuPqFeA4OpDFn/5+/XeQFF6i6wntx1tzztzH
zc+BrVZOdcYPqu9iLXyRQ9JwwA==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF0zCCA7ugAwIBAgIQWjHyC+NRh3emuuAwcEnKSjANBgkqhkiG9w0BAQsFADB0
MQswCQYDVQQGEwJYWDELMAkGA1UEBxMCWFgxCzAJBgNVBAkTAlhYMR4wHAYDVQQK
ExVJMlAgQW5vbnltb3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEdMBsGA1UEAwwU
cmVzZWVkQGRpdmEuZXhjaGFuZ2UwHhcNMjAwNjA5MDUzNjQ1WhcNMzAwNjA5MDUz
NjQ1WjB0MQswCQYDVQQGEwJYWDELMAkGA1UEBxMCWFgxCzAJBgNVBAkTAlhYMR4w
HAYDVQQKExVJMlAgQW5vbnltb3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEdMBsG
A1UEAwwUcmVzZWVkQGRpdmEuZXhjaGFuZ2UwggIiMA0GCSqGSIb3DQEBAQUAA4IC
DwAwggIKAoICAQC6BJGeMEgoXk9dlzKVfmwHrT2VpwTT+wRJvh3eAM746u4uDT2y
NPHXhdGcQ9dRRZ63T98IshWCwOmWSlm1kdWkmKkVVb93GUoMQ3gziCi0apLJMAau
gEu/sPCbORS2dPsQeAPW2eIsJO7dSjTRiQAuquW//NcIXG4gnxDA52lgke1BvpKr
83SJlCrqECAy6OKtZ49yn75CqmPPWFn0b/E8bxruN5ffeipTTospvdEtT41gXUqk
hOz3k8ang+QTWiP//jOjk31KXZ2dbh0LOlNJOvRxCqQmBZafNxxCR4DH8RewfPlL
qOiOJVzbLSP9RjqPLwnny5BOjbLWXcaybN5Qv2Pyd4mKtN3EpqBwRu7VnzXpsuuG
gRbxNmfKJ/vBEGrZAHAxi0NkHHEEne3B7pPDc2dVZHOfTfCu31m9uDHZ4eHEsNOJ
SJRiGjq74l0chCSlBGLrD1Y9LPyqadjdwuB9bzM0tMFC1wPflanQCflhhnEzAfbN
BaU2GRXo/I1UCDW/dH1FIkqEe61eMW1Lwqr5tdlrUpdr5VIddTyNJRBJogbZ+HZE
8mcoJW2lXRAkYi7KEm4b4EQNe7sbRNTF0j+fAJ+3ZOZ3O3SMHss6ignlSa+giVim
VvL+Joc6wpSzxpeNPf6m82cEO/UvifFYeOC9TpiRriSt+vvgQVzQtfQ+fQIDAQAB
o2EwXzAOBgNVHQ8BAf8EBAMCAoQwHQYDVR0lBBYwFAYIKwYBBQUHAwIGCCsGAQUF
BwMBMA8GA1UdEwEB/wQFMAMBAf8wHQYDVR0OBBYEFHJlc2VlZEBkaXZhLmV4Y2hh
bmdlMA0GCSqGSIb3DQEBCwUAA4ICAQCFGOb1dHlwjmgFHEER6oMiGWl1mI3Hb7GX
NNI6QUhZQ+iEWGYtsOTk3Q8xejL8t6AG/ZLXfZviLIJXZc5XZfPXk0ezDSC2cYxQ
ZAyYPw2dRP14brI86sCSqNAFIax/U5SM3zXhCbBiTfaEoBPfDpvKjx+VliaITUnc
sHTRn+C5ID5M8cZIqUSGECPEMU/bDtuRNJLTKYaJ98yXtYuS2CWsMEM4o0GGcnYQ
5HOZT/lbbwfq1Ks7IyJpeIpRaS5qckGcfgkxFY4eGujDuaFeWC+HCIh9RzBJrqZR
73Aly4Pyu7Jjg8xCCf9MswDjtqAjEHgWCmRLWL7p3H6cPipFKNMY6yomYZl5urE7
q6DUAZFKwPqlZpyeaY4/SVvaHTxuPp7484s3db4kPhdmuQS/DOB/7d+cn/S580Vy
ALqlFQjtjLEaT16upceAV0gYktDInE6Rtym/OsqilrtYks/Sc0GROSz8lJhDDWbr
W3t92muSXDh0rYrEUYWl+xl1gSTpbIP75zzU+cUr1E/qlRY9qZn66FsJpOuN0I0q
UXsQS/bPDcA+IW48Hd9LfO9gtTWZslwFTimjEvQ2nJAnUlUQP6OfuPUKHoYX/CwY
2LCN8+pv2bKPDVHvp0lf6xrbbZNvFtzfR0G3AprZjYpuu2XgjVB5nJnwmbH74b9w
LD8d2z2Lgg==
-----END CERTIFICATE-----
@@ -1,34 +0,0 @@
-----BEGIN CERTIFICATE-----
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
Q5DD3jExbpwG5n35HEcHYw==
-----END CERTIFICATE-----
@@ -1,31 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFVDCCAzwCCQC2r1XWYtqtAzANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMRMwEQYDVQQKDApQdXJwbGUgSTJQ
MQ0wCwYDVQQLDARJMlBEMR8wHQYJKoZIhvcNAQkBFhBvcmlnbmFsQG1haWwuaTJw
MB4XDTE1MDIyMjEzNTgxOFoXDTI1MDIxOTEzNTgxOFowbDELMAkGA1UEBhMCWFgx
CzAJBgNVBAgMAlhYMQswCQYDVQQHDAJYWDETMBEGA1UECgwKUHVycGxlIEkyUDEN
MAsGA1UECwwESTJQRDEfMB0GCSqGSIb3DQEJARYQb3JpZ25hbEBtYWlsLmkycDCC
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALp3D/gdvFjrMm+IE8tHZCWE
hQ6Pp0CCgCGDBC3WQFLqR98bqVPl4UwRG/MKY/LY7Woai06JNmGcpfw0LMoNnHxT
bvKtDRe/8kQdhdLHhgIkWKSbMvTAl7uUdV6FzsPgDR0x7scoFVWEhkF0wfmzGF2V
yr/WCBQejFPu69z03m5tRQ8Xjp2txWV45RawUmFu50bgbZvLCSLfTkIvxmfJzgPN
pJ3sPa/g7TBZl2uEiAu4uaEKvTuuzStOWCGgFaHYFVlTfFXTvmhFMqHfaidtzrlu
H35WGrmIWTDl6uGPC5QkSppvkj73rDj5aEyPzWMz5DN3YeECoVSchN+OJJCM6m7+
rLFYXghVEp2h+T9O1GBRfcHlQ2E3CrWWvxhmK8dfteJmd501dyNX2paeuIg/aPFO
54/8m2r11uyF29hgY8VWLdXtqvwhKuK36PCzofEwDp9QQX8GRsEV4pZTrn4bDhGo
kb9BF7TZTqtL3uyiRmIyBXrNNiYlA1Xm4fyKRtxl0mrPaUXdgdnCt3KxOAJ8WM2B
7L/kk9U8C/nexHbMxIZfTap49XcUg5dxSO9kOBosIOcCUms8sAzBPDV2tWAByhYF
jI/Tutbd3F0+fvcmTcIFOlGbOxKgO2SfwXjv/44g/3LMK6IAMFB9UOc8KhnnJP0f
uAHvMXn1ahRs4pM1VizLAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAIOxdaXT+wfu
nv/+1hy5T4TlRMNNsuj79ROcy6Mp+JwMG50HjTc0qTlXh8C7nHybDJn4v7DA+Nyn
RxT0J5I+Gqn+Na9TaC9mLeX/lwe8/KomyhBWxjrsyWj1V6v/cLO924S2rtcfzMDm
l3SFh9YHM1KF/R9N1XYBwtMzr3bupWDnE1yycYp1F4sMLr5SMzMQ0svQpQEM2/y5
kly8+eUzryhm+ag9x1686uEG5gxhQ1eHQoZEaClHUOsV+28+d5If7cqcYx9Hf5Tt
CiVjJQzdxBF+6GeiJtKxnLtevqlkbyIJt6Cm9/7YIy/ovRGF2AKSYN6oCwmZQ6i1
8nRnFq5zE7O94m+GXconWZxy0wVqA6472HThMi7S+Tk/eLYen2ilGY+KCb9a0FH5
5MOuWSoJZ8/HfW2VeQmL8EjhWm5F2ybg28wgXK4BOGR3jQi03Fsc+AFidnWxSKo0
aiJoPgOsfyu8/fnCcAi07kSmjzUKIWskApgcpGQLNXHFK9mtg7+VA8esRnfLlKtP
tJf+nNAPY1sqHfGBzh7WWGWal5RGHF5nEm3ta3oiFF5sMKCJ6C87zVwFkEcRytGC
xOGmiG1O1RPrO5NG7rZUaQ4y1OKl2Y1H+nGONzZ3mvoAOvxEq6JtUnU2kZscpPlk
fpeOSDoGBYJGbIpzDreBDhxaZrwGq36k
-----END CERTIFICATE-----
-1
View File
@@ -1 +0,0 @@
8ac8c1452a00b9654755be88ab805982c1d56a92
-1
View File
@@ -1 +0,0 @@
af5de0612c40f715740fd4d168aa444b4baca790
+3 -10
View File
@@ -2,8 +2,9 @@
## See https://i2pd.readthedocs.org/en/latest/configuration.html
## for more options you can use in this file.
#log = file
#logfile = ./i2pd.log
# log = file
# logfile = ./i2pd.log
loglevel = none
ipv4 = true
ipv6 = false
@@ -20,9 +21,6 @@ name = I2Pd
[reseed]
verify = true
[addressbook]
subscriptions = http://inr.i2p/export/alive-hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt,http://i2p-projekt.i2p/hosts.txt
[http]
enabled = true
address = 127.0.0.1
@@ -42,8 +40,3 @@ port = 4447
enabled = true
address = 127.0.0.1
port = 7656
[ntcp2]
enabled = true
published = true
#port =
-16
View File
@@ -1,11 +1,3 @@
#[IRC]
#type = client
#address = 127.0.0.1
#port = 6668
#destination = irc.postman.i2p
#destinationport = 6667
#keys = irc-keys.dat
#[SMTP]
#type = client
#address = 127.0.0.1
@@ -22,12 +14,4 @@
#destinationport = 110
#keys = pop3-keys.dat
#[MTN]
#type = client
#address = 127.0.0.1
#port = 8998
#destination = mtn.i2p-projekt.i2p
#destinationport = 4691
#keys = mtn-keys.dat
# see more examples in /usr/share/doc/i2pd/configuration.md.gz
-7
View File
@@ -1,7 +0,0 @@
#[IRC-ILITA]
#type = client
#address = 127.0.0.1
#port = 6669
#destination = irc.ilita.i2p
#destinationport = 6667
#keys = irc-keys.dat
@@ -0,0 +1,7 @@
[IRC-ILITA]
type = client
address = 127.0.0.1
port = 6669
destination = irc.ilita.i2p
destinationport = 6667
keys = irc-keys.dat
-7
View File
@@ -1,7 +0,0 @@
#[IRC-IRC2P]
#type = client
#address = 127.0.0.1
#port = 6668
#destination = irc.postman.i2p
#destinationport = 6667
#keys = irc-keys.dat
@@ -0,0 +1,7 @@
[IRC-IRC2P]
type = client
address = 127.0.0.1
port = 6668
destination = irc.postman.i2p
destinationport = 6667
keys = irc-keys.dat
View File
View File
+30 -22
View File
@@ -1,6 +1,6 @@
#!/bin/sh
# Copyright (c) 2013-2019, The PurpleI2P Project
# Copyright (c) 2013-2022, The PurpleI2P Project
# This file is part of Purple I2P project and licensed under BSD3
# See full license text in LICENSE file at top of project tree
@@ -12,15 +12,20 @@ cd $dir
arch=$(uname -m)
language=$(osascript -e 'user locale of (get system info)' | sed -e 's/_/-/g')
version="60.7.1esr"
i2pdversion="2.26.0"
version="91.9.1esr"
i2pdversion="2.42.1"
ftpmirror="https://ftp.mozilla.org/pub/firefox/releases/${version}"
curlfind=$(which curl)
if [ -z $curlfind ]; then
echo "'cURL' does not seem to be installed. The script needs it!";
exit 1;
echo "'cURL' does not seem to be installed. The script needs it!"
exit 1
fi
# We support only English (US) and Russian
if [ "$language" != "ru" ]; then
language="en-US"
fi
echo "This script is preparing Firefox $version for use with I2Pd"
@@ -33,14 +38,14 @@ echo "Downloading $application..."
tmpfilepath=$(echo $filepath | sed 's/ /%20/g')
curl -L -f -# -o "${file}" "${ftpmirror}/${tmpfilepath}"
if [ $? -ne 0 ]; then # Not found error, trying to cut language variable
echo "[TRY 2] I'll try downloading Firefox with shorter language code";
echo "[TRY 2] I'll try downloading Firefox with shorter language code"
language=$(echo $language | cut -c-2)
# re-create variable with cutted lang
filepath="mac/$language/$file"
tmpfilepath=$(echo $filepath | sed 's/ /%20/g')
curl -L -f -# -o "${file}" "${ftpmirror}/${tmpfilepath}"
if [ $? -ne 0 ]; then # Not found error, trying to download english version
echo "[TRY 3] I'll try downloading Firefox with the English language code";
echo "[TRY 3] I'll try downloading Firefox with the English language code"
language="en_US"
# re-create lang variable
filepath="mac/$language/$file"
@@ -48,14 +53,14 @@ if [ $? -ne 0 ]; then # Not found error, trying to cut language variable
curl -L -f -# -o "${file}" "${ftpmirror}/${tmpfilepath}"
if [ $? -ne 0 ]; then # After that i can say only that user haven't internet connection
echo "[Error] Can't download file. Check your internet connectivity."
exit 1;
exit 1
fi
fi
fi
if [ ! -f $file ]; then
if [ ! -f "$file" ]; then
echo "[Error] Can't find downloaded file. Does it really exist?"
exit 1;
exit 1
fi
echo "Downloading checksum file and checking SHA512 checksum"
@@ -64,7 +69,7 @@ recv_sum=$(grep "$filepath" SHA512SUMS | cut -c-128)
file_sum=$(shasum -a 512 "$file" | cut -c-128)
if [ $recv_sum != $file_sum ]; then
echo "[Error] File checksum failed!"
exit 1;
exit 1
else
echo "Checksum correct."
rm SHA512SUMS
@@ -72,7 +77,7 @@ fi
echo "Attaching image and copying files..."
hdiutil attach "$file"
cp -rf /Volumes/Firefox/Firefox.app ../FirefoxESR.app
cp -r /Volumes/Firefox/Firefox.app ../FirefoxESR.app
mkdir ../data
echo "Detaching image and removing image file..."
@@ -85,14 +90,8 @@ rm -r ../FirefoxESR.app/Contents/Library
rm -r ../FirefoxESR.app/Contents/MacOS/crashreporter.app
rm ../FirefoxESR.app/Contents/MacOS/pingsender
rm -r ../FirefoxESR.app/Contents/MacOS/updater.app
rm ../FirefoxESR.app/Contents/Resources/browser/blocklist.xml
rm ../FirefoxESR.app/Contents/Resources/browser/crashreporter-override.ini
rm ../FirefoxESR.app/Contents/Resources/browser/features/aushelper@mozilla.org.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/firefox@getpocket.com.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/followonsearch@mozilla.com.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/formautofill@mozilla.org.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/jaws-esr@mozilla.org.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/onboarding@mozilla.org.xpi
rm ../FirefoxESR.app/Contents/Resources/browser/features/screenshots@mozilla.org.xpi
rm ../FirefoxESR.app/Contents/Resources/precomplete
rm ../FirefoxESR.app/Contents/Resources/removed-files
@@ -103,15 +102,24 @@ sed -i '' -e "s/ServerURL=.*/ServerURL=-/" "../FirefoxESR.app/Contents/Resources
# Done!
echo "Downloading language packs..."
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/langpack-ru@firefox.mozilla.org.xpi "https://addons.mozilla.org/firefox/downloads/file/978562/russian_ru_language_pack-60.0buildid20180605171542-an+fx.xpi"
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/langpack-en-US@firefox.mozilla.org.xpi "https://addons.mozilla.org/firefox/downloads/file/978493/english_us_language_pack-60.0buildid20180605171542-an+fx.xpi"
mkdir ../FirefoxESR.app/Contents/Resources/browser/extensions
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/langpack-ru@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3829308/russian_ru_language_pack-91.0buildid20210823123856.xpi
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/ruspell-wiktionary@addons.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3957330/2696307-1.35.xpi
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/langpack-en-US@firefox.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3829281/english_us_language_pack-91.0buildid20210823123856.xpi
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/en-US@dictionaries.addons.mozilla.org.xpi https://addons.mozilla.org/firefox/downloads/file/3893473/us_english_dictionary-91.0.xpi
echo "Downloading NoScript extension..."
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi "https://addons.mozilla.org/firefox/downloads/file/3028550/noscript_security_suite-10.6.3-an+fx.xpi"
curl -L -f -# -o ../FirefoxESR.app/Contents/Resources/browser/extensions/{73a6fe31-595d-460b-a920-fcc0f8843232}.xpi https://addons.mozilla.org/firefox/downloads/file/3954910/noscript-11.4.6.xpi
echo "Adding standard configs..."
cp profile/* ../data/
cp -r preferences/* ../FirefoxESR.app/Contents/Resources/
cp -r profile/* ../data/
if [ "$language" = "ru" ]; then
cp -r profile-ru/* ../data/
else
cp -r profile-en/* ../data/
fi
echo '#!/bin/sh' > "../i2pdbrowser-portable"
echo 'dir=${0%/*}' >> "../i2pdbrowser-portable"
+513
View File
@@ -0,0 +1,513 @@
0xff.i2p,apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
0xpaste.i2p,oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
102chan-memorial.i2p,t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q
111.i2p,s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
333.i2p,ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
4rum.i2p,ys54v3jkze77peoyzhbck5rswaaeu4j3wd4cueli5brcbws3plrq
CrustyIRC.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
aaoth.i2p,aaoth5tidbhizgerysxlfrqmg5t7jzb76zt6lattwjj3up524qwa
abdlandrubbernetwork.i2p,asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
acetone.i2p,tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
agentoocat.i2p,voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
alexi.i2p,ijbams5zzi2y2owbrm6cairjemsooh6ebsw4j3kblzntg4elfqaq
alphabay.i2p,tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
amogus.i2p,udcjqqoo7mc54ephxnhzaxdwtqxsgxjzvh4wr4boope6vyr4mrhq
animal.i2p,5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
anongw.i2p,owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
apophis.i2p,aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
aqua.i2p,xqwrqfuoae43grkmzs63sw5upathbjerid3ch4bhskle3bibeqba
arav.i2p,t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
archaicbinarybbs.i2p,t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
archiv.tutorials.i2p,lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
archlinux.i2p,5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
arstechnica.i2p,rrlara3vp6vpkzbxy6xpdl2pbisig2xfcenctgxka4s6qsioyvpa
ase64-image.i2p,keppeaoopqg5dyjwwtidwgqbt2vxgb5nwvd5yrusptt5y25pib3q
autonomousdeflector.i2p,uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
azathabar.i2p,v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
b0nk.i2p,hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
bandura-yacy.i2p,e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
bandura.i2p,n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
base64-image.i2p,keppeaoopqg5dyjwwtidwgqbt2vxgb5nwvd5yrusptt5y25pib3q
bellingcat.i2p,nk6hd2mzzoieui22xzcdiz7i2irp7gel3qscwanuqzstkdxqxp3a
bentasker.i2p,gdncgijky3xvocpkq6xqk5uda4vsnvzuk7ke7jrvxnvyjwkq35iq
bible4u.i2p,xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
bigbrother.i2p,tnxiifs6uticzyg6ac4lhv2l5luwi6xra7yngocro56ive5e4jsq
bitchan.i2p,waycuw2c27ruakfblkf5tcegwmt3ot445dlfoypil6bzmm4yxg7a
bizcochito.i2p,nlohuquv5gaqnhfdeano77ftswnfg674jet5qeualztoxtmsceka
blawg.i2p,uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
bloat.ryona.i2p,q256toxhs7m3ntmu4sq5l7levm6vr67f3rmqytiqpprgflhn42qa
blog.raccoondad.i2p,ouc5i7xknchig3qdtkoydoeg2oqe354roxkjrrwzuzjcqr4xpvna
blog.tinlans.i2p,ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
blog.torproject.i2p,woelslt2oh4dn5wlxfmpjggyyu6l7ntgk3rngrooldn57x4kduma
boerse.i2p,7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
bofh.i2p,auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
bonobonet.acetone.i2p,keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
bote.i2p,bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
braindead.i2p,braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
bridges.torproject.i2p,2tiwhibsjvys63t43xncar6y52dy3dpct6edglenhzlalmyirb2a
bublik.i2p,npx6e6trk37ovoxzk3j3yoh5huenh24avbmsgeroiejkuzb2vo6q
bugfuzz.i2p,ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
bunkerfiles.i2p,lyrhscn2hfe6mjn7jo3titioitfzcy7x23hhkksydin6ildsgxiq
bunkerirc.i2p,mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
bunkertreffinfo.i2p,ow4q3pdfdwofiqb4btopg5ou734w32k3z4hoiinsezg5zkzdlq6a
ca.i2pd.i2p,u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
cake.i2p,hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
calculator.i2p,itj23yb325dma24i4qpnhuwrz26hzpps6izkaf3mowavtvoznnva
cantonese.i2p,3r3d43jejiezwb6daqgtk23ccs4jm3bvkhxwwwnpymvjn2aymriq
carvet.i2p,r5ukmkit6n3ztitar6clfc6te3o3235ys4jdbiugnkvzmfurxbnq
cbs.i2p,u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
chaox.i2p,6bcqgkedaq2krrhvidjlmdsoltmzuwaqtrafycfzbc56h5swumoq
cheapeth.i2p,x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
chmok.i2p,w7eqh6nndwk4yr5vxtbnvizgsg776vamwingijetnnqojrzjxm3q
chpok.i2p,chpoks4kkac3s274t5hhuz7umvy5nvedfxkhojkysckulrnsyccq
ci.idk.i2p,antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
cipherlist.i2p,gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
citrus.i2p,citrusogkieyk3hleilk5scb5a64jdzoogi5wjv35klrvmqsh5ma
cloaca.i2p,pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
closedgl.i2p,5q5kqrnb2mji5lzfjj2wwdrpp4veg72jw53i3tvxb4qb5umawvha
cobalt.idk.i2p,m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
coffeejazz.i2p,mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
coldhell.i2p,z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
community.i2p,64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
community.torproject.i2p,wmw22z5c24b35hlepzc2g6k3cpcg44rcg46qdwfo5heiplv7m4ca
contact.i2p,rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
costeira.i2p,abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
cssportal.i2p,lrcgr42clubpbmahmwgigan6v775xe6mew2xfjbl67v5zn6roxxq
cyberchef.i2p,5k22kdukxkobertlyheal5aro32gls6nhgktneq3mtrracubt2bq
cyberia.i2p,3jrfzgnetbjwnyrua5jpyeqk7gb6dgfw3hu5q6lyggnwqhrury5q
darkboxmush.i2p,2ukjz3iflrzr5ew36n3l6kos2widifff2oovgj7iybur6zgczspa
darknetbible.i2p,lcaocuhvocje2gociyyuiip5sxhbgmkvaicbm6g6axtflf5wc6pa
darknetdaily.i2p,gehxh3zlns3ezyuc35bszc42hdr4g5uzasexzyrqfxwcwkeiulia
darknethub.i2p,tnh5bp4si7x47vhwk6njtimbbk77gai3abkfh2gz2dhml46uu3uq
darkrealm.i2p,gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
darktech.i2p,nlkpudgmmgsdiemnbehq5llymdmxp6tn4rzjuse7nhvavr2kgkga
dashninja.i2p,dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
datagrip.i2p,ajreyxslv6lijap2hykp3uvnnsca6fyvax76u2w6n3vexngkif4a
dcherukhin.i2p,qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
ddosecrets.i2p,vyhw7t7fbj7nghx3oe4y5komczeb5egnhuvlslpkqupaymnhtlka
deadendshrine.i2p,2a55el42cobuxtls7iv6eoimejocybdekwnnaefcn4u2f5eydela
deavmi.i2p,fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
denshi.i2p,6iyjp36q6lvbodfpzekpcgz2tu23jlqgwb5zx3s7tumq5hr7ueia
det.i2p,y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
diasporg.i2p,edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
dickinass.i2p,5x55ucmwxf2fvrcboapylnrcwdvunlokq5c7mnofno3bkrlqltza
digitalsr.i2p,ldavoapfhoqpxvihdsdjjo3phlt5ujkgkzigzbesab3g42rwvbpq
discuss.i2p,wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
dist.torproject.i2p,pbhgoronppg7tq3dssnwmhzkbrscbvtmy3d5pmar5hyhnqwjj46q
diva.i2p,auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
dlms.i2p,krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq
dnl.i2p,4pjdhyaot4kktjathgjmom4ykfccezyezasbtvgdtmar2b76cpqa
dns.acetone.i2p,dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
donate.torproject.i2p,crxdz4n5viyy46upbd4amlzxcinkea7hwj3mkiudrw3nkpnfv42q
donotafraid.i2p,w6jq5xsixmolxvh5xtxaqolary2nmx5n4orc5bilc2j7ejcytgfa
drommedaris.i2p,2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
e-reading.i2p,z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
e8.i2p,5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a
eanlib.i2p,dh4ae6vbrlk2nfdwcbsjbqkvh3dnrdcdfzmsxoddaefvatkw5q5a
easygpg2.i2p,bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
ebooks.i2p,bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
ebuild.agentoocat.i2p,lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
eddysblog.i2p,ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
eleven.i2p,n2er74vsv7szwvsbsukd2lwhz5epedws7eqwahsmxy65agvjizzq
elvn.i2p,vwjtedtgyokakyxgfeoavg535bxe7ymdvfbdwsq4iqngljqtqi3a
erotic-snake-gallery.i2p,wzgk77ifxl7kpgqxs4p2t6ujjyfpdvgjlqz3q3n4wfkdljfv3dya
esperanto.i2p,2yryi2eb72hnxavjpfot7paiminbzgv5w6fv4sl5wez55ventdeq
exit.stormycloud.i2p,5d4s7pcvfdpftfk7npc7hllyujhufsdprtrf4o53i44rgsa2xbwa
explorer.gostcoin.i2p,ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
fabrice.i2p,fabricexhumxqngfziy4xkao5m5ez27jpih4chtmigg46eu7rroa
false.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
fantasy-worlds.i2p,62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
fido.r4sas.i2p,i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
files.arav.i2p,gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
fileshare.linuxfarm.i2p,rrx4hxejr4pod3tqrkj5ckzuauwy2aqsfvpiac2tkebp2iuv5qla
fishsticks.i2p,btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
flibusta.i2p,zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
forbiddenhistory.i2p,nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
foto18+common.i2p,bwe4hnzsvnx73aye36hymhhqzi2dbbrgf4rbtqh2e2x3q3r67nfq
fourth.i2p,2cq65hjlt7nnl7mctthj7oejlgep7nh7gmqc6bnbflxw2ti4bxxa
freefallheavens.i2p,7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
freehaven.i2p,y4giqqrbcb4xit5gp4y6njypupfklfdr74lfi424seenf7usjvza
freifunkmobi.bandura.i2p,5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
frontlinedefenders.i2p,pshxfoeefj67oj4jwjh3cqiztmrgcpsbuttclnc6fiwvv42p6inq
fs.i2p,ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
fuck-rkn.i2p,qmlmnhr3ul2lmuu4fjf43kmk6hf3dzsuxv5xu77vwys36xwuu4sa
galacticreststop.i2p,uln6c2abwfzneakdz7dkfmdifwrjr3r53jvkmq6mxrjt2vflvbrq
gedanken.i2p,kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
geekcode.i2p,hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
gfap.i2p,yasbny2ndcpofprdbtv7dxdtshbebyydjv5zlnwy54gii6xnlmqa
ginnegappen.i2p,kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
git-srv.b0nk.i2p,6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua
git.agentoocat.i2p,5ihrbnmcoewaax5kxsghnmxh6p6srufhmo5pqkybdwuz4yj7efja
git.apophis.i2p,apep7dtwnuom6b7li6jirhrsygxgcdqb5svqpq6mh2rpindrzp2a
git.arav.i2p,p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
git.b0nk.i2p,7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
git.community.i2p,giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
git.deavmi.i2p,5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
git.i2p,giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
git.i2pd.i2p,7p7piii66oika4bkrkxpkqf3tabx3n5e4lkaz3hreb5nrllefj3q
git.idk.i2p,7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
git.kill-9.i2p,jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
git.qorg11.i2p,jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
git.raccoondad.i2p,lvdeb4zna75pmrdf5lsc3b4wswwbfco5vzrs3344qspbxh6bfqgq
git.repo.i2p,vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
git.spyware.i2p,zin764g7gchdgxub4bskkztbkjlgibs27cl6pfvbqvjqx3prjgjq
git.varikvalefor.i2p,6sqxtpnpqqnlqbdxu7dadmorrffnpe3evbz5zye4y5kvljkzkbra
gitssh.idk.i2p,g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
gostcoin.i2p,4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
grom.i2p,lvfp4bj3opl4fqrjycx6vryeapondluh2oubvb2plg4zcm4bkpza
gusion.i2p,4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
h0p3.i2p,k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
hackernews.i2p,zbfg6fntvx2ptmp2uzw2pmyfipeh4wophzmtxzlv6qs5bvplv3wq
hagen.i2p,e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
harbour.i2p,zohxpycufzcslwb2dgdkfo75flahkl2q7n57ciqjooqia75ybada
hardenedbsd.i2p,6ebmdsir52bi3q4wfwug7ylouoq6gdafl3wyy6ccfmpffijhtoca
heaven.i2p,y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
heyguys.i2p,lzxre37ekc6asrhnbg6hdnmib3thrkt6mqyln532tjy7nlltprca
hiddenbooru.i2p,zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
hiddenchan.i2p,6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
hiddenwiki.i2p,2iz3nkopz6fxbzlcjq3ofligi7mwdseuj4ndzqljogyvsggh6dvq
hightimes.i2p,kkhti6od2xo65f25hxjsmexplfqrztgmsaa6b47mxhygynt46szq
hisdarkmaterials.i2p,qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
hopjoy.i2p,3wifx34yzdnj5vw3zu3kmqyz57tvlypmdnnyalqjdcaqrege6bpa
hotline.i2p,6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
hp-net.bandura.i2p,z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
hq.postman.i2p,7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
htmlcolors.i2p,674zs7tghldg6kagvparow7xkkwa3gaizmug3hgwurekz6wpqtia
http-false.telegram.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
hub.i2p,pbm6jogo2u2rflvzishwgqkxo6lkjsdfesd3r4k6sf4gdewc4lha
hungryewok.i2p,to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
hypestat.i2p,t6r6fsquaze4yo2mfmzyecbq5xe6y723lwdow2n55gd35cjrzrgq
i2p-mirror.bandura.i2p,aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q
i2p-projekt.i2p,udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna
i2pd.i2p,4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa
i2pdocs.str4d.i2p,yfvbtrhjac3jutdsqzugog6mbz3jtyhpwovrt2mqc5mzv534y7cq
i2peek-a-boo.i2p,qgv64klyy4tgk4ranaznet5sjgi7ccsrawtjx3j5tvekvvfl67aa
i2pforum.i2p,tmipbl5d7ctnz3cib4yd2yivlrssrtpmuuzyqdpqkelzmnqllhda
i2pjump.i2p,2mwcgdjvfvd3xwumzqzqntual3l57h3zo7lwdmkjboeraudpkyka
i2pmetrics.i2p,v65p4czypwxrn35zlrfkar2w77vr42acd7gbszegsrqq4u7sip5a
i2pnews.i2p,tc73n4kivdroccekirco7rhgxdg5f3cjvbaapabupeyzrqwv5guq
i2podisy.i2p,3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq
i2pseed.bandura.i2p,2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
i2psurvey.i2p,pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
i2ptimes.i2p,563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
i2pwiki.bandura.i2p,isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
i2search.i2p,cpgupqyhxamjfgdd3qk5ux673qomu3o5kqszvq6fwuigzifkxzta
ibft.i2p,ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
icfteam.i2p,auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
identiguy.i2p,3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
idk.i2p,b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
ilcosmista.i2p,6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
ilita.i2p,isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
infocon.i2p,ic7rentjh6ilzz6p5kveiuyzov534ksfcexmpeniyallzf5in67a
infoserver.i2p,jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
infox.i2p,qoz4bwrtnicqyxemrxubdc65uojrqn2iem6v55b6xmxzdmfzcvlq
inr.i2p,joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
insecurities.i2p,4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
intodns.i2p,4u6zxnqq4vxdtcxpogevmomrbny6taropyv4q25anflm47esiy6q
irc.acetone.i2p,qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
irc.coldhell.i2p,d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
irc.crustyirc.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
irc.echelon.i2p,ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
irc.ilita.i2p,5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
irc.nerds.i2p,nlqhsdd5a7hanjea33mwizg5ixh3xcv5dczufpf3qcfpo6tx4esa
irc.postman.i2p,hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
irc.r4sas.i2p,hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
irc.rpi.i2p,ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
irc.shaderfence.i2p,noia2id7cyvnnoaiw7t4coa4dbuvlo4fr4z3ho62eozhlfnh4lna
ircs.nerds.i2p,w4d6hj3q7eyfrkb3kcy7rox2fdjzywypvmyrudtf2q4gdzs2qlhq
isitup.i2p,xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
itphx.i2p,zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
ivorytower.i2p,fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
j6.i2p,heh6666m6vl4oj4kyirz3ghg2pnlycpiluvdms7pdxns6gbpolza
javadoc.skank.i2p,us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
javascript.i2p,idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
jbo.varikvalefor.i2p,3flbkdhahkgq47s7vytubh3v4vk3lyqgwwh6dd2k5szqlrivdmta
jimkiebs.i2p,epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
k1773r.i2p,zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
karamba.i2p,g2lizyuyzms7m6gv24pzege5zapbinxfd2dzbaha6k246pl2xu3q
kelvinchan.i2p,6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma
keys.dlms.i2p,znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq
kibykarni.i2p,xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a
kill-9.i2p,3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q
kislitsa.i2p,khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq
kkk.i2p,kukluxklanib666d73z5fyeyb6vnystmvvreaodhjf73rhl4wxva
knijka.i2p,knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa
kohlchan.i2p,kohlchanvn6vtsujobyw4pt5naaszmxqutd5hsdatmxfe2qaqhya
korol4ik.i2p,mr3z5lggdppc3yw2r2egstpg33ga2wfocmozac6kjmhhfk3asm2q
krebsonsecurity.i2p,xqglpgrpbdqeirurobtqel3xqt3p277iiadpz256bzxmtlbyq6ea
kuchka.i2p,nzmvfaztssds5yaatmmnk2jdghfxizvr6lctmljvxqehnwsfsubq
kycklingar.i2p,gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
lbt.i2p,5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
ledechaine.i2p,7s4vtwkvxvmigj3r4zrc7s5ajdeqtris4qnj3n35cuuvuzkpgqsq
legalcases.i2p,tms2ibdkp67ddj5ez6l4zwvw33jdpz5tmavv3kpjdcpavfh7np4q
legwork.i2p,cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
lenczewski.i2p,7uypwo47x4vnryoz25vwisu5jpyhz7pcdvnfzvopww3wxc7wiiia
letsdecentralize.i2p,mqtlargpv4247iylywxw6ibi6qpz6my5duqm33c4lcdhjg5yfh7q
libreddit.i2p,libr7vbp7i3lsvqwy5aqgql44uxaufawi5yrloh3x7sezubsoaba
limak.i2p,jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
linuxfarm.i2p,br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
lkml.i2p,xnytorawa5vfykram2qnqks5zaef7s4ckvaayvq4ksih46mq3luq
lnxcloud.i2p,wryxsgqp3xl7fuohijmxlugrndtp2vixqlt2obpgriwt3fpdjn6q
lockdown.bnet.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lockdown.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lodikon.i2p,u3f67staiwhqxpacya3clmvurdwd2kp7qcthzhstqnhrmlwc2g4a
lolicat.i2p,2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
lolicatgirls.i2p,pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra
longseason.i2p,ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
lucas.i2p,hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
lunach.i2p,m27cpx55hqhcfjz4u62tiynjtzqdw4s3kanxdgluuthnndiquoeq
madaidans-insecurities.i2p,4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
mail.i2p,mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
major.acetone.i2p,majorivqe4wud5ksadgfycdkgqsesqbbnw4hpgcqfixy4sm77f4q
major.i2p,majorwsiehucyqfqbw3g2on3xqq2pwrwdd6hhyludqqr6ct7xdoa
mapwiki.i2p,p2lufcvbzq3smirs7ijwds3y34cxzchveogb4jflbpmk5pzy3wqa
marenostrum.i2p,tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
masflam.i2p,ucvzbekxpbzfizwndx4bgsj5bjbygdu4vc3xukiseiw5bvatxivq
matrix.i2p,pbm6jogo2u2rflvzishwgqkxo6lkjsdfesd3r4k6sf4gdewc4lha
mattermost.i2p,x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
mayvaneday.i2p,zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
maza.i2p,wiigkmy5je5ox4byjt7z7fh4btojbixbmfv4chnzqoovmgnvdpoa
mdleom.i2p,ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa
mdn.i2p,u6i4kmhypgs4ccd4hae3rstcayvwl45wufeglwvcmha7jqqdtfna
meeh.i2p,4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
metacritic.i2p,n6tja4pkj7nrybakfqji6mvqshcvsufbzvwvp4iqrgspud3aodiq
metager.i2p,4zdcetlcp3tdg5h23gd3aeyzbvodepid7a6mb3w4qvxkdnm2by6q
metrics.i2p,z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
mhatta.i2p,o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
minecraft.reloaded.i2p,qs5ihihltxhhfi6wesihgbvoaurqxgdpxgmwnmsk5d5beabtvmvq
minecraftlog.i2p,vu2v5xnfk4ivrcmjx4fvofzts7fj47jcq23zfpg6ajj6p3ytt3hq
mk16de.bandura.i2p,rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
moneroauth.i2p,kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
moneroexplorer.i2p,je4vbduigce7pgjivvo26d4abn3u5mfsos5zemp3a75xzcv7nm4q
monerujo.i2p,puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
mooks.i2p,6txhjmnxnrjku4cmdwtyacjzhwythc7l5euqaxieyrc4vjotqwzq
mosfet.i2p,s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
mozdev.i2p,u6i4kmhypgs4ccd4hae3rstcayvwl45wufeglwvcmha7jqqdtfna
mtn.i2p-projekt.i2p,f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
mtproxy.ilita.i2p,vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
mumble.acetone.i2p,plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
muwire.i2p,c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
nekit.i2p,axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
nekofiles.i2p,rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
nerds.i2p,5wpwlbka4wj74rrnwbieopppgtivbqxljznl3bs542mxtvjz7ffq
netbsd.i2p,jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
news-i2pn.i2p,wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
newsnow.i2p,ee2w4j3tpn4t6gutk55tc4hajc65f63kc7m7dscalsma6wbmweia
nexus.i2p,6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
nitter.skank.i2p,l2aoqvwkq2prrv53cbk4k2ilxw5s2fc7eo2rjunnixp2hrv3iwda
nntp.txtcon.i2p,nntpsqgdoky2fuctc2hc6vuls2b4okxpkocic2eo66uup3dtaq7q
norml.i2p,rbnyo7zao6rkibzqr5uqy2iloismxzpqlgcolhvlsutoai5okdnq
notbob.i2p,nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
notochina.i2p,h3xsjhfyf4wah4sou3gepzibetdntrmiax3zl3x7ozyjv5krakaa
novabbs.i2p,bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
nsa.i2p,nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
nullchan.i2p,nullz2mkp7znirlcersxpk7qmkmgcc6u3yhe462p2qkpxsdb3mja
nvspc.i2p,anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
obmen.i2p,vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
ol.i2p,bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
omitracker.i2p,a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
openbsd.i2p,ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
opentracker.dg2.i2p,w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
opentracker.r4sas.i2p,punzipidirfqspstvzpj6gb4tkuykqp6quurj6e23bgxcxhdoe7q
opentracker.skank.i2p,by7luzwhx733fhc5ug2o75dcaunblq2ztlshzd7qvptaoa73nqua
outproxy-tor.meeh.i2p,77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq
outproxy.bandura.i2p,smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q
outproxy.purokishi.i2p,nieasaidj7wy5nammqf4f7zzcdafi4apygwn5qwscpn4pq34hqia
p2p-node.i2p,e7uvwnpkzbn5zdwr76ujlhym4lk5pfkqhvfwivt3mszx7l4lpj7q
packages.i2p,2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
pagwin.i2p,qggplwxvsvctsdzgld2shfyjlokfoxur3pkfapygs26i4hwawfga
panzerradio.i2p,rawdhtmxzynf5mhrpyhnbjqqxswidr6gvvcbbt4hbpjuv5jebw7q
password.i2p,knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
paste.r4sas.i2p,csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
pharos.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
pharoz.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
photosarchive.bentasker.i2p,w4lnfcg2chbkwigogba7q3o5pgtq2baip7z3z4afaj65axhyc5ca
phreeroma.i2p,44fu2fhq6q36re2xqnkuievdfsroi5xchgbowkqib6ekak3ynm6q
pipe.viniciorl.i2p,waslgepj4zi7vzxaion467djzkrqwdhujkfzoaoxletrkkhdpqra
piradio.i2p,m2tsjo2sxabwimkeffsy2mlvtyebnzs6qndm5zpuw6mpwlja2ewa
pizda666.i2p,bczoowsc6ik7a4mya45qnlq5n6c6llpd5ni3u67r4r4drgohyira
pizdabol.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
planet.i2p,pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
play-it.i2p,oxt7gdu663baue7lugdmgxqkmtrfdy2izluneqdrpv4pfslxjlta
pocketlint.i2p,pocketzsq4r4fef2bw57sn4paufjh5dw75azu5sr4hk2qwdvucsa
podger.i2p,56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
polistern.i2p,ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
pomoyka.i2p,omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
pool.gostcoin.i2p,m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
pop.postman.i2p,i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
porest.i2p,46l7beij4rerlbuj7xmcngarlkhlpgaztywrleiwagjuiipcebbq
pornography.i2p,ko7e4u7sw2miwi2q6oy643bad5ihmwedkjhcnwqoqh2xff6nrbwa
priv.i2p,m2t27aqw3ts4mb4vxgfhhgstqk4gzyb6ac5fdnezmsf2xbbtdiiq
privacy-handbuch.i2p,3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
privatebin.i2p,e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
programmer.i2p,cm62ucwrvbxzznqhjtwwkma22kzxbxsfcs5w33eo7r2aartu4cdq
programthink.i2p,programygfltn24q6foacm5gbuo3z2geub2k2k366llx3bph4ula
project-future.i2p,ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta
proof-of-loss.i2p,ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
prophetgram.i2p,cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
psv.i2p,pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
psy.i2p,s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
psychonaut.i2p,laf5nvzn4wz7ndgtdysmhvebpyjo3fkth7i4z4c2kp7su3wi6e2a
psyco.i2p,eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
pubsub.i2p,kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa
pull.git.repo.i2p,3so7htzxzz6h46qvjm3fbd735zl3lrblerlj2xxybhobublcv67q
purokishi.i2p,ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca
purplechan.i2p,tyiwxpgs7syjvz3cha3uckaxgondtiktlsvriebyy4qmzgbaj3gq
push.git.repo.i2p,jef4g5vxnqybm4zpouum3lzbl6ti6456q57nbyj5kfyldkempm3a
pvsur.i2p,pvsurxi2hz2n45kfrj5b3ny6ko4ipj2u2piftjen44npkpnbwh6q
qorg11.i2p,ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q
quest.idk.i2p,k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa
r4sas.i2p,2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq
raccoondad.i2p,utoagugf3imr6mpjsithhnpvvvyehsnebisovn6kqn4vma6va3ca
radio.arav.i2p,plkybcgxt4cdanot75cy3pbnqlbqcsrib2fmrpsnug4bqphqvfda
radio.nerds.i2p,tpbfxyluryodtfxdpwsfvw7fl35p5ezrjk3tlcv2atlmc4fl2ctq
radio.r4sas.i2p,cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
radioliberty.i2p,libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
radioplayer.i2p,5tmr7qghx5eecoyvi77rsy7fqxeoyqcdpvg5wasoitn6ywkyobbq
raklet.i2p,j3vnnihngp3ti2trktoxlyblltjn6gxscbmasb5zun5pdndkxkoq
ramble.i2p,smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
ransack.i2p,mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
realsite.i2p,ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
recipebook.bentasker.i2p,ajagzagm5uyc2oac32ycx42znnatejliqorbk3y66xt25guxnh2q
reg.i2p,shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
reloaded.i2p,wxbh2yq5twqinsw3ztjogqovvdd6h6j5uxeg3lh53x4w7klzv3tq
repo.i2p,uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
repo.i2pd.i2p,ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
repo.r4sas.i2p,ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
retrobbs.i2p,mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
retrobbs2.i2p,ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
rfocke.i2p,pphesm2icsbqi7uzsmxpgyy4kc22b3cdpb4uwplkkjmupexva7dq
ricycal.i2p,tfkz7rgqh6rwvlo2veftw4why2dej3gztiglzfqfvykyzak2syxa
rpi.i2p,56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
rslight.i2p,bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
rufurus.i2p,7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
rus.azathabar.i2p,6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
russia.i2p,yycwiaemebdnhbw4slrxxscgmaoaxeqsxpxt3wgukhtl2ood66qq
rutor.i2p,rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
ryona.i2p,mzt45ux3budteuxz2b4xkwnphgspgljuwp3rxm3d2yr2sij6wopq
s01.nullchan.i2p,mirrooeo34iokdgf3wno4ubx6x6uj7f2pqyjmmrvtg4m4parvguq
salama.i2p,4uoef63gv2sg6dtqmom5oypt6taypklekvlejfox56eiylprzrmq
satoshivision.i2p,rn5c533w5baghskquu3gtqlehwjkstzzbk5chbc5qhivsz3a3nqq
scamdemia.i2p,fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
scanner.linuxfarm.i2p,kojzsg33v2zxwqp3twpqzfvflaeoxgzxrl3douf2x7xv27ggfnaa
sciencedaily.i2p,hxvbh56wdcyu766aueocw4hkzi3ptvrutc7bkxohcfthd2ufzd5a
secret-site.i2p,p6hbhjgdv2e6gyydrqh2ztl6onxnyilmj4ts7d7aj3uqssr7vvfq
securityinabox.i2p,np3agu3ekd3isrzqzvsw4llwlr3hg5xbw7n7a23n2zfvhhm4e7iq
serien.i2p,3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
seven.i2p,anqf44jmf7kby2qcvcx7gug6nuyansdu4msdbnp5kojom27rrm7a
shaderfence.i2p,6zibmpckg6hwsr7s5yk7tjnmuy6wjmy7x3etmklrauu4oecslzua
shadowforums.i2p,dq65yxqpp6gcyo53y53eqouijhy7ameqxkcjthkr7wpfusqppxma
shadowwiki.i2p,63gxkfc4hlcbxrdoepw2i2hyxai5qkxmi636ag3y7sf5tq3imoya
sharefile.i2p,o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
shoieq3.i2p,3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
shota.i2p,75xxnc5hkeg7a3z5re4cpybbxt7te3p2krgrrgoka4hib2nr7k4q
silkr0adrel0aded.i2p,rdqt2xxpsc5tzj7gjvcrpi7jea5gtbetgx7w2npobveg5teatdvq
silkroadreloaded.i2p,hyn3mwmyeovcn2paujxur2eury2ufqpoahvbbqshfoggljn25tra
simplytranslate.i2p,mmiyv57bfhgc7p4pipk7jjqv5meuz5rjijoviquplvhxl3v7aoba
skank.i2p,qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
slashdot.i2p,7bkq3jzbvqirehxfo3gejnkfnktnhmxdxyuunauur5ucu5sn3xtq
smtp.postman.i2p,3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
snippets.bentasker.i2p,vgduvgxudaceslvwlvtda6b4csobvczygcqpklm3yeuke2zgvcaa
speed-test.i2p,7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
spoika.i2p,u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
sportloto.i2p,sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
srr.i2p,t6vdyn5sbtorn3bp6i7ndnv4lmxhk4qnqmyqlaxykdhcwatchlza
ssh.b0nk.i2p,fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a
stackoverflow.i2p,jswqxcghynwlgihwbugz53nl2wswcimeibqhktwdd2htb6xhyklq
stats.i2p,kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq
stormycloud.i2p,46f3kyl2cwd5tdalegvkaqjfnwbitzn5d2lq4o5kp6keoujdhlvq
str4d.i2p,wrrwzdgsppwl2g2bdohhajz3dh45ui6u3y7yuop5ivvfzxtwnipa
streams.darkrealm.i2p,ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq
support.i2p,supportpwqa4cc7q43hb67tgd3dvntrwsy6725iufahm7kiluysq
support.torproject.i2p,6r7j6jlbrxb35k32zktopvr3w3pidm2baymwol33hq7xmy2sqm3a
syndie-project.i2p,xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
syndie.echelon.i2p,vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
t-ru.i2p,bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
tahoeserve.i2p,yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
tails.i2p,5d7sl23h4uer4czjdtlomkb6ykeiss6vqkxzausp6f6gmty2plaa
takipsizad.i2p,ufkhvmacngokfufxinfkdvfmbpvwvog5vrjiavw5zv32jnekcxia
talk.community.i2p,talkakxfa6ihzn2mbzar6q5chdtkpnjp633w3tarul2bb6tfmoua
talks.i2p,v45dmrrbjg3ucrazgl3t2tktyjajo7gvfexhmbdos3pi5kfuocaa
techmeme.i2p,pvwyqrf4pbxbsigcxpubvywvng52hjxzc5mook3pel2c4rv64mpa
teddit.i2p,k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
telegram.i2p,i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
term99.linuxfarm.i2p,dg3mso5klqqgcngalxdh5yvkwv56ou7yotsqxw3twneojytiehra
tesla.i2p,em2x6bwsbelqfvlgypcywwoov2rib7mvxiy775dmpfs76m4zcdtq
testmk16de.bandura.i2p,gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
testshark.i2p,u64ropzplqkncdmi4wcknqehjqudxb6elyut2k44ocvgx7ilpgia
theloliguide.i2p,qzyogy3d7v6ccs5s3mm3rv5hzuaus7qsfwe6ojnmtsistnvskj7q
theyosh.i2p,5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
thornworld.i2p,vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
threatpost.i2p,kokflo7ovzxujqinafmxibhk6ytvlmxmuvha3doaqhjkgt3fpe3a
tinypng.i2p,ri72pybxxb4mm6rbesplhn4ijk5ooyv7gv7ogh3spulwzr2par5q
tmpsend.i2p,r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
tomasgl.i2p,tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
torch.i2p,vdpmmcq4ysca5rdczr5lqohjtaf5togdy5itoos54s6nn6xqox3a
torproject.i2p,torprojaxvxevo4c5qvor3ywgasxkubs5ukazrpq3qcxed6lgbrq
torque.i2p,hc3mefp6cq2btwmmjl76atgtftzswu774dyv4a3qkl34wn4g6vta
tosios.idk.i2p,4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a
trac.i2p2.i2p,i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
tracker2.postman.i2p,6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
traditio.i2p,wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
ts.i2p,nebcjgfx3f7q4wzihqmguwcdeopaf7f6wyk2dojw4bcuku472zxq
tube.i2p,vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
tumbach.i2p,u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
tutorials.i2p,zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
tv.i2p,znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q
txtcon.i2p,txtcons5lrayl7bq7zsk2mt24clocassid3kh2rvyd3rd2xeklpq
udonya.i2p,xx6ojsbjzosszqzdxfuopkib6aslzjd6jhcde36qvvm7hzqbddyq
ukrainews.i2p,2bocbwrmakg252kicblp5i42feao7qpcw3xppms2i5oevkgelpsa
umbra.i2p,xunb4chkeo5xxpfkwrkaqb5etmqpp4ddgvcmy7qkvtxhk5ihck2q
umbrella-corp.i2p,un2dk5c7zp5eeppownhi5hbdrjbrz5a2qajk3khj6y6tvu6w4lea
unqueued.i2p,3gvn4kwd7z74jxc2sn4ucx52dpvpscxbzjluux3ul4t3eu5g64xq
upload.arav.i2p,a5txjx3gjrnw6do4zr66wpwlayxt3dg7kb43wbr3fjp53mkfkbdq
urbandictionary.i2p,qpaj4limo5zro64k75k3tsckt7a7rr3tvjorwczmu4ug2yd5kh7q
vanity-eth.i2p,6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
varikvalefor.i2p,yn7ovvjf4nhf7hhk6qqph7utcoce4f2j325rfeuyapw3emlqfqna
viniciorl.i2p,h24ivgpff7i26dvbfs4chtj66t5oewvzbiwnby6mckp2lv2jc7dq
vps.webhosting.i2p,kfqflh2y36jzp26vloaptqpgwtvw4qtz232wv53xxbggkydhpkaq
w3schools.i2p,kmf6zikzfttexa3pxeumdqt73gmzb5ybkpk4hxstuzpbup22yqna
walker.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
wbnet.i2p,2deeocx7jmrbmjxcpkxecw7yy2z7ybzwz5i6mg3ska3p3d2dx45q
web.telegram.i2p,re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a
webhosting.i2p,hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq
webirc.coldhell.i2p,k2d6bius63w3g35j32dn66fssqwbnyvegx6w6pl5mdeojpp4rjba
wiki.i2p-projekt.i2p,b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa
wiki.ilita.i2p,r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a
wikiless.i2p,x33lx4h6d7h6xs4eiqwhvaxn3ea5gn2ifmu3jobnvuvn4k4aej7a
wikimirror.i2p,2bhh73qhuwjkznnnzjfgo4buo7xy5l4ubhzt3oh23adksscx6gmq
wired.i2p,6ezm53j3so5rywhhaxup7bw2oryy3qp5nyeb5qc6k3duluiddxqq
wizardryandsteamworks.i2p,ioujrf2uwqairs7l3vyvqp7n2pia3x3wg5w5qtcqvg32zezuezza
wlm.i2p,nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
women.i2p,dlabtr4su5l23za2p3l2jczozfwoc72qzslozsyd6vb43yqp7jga
wopen.i2p,xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
worcester.i2p,5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
www.imule.i2p,657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq
www.infoserver.i2p,fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
xadmpp.i2p,jb67tnpn67i3pwcuf45rtwu7gq6nkrs72iznhnakpkdzb6dkgfmq
xd.i2p,jynrjzdp5qajf2jsdif6bgpijuk72zmuiohq3o7omeksw4pdgejq
xeha.i2p,oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
xinku.i2p,xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
xmpp.ilita.i2p,2dpg43zlfophx5jo4xeqc6cx3zm4x3tfdoinbfuzychf5lwn3dhq
xmpp.pubsub.i2p,yxbp3sn2x5t6k7hcxsg4njmaxjomr2wvh4xeldxjlij3ms3sikgq
xmpp.reloaded.i2p,hioylmlm3lf3qgp2ncmym3igx6eyytlwioeq2fip4cwpzjtyxfuq
xmpp.rpi.i2p,3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
xmpp.xadmpp.i2p,s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
xmpp2.reloaded.i2p,ufeplugqot5e22kottvejlw7yq24kynw5v5faulehc6n2zs62ura
xmrnode.i2p,moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
xmrradio.i2p,olwxvhwaq422rcrlmvh6wgrdczyfyeag645du4cwncutqblkfmaq
xn--80ahmijpip2p.i2p,assist2a3jsikp7ufmzpa56mlflhi5kmoack5dm6ua5x2hbgckua
xsden.i2p,4dofwhzlkz3k3sedwzs2sx2fudq3jfvaygffc6kp6hsawmfmz6qa
xx.i2p,a7hrmb4kbftyk4ovr2la6azi7vjfqwt2zlckos4svoaclqu52j6a
yellowonion.i2p,7l4kgsyatdmntck22i27oui3llftjim33ydav7kdew6ewfqvjzfa
yggdrasil.acetone.i2p,tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
yggdrasil.i2p,7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
yggnet.i2p,deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
yourdomain.i2p,witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
yt2mp3.i2p,7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
zab.i2p,n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
zerobin.i2p,3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
zeronet.i2p,fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
znc.str4d.i2p,ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
zx.i2p,4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
zzz.i2p,lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
1 0xff.i2p apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
2 0xpaste.i2p oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
3 102chan-memorial.i2p t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q
4 111.i2p s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
5 333.i2p ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
6 4rum.i2p ys54v3jkze77peoyzhbck5rswaaeu4j3wd4cueli5brcbws3plrq
7 CrustyIRC.i2p 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
8 aaoth.i2p aaoth5tidbhizgerysxlfrqmg5t7jzb76zt6lattwjj3up524qwa
9 abdlandrubbernetwork.i2p asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
10 acetone.i2p tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
11 agentoocat.i2p voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
12 alexi.i2p ijbams5zzi2y2owbrm6cairjemsooh6ebsw4j3kblzntg4elfqaq
13 alphabay.i2p tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
14 amogus.i2p udcjqqoo7mc54ephxnhzaxdwtqxsgxjzvh4wr4boope6vyr4mrhq
15 animal.i2p 5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
16 anongw.i2p owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
17 apophis.i2p aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
18 aqua.i2p xqwrqfuoae43grkmzs63sw5upathbjerid3ch4bhskle3bibeqba
19 arav.i2p t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
20 archaicbinarybbs.i2p t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
21 archiv.tutorials.i2p lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
22 archlinux.i2p 5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
23 arstechnica.i2p rrlara3vp6vpkzbxy6xpdl2pbisig2xfcenctgxka4s6qsioyvpa
24 ase64-image.i2p keppeaoopqg5dyjwwtidwgqbt2vxgb5nwvd5yrusptt5y25pib3q
25 autonomousdeflector.i2p uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
26 azathabar.i2p v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
27 b0nk.i2p hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
28 bandura-yacy.i2p e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
29 bandura.i2p n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
30 base64-image.i2p keppeaoopqg5dyjwwtidwgqbt2vxgb5nwvd5yrusptt5y25pib3q
31 bellingcat.i2p nk6hd2mzzoieui22xzcdiz7i2irp7gel3qscwanuqzstkdxqxp3a
32 bentasker.i2p gdncgijky3xvocpkq6xqk5uda4vsnvzuk7ke7jrvxnvyjwkq35iq
33 bible4u.i2p xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
34 bigbrother.i2p tnxiifs6uticzyg6ac4lhv2l5luwi6xra7yngocro56ive5e4jsq
35 bitchan.i2p waycuw2c27ruakfblkf5tcegwmt3ot445dlfoypil6bzmm4yxg7a
36 bizcochito.i2p nlohuquv5gaqnhfdeano77ftswnfg674jet5qeualztoxtmsceka
37 blawg.i2p uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
38 bloat.ryona.i2p q256toxhs7m3ntmu4sq5l7levm6vr67f3rmqytiqpprgflhn42qa
39 blog.raccoondad.i2p ouc5i7xknchig3qdtkoydoeg2oqe354roxkjrrwzuzjcqr4xpvna
40 blog.tinlans.i2p ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
41 blog.torproject.i2p woelslt2oh4dn5wlxfmpjggyyu6l7ntgk3rngrooldn57x4kduma
42 boerse.i2p 7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
43 bofh.i2p auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
44 bonobonet.acetone.i2p keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
45 bote.i2p bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
46 braindead.i2p braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
47 bridges.torproject.i2p 2tiwhibsjvys63t43xncar6y52dy3dpct6edglenhzlalmyirb2a
48 bublik.i2p npx6e6trk37ovoxzk3j3yoh5huenh24avbmsgeroiejkuzb2vo6q
49 bugfuzz.i2p ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
50 bunkerfiles.i2p lyrhscn2hfe6mjn7jo3titioitfzcy7x23hhkksydin6ildsgxiq
51 bunkerirc.i2p mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
52 bunkertreffinfo.i2p ow4q3pdfdwofiqb4btopg5ou734w32k3z4hoiinsezg5zkzdlq6a
53 ca.i2pd.i2p u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
54 cake.i2p hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
55 calculator.i2p itj23yb325dma24i4qpnhuwrz26hzpps6izkaf3mowavtvoznnva
56 cantonese.i2p 3r3d43jejiezwb6daqgtk23ccs4jm3bvkhxwwwnpymvjn2aymriq
57 carvet.i2p r5ukmkit6n3ztitar6clfc6te3o3235ys4jdbiugnkvzmfurxbnq
58 cbs.i2p u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
59 chaox.i2p 6bcqgkedaq2krrhvidjlmdsoltmzuwaqtrafycfzbc56h5swumoq
60 cheapeth.i2p x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
61 chmok.i2p w7eqh6nndwk4yr5vxtbnvizgsg776vamwingijetnnqojrzjxm3q
62 chpok.i2p chpoks4kkac3s274t5hhuz7umvy5nvedfxkhojkysckulrnsyccq
63 ci.idk.i2p antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
64 cipherlist.i2p gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
65 citrus.i2p citrusogkieyk3hleilk5scb5a64jdzoogi5wjv35klrvmqsh5ma
66 cloaca.i2p pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
67 closedgl.i2p 5q5kqrnb2mji5lzfjj2wwdrpp4veg72jw53i3tvxb4qb5umawvha
68 cobalt.idk.i2p m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
69 coffeejazz.i2p mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
70 coldhell.i2p z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
71 community.i2p 64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
72 community.torproject.i2p wmw22z5c24b35hlepzc2g6k3cpcg44rcg46qdwfo5heiplv7m4ca
73 contact.i2p rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
74 costeira.i2p abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
75 cssportal.i2p lrcgr42clubpbmahmwgigan6v775xe6mew2xfjbl67v5zn6roxxq
76 cyberchef.i2p 5k22kdukxkobertlyheal5aro32gls6nhgktneq3mtrracubt2bq
77 cyberia.i2p 3jrfzgnetbjwnyrua5jpyeqk7gb6dgfw3hu5q6lyggnwqhrury5q
78 darkboxmush.i2p 2ukjz3iflrzr5ew36n3l6kos2widifff2oovgj7iybur6zgczspa
79 darknetbible.i2p lcaocuhvocje2gociyyuiip5sxhbgmkvaicbm6g6axtflf5wc6pa
80 darknetdaily.i2p gehxh3zlns3ezyuc35bszc42hdr4g5uzasexzyrqfxwcwkeiulia
81 darknethub.i2p tnh5bp4si7x47vhwk6njtimbbk77gai3abkfh2gz2dhml46uu3uq
82 darkrealm.i2p gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
83 darktech.i2p nlkpudgmmgsdiemnbehq5llymdmxp6tn4rzjuse7nhvavr2kgkga
84 dashninja.i2p dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
85 datagrip.i2p ajreyxslv6lijap2hykp3uvnnsca6fyvax76u2w6n3vexngkif4a
86 dcherukhin.i2p qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
87 ddosecrets.i2p vyhw7t7fbj7nghx3oe4y5komczeb5egnhuvlslpkqupaymnhtlka
88 deadendshrine.i2p 2a55el42cobuxtls7iv6eoimejocybdekwnnaefcn4u2f5eydela
89 deavmi.i2p fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
90 denshi.i2p 6iyjp36q6lvbodfpzekpcgz2tu23jlqgwb5zx3s7tumq5hr7ueia
91 det.i2p y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
92 diasporg.i2p edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
93 dickinass.i2p 5x55ucmwxf2fvrcboapylnrcwdvunlokq5c7mnofno3bkrlqltza
94 digitalsr.i2p ldavoapfhoqpxvihdsdjjo3phlt5ujkgkzigzbesab3g42rwvbpq
95 discuss.i2p wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
96 dist.torproject.i2p pbhgoronppg7tq3dssnwmhzkbrscbvtmy3d5pmar5hyhnqwjj46q
97 diva.i2p auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
98 dlms.i2p krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq
99 dnl.i2p 4pjdhyaot4kktjathgjmom4ykfccezyezasbtvgdtmar2b76cpqa
100 dns.acetone.i2p dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
101 donate.torproject.i2p crxdz4n5viyy46upbd4amlzxcinkea7hwj3mkiudrw3nkpnfv42q
102 donotafraid.i2p w6jq5xsixmolxvh5xtxaqolary2nmx5n4orc5bilc2j7ejcytgfa
103 drommedaris.i2p 2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
104 e-reading.i2p z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
105 e8.i2p 5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a
106 eanlib.i2p dh4ae6vbrlk2nfdwcbsjbqkvh3dnrdcdfzmsxoddaefvatkw5q5a
107 easygpg2.i2p bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
108 ebooks.i2p bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
109 ebuild.agentoocat.i2p lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
110 eddysblog.i2p ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
111 eleven.i2p n2er74vsv7szwvsbsukd2lwhz5epedws7eqwahsmxy65agvjizzq
112 elvn.i2p vwjtedtgyokakyxgfeoavg535bxe7ymdvfbdwsq4iqngljqtqi3a
113 erotic-snake-gallery.i2p wzgk77ifxl7kpgqxs4p2t6ujjyfpdvgjlqz3q3n4wfkdljfv3dya
114 esperanto.i2p 2yryi2eb72hnxavjpfot7paiminbzgv5w6fv4sl5wez55ventdeq
115 exit.stormycloud.i2p 5d4s7pcvfdpftfk7npc7hllyujhufsdprtrf4o53i44rgsa2xbwa
116 explorer.gostcoin.i2p ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
117 fabrice.i2p fabricexhumxqngfziy4xkao5m5ez27jpih4chtmigg46eu7rroa
118 false.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
119 fantasy-worlds.i2p 62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
120 fido.r4sas.i2p i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
121 files.arav.i2p gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
122 fileshare.linuxfarm.i2p rrx4hxejr4pod3tqrkj5ckzuauwy2aqsfvpiac2tkebp2iuv5qla
123 fishsticks.i2p btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
124 flibusta.i2p zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
125 forbiddenhistory.i2p nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
126 foto18+common.i2p bwe4hnzsvnx73aye36hymhhqzi2dbbrgf4rbtqh2e2x3q3r67nfq
127 fourth.i2p 2cq65hjlt7nnl7mctthj7oejlgep7nh7gmqc6bnbflxw2ti4bxxa
128 freefallheavens.i2p 7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
129 freehaven.i2p y4giqqrbcb4xit5gp4y6njypupfklfdr74lfi424seenf7usjvza
130 freifunkmobi.bandura.i2p 5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
131 frontlinedefenders.i2p pshxfoeefj67oj4jwjh3cqiztmrgcpsbuttclnc6fiwvv42p6inq
132 fs.i2p ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
133 fuck-rkn.i2p qmlmnhr3ul2lmuu4fjf43kmk6hf3dzsuxv5xu77vwys36xwuu4sa
134 galacticreststop.i2p uln6c2abwfzneakdz7dkfmdifwrjr3r53jvkmq6mxrjt2vflvbrq
135 gedanken.i2p kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
136 geekcode.i2p hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
137 gfap.i2p yasbny2ndcpofprdbtv7dxdtshbebyydjv5zlnwy54gii6xnlmqa
138 ginnegappen.i2p kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
139 git-srv.b0nk.i2p 6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua
140 git.agentoocat.i2p 5ihrbnmcoewaax5kxsghnmxh6p6srufhmo5pqkybdwuz4yj7efja
141 git.apophis.i2p apep7dtwnuom6b7li6jirhrsygxgcdqb5svqpq6mh2rpindrzp2a
142 git.arav.i2p p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
143 git.b0nk.i2p 7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
144 git.community.i2p giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
145 git.deavmi.i2p 5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
146 git.i2p giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
147 git.i2pd.i2p 7p7piii66oika4bkrkxpkqf3tabx3n5e4lkaz3hreb5nrllefj3q
148 git.idk.i2p 7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
149 git.kill-9.i2p jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
150 git.qorg11.i2p jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
151 git.raccoondad.i2p lvdeb4zna75pmrdf5lsc3b4wswwbfco5vzrs3344qspbxh6bfqgq
152 git.repo.i2p vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
153 git.spyware.i2p zin764g7gchdgxub4bskkztbkjlgibs27cl6pfvbqvjqx3prjgjq
154 git.varikvalefor.i2p 6sqxtpnpqqnlqbdxu7dadmorrffnpe3evbz5zye4y5kvljkzkbra
155 gitssh.idk.i2p g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
156 gostcoin.i2p 4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
157 grom.i2p lvfp4bj3opl4fqrjycx6vryeapondluh2oubvb2plg4zcm4bkpza
158 gusion.i2p 4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
159 h0p3.i2p k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
160 hackernews.i2p zbfg6fntvx2ptmp2uzw2pmyfipeh4wophzmtxzlv6qs5bvplv3wq
161 hagen.i2p e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
162 harbour.i2p zohxpycufzcslwb2dgdkfo75flahkl2q7n57ciqjooqia75ybada
163 hardenedbsd.i2p 6ebmdsir52bi3q4wfwug7ylouoq6gdafl3wyy6ccfmpffijhtoca
164 heaven.i2p y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
165 heyguys.i2p lzxre37ekc6asrhnbg6hdnmib3thrkt6mqyln532tjy7nlltprca
166 hiddenbooru.i2p zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
167 hiddenchan.i2p 6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
168 hiddenwiki.i2p 2iz3nkopz6fxbzlcjq3ofligi7mwdseuj4ndzqljogyvsggh6dvq
169 hightimes.i2p kkhti6od2xo65f25hxjsmexplfqrztgmsaa6b47mxhygynt46szq
170 hisdarkmaterials.i2p qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
171 hopjoy.i2p 3wifx34yzdnj5vw3zu3kmqyz57tvlypmdnnyalqjdcaqrege6bpa
172 hotline.i2p 6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
173 hp-net.bandura.i2p z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
174 hq.postman.i2p 7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
175 htmlcolors.i2p 674zs7tghldg6kagvparow7xkkwa3gaizmug3hgwurekz6wpqtia
176 http-false.telegram.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
177 hub.i2p pbm6jogo2u2rflvzishwgqkxo6lkjsdfesd3r4k6sf4gdewc4lha
178 hungryewok.i2p to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
179 hypestat.i2p t6r6fsquaze4yo2mfmzyecbq5xe6y723lwdow2n55gd35cjrzrgq
180 i2p-mirror.bandura.i2p aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q
181 i2p-projekt.i2p udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna
182 i2pd.i2p 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa
183 i2pdocs.str4d.i2p yfvbtrhjac3jutdsqzugog6mbz3jtyhpwovrt2mqc5mzv534y7cq
184 i2peek-a-boo.i2p qgv64klyy4tgk4ranaznet5sjgi7ccsrawtjx3j5tvekvvfl67aa
185 i2pforum.i2p tmipbl5d7ctnz3cib4yd2yivlrssrtpmuuzyqdpqkelzmnqllhda
186 i2pjump.i2p 2mwcgdjvfvd3xwumzqzqntual3l57h3zo7lwdmkjboeraudpkyka
187 i2pmetrics.i2p v65p4czypwxrn35zlrfkar2w77vr42acd7gbszegsrqq4u7sip5a
188 i2pnews.i2p tc73n4kivdroccekirco7rhgxdg5f3cjvbaapabupeyzrqwv5guq
189 i2podisy.i2p 3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq
190 i2pseed.bandura.i2p 2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
191 i2psurvey.i2p pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
192 i2ptimes.i2p 563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
193 i2pwiki.bandura.i2p isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
194 i2search.i2p cpgupqyhxamjfgdd3qk5ux673qomu3o5kqszvq6fwuigzifkxzta
195 ibft.i2p ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
196 icfteam.i2p auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
197 identiguy.i2p 3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
198 idk.i2p b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
199 ilcosmista.i2p 6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
200 ilita.i2p isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
201 infocon.i2p ic7rentjh6ilzz6p5kveiuyzov534ksfcexmpeniyallzf5in67a
202 infoserver.i2p jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
203 infox.i2p qoz4bwrtnicqyxemrxubdc65uojrqn2iem6v55b6xmxzdmfzcvlq
204 inr.i2p joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
205 insecurities.i2p 4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
206 intodns.i2p 4u6zxnqq4vxdtcxpogevmomrbny6taropyv4q25anflm47esiy6q
207 irc.acetone.i2p qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
208 irc.coldhell.i2p d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
209 irc.crustyirc.i2p 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
210 irc.echelon.i2p ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
211 irc.ilita.i2p 5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
212 irc.nerds.i2p nlqhsdd5a7hanjea33mwizg5ixh3xcv5dczufpf3qcfpo6tx4esa
213 irc.postman.i2p hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
214 irc.r4sas.i2p hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
215 irc.rpi.i2p ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
216 irc.shaderfence.i2p noia2id7cyvnnoaiw7t4coa4dbuvlo4fr4z3ho62eozhlfnh4lna
217 ircs.nerds.i2p w4d6hj3q7eyfrkb3kcy7rox2fdjzywypvmyrudtf2q4gdzs2qlhq
218 isitup.i2p xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
219 itphx.i2p zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
220 ivorytower.i2p fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
221 j6.i2p heh6666m6vl4oj4kyirz3ghg2pnlycpiluvdms7pdxns6gbpolza
222 javadoc.skank.i2p us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
223 javascript.i2p idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
224 jbo.varikvalefor.i2p 3flbkdhahkgq47s7vytubh3v4vk3lyqgwwh6dd2k5szqlrivdmta
225 jimkiebs.i2p epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
226 k1773r.i2p zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
227 karamba.i2p g2lizyuyzms7m6gv24pzege5zapbinxfd2dzbaha6k246pl2xu3q
228 kelvinchan.i2p 6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma
229 keys.dlms.i2p znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq
230 kibykarni.i2p xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a
231 kill-9.i2p 3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q
232 kislitsa.i2p khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq
233 kkk.i2p kukluxklanib666d73z5fyeyb6vnystmvvreaodhjf73rhl4wxva
234 knijka.i2p knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa
235 kohlchan.i2p kohlchanvn6vtsujobyw4pt5naaszmxqutd5hsdatmxfe2qaqhya
236 korol4ik.i2p mr3z5lggdppc3yw2r2egstpg33ga2wfocmozac6kjmhhfk3asm2q
237 krebsonsecurity.i2p xqglpgrpbdqeirurobtqel3xqt3p277iiadpz256bzxmtlbyq6ea
238 kuchka.i2p nzmvfaztssds5yaatmmnk2jdghfxizvr6lctmljvxqehnwsfsubq
239 kycklingar.i2p gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
240 lbt.i2p 5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
241 ledechaine.i2p 7s4vtwkvxvmigj3r4zrc7s5ajdeqtris4qnj3n35cuuvuzkpgqsq
242 legalcases.i2p tms2ibdkp67ddj5ez6l4zwvw33jdpz5tmavv3kpjdcpavfh7np4q
243 legwork.i2p cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
244 lenczewski.i2p 7uypwo47x4vnryoz25vwisu5jpyhz7pcdvnfzvopww3wxc7wiiia
245 letsdecentralize.i2p mqtlargpv4247iylywxw6ibi6qpz6my5duqm33c4lcdhjg5yfh7q
246 libreddit.i2p libr7vbp7i3lsvqwy5aqgql44uxaufawi5yrloh3x7sezubsoaba
247 limak.i2p jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
248 linuxfarm.i2p br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
249 lkml.i2p xnytorawa5vfykram2qnqks5zaef7s4ckvaayvq4ksih46mq3luq
250 lnxcloud.i2p wryxsgqp3xl7fuohijmxlugrndtp2vixqlt2obpgriwt3fpdjn6q
251 lockdown.bnet.i2p vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
252 lockdown.i2p vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
253 lodikon.i2p u3f67staiwhqxpacya3clmvurdwd2kp7qcthzhstqnhrmlwc2g4a
254 lolicat.i2p 2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
255 lolicatgirls.i2p pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra
256 longseason.i2p ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
257 lucas.i2p hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
258 lunach.i2p m27cpx55hqhcfjz4u62tiynjtzqdw4s3kanxdgluuthnndiquoeq
259 madaidans-insecurities.i2p 4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
260 mail.i2p mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
261 major.acetone.i2p majorivqe4wud5ksadgfycdkgqsesqbbnw4hpgcqfixy4sm77f4q
262 major.i2p majorwsiehucyqfqbw3g2on3xqq2pwrwdd6hhyludqqr6ct7xdoa
263 mapwiki.i2p p2lufcvbzq3smirs7ijwds3y34cxzchveogb4jflbpmk5pzy3wqa
264 marenostrum.i2p tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
265 masflam.i2p ucvzbekxpbzfizwndx4bgsj5bjbygdu4vc3xukiseiw5bvatxivq
266 matrix.i2p pbm6jogo2u2rflvzishwgqkxo6lkjsdfesd3r4k6sf4gdewc4lha
267 mattermost.i2p x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
268 mayvaneday.i2p zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
269 maza.i2p wiigkmy5je5ox4byjt7z7fh4btojbixbmfv4chnzqoovmgnvdpoa
270 mdleom.i2p ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa
271 mdn.i2p u6i4kmhypgs4ccd4hae3rstcayvwl45wufeglwvcmha7jqqdtfna
272 meeh.i2p 4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
273 metacritic.i2p n6tja4pkj7nrybakfqji6mvqshcvsufbzvwvp4iqrgspud3aodiq
274 metager.i2p 4zdcetlcp3tdg5h23gd3aeyzbvodepid7a6mb3w4qvxkdnm2by6q
275 metrics.i2p z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
276 mhatta.i2p o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
277 minecraft.reloaded.i2p qs5ihihltxhhfi6wesihgbvoaurqxgdpxgmwnmsk5d5beabtvmvq
278 minecraftlog.i2p vu2v5xnfk4ivrcmjx4fvofzts7fj47jcq23zfpg6ajj6p3ytt3hq
279 mk16de.bandura.i2p rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
280 moneroauth.i2p kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
281 moneroexplorer.i2p je4vbduigce7pgjivvo26d4abn3u5mfsos5zemp3a75xzcv7nm4q
282 monerujo.i2p puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
283 mooks.i2p 6txhjmnxnrjku4cmdwtyacjzhwythc7l5euqaxieyrc4vjotqwzq
284 mosfet.i2p s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
285 mozdev.i2p u6i4kmhypgs4ccd4hae3rstcayvwl45wufeglwvcmha7jqqdtfna
286 mtn.i2p-projekt.i2p f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
287 mtproxy.ilita.i2p vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
288 mumble.acetone.i2p plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
289 muwire.i2p c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
290 nekit.i2p axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
291 nekofiles.i2p rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
292 nerds.i2p 5wpwlbka4wj74rrnwbieopppgtivbqxljznl3bs542mxtvjz7ffq
293 netbsd.i2p jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
294 news-i2pn.i2p wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
295 newsnow.i2p ee2w4j3tpn4t6gutk55tc4hajc65f63kc7m7dscalsma6wbmweia
296 nexus.i2p 6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
297 nitter.skank.i2p l2aoqvwkq2prrv53cbk4k2ilxw5s2fc7eo2rjunnixp2hrv3iwda
298 nntp.txtcon.i2p nntpsqgdoky2fuctc2hc6vuls2b4okxpkocic2eo66uup3dtaq7q
299 norml.i2p rbnyo7zao6rkibzqr5uqy2iloismxzpqlgcolhvlsutoai5okdnq
300 notbob.i2p nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
301 notochina.i2p h3xsjhfyf4wah4sou3gepzibetdntrmiax3zl3x7ozyjv5krakaa
302 novabbs.i2p bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
303 nsa.i2p nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
304 nullchan.i2p nullz2mkp7znirlcersxpk7qmkmgcc6u3yhe462p2qkpxsdb3mja
305 nvspc.i2p anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
306 obmen.i2p vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
307 ol.i2p bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
308 omitracker.i2p a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
309 openbsd.i2p ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
310 opentracker.dg2.i2p w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
311 opentracker.r4sas.i2p punzipidirfqspstvzpj6gb4tkuykqp6quurj6e23bgxcxhdoe7q
312 opentracker.skank.i2p by7luzwhx733fhc5ug2o75dcaunblq2ztlshzd7qvptaoa73nqua
313 outproxy-tor.meeh.i2p 77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq
314 outproxy.bandura.i2p smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q
315 outproxy.purokishi.i2p nieasaidj7wy5nammqf4f7zzcdafi4apygwn5qwscpn4pq34hqia
316 p2p-node.i2p e7uvwnpkzbn5zdwr76ujlhym4lk5pfkqhvfwivt3mszx7l4lpj7q
317 packages.i2p 2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
318 pagwin.i2p qggplwxvsvctsdzgld2shfyjlokfoxur3pkfapygs26i4hwawfga
319 panzerradio.i2p rawdhtmxzynf5mhrpyhnbjqqxswidr6gvvcbbt4hbpjuv5jebw7q
320 password.i2p knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
321 paste.r4sas.i2p csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
322 pharos.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
323 pharoz.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
324 photosarchive.bentasker.i2p w4lnfcg2chbkwigogba7q3o5pgtq2baip7z3z4afaj65axhyc5ca
325 phreeroma.i2p 44fu2fhq6q36re2xqnkuievdfsroi5xchgbowkqib6ekak3ynm6q
326 pipe.viniciorl.i2p waslgepj4zi7vzxaion467djzkrqwdhujkfzoaoxletrkkhdpqra
327 piradio.i2p m2tsjo2sxabwimkeffsy2mlvtyebnzs6qndm5zpuw6mpwlja2ewa
328 pizda666.i2p bczoowsc6ik7a4mya45qnlq5n6c6llpd5ni3u67r4r4drgohyira
329 pizdabol.i2p 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
330 planet.i2p pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
331 play-it.i2p oxt7gdu663baue7lugdmgxqkmtrfdy2izluneqdrpv4pfslxjlta
332 pocketlint.i2p pocketzsq4r4fef2bw57sn4paufjh5dw75azu5sr4hk2qwdvucsa
333 podger.i2p 56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
334 polistern.i2p ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
335 pomoyka.i2p omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
336 pool.gostcoin.i2p m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
337 pop.postman.i2p i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
338 porest.i2p 46l7beij4rerlbuj7xmcngarlkhlpgaztywrleiwagjuiipcebbq
339 pornography.i2p ko7e4u7sw2miwi2q6oy643bad5ihmwedkjhcnwqoqh2xff6nrbwa
340 priv.i2p m2t27aqw3ts4mb4vxgfhhgstqk4gzyb6ac5fdnezmsf2xbbtdiiq
341 privacy-handbuch.i2p 3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
342 privatebin.i2p e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
343 programmer.i2p cm62ucwrvbxzznqhjtwwkma22kzxbxsfcs5w33eo7r2aartu4cdq
344 programthink.i2p programygfltn24q6foacm5gbuo3z2geub2k2k366llx3bph4ula
345 project-future.i2p ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta
346 proof-of-loss.i2p ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
347 prophetgram.i2p cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
348 psv.i2p pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
349 psy.i2p s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
350 psychonaut.i2p laf5nvzn4wz7ndgtdysmhvebpyjo3fkth7i4z4c2kp7su3wi6e2a
351 psyco.i2p eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
352 pubsub.i2p kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa
353 pull.git.repo.i2p 3so7htzxzz6h46qvjm3fbd735zl3lrblerlj2xxybhobublcv67q
354 purokishi.i2p ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca
355 purplechan.i2p tyiwxpgs7syjvz3cha3uckaxgondtiktlsvriebyy4qmzgbaj3gq
356 push.git.repo.i2p jef4g5vxnqybm4zpouum3lzbl6ti6456q57nbyj5kfyldkempm3a
357 pvsur.i2p pvsurxi2hz2n45kfrj5b3ny6ko4ipj2u2piftjen44npkpnbwh6q
358 qorg11.i2p ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q
359 quest.idk.i2p k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa
360 r4sas.i2p 2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq
361 raccoondad.i2p utoagugf3imr6mpjsithhnpvvvyehsnebisovn6kqn4vma6va3ca
362 radio.arav.i2p plkybcgxt4cdanot75cy3pbnqlbqcsrib2fmrpsnug4bqphqvfda
363 radio.nerds.i2p tpbfxyluryodtfxdpwsfvw7fl35p5ezrjk3tlcv2atlmc4fl2ctq
364 radio.r4sas.i2p cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
365 radioliberty.i2p libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
366 radioplayer.i2p 5tmr7qghx5eecoyvi77rsy7fqxeoyqcdpvg5wasoitn6ywkyobbq
367 raklet.i2p j3vnnihngp3ti2trktoxlyblltjn6gxscbmasb5zun5pdndkxkoq
368 ramble.i2p smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
369 ransack.i2p mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
370 realsite.i2p ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
371 recipebook.bentasker.i2p ajagzagm5uyc2oac32ycx42znnatejliqorbk3y66xt25guxnh2q
372 reg.i2p shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
373 reloaded.i2p wxbh2yq5twqinsw3ztjogqovvdd6h6j5uxeg3lh53x4w7klzv3tq
374 repo.i2p uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
375 repo.i2pd.i2p ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
376 repo.r4sas.i2p ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
377 retrobbs.i2p mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
378 retrobbs2.i2p ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
379 rfocke.i2p pphesm2icsbqi7uzsmxpgyy4kc22b3cdpb4uwplkkjmupexva7dq
380 ricycal.i2p tfkz7rgqh6rwvlo2veftw4why2dej3gztiglzfqfvykyzak2syxa
381 rpi.i2p 56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
382 rslight.i2p bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
383 rufurus.i2p 7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
384 rus.azathabar.i2p 6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
385 russia.i2p yycwiaemebdnhbw4slrxxscgmaoaxeqsxpxt3wgukhtl2ood66qq
386 rutor.i2p rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
387 ryona.i2p mzt45ux3budteuxz2b4xkwnphgspgljuwp3rxm3d2yr2sij6wopq
388 s01.nullchan.i2p mirrooeo34iokdgf3wno4ubx6x6uj7f2pqyjmmrvtg4m4parvguq
389 salama.i2p 4uoef63gv2sg6dtqmom5oypt6taypklekvlejfox56eiylprzrmq
390 satoshivision.i2p rn5c533w5baghskquu3gtqlehwjkstzzbk5chbc5qhivsz3a3nqq
391 scamdemia.i2p fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
392 scanner.linuxfarm.i2p kojzsg33v2zxwqp3twpqzfvflaeoxgzxrl3douf2x7xv27ggfnaa
393 sciencedaily.i2p hxvbh56wdcyu766aueocw4hkzi3ptvrutc7bkxohcfthd2ufzd5a
394 secret-site.i2p p6hbhjgdv2e6gyydrqh2ztl6onxnyilmj4ts7d7aj3uqssr7vvfq
395 securityinabox.i2p np3agu3ekd3isrzqzvsw4llwlr3hg5xbw7n7a23n2zfvhhm4e7iq
396 serien.i2p 3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
397 seven.i2p anqf44jmf7kby2qcvcx7gug6nuyansdu4msdbnp5kojom27rrm7a
398 shaderfence.i2p 6zibmpckg6hwsr7s5yk7tjnmuy6wjmy7x3etmklrauu4oecslzua
399 shadowforums.i2p dq65yxqpp6gcyo53y53eqouijhy7ameqxkcjthkr7wpfusqppxma
400 shadowwiki.i2p 63gxkfc4hlcbxrdoepw2i2hyxai5qkxmi636ag3y7sf5tq3imoya
401 sharefile.i2p o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
402 shoieq3.i2p 3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
403 shota.i2p 75xxnc5hkeg7a3z5re4cpybbxt7te3p2krgrrgoka4hib2nr7k4q
404 silkr0adrel0aded.i2p rdqt2xxpsc5tzj7gjvcrpi7jea5gtbetgx7w2npobveg5teatdvq
405 silkroadreloaded.i2p hyn3mwmyeovcn2paujxur2eury2ufqpoahvbbqshfoggljn25tra
406 simplytranslate.i2p mmiyv57bfhgc7p4pipk7jjqv5meuz5rjijoviquplvhxl3v7aoba
407 skank.i2p qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
408 slashdot.i2p 7bkq3jzbvqirehxfo3gejnkfnktnhmxdxyuunauur5ucu5sn3xtq
409 smtp.postman.i2p 3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
410 snippets.bentasker.i2p vgduvgxudaceslvwlvtda6b4csobvczygcqpklm3yeuke2zgvcaa
411 speed-test.i2p 7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
412 spoika.i2p u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
413 sportloto.i2p sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
414 srr.i2p t6vdyn5sbtorn3bp6i7ndnv4lmxhk4qnqmyqlaxykdhcwatchlza
415 ssh.b0nk.i2p fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a
416 stackoverflow.i2p jswqxcghynwlgihwbugz53nl2wswcimeibqhktwdd2htb6xhyklq
417 stats.i2p kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq
418 stormycloud.i2p 46f3kyl2cwd5tdalegvkaqjfnwbitzn5d2lq4o5kp6keoujdhlvq
419 str4d.i2p wrrwzdgsppwl2g2bdohhajz3dh45ui6u3y7yuop5ivvfzxtwnipa
420 streams.darkrealm.i2p ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq
421 support.i2p supportpwqa4cc7q43hb67tgd3dvntrwsy6725iufahm7kiluysq
422 support.torproject.i2p 6r7j6jlbrxb35k32zktopvr3w3pidm2baymwol33hq7xmy2sqm3a
423 syndie-project.i2p xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
424 syndie.echelon.i2p vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
425 t-ru.i2p bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
426 tahoeserve.i2p yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
427 tails.i2p 5d7sl23h4uer4czjdtlomkb6ykeiss6vqkxzausp6f6gmty2plaa
428 takipsizad.i2p ufkhvmacngokfufxinfkdvfmbpvwvog5vrjiavw5zv32jnekcxia
429 talk.community.i2p talkakxfa6ihzn2mbzar6q5chdtkpnjp633w3tarul2bb6tfmoua
430 talks.i2p v45dmrrbjg3ucrazgl3t2tktyjajo7gvfexhmbdos3pi5kfuocaa
431 techmeme.i2p pvwyqrf4pbxbsigcxpubvywvng52hjxzc5mook3pel2c4rv64mpa
432 teddit.i2p k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
433 telegram.i2p i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
434 term99.linuxfarm.i2p dg3mso5klqqgcngalxdh5yvkwv56ou7yotsqxw3twneojytiehra
435 tesla.i2p em2x6bwsbelqfvlgypcywwoov2rib7mvxiy775dmpfs76m4zcdtq
436 testmk16de.bandura.i2p gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
437 testshark.i2p u64ropzplqkncdmi4wcknqehjqudxb6elyut2k44ocvgx7ilpgia
438 theloliguide.i2p qzyogy3d7v6ccs5s3mm3rv5hzuaus7qsfwe6ojnmtsistnvskj7q
439 theyosh.i2p 5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
440 thornworld.i2p vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
441 threatpost.i2p kokflo7ovzxujqinafmxibhk6ytvlmxmuvha3doaqhjkgt3fpe3a
442 tinypng.i2p ri72pybxxb4mm6rbesplhn4ijk5ooyv7gv7ogh3spulwzr2par5q
443 tmpsend.i2p r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
444 tomasgl.i2p tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
445 torch.i2p vdpmmcq4ysca5rdczr5lqohjtaf5togdy5itoos54s6nn6xqox3a
446 torproject.i2p torprojaxvxevo4c5qvor3ywgasxkubs5ukazrpq3qcxed6lgbrq
447 torque.i2p hc3mefp6cq2btwmmjl76atgtftzswu774dyv4a3qkl34wn4g6vta
448 tosios.idk.i2p 4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a
449 trac.i2p2.i2p i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
450 tracker2.postman.i2p 6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
451 traditio.i2p wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
452 ts.i2p nebcjgfx3f7q4wzihqmguwcdeopaf7f6wyk2dojw4bcuku472zxq
453 tube.i2p vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
454 tumbach.i2p u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
455 tutorials.i2p zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
456 tv.i2p znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q
457 txtcon.i2p txtcons5lrayl7bq7zsk2mt24clocassid3kh2rvyd3rd2xeklpq
458 udonya.i2p xx6ojsbjzosszqzdxfuopkib6aslzjd6jhcde36qvvm7hzqbddyq
459 ukrainews.i2p 2bocbwrmakg252kicblp5i42feao7qpcw3xppms2i5oevkgelpsa
460 umbra.i2p xunb4chkeo5xxpfkwrkaqb5etmqpp4ddgvcmy7qkvtxhk5ihck2q
461 umbrella-corp.i2p un2dk5c7zp5eeppownhi5hbdrjbrz5a2qajk3khj6y6tvu6w4lea
462 unqueued.i2p 3gvn4kwd7z74jxc2sn4ucx52dpvpscxbzjluux3ul4t3eu5g64xq
463 upload.arav.i2p a5txjx3gjrnw6do4zr66wpwlayxt3dg7kb43wbr3fjp53mkfkbdq
464 urbandictionary.i2p qpaj4limo5zro64k75k3tsckt7a7rr3tvjorwczmu4ug2yd5kh7q
465 vanity-eth.i2p 6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
466 varikvalefor.i2p yn7ovvjf4nhf7hhk6qqph7utcoce4f2j325rfeuyapw3emlqfqna
467 viniciorl.i2p h24ivgpff7i26dvbfs4chtj66t5oewvzbiwnby6mckp2lv2jc7dq
468 vps.webhosting.i2p kfqflh2y36jzp26vloaptqpgwtvw4qtz232wv53xxbggkydhpkaq
469 w3schools.i2p kmf6zikzfttexa3pxeumdqt73gmzb5ybkpk4hxstuzpbup22yqna
470 walker.i2p 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
471 wbnet.i2p 2deeocx7jmrbmjxcpkxecw7yy2z7ybzwz5i6mg3ska3p3d2dx45q
472 web.telegram.i2p re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a
473 webhosting.i2p hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq
474 webirc.coldhell.i2p k2d6bius63w3g35j32dn66fssqwbnyvegx6w6pl5mdeojpp4rjba
475 wiki.i2p-projekt.i2p b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa
476 wiki.ilita.i2p r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a
477 wikiless.i2p x33lx4h6d7h6xs4eiqwhvaxn3ea5gn2ifmu3jobnvuvn4k4aej7a
478 wikimirror.i2p 2bhh73qhuwjkznnnzjfgo4buo7xy5l4ubhzt3oh23adksscx6gmq
479 wired.i2p 6ezm53j3so5rywhhaxup7bw2oryy3qp5nyeb5qc6k3duluiddxqq
480 wizardryandsteamworks.i2p ioujrf2uwqairs7l3vyvqp7n2pia3x3wg5w5qtcqvg32zezuezza
481 wlm.i2p nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
482 women.i2p dlabtr4su5l23za2p3l2jczozfwoc72qzslozsyd6vb43yqp7jga
483 wopen.i2p xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
484 worcester.i2p 5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
485 www.imule.i2p 657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq
486 www.infoserver.i2p fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
487 xadmpp.i2p jb67tnpn67i3pwcuf45rtwu7gq6nkrs72iznhnakpkdzb6dkgfmq
488 xd.i2p jynrjzdp5qajf2jsdif6bgpijuk72zmuiohq3o7omeksw4pdgejq
489 xeha.i2p oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
490 xinku.i2p xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
491 xmpp.ilita.i2p 2dpg43zlfophx5jo4xeqc6cx3zm4x3tfdoinbfuzychf5lwn3dhq
492 xmpp.pubsub.i2p yxbp3sn2x5t6k7hcxsg4njmaxjomr2wvh4xeldxjlij3ms3sikgq
493 xmpp.reloaded.i2p hioylmlm3lf3qgp2ncmym3igx6eyytlwioeq2fip4cwpzjtyxfuq
494 xmpp.rpi.i2p 3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
495 xmpp.xadmpp.i2p s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
496 xmpp2.reloaded.i2p ufeplugqot5e22kottvejlw7yq24kynw5v5faulehc6n2zs62ura
497 xmrnode.i2p moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
498 xmrradio.i2p olwxvhwaq422rcrlmvh6wgrdczyfyeag645du4cwncutqblkfmaq
499 xn--80ahmijpip2p.i2p assist2a3jsikp7ufmzpa56mlflhi5kmoack5dm6ua5x2hbgckua
500 xsden.i2p 4dofwhzlkz3k3sedwzs2sx2fudq3jfvaygffc6kp6hsawmfmz6qa
501 xx.i2p a7hrmb4kbftyk4ovr2la6azi7vjfqwt2zlckos4svoaclqu52j6a
502 yellowonion.i2p 7l4kgsyatdmntck22i27oui3llftjim33ydav7kdew6ewfqvjzfa
503 yggdrasil.acetone.i2p tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
504 yggdrasil.i2p 7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
505 yggnet.i2p deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
506 yourdomain.i2p witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
507 yt2mp3.i2p 7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
508 zab.i2p n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
509 zerobin.i2p 3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
510 zeronet.i2p fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
511 znc.str4d.i2p ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
512 zx.i2p 4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
513 zzz.i2p lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
@@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc6gAwIBAgIUcPHZXtYSqGNRCD6z8gp79WUFtI0wCgYIKoZIzj0EAwIw
gZMxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEPMA0GA1UEBwwGQXVzdGlu
MRgwFgYDVQQKDA9TdG9ybXlDbG91ZCBJbmMxIzAhBgNVBAMMGnN0b3JteWNsb3Vk
LmZhbWlseS5pMnAubmV0MSQwIgYJKoZIhvcNAQkBFhVhZG1pbkBzdG9ybXljbG91
ZC5vcmcwHhcNMjIwMzE5MTU1MjU2WhcNMzIwMzE2MTU1MjU2WjCBkzELMAkGA1UE
BhMCVVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xGDAWBgNVBAoM
D1N0b3JteUNsb3VkIEluYzEjMCEGA1UEAwwac3Rvcm15Y2xvdWQuZmFtaWx5Lmky
cC5uZXQxJDAiBgkqhkiG9w0BCQEWFWFkbWluQHN0b3JteWNsb3VkLm9yZzBZMBMG
ByqGSM49AgEGCCqGSM49AwEHA0IABFUli0hvJEmowNjJVjbKEIWBJhqe973S4VdL
cJuA5yY3dC4Y998abWEox7/Y1BhnBbpJuiodA341bXKkLMXQy/kwCgYIKoZIzj0E
AwIDSAAwRQIgD12F/TfY3iV1/WDF7BSKgbD5g2MfELUIy1dtUlJQuJUCIQD69mZw
V1Z9j2x0ZsuirS3i6AMfVyTDj0RFS3U1jeHzIQ==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIEctG1gDANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEZMBcGA1UEAwwQYWNldG9uZUBtYWls
LmkycDAeFw0yMTAxMjUxMDMyMjBaFw0zMTAxMjMxMDMyMjBaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxHjAcBgNVBAoMFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECwwDSTJQMRkwFwYDVQQDDBBhY2V0b25lQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAwqF/BRRmvZ54
5XArgxbytDi7m7MDjFE/whUADruHj/9jXGCxE8DDiiKTt3yhfakV0SNo5xk7AMD+
wqiSNC5JCHTm18gd2M4cQLIaOVRqucLLge4XVgk2WPX6OT98wfxh7mqA3wlSdEpj
dY3Txtkf7VfZLicG76/RBtLFW3aBdsn63hZaQqZE4x/5MJyPVZx59+lys5RmMi0o
LpXJy4HOu1/Gl1iKDJoI/ARFG3y7uP/B+ZtZBitJetTs0HcqycnNJq0tVZf2HiGF
JNy67AL4foxNYPXP6QsvXvp6LRpGANaBCkFCBlriSF+x1zO2H3uAkRnuLYXuKIfB
HudejTp4R57VgZGiHYoawHaF17FVAApue9G8O82XYECjhET35B9yFoOBHTvaMxLU
CKrmayH8KMQon95mfe1qpoO3/YDa8DCxkjAfjdtytat7nt2pGZMH6/cLJxcFiofh
RtRVvb+omv/X12j/6iCFrwP4NvBnAZsa736igbjpyee5n+CSyYxd9cJkRX1vQVk7
WFSqL58Pz+g6CKJmdMPvqNOfUQ6mieBeejmx35B4pLzLcoNxw8R3O1+I2l4dg042
dEydKRQNwdzOec4jYwnKR40iwIyZxpchXWGRbBdyF5RQCbIIo60QBJlfXMJ2svan
q5lYIeWeY3mlODXu4KH4K09y10KT8FsCAwEAAaMhMB8wHQYDVR0OBBYEFMh+DoIL
APNiu2o+6I9A49joNYQuMA0GCSqGSIb3DQEBDQUAA4ICAQBFeOJi0rmkqN5/E3IB
nE2x4mUeLI82tUcN2D3Yu8J81vy4DnH+oMRQFDtYEHW5pfirRmgSZ7MQwYQnqWLp
iTE7SyCxlqGrmVsYp7PzfS1pUT2QeWPtsNYUDdraG0Zr9BkIGB60VMhjMSa9WUrj
lbchzr6E/j/EsEOE7IK08JxIDKCDZM2LLwis4tAM6tmiylkMf2RlUBIRBs1TCO+q
x3yByttNE2P4nQyQVQpjc1qsaOMvJvbxun37dwo+oTQy+hwkA86BWTDRYdN3xwOk
OfAOtlX6zM/wCKMN0ZRnjZoh59ZCn4JXokt3IjZ4n8qJOuJFRKeKGmGeKA8uaGW8
ih5tdB99Gu5Z8LOT1FxAJKwQBn5My0JijPoMit4B0WKNC8hy2zc2YvNfflu1ZRj5
wF4E5ktbtT/LWFSoRPas/GFS8wSXk/kbSB0ArDcRRszb3JHqbALmSQxngz3rfwb3
SHwQIIg956gjMDueEX5CrGrMqigiK53b9fqtpghUrHDsqtEXqeImpAY65PX1asqo
metDNuETHF7XrAjP7TGJfnrYQyeK90iS7j1G68ScBGkKY2nsTnFoXkSk5s5D338E
SUzPaOlh91spmkVY6gQTVQ7BakADBHw+zBgDA1gBN/4JPvgN36hquj63+aG1cKy3
3ZUnv2ipo2fpr69NtuBnutK6gw==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIF3TCCA8WgAwIBAgIRAKye34BRrKyQN6kMVPHddykwDQYJKoZIhvcNAQELBQAw
dzELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEeMBwGA1UE
ChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxIDAeBgNVBAMM
F2hhbmtoaWxsMTk1ODBAZ21haWwuY29tMB4XDTIwMDUwNzA1MDkxMFoXDTMwMDUw
NzA1MDkxMFowdzELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJY
WDEeMBwGA1UEChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAx
IDAeBgNVBAMMF2hhbmtoaWxsMTk1ODBAZ21haWwuY29tMIICIjANBgkqhkiG9w0B
AQEFAAOCAg8AMIICCgKCAgEA5Vt7c0SeUdVkcXXEYe3M9LmCTUyiCv/PHF2Puys6
8luLH8lO0U/pQ4j703kFKK7s4rV65jVpGNncjHWbfSCNevvs6VcbAFoo7oJX7Yjt
5+Z4oU1g7JG86feTwU6pzfFjAs0RO2lNq2L8AyLYKWOnPsVrmuGYl2c6N5WDzTxA
Et66IudfGsppTv7oZkgX6VNUMioV8tCjBTLaPCkSfyYKBX7r6ByHY86PflhFgYES
zIB92Ma75YFtCB0ktCM+o6d7wmnt10Iy4I6craZ+z7szCDRF73jhf3Vk7vGzb2cN
aCfr2riwlRJBaKrLJP5m0dGf5RdhviMgxc6JAgkN7Ius5lkxO/p3OSy5co0DrMJ7
lvwdZ2hu0dnO75unTt6ImR4RQ90Sqj7MUdorKR/8FcYEo+twBV8cV3s9kjuO5jxV
g976Q+GD3zDoixiege3W5UT4ff/Anm4mJpE5PKbNuO+KUjk6WA4B1PeudkEcxkO4
tQYy0aBzfjeyENee9otd4TgN1epY4wlHIORCa3HUFmFZd9VZMQcxwv7c47wl2kc9
Cv1L6Nae78wRzRu2CHD8zWhq+tv5q7Md2eRd3mFPI09ljsOgG2TQv6300WvHvI5M
enNdjYjLqOTRCzUJ2Jst4BZsvDxjWYkHsSZc1UORzm2LQmh2bJvbhC3m81qANGw6
ZhcCAwEAAaNkMGIwDgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMC
BggrBgEFBQcDATAPBgNVHRMBAf8EBTADAQH/MCAGA1UdDgQZBBdoYW5raGlsbDE5
NTgwQGdtYWlsLmNvbTANBgkqhkiG9w0BAQsFAAOCAgEAVtMF7lrgkDLTNXlavI7h
HJqFxFHjmxPk3iu2Qrgwk302Gowqg5NjVVamT20cXeuJaUa6maTTHzDyyCai3+3e
roaosGxZQRpRf5/RBz2yhdEPLZBV9IqxGgIxvCWNqNIYB1SNk00rwC4q5heW1me0
EsOK4Mw5IbS2jUjbi9E5th781QDj91elwltghxwtDvpE2vzAJwmxwwBhjySGsKfq
w8SBZOxN+Ih5/IIpDnYGNoN1LSkJnBVGSkjY6OpstuJRIPYWl5zX5tJtYdaxiD+8
qNbFHBIZ5WrktMopJ3QJJxHdERyK6BFYYSzX/a1gO7woOFCkx8qMCsVzfcE/z1pp
JxJvshT32hnrKZ6MbZMd9JpTFclQ62RV5tNs3FPP3sbDsFtKBUtj87SW7XsimHbZ
OrWlPacSnQDbOoV5TfDDCqWi4PW2EqzDsDcg+Lc8EnBRIquWcAox2+4zmcQI29wO
C1TUpMT5o/wGyL/i9pf6GuTbH0D+aYukULropgSrK57EALbuvqnN3vh5l2QlX/rM
+7lCKsGCNLiJFXb0m6l/B9CC1947XVEbpMEAC/80Shwxl/UB+mKFpJxcNLFtPXzv
FYv2ixarBPbJx/FclOO8G91QC4ZhAKbsVZn5HPMSgtZe+xWM1r0/UJVChsMTafpd
CCOJyu3XtyzFf+tAeixOnuQ=
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFgTCCA2mgAwIBAgIETWAY1DANBgkqhkiG9w0BAQ0FADBxMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBAbWFp
bC5pMnAwHhcNMjExMjEzMTU0MDI3WhcNMzExMjExMTU0MDI3WjBxMQswCQYDVQQG
EwJYWDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5v
bnltb3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBA
bWFpbC5pMnAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXnjJ8UQ0f
lHHpfPMiHofBPSuL4sbOJY6fOXwPhSg/h6THh9DS/ZWmJXQ3qRD0glDVtv4/Dr/9
ldGQ5eltF9iCFXCQlMEy2HjQrBKq0nsl7RpYK12cyMaod0kkzCUk9ITLi9CmHM3Z
gQZcmG8TWjFEpDR+idx/QkQt2pcO4vzWlDit3Vh4ivnbX5jGQHbsVjQEMQWxr+pX
dsS+YQpjZ6RBmrooGTPO8QDOOeYLAn0lCjmffc/kzIH9E/p4/O0rOpyhVYbdxUD1
5wkqN9l4yrtxmORG/PudnRQQ0r4TUq8vsxfGY0Euo9IbhgXF2Parel1ZhDxB1WZV
VwWtgLIh9jGA1UMa8SYKnEfp8LWNZ3b3mUUnZb3kMrLk6jGYRWNsHmamhd4mC7AZ
qf/8lOkEIw3bPd3YguCDRVcLui5BwIEZmqXg8uoESxfO/sW3pBrN/8M7MkTex9kN
vjitGDDXvenK27qmNgZxbBlX72yTSfys7XTYTLnxZC8AwdAo2Wz9Z6HhGiPonf2h
vZkc9ZxuE0jFIrsbJra4X7iyjXgi4vV4ARNg/9Ft6F4/OIbECgeDcBQqq4TlT2bZ
EfWVrBbqXoj5vNsLigIkd+AyUNwPYEcB5IFSiiOh98pC7BH3pg0m8U5YBjxe1i+9
EQOOG0Qtx+JigXZHu6bGE0Twy9zy+UzoKQIDAQABoyEwHzAdBgNVHQ4EFgQUGK1b
0DkL6aLalcfBc/Uj/SF08C0wDQYJKoZIhvcNAQENBQADggIBAMpXM82bJDpH1TlH
TvhU3Z7nfZdvEhOQfujaFUYiuNripuEKcFGn948+DvAG0FUN+uNlJoqOVs8D7InD
gWlA9zpqw5Cl5Hij/Wns9QbXuAHJeA23fVUoaM2A6v9ifcIQ1A+rDuRQAo6/64KW
ChTg2e99RBpfGOyqgeh7tLLe0lPPekVpKHFuXabokaKRDuBcVHcUL4tWXe3dcyqa
Ej/PJrrS+nWL0EGZ4q80CEd2LPuDzPxNGCJt/R7ZfadENWajcgcXGceh1QBzozrB
SL/Ya6wF9SrsB7V/r5wX0LM4ZdDaLWbtmUe5Op0h/ZMH25Sa8xAXVz+O9L6sWSoO
FaiYTOvAiyyPz+nsxKa3xYryDHno7eKSt+hGOcaurhxbdZaEFY/CegEc73tCt9xK
e9qF8O/WkDLmixuErw3f5en4IfzGR7p3lJAwW/8WD8C6HS39h/eE7dVZNaWgtQnZ
SgGjgZMTJqTcQ3aZmfuCZefxGFok8w6AIkdbnd1pdMBRjYu8aXgl2hQSB9ZADDE9
R5d3rXi0PkSFLIvsNjVa5KXrZk/tB0Hpfmepq7CufBqjP/LG9TieRoXzLYUKFF74
QRwjP+y7AJ+VDUTpY1NV1P+k+2raubU2bOnLF3zL5DtyoyieGPhyeMMvp0fRIxdg
bSl5VHgPXHNM8mcnndMAuzvl7jEK
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
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
2Q==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIEbNbRPjANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEZMBcGA1UEAwwQb3JpZ25hbEBtYWls
LmkycDAeFw0yMTA3MDYyMjExMDFaFw0zMTA3MDQyMjExMDFaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxHjAcBgNVBAoMFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECwwDSTJQMRkwFwYDVQQDDBBvcmlnbmFsQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvNJz2KGuAkHP
tGFobfLvpybtxB50fkcEsTc9opmiy7wBKK9rSI01VS616IhABkWKZVfK2A9NqpGv
v/CyhTKoaeSNeXY7+zORUWgWK/zA9fA4GRZFqlW8j4tbompDwcLYNqRBCsn1C0OY
YA5JhXPBixMcnXl8N8x4sXhQ4l9R3+QrydhUHRvgDc8dOxRyIX7zuQAyf8tmA2Xo
xZLdvDcCJdLBIbFwxhIceIhgcOwaOx7oRkZDZdYcLJd3zjyPbu8JtOM2ZkwH7r+0
ro5PktuDp2LAS6SII5yYNcwcrvPZGPqhLdifIw1BrdTIb/rIkQZ5iXOOdyPmT7e8
IwAJcPFlfvrS4Vbi9oDqyx3aDUBoubgmFnO1TirL56ck83R/ubcKtdnyzAn5dp+f
ZNYW6/foSBpDDOCViylbFAR5H0HJEbBns7PZx6mGEEI4tUAJdNYl7Ly7Df60a9Rz
cD/gz08U9UwFXYKoT6roEjToADGAzb5MI4cVlAb2AmQaMNXNe04HcDL1bU50mkNU
amqPv8nxf72fBQCEmZz2G57T6QiYTtcCwiWS1QdWsuaOtCo9zO0MKcjzSdUxuxEc
dXhjQdNegsgg/Xk7bJ8lKOsACqMpFftdPmuyeZU2t+3RPuBpV/0j2qUfg/y6kb0z
CxAOYmlcL4kqw4VT+5V/EeZLIG0h9I0CAwEAAaMhMB8wHQYDVR0OBBYEFD/wJObg
CCDuhMJCVWTSTj+B3rsUMA0GCSqGSIb3DQEBDQUAA4ICAQC0PjsTSPWlGbLNeeI8
F0B5xAwXYJzZ7/LRxh8u42HDUqVIDjqkuls1l3v9D7htty2Gr3Ws2dcvcOr2KcOy
mEWg+jdP/N3vt9IkZeVS4YQoPgq6orn7lVkk00bcKb24f7ZnoQnnVV0/m42Y5P4j
LLh+8MBxsez9azXyZbDVEkgsMUAkdVO6KNz6scqz7wb8egV2GAMAp7cwChC6lanK
gv9ZyJhG/HdTv6VyuMZhJy6rX4geM97tm1iHu1VLsQcIzBKAdEvWJv8ofMeiyINe
hqAP9NYaeowKi975NOrmf+XZwxd0niApIohV684RCVUfL8H7HSPbdXhBJ/WslyDP
cTGhA2BLqEXZBn/nLQknlnl0SZTQxG2n4fEgD1E5YS/aoBrig/uXtWm2Zdf8U3mM
+bNXhbi9s7LneN2ye8LlNJBSRklNn/bNo8OmzLII1RQwf1+vaHT96lASbTVepMZ/
Y9VcC8fAmho/zfQEKueLEB03K+gr2dGD+1crmMtUBjWJ9vPjtooZArtkDbh+kVYA
cx4N4NXULRwxVWZe5wTQOqcZ3qSS1ClMwaziwychGaj8xRAirHMZnlPOZO1UK4+5
8F4RMJktyZjNgSLP76XPS4rJK5fobuPqFeA4OpDFn/5+/XeQFF6i6wntx1tzztzH
zc+BrVZOdcYPqu9iLXyRQ9JwwA==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
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
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
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
LD8d2z2Lgg==
-----END CERTIFICATE-----
View File
@@ -2,8 +2,9 @@
## See https://i2pd.readthedocs.org/en/latest/configuration.html
## for more options you can use in this file.
#log = file
#logfile = ./i2pd.log
# log = file
# logfile = ./i2pd.log
loglevel = none
ipv4 = true
ipv6 = false
@@ -20,9 +21,6 @@ name = I2Pd
[reseed]
verify = true
[addressbook]
subscriptions = http://inr.i2p/export/alive-hosts.txt,http://identiguy.i2p/hosts.txt,http://stats.i2p/cgi-bin/newhosts.txt,http://i2p-projekt.i2p/hosts.txt
[http]
enabled = true
address = 127.0.0.1
@@ -42,8 +40,3 @@ port = 4447
enabled = true
address = 127.0.0.1
port = 7656
[ntcp2]
enabled = true
published = true
#port =
@@ -1,11 +1,3 @@
#[IRC]
#type = client
#address = 127.0.0.1
#port = 6668
#destination = irc.postman.i2p
#destinationport = 6667
#keys = irc-keys.dat
#[SMTP]
#type = client
#address = 127.0.0.1
@@ -22,12 +14,4 @@
#destinationport = 110
#keys = pop3-keys.dat
#[MTN]
#type = client
#address = 127.0.0.1
#port = 8998
#destination = mtn.i2p-projekt.i2p
#destinationport = 4691
#keys = mtn-keys.dat
# see more examples in /usr/share/doc/i2pd/configuration.md.gz
@@ -0,0 +1,7 @@
[IRC-ILITA]
type = client
address = 127.0.0.1
port = 6669
destination = irc.ilita.i2p
destinationport = 6667
keys = irc-keys.dat
@@ -0,0 +1,7 @@
[IRC-IRC2P]
type = client
address = 127.0.0.1
port = 6668
destination = irc.postman.i2p
destinationport = 6667
keys = irc-keys.dat
@@ -0,0 +1,96 @@
{
"policies": {
"AppUpdateURL": "http://127.0.0.1/",
"CaptivePortal": false,
"Certificates": {
"ImportEnterpriseRoots": false
},
"DNSOverHTTPS": {
"Enabled": false,
"Locked": true
},
"DisableAppUpdate": true,
"DisableFeedbackCommands": true,
"DisableFirefoxAccounts": true,
"DisableFirefoxScreenshots": true,
"DisableFirefoxStudies": true,
"DisablePasswordReveal": true,
"DisablePocket": true,
"DisableProfileImport": true,
"DisableProfileRefresh": true,
"DisableSafeMode": true,
"DisableSetDesktopBackground": true,
"DisableSystemAddonUpdate": true,
"DisableTelemetry": true,
"DontCheckDefaultBrowser": true,
"ExtensionUpdate": false,
"Extensions": {
"Locked": [
"73a6fe31-595d-460b-a920-fcc0f8843232"
]
},
"FirefoxHome": {
"Highlights": false,
"Pocket": false,
"Search": true,
"Snippets": false,
"TopSites": true
},
"FlashPlugin": {
"Default": false
},
"NetworkPrediction": false,
"NoDefaultBookmarks": true,
"OfferToSaveLoginsDefault": false,
"OverrideFirstRunPage": "http://i2pd.i2p/",
"OverridePostUpdatePage": "",
"Permissions": {
"Camera": {
"BlockNewRequests": true
},
"Location": {
"BlockNewRequests": true
},
"Microphone": {
"BlockNewRequests": true
}
},
"PopupBlocking": {
"Default": true
},
"Preferences": {
"browser.cache.disk.enable": true,
"browser.fixup.dns_first_for_single_words": false,
"browser.search.update": false,
"browser.tabs.warnOnClose": false,
"browser.urlbar.suggest.bookmark": true,
"browser.urlbar.suggest.history": true,
"browser.urlbar.suggest.openpage": true,
"datareporting.policy.dataSubmissionPolicyBypassNotification": true,
"dom.disable_window_flip": true,
"dom.disable_window_move_resize": true,
"dom.event.contextmenu.enabled": false,
"network.IDN_show_punycode": false,
"network.dns.disableIPv6": true,
"places.history.enabled": true,
"privacy.file_unique_origin": true
},
"PromptForDownloadLocation": true,
"Proxy": {
"AutoLogin": true,
"FTPProxy": "127.0.0.1:4444",
"HTTPProxy": "127.0.0.1:4444",
"Mode": "manual",
"SOCKSVersion": 5,
"SSLProxy": "127.0.0.1:4444",
"UseHTTPProxyForAllProtocols": false,
"UseProxyForDNS": true
},
"SearchBar": "unified",
"SearchSuggestEnabled": false,
"SupportMenu": {
"Title": "Ilita IRC",
"URL": "http://irc.r4sas.i2p/?nick=WebClient...&channels=dev%2Cen%2Cru&prompt=1&uio=OT10cnVlde"
}
}
}
@@ -6,38 +6,46 @@
* See full license text in LICENSE file at top of project tree
*/
/* Do not edit this file.
*
* If you make changes to this file while the browser is running,
* the changes will be overwritten when the browser exits.
*
* To make a manual change to preferences, you can visit the URL about:config
* For more information, see http://www.mozilla.org/unix/customizing.html#prefs
*/
lockPref("accessibility.force_disabled", 1);
defaultPref("app.normandy.first_run", false);
lockPref("app.normandy.enabled", false);
lockPref("app.normandy.optoutstudies.enabled", false);
lockPref("app.shield.optoutstudies.enabled", false);
lockPref("app.update.auto", false);
lockPref("app.update.BITS.enabled", false);
lockPref("app.update.channel", "i2pdbrowser");
lockPref("app.update.disable_button.showUpdateHistory", true);
lockPref("app.update.enabled", false);
lockPref("app.update.interval", 0);
lockPref("app.update.service.enabled", false);
lockPref("app.update.url", "");
defaultPref("beacon.enabled", false);
pref("breakpad.reportURL", "");
pref("browser.aboutHomeSnippets.updateUrl", "");
defaultPref("browser.aboutHomeSnippets.updateUrl", "");
lockPref("browser.aboutwelcome.enabled", false);
defaultPref("browser.cache.disk.capacity", 131072);
defaultPref("browser.cache.offline.enable", false);
defaultPref("browser.casting.enabled", false);
lockPref("browser.contentblocking.database.enabled", false);
lockPref("browser.contentblocking.report.lockwise.enabled", false);
lockPref("browser.contentblocking.report.monitor.enabled", false);
lockPref("browser.discovery.enabled", false);
pref("browser.download.manager.retention", 0);
defaultPref("browser.download.useDownloadDir", false);
defaultPref("browser.feeds.showFirstRunUI", false);
defaultPref("browser.fixup.alternate.enabled", false);
defaultPref("browser.formfill.enable", false);
defaultPref("browser.formfill.expire_days", 0);
lockPref("browser.messaging-system.whatsNewPanel.enabled", false);
lockPref("browser.newtabpage.activity-stream.feeds.asrouterfeed", false);
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
lockPref("browser.newtabpage.activity-stream.default.sites", "http://i2pd.i2p/,http://333.i2p/,http://inr.i2p/,http://102chan.i2p/,http://flibusta.i2p/,http://fsoc.i2p/,http://lifebox.i2p/,http://onelon.i2p/,http://wiki.ilita.i2p/");
lockPref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
lockPref("browser.newtabpage.activity-stream.feeds.section.highlights", false);
lockPref("browser.newtabpage.activity-stream.feeds.snippets", false);
defaultPref("browser.newtabpage.activity-stream.showSearch", true);
lockPref("browser.newtabpage.activity-stream.showSponsored", false);
lockPref("browser.newtabpage.activity-stream.telemetry", false);
pref("browser.newtabpage.activity-stream.topSitesRows", 2);
pref("browser.newtabpage.enhanced", false);
@@ -49,6 +57,7 @@ defaultPref("browser.onboarding.tour.onboarding-tour-performance.completed", tru
defaultPref("browser.onboarding.tour.onboarding-tour-private-browsing.completed", true);
defaultPref("browser.onboarding.tour.onboarding-tour-screenshots.completed", true);
defaultPref("browser.pagethumbnails.capturing_disabled", true);
lockPref("browser.ping-centre.telemetry", false);
defaultPref("browser.places.smartBookmarksVersion", -1);
pref("browser.reader.detectedFirstArticle", false);
pref("browser.rights.3.shown", true);
@@ -79,24 +88,30 @@ defaultPref("browser.safebrowsing.updateURL", "");
defaultPref("browser.safebrowsing.warning.infoURL", "");
defaultPref("browser.search.countryCode", "US");
defaultPref("browser.search.defaultenginename", "YaCy 'legwork'");
defaultPref("browser.search.defaultenginename.US", "YaCy 'legwork'");
defaultPref("browser.search.geoSpecificDefaults", false);
defaultPref("browser.search.geoSpecificDefaults.url", "");
defaultPref("browser.search.geoip.url", "");
defaultPref("browser.search.hiddenOneOffs", "Amazon.com,Bing,DuckDuckGo,eBay,Google,Twitter,Wikipedia (en)");
defaultPref("browser.search.official", false);
defaultPref("browser.search.order.1", "YaCy 'legwork'");
defaultPref("browser.search.order.2", "");
defaultPref("browser.search.order.3", "");
defaultPref("browser.search.order.US.1", "YaCy 'legwork'");
defaultPref("browser.search.order.US.2", "");
defaultPref("browser.search.order.US.3", "");
defaultPref("browser.search.redirectWindowsSearch", false);
defaultPref("browser.search.region", "US");
defaultPref("browser.search.searchEnginesURL", "");
defaultPref("browser.search.suggest.enabled", false);
defaultPref("browser.search.update", false);
pref("browser.search.widget.inNavBar", true);
lockPref("browser.send_pings", false);
pref("browser.send_pings.require_same_host", true);
defaultPref("browser.shell.checkDefaultBrowser", false);
pref("browser.startup.homepage", "http://i2pd.i2p/");
defaultPref("browser.startup.homepage_override.mstone", "ignore");
defaultPref("browser.tabs.closeWindowWithLastTab", false);
lockPref("browser.tabs.crashReporting.sendReport", false);
defaultPref("browser.translation.engine", "");
defaultPref("browser.uitour.enabled", false);
defaultPref("browser.urlbar.formatting.enabled", false);
defaultPref("browser.urlbar.maxRichResults", 12);
@@ -125,6 +140,8 @@ pref("devtools.debugger.remote-enabled", false);
pref("devtools.webide.autoinstallADBHelper", false);
pref("devtools.webide.autoinstallFxdtAdapters", false);
pref("devtools.webide.enabled", false);
defaultPref("devtools.whatsnew.enabled", false);
defaultPref("devtools.whatsnew.feature-enabled", false);
pref("dom.allow_cut_copy", false);
pref("dom.archivereader.enabled", false);
pref("dom.battery.enabled", false);
@@ -139,6 +156,7 @@ pref("dom.maxHardwareConcurrency", 2);
pref("dom.mozTCPSocket.enabled", false);
pref("dom.netinfo.enabled", false);
pref("dom.network.enabled", false);
defaultPref("dom.push.enabled", false);
pref("dom.telephony.enabled", false);
pref("dom.vibrator.enabled", false);
pref("dom.vr.enabled", false);
@@ -148,13 +166,17 @@ pref("dom.workers.enabled", false);
pref("experiments.enabled", false);
pref("experiments.manifest.uri", "");
pref("experiments.supported", false);
pref("extensions.abuseReport.enabled", false);
pref("extensions.autoDisableScopes", 0);
pref("extensions.blocklist.enabled", false);
pref("extensions.blocklist.url", "");
pref("extensions.getAddons.cache.enabled", false);
defaultPref("extensions.getAddons.cache.enabled", false);
pref("extensions.lazarus.showDonateNotification", false);
lockPref("extensions.pocket.enabled", false);
lockPref("extensions.screenshots.upload-disabled", true);
pref("extensions.shownSelectionUI", true);
defaultPref("extensions.systemAddon.update.enabled", false);
defaultPref("extensions.systemAddon.update.url", "");
pref("extensions.ui.lastCategory", "addons://list/extension");
pref("extensions.update.autoUpdateDefault", false);
defaultPref("extensions.update.enabled", false);
@@ -163,23 +185,26 @@ pref("full-screen-api.warning.timeout", 0);
pref("general.buildID.override", "20100101");
lockPref("general.platform.override", "Win32");
lockPref("general.useragent.locale", "en-US");
lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/60.0");
lockPref("general.useragent.override", "Mozilla/5.0 (Windows NT 6.1; rv:60.0) Gecko/20100101 Firefox/78.0");
pref("general.warnOnAboutConfig", false);
defaultPref("geo.enabled", false);
lockPref("geo.wifi.logging.enabled", false);
defaultPref("geo.wifi.uri", "");
lockPref("identity.fxaccounts.commands.enabled", false);
lockPref("identity.fxaccounts.enabled", false);
defaultPref("intl.locale.matchOS", true);
pref("javascript.use_us_english_locale", true);
pref("keyword.enabled", false);
pref("lightweightThemes.update.enabled", false);
pref("loop.logDomains", false);
lockPref("marionette.enabled", false);
defaultPref("media.eme.enabled", false);
lockPref("media.getusermedia.audiocapture.enabled", false);
lockPref("media.getusermedia.screensharing.enabled", false);
pref("media.gmp-eme-adobe.enabled", false);
pref("media.gmp-gmpopenh264.enabled", false);
defaultPref("media.gmp-gmpopenh264.enabled", false);
pref("media.gmp-gmpopenh264.provider.enabled", false);
pref("media.gmp-manager.cert.checkAttributes", false);
pref("media.gmp-manager.url", "");
defaultPref("media.navigator.enabled", false);
defaultPref("media.navigator.video.enabled", false);
@@ -192,34 +217,25 @@ defaultPref("media.peerconnection.use_document_iceservers", false);
defaultPref("media.video_stats.enabled", false);
defaultPref("media.webspeech.recognition.enable", false);
defaultPref("media.webspeech.synth.enabled", false);
defaultPref("messaging-system.rsexperimentloader.enabled", false);
defaultPref("network.IDN.whitelist.i2p", true);
defaultPref("network.IDN_show_punycode", true);
defaultPref("network.allow-experiments", false);
lockPref("network.captive-portal-service.enabled", false);
lockPref("network.connectivity-service.enabled", false);
pref("network.cookie.prefsMigrated", true);
defaultPref("network.dns.disableIPv6", true);
defaultPref("network.dns.disablePrefetchFromHTTPS", true);
defaultPref("network.dns.disableprefetch", true);
pref("network.http.speculative-parallel-limit", 0);
defaultPref("network.dns.disablePrefetch", true);
defaultPref("network.http.speculative-parallel-limit", 0);
defaultPref("network.jar.open-unsafe-types", false);
pref("network.manage-offline-status", false);
defaultPref("network.negotiate-auth.allow-insecure-ntlm-v1", false);
defaultPref("network.notify.changed", false);
pref("network.predictor.enabled", false);
defaultPref("network.prefetch-next", false);
pref("network.protocol-handler.expose-all", false);
pref("network.protocol-handler.expose.about", true);
pref("network.protocol-handler.expose.file", true);
pref("network.protocol-handler.expose.ftp", true);
pref("network.protocol-handler.expose.http", true);
pref("network.protocol-handler.expose.https", true);
pref("network.protocol-handler.expose.javascript", true);
pref("network.protocol-handler.expose.moz-extension", true);
pref("network.protocol-handler.external.about", false);
pref("network.protocol-handler.external.file", false);
pref("network.protocol-handler.external.ftp", false);
pref("network.protocol-handler.external.http", false);
pref("network.protocol-handler.external.https", false);
pref("network.protocol-handler.external.javascript", false);
pref("network.protocol-handler.external.moz-extension", false);
pref("network.protocol-handler.expose-all", true);
defaultPref("network.protocol-handler.external-default", false);
defaultPref("network.protocol-handler.warn-external-default", true);
defaultPref("network.proxy.ftp", "127.0.0.1");
defaultPref("network.proxy.ftp_port", 4444);
@@ -250,19 +266,23 @@ defaultPref("privacy.resistFingerprinting", true);
pref("privacy.sanitize.timeSpan", 0);
defaultPref("privacy.spoof_english", 2);
defaultPref("privacy.trackingprotection.enabled", true);
lockPref("privacy.userContext.enabled", true);
//lockPref("privacy.userContext.enabled", true);
defaultPref("reader.parse-on-load.enabled", false);
defaultPref("reader.parse-on-load.force-enabled", false);
defaultPref("security.insecure_field_warning.contextual.enabled", false);
defaultPref("security.insecure_password.ui.enabled", false);
defaultPref("security.ssl.errorReporting.enabled", false);
defaultPref("security.OCSP.enabled", 0);
defaultPref("services.blocklist.update_enabled", false);
pref("services.settings.server", "");
lockPref("services.sync.enabled", false);
pref("services.sync.prefs.sync.browser.download.manager.scanWhenDone", false);
pref("services.sync.prefs.sync.browser.safebrowsing.enabled", false);
pref("services.sync.prefs.sync.browser.search.update", false);
pref("services.sync.prefs.sync.extensions.update.enabled", false);
pref("signon.autofillForms", false);
defaultPref("signon.management.page.breach-alerts.enabled", false);
defaultPref("signon.management.page.vulnerable-passwords.enabled", false);
pref("signon.rememberSignons", false);
defaultPref("startup.homepage_welcome_url", "http://i2pd.i2p/");
pref("startup.homepage_welcome_url.additional", "about:blank");
@@ -278,96 +298,3 @@ defaultPref("webgl.disable-fail-if-major-performance-caveat", true);
defaultPref("webgl.disabled", true);
defaultPref("webgl.enable-debug-renderer-info", false);
defaultPref("webgl.min_capability_mode", true);
var config = {
"cckVersion": "2.2.9",
"name": "I2Pd Browser",
"description": "Preconfigured for use with I2P browser",
"version": "1.2.8",
"homePage": "http://i2pd.i2p/",
"welcomePage": "http://i2pd.i2p/",
"titlemodifier": "I2Pd Browser",
"extension": {
"name": "I2Pd Browser"
},
"noWelcomePage": true,
"noUpgradePage": true,
"removeSetDesktopBackground": true,
"removeSafeModeMenu": true,
"noGetAddons": true,
"noAddonCompatibilityCheck": true,
"disableSearchEngineInstall": true,
"removeDefaultSearchEngines": false,
"displayBookmarksToolbar": true,
"removeSmartBookmarks": true,
"removeDefaultBookmarks": true,
"removeDuplicateBookmarkNames": true,
"dontCheckDefaultBrowser": true,
"dontUseDownloadDir": true,
"disableFormFill": true,
"disableSync": true,
"disableCrashReporter": true,
"disableTelemetry": true,
"disableFirefoxHealthReportUpload": true,
"disableFirefoxHealthReport": true,
"disableFirefoxUpdates": true,
"removeSnippets": true,
"disableResetFirefox": true,
"disableWebApps": true,
"disableHello": true,
"disableSharePage": true,
"disableForget": true,
"disableHeartbeat": true,
"disablePocket": true,
"disableAboutSupport": true,
"disableAboutProfiles": true,
"showSearchBar": true,
"autoconfig": {
"disableProfileMigrator": true
},
"id": "i2pdbrowser",
"hiddenUI": [
"#defaultBrowserBox",
"#enableSearchUpdate",
"#dataCollectionCategory",
"#dataCollectionGroup",
".help-button",
"#onboarding-overlay-button",
".prefs-modal-inner-wrapper > section:nth-child(6)"
],
"searchplugins": {
"YaCy 'legwork'": "http://legwork.i2p/opensearchdescription.xml"
},
"defaultSearchEngine": "YaCy 'legwork'",
"certs": {
"ca": [
{
"url": "resource://cck2_i2pdbrowser/certs/purplei2p_ca.pem",
"trust": "CTc,CTc,CTc"
}
]
}
};
var io = Components.classes["@mozilla.org/network/io-service;1"]
.getService(Components.interfaces.nsIIOService);
var resource = io.getProtocolHandler("resource")
.QueryInterface(Components.interfaces.nsIResProtocolHandler);
var greDir = Components.classes["@mozilla.org/file/directory_service;1"]
.getService(Components.interfaces.nsIProperties)
.get("GreD", Components.interfaces.nsIFile);
var cck2ModuleDir = greDir.clone();
cck2ModuleDir.append("cck2");
cck2ModuleDir.append("modules");
var cck2Alias = io.newFileURI(cck2ModuleDir);
resource.setSubstitution("cck2", cck2Alias);
var configModuleDir = greDir.clone();
configModuleDir.append("cck2");
configModuleDir.append("resources");
var configAlias = io.newFileURI(configModuleDir);
resource.setSubstitution("cck2_i2pdbrowser", configAlias);
Components.utils.import("resource://cck2/CCK2.jsm");
CCK2.init(config, "ä"[0], "ä");
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More