Compare commits

..

21 Commits

Author SHA1 Message Date
R4SAS c85c4fb6c1 [jni] switch to build from sources (#32) 2022-01-27 17:39:30 +03:00
r4sas d9bbe52238 2.40.0
Signed-off-by: r4sas <r4sas@i2pmail.org>
2021-11-28 03:00:39 +00:00
R4SAS de53cd0e75 update addressbook
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-11-28 04:51:58 +03:00
R4SAS 921054e204 2.39.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-08-23 18:38:17 +03:00
r4sas e9597df4e7 [jni] update openssl to 1.1.1k
Signed-off-by: r4sas <r4sas@i2pmail.org>
2021-05-31 18:08:02 +00:00
R4SAS eef59d9052 add i2pd multilingual support
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-28 00:25:35 +03:00
nonlin-lin-chaos-order-etc-etal 80830ac712 Update I2PDActivity.java (#24) 2021-05-21 11:08:30 +03:00
R4SAS 3a91d05c8c 2.38.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-05-17 17:37:05 +03:00
R4SAS 24649306c1 upload license 2021-04-25 19:17:35 +03:00
R4SAS 8dfa0e5bcb fix start on API lesser 21
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-17 12:40:52 +03:00
R4SAS bb93876838 2.37.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-15 18:03:57 +03:00
orignal b30bd69ba9 2.37.0 2021-03-15 08:35:20 -04:00
R4SAS cc9ef22b28 layout fixes
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-06 01:40:22 +03:00
wipedlifepotato 17148b5511 Autostart button(switch) (#19)
* Enable/Disable button; Toast on webconsole if not enabled; i2pdpath;on boot autostart;getDataPath/iniEditor preinit for setting

* settings autostart switch

Co-authored-by: R4SAS <r4sas@users.noreply.github.com>
2021-03-05 22:27:22 +03:00
R4SAS 2e6a4c7c4b fix ifaddrs usage
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-05 03:32:48 +03:00
R4SAS 9d894cb62e update main activity layout
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-05 03:16:38 +03:00
R4SAS 67e6e28904 rename submodules, fetch new i2pd commits
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-03-02 19:13:49 +03:00
Aleksander Undisclosed Yvarov fd04d7070d Enable/Disable button; Toast on webconsole if not enabled; i2pdpath;on boot autostart;getDataPath/iniEditor preinit for setting 2021-03-01 15:54:49 +00:00
nonlinear-chaos-order-etc-etal 55cde8e11c Update ReadMe, closes #16 (#17) 2021-02-28 16:27:18 +03:00
R4SAS 6ee4db6680 [fastlane] update application info and add screenshots
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-02-24 12:02:36 +03:00
R4SAS 48555bd1af Main activity, replace drawables with SVGs
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2021-02-20 23:16:58 +03:00
51 changed files with 2391 additions and 229 deletions
+15 -2
View File
@@ -9,6 +9,10 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install rename tool
run: |
sudo apt-get update
sudo apt-get install rename
- name: Setup JDK 1.8
uses: actions/setup-java@v1
with:
@@ -17,10 +21,19 @@ jobs:
uses: maxim-lobanov/setup-android-tools@v1
with:
packages: |
build-tools;28.0.3
build-tools;29.0.3
platforms;android-29
ndk;20.0.5594570
ndk;21.4.7075529
cache: true
- name: Build required modules
run: |
export ANDROID_SDK_ROOT=$ANDROID_HOME
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.4.7075529
pushd app/jni
./build_boost.sh
./build_openssl.sh
./build_miniupnpc.sh
popd
- name: Build with Gradle
run: ./gradlew --no-daemon assembleDebug
- name: Upload artifacts
+11 -12
View File
@@ -1,17 +1,16 @@
[submodule "android-ifaddrs"]
path = app/jni/android-ifaddrs
url = https://github.com/PurpleI2P/android-ifaddrs.git
[submodule "i2pd"]
path = app/jni/i2pd
url = https://github.com/PurpleI2P/i2pd.git
branch = openssl
[submodule "app/jni/boost"]
path = app/jni/boost
url = https://github.com/PurpleI2P/Boost-for-Android-Prebuilt.git
branch = boost-1_72_0
[submodule "app/jni/openssl"]
path = app/jni/openssl
url = https://github.com/PurpleI2P/OpenSSL-for-Android-Prebuilt.git
[submodule "app/jni/miniupnp"]
[submodule "miniupnp"]
path = app/jni/miniupnp
url = https://github.com/PurpleI2P/MiniUPnP-for-Android-Prebuilt.git
[submodule "app/jni/android-ifaddrs"]
path = app/jni/android-ifaddrs
url = https://github.com/PurpleI2P/android-ifaddrs.git
url = https://github.com/miniupnp/miniupnp.git
[submodule "openssl"]
path = app/jni/openssl
url = https://github.com/openssl/openssl.git
[submodule "boost"]
path = app/jni/boost
url = https://github.com/moritz-wundke/Boost-for-Android.git
+27
View File
@@ -0,0 +1,27 @@
Copyright (c) 2013-2021, The PurpleI2P Project
All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are
permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
3. Neither the name of the copyright holder nor the names of its contributors may be used
to endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+2 -2
View File
@@ -1,6 +1,6 @@
# i2pd android
### Install OpenJDK, gradle, download Android SDK and NDK r19c
### Install OpenJDK, gradle 5.1+ (6.8.3 has been tested and is working ok), download Android SDK and NDK r21e
https://gradle.org/install/
https://developer.android.com/studio#downloads
@@ -12,7 +12,7 @@ https://developer.android.com/ndk/
### Compile application
export ANDROID_SDK_ROOT=/opt/android-sdk
export ANDROID_NDK_HOME=/opt/android-ndk-r19c
export ANDROID_NDK_HOME=/opt/android-ndk-r21e
gradle clean assembleDebug
+5 -5
View File
@@ -3,7 +3,7 @@ plugins {
}
dependencies {
implementation 'androidx.core:core:1.3.0'
implementation 'androidx.core:core:1.3.2'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
}
@@ -13,9 +13,9 @@ android {
defaultConfig {
applicationId "org.purplei2p.i2pd"
targetSdkVersion 29
minSdkVersion 14
versionCode 23600
versionName "2.36.0"
minSdkVersion 16
versionCode 24000
versionName "2.40.0"
setProperty("archivesBaseName", archivesBaseName + "-" + versionName)
ndk {
@@ -28,7 +28,7 @@ android {
externalNativeBuild {
ndkBuild {
arguments "NDK_MODULE_PATH:=${rootProject.projectDir}/app/jni"
arguments "-j3"
arguments "-j${Runtime.getRuntime().availableProcessors()}"
}
}
}
+16 -15
View File
@@ -2,7 +2,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := i2pd
LOCAL_CPP_FEATURES := rtti exceptions
LOCAL_C_INCLUDES += $(IFADDRS_PATH) $(LIB_SRC_PATH) $(LIB_CLIENT_SRC_PATH) $(DAEMON_SRC_PATH)
LOCAL_C_INCLUDES += $(IFADDRS_PATH) $(LIB_SRC_PATH) $(LIB_CLIENT_SRC_PATH) $(LANG_SRC_PATH) $(DAEMON_SRC_PATH)
LOCAL_STATIC_LIBRARIES := \
boost_system \
boost_date_time \
@@ -19,6 +19,7 @@ LOCAL_SRC_FILES := \
$(IFADDRS_PATH)/ifaddrs.c \
$(wildcard $(LIB_SRC_PATH)/*.cpp) \
$(wildcard $(LIB_CLIENT_SRC_PATH)/*.cpp) \
$(wildcard $(LANG_SRC_PATH)/*.cpp) \
$(DAEMON_SRC_PATH)/Daemon.cpp \
$(DAEMON_SRC_PATH)/UPnP.cpp \
$(DAEMON_SRC_PATH)/HTTPServer.cpp \
@@ -29,49 +30,49 @@ include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_system
LOCAL_SRC_FILES := $(BOOST_PATH)/boost-1_72_0/$(TARGET_ARCH_ABI)/lib/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/boost-1_72_0/include
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_date_time
LOCAL_SRC_FILES := $(BOOST_PATH)/boost-1_72_0/$(TARGET_ARCH_ABI)/lib/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/boost-1_72_0/include
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_filesystem
LOCAL_SRC_FILES := $(BOOST_PATH)/boost-1_72_0/$(TARGET_ARCH_ABI)/lib/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/boost-1_72_0/include
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_program_options
LOCAL_SRC_FILES := $(BOOST_PATH)/boost-1_72_0/$(TARGET_ARCH_ABI)/lib/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/boost-1_72_0/include
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := $(OPENSSL_PATH)/openssl-1.1.1d-clang/$(TARGET_ARCH_ABI)/lib/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/openssl-1.1.1d-clang/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ssl
LOCAL_SRC_FILES := $(OPENSSL_PATH)/openssl-1.1.1d-clang/$(TARGET_ARCH_ABI)/lib/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/openssl-1.1.1d-clang/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
LOCAL_STATIC_LIBRARIES := crypto
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := miniupnpc
LOCAL_SRC_FILES := $(MINIUPNP_PATH)/miniupnpc-2.1/$(TARGET_ARCH_ABI)/lib/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc-2.1/include
LOCAL_SRC_FILES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/include
include $(PREBUILT_STATIC_LIBRARY)
+6 -5
View File
@@ -9,14 +9,15 @@ ifeq ($(TARGET_ARCH_ABI),armeabi-v7a)
APP_CPPFLAGS += -DANDROID_ARM7A
endif
BOOST_PATH = $(NDK_MODULE_PATH)/boost
OPENSSL_PATH = $(NDK_MODULE_PATH)/openssl
MINIUPNP_PATH = $(NDK_MODULE_PATH)/miniupnp
IFADDRS_PATH = $(NDK_MODULE_PATH)/android-ifaddrs
BOOST_PATH = $(NDK_MODULE_PATH)/boost
MINIUPNP_PATH = $(NDK_MODULE_PATH)/miniupnp
OPENSSL_PATH = $(NDK_MODULE_PATH)/openssl
# don't change me
I2PD_SRC_PATH = $(NDK_MODULE_PATH)/i2pd
LIB_SRC_PATH = $(I2PD_SRC_PATH)/libi2pd
LIB_SRC_PATH = $(I2PD_SRC_PATH)/libi2pd
LIB_CLIENT_SRC_PATH = $(I2PD_SRC_PATH)/libi2pd_client
DAEMON_SRC_PATH = $(I2PD_SRC_PATH)/daemon
LANG_SRC_PATH = $(I2PD_SRC_PATH)/i18n
DAEMON_SRC_PATH = $(I2PD_SRC_PATH)/daemon
+18 -2
View File
@@ -16,6 +16,7 @@
#include "FS.h"
#include "DaemonAndroid.h"
#include "Daemon.h"
#include "I18N.h"
namespace i2p
{
@@ -74,6 +75,7 @@ namespace android
}
*/
std::string dataDir = "";
std::string language = "";
DaemonAndroidImpl::DaemonAndroidImpl ()
//:
@@ -104,7 +106,7 @@ namespace android
std::this_thread::sleep_for (std::chrono::seconds(1)); // otherwise wait for 1 more second
}
while (numAttempts <= 10); // 10 seconds max
return Daemon.init(argc,argv);
return Daemon.init(argc, argv);
}
void DaemonAndroidImpl::start()
@@ -163,12 +165,16 @@ namespace android
{
//Log.d(TAG"Initialising the daemon...");
bool daemonInitSuccess = daemon.init(1,argv);
bool daemonInitSuccess = daemon.init(1, argv);
if(!daemonInitSuccess)
{
//QMessageBox::critical(0, "Error", "Daemon init failed");
return "Daemon init failed";
}
// Set webconsole language from application
i2p::i18n::SetLanguage(language);
//Log.d(TAG"Initialised, creating the main window...");
//MainWindow w;
//Log.d(TAG"Before main window.show()...");
@@ -218,5 +224,15 @@ namespace android
{
dataDir = jdataDir;
}
std::string GetDataDir(void)
{
return dataDir;
}
void SetLanguage(std::string jlanguage)
{
language = jlanguage;
}
}
}
+4
View File
@@ -52,6 +52,10 @@ namespace android
// set datadir received from jni
void SetDataDir(std::string jdataDir);
// get datadir
std::string GetDataDir(void);
// set webconsole language
void SetLanguage(std::string jlanguage);
/*
class Worker : public QObject
{
+128
View File
@@ -0,0 +1,128 @@
#!/bin/bash
set -e
BOOST_VERSION=1.74.0
BOOST_VERSION_SUFFIX=1_74
BOOST_LIBS=date_time,filesystem,program_options,system
REMOVE_BOOST_LIBS_SUFFIX_x86_64=-clang-mt-x64-${BOOST_VERSION_SUFFIX}
REMOVE_BOOST_LIBS_SUFFIX_ARM64=-clang-mt-a64-${BOOST_VERSION_SUFFIX}
REMOVE_BOOST_LIBS_SUFFIX_x86=-clang-mt-x32-${BOOST_VERSION_SUFFIX}
REMOVE_BOOST_LIBS_SUFFIX_ARM=-clang-mt-a32-${BOOST_VERSION_SUFFIX}
function build_one {
echo "Configuring and building..."
CXXFLAGS="-std=c++14" \
NCPU=$(nproc) \
./build-android.sh \
--boost=${BOOST_VERSION} \
--arch=${CPU} \
--target-version=${API} \
--with-libraries=${BOOST_LIBS} \
${ANDROID_NDK_HOME}
case "${CPU}" in
x86_64)
mkdir -p out/{x86_64,include}
cp build/out/x86_64/lib/*.a out/${CPU}
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_x86_64}'//' out/x86_64/*.a
cp -r build/out/x86_64/include/boost-${BOOST_VERSION_SUFFIX}/boost out/include
;;
arm64-v8a)
mkdir -p out/{arm64-v8a,include}
cp build/out/arm64-v8a/lib/*.a out/${CPU}
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_ARM64}'//' out/arm64-v8a/*.a
cp -r build/out/arm64-v8a/include/boost-${BOOST_VERSION_SUFFIX}/boost out/include
;;
x86)
mkdir -p out/{x86,include}
cp build/out/x86/lib/*.a out/${CPU}
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_x86}'//' out/x86/*.a
cp -r build/out/x86/include/boost-${BOOST_VERSION_SUFFIX}/boost out/include
;;
armeabi-v7a)
mkdir -p out/{armeabi-v7a,include}
cp build/out/armeabi-v7a/lib/*.a out/${CPU}
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_ARM}'//' out/armeabi-v7a/*.a
cp -r build/out/armeabi-v7a/include/boost-${BOOST_VERSION_SUFFIX}/boost out/include
;;
*)
mkdir -p out/{x86_64,arm64-v8a,x86,armeabi-v7a,include}
cp build/out/x86_64/lib/*.a out/x86_64
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_x86_64}'//' out/x86_64/*.a
cp build/out/arm64-v8a/lib/*.a out/arm64-v8a
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_ARM64}'//' out/arm64-v8a/*.a
cp build/out/x86/lib/*.a out/x86
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_x86}'//' out/x86/*.a
cp build/out/armeabi-v7a/lib/*.a out/armeabi-v7a
rename 's/'${REMOVE_BOOST_LIBS_SUFFIX_ARM}'//' out/armeabi-v7a/*.a
cp -r build/out/arm64-v8a/include/boost-${BOOST_VERSION_SUFFIX}/boost out/include
;;
esac
}
function checkPreRequisites {
if ! [ -d "boost" ] || ! [ "$(ls -A boost)" ]; then
echo -e "\033[31mFailed! Submodule 'boost' not found!\033[0m"
echo -e "\033[31mTry to run: 'git submodule update --init'\033[0m"
exit
fi
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m"
exit
fi
}
checkPreRequisites
cd boost
rm -rf out
function build {
for arg in "$@"; do
case "${arg}" in
x86_64)
API=21
TARGET=x86_64
build_one
;;
arm64)
API=21
CPU=arm64-v8a
build_one
;;
x86)
API=16
CPU=x86
build_one
;;
arm)
API=16
CPU=armeabi-v7a
build_one
;;
all)
API=16
CPU=x86_64,arm64-v8a,x86,armeabi-v7a
build_one
;;
*)
;;
esac
done
}
if (( $# == 0 )); then
build all
else
build $@
fi
+89
View File
@@ -0,0 +1,89 @@
#!/bin/bash
set -e
function build_one {
mkdir -p out/${CPU}
cd out/${CPU}
cmake \
-DANDROID_NATIVE_API_LEVEL=${API} \
-DANDROID_ABI=${CPU} \
-DCMAKE_BUILD_TYPE=Release \
-DANDROID_NDK=${ANDROID_NDK_HOME} \
-DCMAKE_TOOLCHAIN_FILE=${ANDROID_NDK_HOME}/build/cmake/android.toolchain.cmake \
../..
echo "Building..."
cmake --build . -- libminiupnpc-static
cd ../..
if [[ -n 'out/include' ]]; then
mkdir -p out/include/miniupnpc
cp include/* out/include/miniupnpc
fi
}
function checkPreRequisites {
if ! [ -d "miniupnp" ] || ! [ "$(ls -A miniupnp)" ]; then
echo -e "\033[31mFailed! Submodule 'miniupnp' not found!\033[0m"
echo -e "\033[31mTry to run: 'git submodule update --init'\033[0m"
exit
fi
if [ -z "$ANDROID_SDK_ROOT" -a "$ANDROID_SDK_ROOT" == "" ]; then
echo -e "\033[31mFailed! ANDROID_SDK_ROOT is empty. Run 'export ANDROID_SDK_ROOT=[PATH_TO_NDK]'\033[0m"
exit
fi
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m"
exit
fi
}
checkPreRequisites
cd miniupnp/miniupnpc
rm -rf out
# add cmake from Android SDK to PATH
PATH=$ANDROID_SDK_ROOT/cmake/3.10.2.4988404/bin:$PATH
function build {
for arg in "$@"; do
case "${arg}" in
x86_64)
API=21
CPU=x86_64
build_one
;;
arm64)
API=21
CPU=arm64-v8a
build_one
;;
arm)
API=16
CPU=armeabi-v7a
build_one
;;
x86)
API=16
CPU=x86
build_one
;;
*)
;;
esac
done
}
if (( $# == 0 )); then
build x86_64 arm64 arm x86
else
build $@
fi
+95
View File
@@ -0,0 +1,95 @@
#!/bin/bash
set -e
function build_one {
mkdir -p out/${CPU}
echo "Configuring..."
./Configure \
${TARGET} \
no-shared \
no-ssl3 \
no-comp \
no-hw \
no-engine \
no-tests \
--prefix="$PWD/output" \
-D__ANDROID_API__=${API}
echo "Building..."
make -j $(nproc)
make install_sw
cp output/lib/*.a out/${CPU}
if [[ -n 'out/include' ]]; then
mkdir -p out/include
cp -r output/include/openssl out/include
fi
rm -rf output
make clean
}
function checkPreRequisites {
if ! [ -d "openssl" ] || ! [ "$(ls -A openssl)" ]; then
echo -e "\033[31mFailed! Submodule 'openssl' not found!\033[0m"
echo -e "\033[31mTry to run: 'git submodule update --init'\033[0m"
exit
fi
if [ -z "$ANDROID_NDK_HOME" -a "$ANDROID_NDK_HOME" == "" ]; then
echo -e "\033[31mFailed! ANDROID_NDK_HOME is empty. Run 'export ANDROID_NDK_HOME=[PATH_TO_NDK]'\033[0m"
exit
fi
}
checkPreRequisites
cd openssl
rm -rf out
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
function build {
for arg in "$@"; do
case "${arg}" in
x86_64)
API=21
CPU=x86_64
TARGET=android-x86_64
build_one
;;
arm64)
API=21
CPU=arm64-v8a
TARGET=android-arm64
build_one
;;
arm)
API=16
CPU=armeabi-v7a
TARGET=android-arm
build_one
;;
x86)
API=16
CPU=x86
TARGET=android-x86
build_one
;;
*)
;;
esac
done
}
if (( $# == 0 )); then
build x86_64 arm64 arm x86
else
build $@
fi
+12
View File
@@ -57,6 +57,11 @@ JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_startDaemon
return env->NewStringUTF(i2p::android::start().c_str());
}
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getDataDir
(JNIEnv *env, jclass clazz) {
return env->NewStringUTF( i2p::android::GetDataDir().c_str() );
}
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopDaemon
(JNIEnv *env, jclass clazz) {
i2p::android::stop();
@@ -121,3 +126,10 @@ JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getWebConsAddr
std::string result = "http://" + httpAddr + ":" + std::to_string(httpPort) + "/";
return env->NewStringUTF(result.c_str());
}
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_setLanguage
(JNIEnv *env, jclass clazz, jstring jlanguage) {
auto language = env->GetStringUTFChars(jlanguage, NULL);
env->ReleaseStringUTFChars(jlanguage, language);
i2p::android::SetLanguage(language);
}
+6
View File
@@ -26,6 +26,9 @@ JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getABICompiledWith
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_startDaemon
(JNIEnv *, jclass);
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getDataDir
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopDaemon
(JNIEnv *, jclass);
@@ -50,6 +53,9 @@ JNIEXPORT jint JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_GetTransitTunnelsCount
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getWebConsAddr
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_setLanguage
(JNIEnv *env, jclass clazz, jstring jlanguage);
#ifdef __cplusplus
}
#endif
+14 -1
View File
@@ -10,20 +10,33 @@
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:icon="@drawable/ic_logo"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
android:usesCleartextTraffic="true">
<receiver
android:enabled="true"
android:name="org.purplei2p.i2pd.receivers.BootUpReceiver"
android:exported="true"
android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</receiver>
<meta-data
android:name="android.webkit.WebView.MetricsOptOut"
android:value="true" />
<activity android:name=".WebConsoleActivity" />
<activity android:name=".SettingsActivity" />
<receiver
android:name=".NetworkStateChangeReceiver"
+173 -117
View File
@@ -1,127 +1,141 @@
0gitnick.i2p,xpw6ynhbxxuqsr6spcnfiyvuhvimm3jg7uti2oqv3jlh76j532oa
0pl.i2p,gd7qe2pu2jwqabz4zcf3wwablrzym7p6qswczoapkm5oa5ouuaua
102chan.i2p,xxu3lso4h2rh6wmrxiou3ax7r7la7x6dhoepnku3jvrlwp35pefq
2ch.i2p,suzp44odgixf5lthy5ngy6ktabus5gz47squie2shudi6kmlwuaq
2channel.i2p,wirxk4kulmd7v6qmttltnu5nx2vtchzvrg7ewocejrvdjcaiv5sq
0xff.i2p,apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
0xpaste.i2p,oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
102chan-memorial.i2p,t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q
333.i2p,ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
600chan.i2p,ncogytpxyaqnu5au4yc6oeiiaidhjcxfsr6cyebcsfki2p3ih7ea
7i3.i2p,y4gh4ocvlsxnyjgqbdlqb6eeff4a4e62wbzuewd3ralagyopzb4q
aaa.i2p,zzhy7rumzzgxzodvgu4xz324nekbbccphegweukj4cm6nrbpg4oa
abdlandrubbernetwork.i2p,asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
CrustyIRC.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
acetone.i2p,tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
afk.i2p,chrbzqjzaxvtdonbv3mahn3mr5sstzrv3vd7cupfovp4wmkkko4q
agentoocat.i2p,voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
agoradesk.i2p,ztqnvu7c35jyoqmfjyymqggjpyky6z3tlgewk2qgbgcmcyl4ecta
albatcats.i2p,ilgg7nbtofvgzrpl6kenxugfdsgi3apu6sgilmqi5rhpolnauyga
algorithm.i2p,algout6clo74ywqtjyemehnf4bzhegpju5yvi6zdcfszso7iirka
alphabay.i2p,tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
animal.i2p,5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
anongw.i2p,owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
anonroms.i2p,w2sgx2i5n4uxtqjgekckxnhhpymigpn5lmgdaujyzib6sxq7j4cq
anonyradio.i2p,cbobsax3rhoyjbk7ii2nd2fnl5bxh3x7bbearokyxgvmudn7o5bq
apophis.i2p,aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
apt.idk.i2p,s7qemnncvmy5zs3khd6qzlcnsvtu6drnkeae4r3yyc7akuzuqiia
arav.i2p,t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
archaicbinarybbs.i2p,t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
archiv.tutorials.i2p,lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
archlinux.i2p,5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
ardor-wallet.i2p,tm23k5ny3umhf6vf3kghnnwacli5zywq5wrr3xcqowbcofuyr4gq
arf.i2p,o46lsq4u7udxg3qqlidrmpj4lb4nr7ldxmbb2x53nftndaeyxqeq
atetsu.i2p,pcr6k5krxwcvmessygjmfsbxgnyju6ipq5236ki55n2i5u4uylpq
azathabar.i2p,v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
b0nk.i2p,hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
bandura-yacy.i2p,e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
bandura.i2p,n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
banka.i2p,vuo5wavhhstnv5gehgmvhjy2jhpm3mdlcvtovfqunfzv5ngug5cq
bbs.i2p,7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
ben.i2p,kaqe5l6s2hojtgaaoinn4ucktnc4ixvneldy32ft7zdokncc73sa
bible4u.i2p,xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
bitlox.i2p,lqw5khxcdntlv3u4vhn53upcqirplvnc4etjlmoytrzs66ytettq
black.i2p,sjwueu62qpe6dtv5b322k3f23fl4uz3w6qe6wcrwauiwpnymypfq
blackexchange.i2p,ztgr5kghkyn43fhhkuycroxgfti6cojo3vg4wdd3usqonyvrla5q
blog.tinlans.i2p,ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
boerse.i2p,7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
bofh.i2p,auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
bonobonet.acetone.i2p,keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
boran.i2p,boranyzcefxqw2ktndemy3npt4zhetpp6edldtlym2ap7n5azt5a
boxs.i2p,owm3fy2t5vwbxowk5gsshihkwjfknqq7y4ylbeyhvzta7r3ybrpq
bote.i2p,bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
braindead.i2p,braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
burntout.i2p,lkep3fd7tjvxrs25crr2c3jy7xm4s7bqiua5r327zgpw37sgyerq
bugfuzz.i2p,ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
bunkerirc.i2p,mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
bytepay.i2p,7amc4ztwkzu3cgsaaaw3223ohuihn5hlsqc6gpf2rxdyptdkyugq
ca.i2pd.i2p,u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
cathugger.i2p,vq43xjjcnejqpzfprws5qzrea2siieshu4tglpdepql2w3w3bpba
cake.i2p,hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
cbs.i2p,u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
ccp.i2p,gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
cheapeth.i2p,x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
chive.i2p,tvsopmxs2enrjlefhuq4zthr6lkyfg7vwwosddcwt62qoncstpgq
chudo.i2p,iaublzhzc4ssa3rcrjbdigautm66mslt6g2sninugagiarl4at3q
ci.idk.i2p,antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
cipherlist.i2p,gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
cloaca.i2p,pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
closedshop.i2p,6fg67mbw2okopzyonsck4bsy3cy7l2fame56uiysr2cezhjhzdbq
cobalt.idk.i2p,m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
coffeejazz.i2p,mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
cofob.i2p,srac56l4oue35pbnibzk27eztkkk7pljbqoyshnwnmdct2t6avbq
coldhell.i2p,z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
community.i2p,64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
contact.i2p,rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
costeira.i2p,abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
crypto.i2p,vffax5jzewwv6pfim55hvhqyynafkygdalvzoqd74lkib3hla3ta
cs.i2p,kzaeunogz6s75ptgy6ifjzwwy75xdfenenswvrczd7mewxgrad5a
d73.i2p,uf6madmg2fv7uo25cjnvzpimd6iflsrozyemuypleyz46mxbyreq
darklibrary.i2p,ynv2cgboxkpcyap6hqnbycgj4khyxppxuqjbidkdfhjifkzwdhfa
darknetnow.i2p,gkx3o5fy7mv7l4psqqnhp35d5iun7rt3soci6ylf3rgb7a5a655q
darknut.i2p,2mk37gtvpk2i63o6vl7vna4dr46rqexxetupgn5efuuins7x3qya
darkrealm.i2p,gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
dashninja.i2p,dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
dcherukhin.i2p,qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
dead.i2p,7ko27dxvicr2sezvykkrfiktlghx5y5onup3f2bas5ipocy6ibvq
deavmi.i2p,t4cvvenniup6dcdlu2ehdycos5r3luccfemwd6hhvyqv5zd6obgq
deavmi.i2p,fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
deepwebradio.i2p,2nait2gdeozkgf6gyhzjfij6mwldwkxxwcvtxobb4b5q5cvtm5la
def2.i2p,cepsrw27kdegwo7ihzouwvgcvw2obswwjs23ollgj7hk2yrce3da
def3.i2p,xbf3ots2purqun7orn72ypkpjmrzbfrkj3u654zfe77hbrbow6la
def4.i2p,yyzdq4fwwmnlojp23drfpfqujln2vcjozjrfzfeuriuqzdq7g4mq
det.i2p,y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
diasporg.i2p,edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
diffyq.i2p,hkjvyuc3asswxa7uxyalrnpqab4lyvzriu2rsq6jbjc2kaoabghq
digcitlab.i2p,gijabxlt4ox2mblh2nfxnds6u4mlsdeoonizknbdksl7klmbpvoq
discuss.i2p,wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
diva.i2p,auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
dlms.i2p,krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq
dns.acetone.i2p,dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
dns.chudo.i2p,zzfmtnnmacop3xvpznc4c2jfvk226wpep2gaoanja3gfzf3ih7xq
dosje.i2p,ir2ky5ejx4f646l4fsnug22gj4frn6jzlg7fgboudf2n5b4gdj3q
dreadpiratessociety.i2p,fbdd4syj2v52x5zord67av2xclmjsg6bc6xdvrqmvqkyd3whij6q
dropbox.i2p,omax2s5n4mzvymidpuxp2yqknf23asvu54uon6cxl6gdrlblnuiq
drommedaris.i2p,2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
dumpteam.i2p,2fwlpuouwxlk2nj4xklvm43m52tqyhqnu2fcfiuv7clvf3wd5nwa
e8.i2p,5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a
e-reading.i2p,z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
easygpg2.i2p,bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
ebooks.i2p,bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
ebuild.agentoocat.i2p,lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
echo.idk.i2p,63sgpiu6f33arldcxkbjsn3jgf6asyx3onjmz6j6gsk7hgbiehkq
eddysblog.i2p,ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
epub-eepsite.i2p,yxvzjwd4vin6pnjauekdufh7lxaijal3kqe2bhakuf47g5zkb6xa
exch.i2p,vsyjsbbf2pyggtilpqwqnhgcc7mymjxblamarmxe5hmbxaxvcndq
fa.i2p,6n6p3aj6xqhevfojj36dixwbl4reopkhymxmatz7ai5sroh75rka
ei2.i2p,y4hhbqzpjdcsgvz5dsgaytttxygos6h2qt66wbbiuvcpcekdmmoq
eight.i2p,gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
elgoog.i2p,z6hrgkg2ajmuzlrddjlffrgctx7x7fkipm6c4hdzmohyn5wkr4ya
envoicesalt.i2p,nsamcq2zidlioxlfuinqzboblpvrnhkbdwavgsvzmt3n3mhuho4a
equwal.i2p,j7zqkvkokxmpkbqrgrkkjym4j7kzuipko4qdujdjbxnrp3qj6ooa
explorer.gostcoin.i2p,ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
false.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
fantasy-worlds.i2p,62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
fiat.i2p,ldnhzi7emxnibjz6g55k2nyywzmcufnst2jy67e75o6dlvtx7wia
fido.r4sas.i2p,i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
flapflap.i2p,y53ceza7iji2vq3oa7om64whzakt6nnzksaqhmkqiisk5tvqk56q
files.arav.i2p,gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
fishsticks.i2p,btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
flibs.i2p,ocdm33e3h5tdml3yyholj4objdwsrhlugfqjnqgdkslmgdzb6b3a
forum.idk.i2p,bg7kaiqjcqqeuuwb5nyo3ptcp5dgza7mihtizwqtnz2itombg6da
flibusta.i2p,zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
forbiddenhistory.i2p,nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
forum.rus.i2p,zd37rfivydhkiyvau27qxwzmerlzbqtthsa5ohtcww62zrygjaga
freefallheavens.i2p,7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
freenet-inproxy.bandura.i2p,rblg2sajac7winv4mgvnkfh2fa3nt2zxfvxfiybj76okpwdrt45a
freegram.i2p,euatsdg24n3j52gd6ptc6gd7hhynl2edpshqyzbehmimpvubt4wa
freifunkmobi.bandura.i2p,5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
fresh.i2p,jii6utg6ubwxgls6jegu24ifrroo4qzbcizjfft2bemodp4k2i6a
fs.i2p,ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
fsoc.i2p,vaqc4jm2trq7lx2kkglve7rkzxhhaptcwwl32uicx4ehf5k3hx6q
fuka.i2p,e3aanmaobvwopjrmrnuqvrkr36gyubrv6f2lyygh5brku3ufwrsa
fxruby.i2p,lqhdnr2pvp2igu5e2cxichboqzcgypvrbooynzgkmoze3xae6qkq
garden.i2p,qkk2dqx6nocycgt3vinsoc76cxkb4jreybcpgz3fcps2dbe4rowq
gedanken.i2p,kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
geekcode.i2p,hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
ginnegappen.i2p,kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
git-srv.b0nk.i2p,6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua
git.arav.i2p,p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
git.b0nk.i2p,7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
git.community.i2p,giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
git.i2p,giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
git.idk.i2p,7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
git.qorg11.i2p,jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
git.repo.i2p,vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
gitlag.i2p,triv6mxusoo37mzdu2grf6mguxpytkw5usl7wllrkbd6v4fn2y6a
gitssh.idk.i2p,g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
gopher.anonroms.i2p,wqfhyrnpknap3ushsck3ih3r7inz6uoqlr3u3ktwvejur3bejqha
glue.idk.i2p,ykbx7chmkivx3idmxd3lu2jc5w4wtlps4r3md57wszhk5w7jykyq
gostcoin.i2p,4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
gusion.i2p,4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
h0p3.i2p,k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
h13.i2p,tozb4vssixoccyqtgnpaatkg2ql52kkjwnsdo3dltezges2na4bq
hagen.i2p,e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
headroom.i2p,uyquth4yeh3zc4alarynrd7r3ieyz2yz4dw6toc44plybjbxjaia
heaven.i2p,y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
heckyel.i2p,lars7whelqo6fp2jzkzrx7aziq7dwiygkixgjarjjc6n3gnlslra
heligoland.i2p,gzrjm62ektpqjfsem3r3kwvg6zpjvvhvpjvwfxkm2ay4zu7sp6oq
hgit.i2p,ny4ev7me2y2ibfi37mykakwvf2jhnl7lfql4etaiykjiwtd735pa
hex.i2p,sw7m3pxa4d3niun7tz4keq2kwpffhpu6b4zcdeupjem2y2tmycqa
hiddenbooru.i2p,zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
hiddenchan.i2p,6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
hisdarkmaterials.i2p,qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
homosexualchan.i2p,suzp44odgixf5lthy5ngy6ktabus5gz47squie2shudi6kmlwuaq
hive.i2p,2koqsqujgndkz3ozgrvx4txezvxpnm65orrr3c5itszy3vd46eea
horo.i2p,vrxh2vbqsfvh2utnt3ighimu4vrgla2mfpwksipkjsguv5vewhdq
hotline.i2p,6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
hp-net.bandura.i2p,z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
hq.postman.i2p,7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
http-false.telegram.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
i2p-epub-eepsite.i2p,yxvzjwd4vin6pnjauekdufh7lxaijal3kqe2bhakuf47g5zkb6xa
hungryewok.i2p,to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
hutor.i2p,vouttzj22msx7lcpgybfhbqoignrawsgo2sg7g7ml5kyuugbbkza
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
@@ -130,221 +144,263 @@ i2pnews.i2p,tc73n4kivdroccekirco7rhgxdg5f3cjvbaapabupeyzrqwv5guq
i2podisy.i2p,3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq
i2pseed.bandura.i2p,2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
i2psurvey.i2p,pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
i2ptimes.i2p,563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
i2pwiki.bandura.i2p,isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
i2pwriters.i2p,c4bktwlfzo3xcaccdw4nhtji2dmlg4sd36du2wynpclowx7kqolq
i2pyacy.bandura.i2p,owy6s5xlkf4zsrwwpemvoru6x6qmrye2pe3v4v3dncvcrzix3fiq
i2speed.i2p,532c5r6ra6rcf2mvfgtlcxbn3lpplybwxul4xsg3ps64dlx73fga
ibft.i2p,ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
identiguy.i2p,3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
idk.i2p,b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
ilcosmista.i2p,6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
ilita.i2p,isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
inclib.i2p,ux6prousphswf56bym7yo7kst4ybh45y2z2wrnw7dujmrz56hq4q
in.i2p,r5vbv2akbp6txy5amkftia757klgdy44s6cglqhmstpg65xycyjq
infoserver.i2p,jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
inr.i2p,joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
instantexchange.i2p,5wiyndm44bysev22kxvczxt37p6o6qroiqykytrvn2yzi55aqfxq
invisible-internet.i2p,jnpykdpp46zenz4p64eb3opadl5g42dls3rurk2cvq6a3g3rvbvq
irc.acetone.i2p,qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
irc.coldhell.i2p,d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
irc.crustyirc.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
irc.echelon.i2p,ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
irc.ilita.i2p,5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
irc.kobomy.i2p,2j75o23f3hhpebthdiuzevjo3sphmok4jbr5yrtmwav64v2hzuqq
irc.kitsune.i2p,cpesprosbsuycn4ui3neidqdtqz5ufekthob7cobl3p7bcuaoh3q
irc.postman.i2p,hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
irc.r4sas.i2p,hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
irc.rpi.i2p,ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
irc.welterde.i2p,424n5ty6bryfsn3m3buckx4njs4vaw2qch7drfdq32btsyycbflq
isitup.i2p,xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
isotoxin.i2p,wue3ycaccf4texikza3fh6p5yrmtgnooisuypnepo5mo67lmpcqq
itphx.i2p,zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
ivorytower.i2p,fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
jakesthoughts.i2p,g7tjf655mw6wzykkux4ntkky75ovluexfz3wcpwu44mbibkcksfa
javadoc.skank.i2p,us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
javascript.i2p,idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
jikx.i2p,aazr55itvyns4lwppvx5njyx5tjdwemw4w6jbmpegdunznod2ieq
jwebcache.i2p,xdffxnxtjd6ji2zig3cgva7igvl2tiapyjoc7ylbzwqhxudbmvfa
jimkiebs.i2p,epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
k1773r.i2p,zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
kallist.i2p,rpoqwcozn4pdxz7bp2vxsl7vfibpbccsymfuxg3c7v7yj3um4bta
kelvinchan.i2p,6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma
keys.dlms.i2p,znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq
keys.echelon.i2p,mwfpkdmjur5ytq4og36ym3ychinv36b2a57f4rmgqmtrwepq3fva
kibykarni.i2p,xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a
kill-9.i2p,3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q
kislitsa.i2p,khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq
kkk.i2p,kukluxklanib666d73z5fyeyb6vnystmvvreaodhjf73rhl4wxva
knijka.i2p,knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa
kobomy.i2p,f2m5wb6iotejsdhimqunkggw2pbboozd6vcha3xi37zjsecya2ua
kuna.i2p,bwzbe3pn3g2oqce6grxocaqgw6p2oleiddsgrm7d3fms3cw44izq
kurator.i2p,sp3umnyofy5ytixbqcue4jrpxixccgnrxtiuvhg6juep5s5lrs6q
kycklingar.i2p,gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
latinum.i2p,n64izx6kyu3xv6yvc45mvpswlq4txbkc5y2okjwyoseb5lmzxoea
labor-union-ru.i2p,u3j76uo5awabsidre6epnm433snw5hwp3ezz33w3ca6bbgpblmzq
lainzine.i2p,5p7zrmxzxe2t5liuzfpswl7b3uublu2wrrwnkeqkzdxeidntw7yq
lbt.i2p,5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
leglasen.i2p,q6tqm2klaavlsfqjci2naul2nj57fbxvkwujmqdv53plhdxxi6mq
legwork.i2p,cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
libertor.i2p,7gajvk4dnnob6wlkoo2zcws7nor3gunvoi7ofalcps5lc76wruuq
lihai2333.i2p,maxh5bc5hom4g7udes2m4uy3lfocrqkmcy2m4mvkqca7ktoe43qq
li.i2p,jwzmbp5djo5t4mkbchhejq5mrx2yye7tkbwry22scihwy5s4hcba
libremarkets.i2p,3jknyeprdyirtzhc5ysh7qma4bgswazxgeylfxjtrx2xxtycq2lq
limak.i2p,jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
linuxfarm.i2p,br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
lists.i2p2.i2p,vmfwbic2brek2ez223j6fc6bl5mmouzqvbsch45msvyyzih3iqua
lm.i2p,yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q
lodikon.i2p,u3f67staiwhqxpacya3clmvurdwd2kp7qcthzhstqnhrmlwc2g4a
lolicatgirls.i2p,pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra
lockdown.bnet.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lockdown.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lolicat.i2p,2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
longseason.i2p,ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
losinka.i2p,r2z2tcs6eguevoxlkrmpkcanuwgnsit2o45svnwaer3wq4v76hrq
lucas.i2p,hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
lyoko.i2p,afuuortfaqejkesne272krqvmafn65mhls6nvcwv3t7l2ic2p4kq
lytor.i2p,ezjrtucwkkf3xgssjtq6tr27hz4zhbkobr4zjnl3x4jrwy7f7m6q
man.i2p,progskxxt44tlefm5uc4jqseanlhgbbkjyz4g3nvjjzbvhhp342q
mail.i2p,mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
mambo.i2p,sm3mumfqv3ak5x3gdl5uq3k2ofpuzajwov3j6ool4w4tnf4n2fzq
marenostrum.i2p,tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
masterdestroyer.i2p,yp2g7frk3ze5ljaxbmhmh6hhda3rmpwmpianozi6or2uzqzdur7q
mastodon.chudo.i2p,bba3rhijp3btiinfeixrk2jzz5rilnxxrxvjjx5os23ro4n6g4cq
mattermost.i2p,x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
max.headroom.i2p,qf4gfhjxrzkmjlcz24zy2itm6iohe3bbcij6trg62hdngeodcuna
mayvaneday.i2p,zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
mdleom.i2p,ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa
meeh.i2p,4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
metalist.i2p,wkx64uy4wzstqe3sx47xrm23h5y7g65tjithcfwtb54ykmjlus3a
metrics.i2p,z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
mhatta.i2p,o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
miyoisomix.i2p,rtv5ufhxasszywdh3oelqrc4yg4kirtirglub4h3mwovwig624eq
mirrormy.i2p,tbxczhirmyaueix5ptaaduamyes2rxh3tv4ie52u2a25jj2x2hsa
mk16de.bandura.i2p,rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
monerod.i2p,fjvlhyxejnssd5yjxqvom6nooqjdrhd43umxnzw33h2nqzhza5qa
moneroauth.i2p,kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
monerujo.i2p,puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
mosbot.i2p,5bhmrp43mjwlzf4x64xgdrkwmw4luvng6eq5waa663a7vnkp732a
mosfet.i2p,s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
mtn.i2p-projekt.i2p,f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
mtn.i2p2.i2p,l6kuhtmgvbp57d7jwalj5nksi6nr4gfzbz4oit62lxgipb3llt5a
mtproxy.ilita.i2p,vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
mucats.i2p,4vjquedemoznbsva4j6wnr7hyms5k3gwucmxgcnwcwweontbcrha
mumble.acetone.i2p,plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
mumble.chudo.i2p,2xoqoq5pdwqabm2xhkftcqovgx7h56w26jmyoqlqh5zlntq7njda
muwire.i2p,c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
nekochan.i2p,dszr2z2swmeczeao2bqgop6fyh34jw5baeiybsavwtihllwa5qwq
nebula.hutor.i2p,575g5k3loi72jyq6fni6w3cdp2uoj2g63qowqjbnylbpc6evxpfa
nekit.i2p,axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
neodome.i2p,5hkhjehj3ct2pvcah7dcylwef2oti3xij5myxbv3pd7rocio5vkq
neoniet.i2p,jf32pdnofckjvedni77vjt26m6opzzz6ocpkpxof4fptzym56raq
netbsd.i2p,jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
netcontent.i2p,lc7ppfwcq7dm65s57l4uxiez5dqty3bxmdnkwhvl7fv4u2mngcsa
nethack.idk.i2p,zcojbufszefu5bfht5cem3zlhfvv5y3jzpzbaccu3ehje4d7pb2a
news-i2pn.i2p,wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
news.neodome.i2p,trhwcnygfkeqjj6g4xhmrdp4gsjqsye47lsxshbmwbten4ywt5oq
nitter.i2p,axd6uavsstsrvstva4mzlzh4ct76rc6zdug3nxdgeitrzczhzf4q
nexus.i2p,6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
nicksphere.i2p,nickg4tsj3wy3i23faxp5momjcnlwrvwl5ek5l7lkm5vrbblvgbq
nightcore.i2p,qg5l3mr6rmu6slzmopojkvl6umtthsygexmxntv2vt4rmx3kwpwa
nitter.swurl.i2p,ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
normal.i2p,j5fex634r2altzb3kjvu35qekt2r3hgsqzg5qxoy7dp53heu5pma
notbob.i2p,nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
novabbs.i2p,bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
nsa.i2p,nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
nvspc.i2p,anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
nyaaori.i2p,vrth2eefdaica6bliuhmwetasgwdnmyhci5f3zbzq2hmcldepq3q
obmen.i2p,vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
ol.i2p,bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
onelon.i2p,irkvgdnlc6tidoqomre4qr7q4w4qcjfyvbovatgyolk6d4uvcyha
omitracker.i2p,a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
openbsd.i2p,ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
opentracker.dg2.i2p,w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
opentracker.skank.i2p,by7luzwhx733fhc5ug2o75dcaunblq2ztlshzd7qvptaoa73nqua
otkatanet.i2p,psieyl75agjgbztz4jvqctiglbljoz2hvtqdu4fc73e2rez3s4dq
outproxy-tor.an0n.i2p,hpa7ojiz6wdjowwpaegzuczmufnaydggk5qw7vj6utakggkcd2kq
outproxy-tor.meeh.i2p,77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq
outproxy.bandura.i2p,smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q
outproxy.purokishi.i2p,nieasaidj7wy5nammqf4f7zzcdafi4apygwn5qwscpn4pq34hqia
p4bl0.i2p,lkgdfm4w6e2kkjhcdzr4ahhz26s3aunhrn6t2or436o73qh4z7ga
packages.i2p,2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
password.i2p,knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
paste.idk.i2p,qvgktychvlbmqwnoqgz2siuna7f5w764wgkbqcwogipfjzf3ksva
paste.r4sas.i2p,csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
pay.privex.i2p,cz25423yahhbd2wavtwupsbcbdg6wkn5vvh3466hbmmrzlu4wxyq
pehotin.i2p,e6tfct7qvso7qrseseubsk5hxn3wejkdivojqeed6i7hbj4dsmqa
pharos.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
pharoz.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
pi.linuxfarm.i2p,qtv647munv2c6bhdliy2ru754ltjucuyk766eqqfmervbi4z75yq
pizdabol.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
planet.i2p,pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
pleroma.pluralitynet.i2p,22wwp4s4n4sre45cj72zrfcdqcelpga65yrt6jlgahehxtbg2vzq
pluralitynet.i2p,yphtn6ponyelopqiccm3nfznoc34byroack4z33lvi54gyfeuawq
podger.i2p,56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
polistern.i2p,ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
pomoyka.i2p,omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
pool.gostcoin.i2p,m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
pop.postman.i2p,i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
portal.webhosting.i2p,bflwwtclsmmrimszczoafdrdzw6m7bszkggv4qs5e4aymghoxsja
pravtor.i2p,2sr27o5x2v2pyqro7wl5nl6krrsbizwrzsky5y7pkohwh24gn6xq
privacy-handbuch.i2p,3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
privatebin.i2p,e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
privetalena.i2p,alenabivbkqo2xoikterpsc3gquqzacxfef6usbifrez5ioegjjq
privex.i2p,omgulpderyhggjbaksgcccvjk76yvbp5rsnm4uos2mqfe5iv765q
project-future.i2p,ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta
projectmayhem2012-086.i2p,ehkjj4ptsagxlo27wpv4a5dk4zxqf4kg4p6fh35xrlz4y6mhe4eq
proof-of-loss.i2p,ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
prophetgram.i2p,cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
psv.i2p,pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
psy.i2p,s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
psyco.i2p,eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
pt.i2p,umbkgg3nhvgunyiwo2odfo3ufbdijb2ofg5eha6nyd4ymp4yitna
ptt.i2p,q7r32j7lc3xgrcw2ym33wv4lfgqbez7vtm4lts7n34qfe3iygeha
pubsub.i2p,kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa
pull.git.repo.i2p,3so7htzxzz6h46qvjm3fbd735zl3lrblerlj2xxybhobublcv67q
purokishi.i2p,ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca
purplechan.i2p,tyiwxpgs7syjvz3cha3uckaxgondtiktlsvriebyy4qmzgbaj3gq
push.git.repo.i2p,jef4g5vxnqybm4zpouum3lzbl6ti6456q57nbyj5kfyldkempm3a
pvsur.i2p,pvsurxi2hz2n45kfrj5b3ny6ko4ipj2u2piftjen44npkpnbwh6q
pwcq.i2p,hcwrhp454aj2jen6clgkw5odw7pvtixhf5dnqsx5ax4vkbxybk7q
qorg11.i2p,ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q
qtmhkr.i2p,2jj2ikxixz372qzxcdmgkwpzu6kek3mjsvwtzctdkapacfg2epzq
quest.idk.i2p,k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa
r4sas.i2p,2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq
raccoondad.i2p,utoagugf3imr6mpjsithhnpvvvyehsnebisovn6kqn4vma6va3ca
radio.arav.i2p,plkybcgxt4cdanot75cy3pbnqlbqcsrib2fmrpsnug4bqphqvfda
radio.idk.i2p,gqla6svl56uazumw2a56rzmvfmcr6fb57bm5kpbb6oibqi6o66gq
radio.r4sas.i2p,cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
radioliberty.i2p,libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
ramble.i2p,smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
rambler.i2p,czptodzrdjjzff6jukipd2xv3pdjfg3gv53m6bsaoaab5fyr7zmq
ransack.i2p,mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
rany.i2p,tcnai23pvo6asfmefl23cllpp3vgrgp2jhtjare7vhloyzwm2pma
realsite.i2p,ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
rebel.i2p,nch2arl45crkyk6bklyk2hrdwjf5nztyxdtoshy6llhwqgxho5jq
redzara.i2p,ty7bt62rw5ryvk44dd3v5sua6c7wnbpxxqb6v4dohajmwmezi7va
reg.i2p,shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
reg.rus.i2p,k2r2wda4eavt4hoq5hptprqfmixusirq3gi5bl3z2pqzcd6felwa
reichsmarket.i2p,2uj4xomizi75swws7q5icmnavekb2w2ws2wlcqtyltde7pgymraq
repo.i2p,uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
repo.r4sas.i2p,ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
retrobbs-nntp.i2p,fkyzl24oxcxvjzkx74t3533x7qjketzmvzk6bwn3d6hj5t7hlw6q
retrobbs.i2p,mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
retrobbs2.i2p,ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
rfocke.i2p,pphesm2icsbqi7uzsmxpgyy4kc22b3cdpb4uwplkkjmupexva7dq
ricycal.i2p,tfkz7rgqh6rwvlo2veftw4why2dej3gztiglzfqfvykyzak2syxa
retrosharenodezero.i2p,2new3x3t6kudc4i7mfvs7k3kltefhqjcj3lq5cowt66wy2dp6kca
rideronthestorm.i2p,xrdc2qc7quhumhglpbcuiqxr42nuffv4xj4a73jbr4ygepitibqq
rpi.i2p,56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
rslight.i2p,bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
rss.i2p,j7qbshtyaxwiuzkshduwqqq35ctb4cnfjvd2pnbjn3ugmblemsza
rsync.anonroms.i2p,4q6llvjjpgncu6wbol2rqq24ksrtscu5njj65jjovqlsxounxbdq
ru.i2p,m7fqktjgtmsb3x7bvfrdx4tf7htnhytnz5qi2ujjcnph33u3hnja
rufurus.i2p,7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
rus.azathabar.i2p,6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
rus.i2p,gh6655arkncnbrzq5tmq4xpn36734d4tdza6flbw5xppye2dt6ga
rvklein.i2p,pzbqr2s25zpgbwiz22nc7hzxlusqxwhpxrsmln63y6fd45whnjcq
sdmr.i2p,o2vtbbcddamtqqomtf7wbkzzkh2xovt23lc6np7qtxbuv6vtul6q
searx.heckyel.i2p,bbttsspdeozbfvmjm3ewnbwpot2fkhhk63w54ytptbyokazkydea
rutor.i2p,rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
scamdemia.i2p,fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
searx.swurl.i2p,ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
secretchat.i2p,cl3j2zxhpw6u6jevny45i557ojhwfxn4g375nnuqhy6lp27mry2q
secretvitebskchat.i2p,6tc7fmbokb3hzajcgpxypxt2excj6tozgrjjofvjcak433dim47q
secure.thetinhat.i2p,4q3qyzgz3ub5npbmt3vqqege5lg4zy62rhbgage4lpvnujwfpala
serien.i2p,3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
sftp.anonroms.i2p,uozfd7ttkhjsofmgs7lfcy4pgngs4yp7kvnbhnppebjumgbjhjla
sftp.i2p,sftp22f3a5xwe6mz4q7ybvcn4ptrnwidcgzjmd2jz6ocfxsjxnoq
share-les-miquelots.i2p,uxwha4jswnt6jrznj7yhfwldfilvyasnjruimmbylbvq5qykpbpq
sharefile.i2p,o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
shoieq3.i2p,3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
skank.i2p,qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
smtp.postman.i2p,3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
solr.chudo.i2p,utl2ds5vztfomjgerohvxrgaq3g6zrspyku4s35knfmu4rihhgxq
speed-test.i2p,7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
spirech.i2p,labhopl3kd3eo7cj7kqa6nkwpczc2qj52i37jky77ugqazy7dmna
spoika.i2p,u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
sportloto.i2p,sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
spyware.i2p,36j7itgqmnbinh3ortujakkvqdrbhlqu4b2qcwb46mue3dpzxqfq
ssh.b0nk.i2p,fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a
stats.i2p,kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq
status.str4d.i2p,ycyyjo3psqbo45nuz243xvgvwnmzlanzqbzxv3kh6gyjztv7425q
sto-man.i2p,rg4eilfpe24ws6nctix63qw2dlvd2tqgwdcgdxzji6l5bc4dc7aa
str4d.i2p,wrrwzdgsppwl2g2bdohhajz3dh45ui6u3y7yuop5ivvfzxtwnipa
streams.darkrealm.i2p,ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq
strec.i2p,xez3hkntwaae6iyos3poz4v3elhpmr2abkhsogulugdpu3wwdzcq
svong.i2p,wlamzgxjc4k67fn2c2pdems2dzfq3hkdbbt3n7ela7p2wp3pew6a
swurl.i2p,5inc2k3h4zjh4cfbvtynce6uvaix24orakxzwm2ftoh7o7p6tqta
syndie-project.i2p,xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
syndie.echelon.i2p,vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
t-ru.i2p,bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
tabak.i2p,y5o2vwb6kart7ivpnbpk4yte3i7kf2dsx7fy3i6w7htqtxhmbzia
tahoeserve.i2p,yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
teddit.i2p,k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
telegram.i2p,i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
testmk16de.bandura.i2p,gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
textboard.i2p,7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
texterochtankar.i2p,woqimbz4v2synkwyif65izfz2t4gbfbqjrai2ic5ok5qhnvmfszq
theyosh.i2p,5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
thinking-wiki.i2p,feuemwevbvwpnyefpkpet2ign7wvnjww6dhhzis6tobkfh7ybxsq
thornworld.i2p,vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
tmp.heckyel.i2p,v67szhqv7r2hm65lk7s2r4aqchswtfanove2p3ca746dg7nqwvoa
tome.i2p,qktkxwawgixrm5lzofnj5n24zspbnzxy4pvjm7uvaxvmgwrsuvgq
ti2.i2p,6r77rkt53xcjdpaaihttqjmzigvapmdczkekpogf5epdtcvrhgca
tmpsend.i2p,r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
tomasgl.i2p,tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
tor-gw.meeh.i2p,ounrqi7cfemnt66yhnhigt2u27fkctbvct527cp2522ozy3btjza
torrents.chudo.i2p,5ooemze55xiicrlvzjmz3il23dpo4fz5iqr7hmzrygdepan5m3lq
tosios.idk.i2p,4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a
trac.i2p2.i2p,i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
tracker.chudo.i2p,swhb5i7wcjcohmus3gbt3w6du6pmvl3isdvxvepuhdxxkfbzao6q
tracker.lodikon.i2p,q2a7tqlyddbyhxhtuia4bmtqpohpp266wsnrkm6cgoahdqrjo3ra
tracker.sartorius.i2p,a5ijwlahghzstkkb2dr6kxnhlaasoot4gjkl2sx5f7ecudhjdf3a
tracker2.lodikon.i2p,q2a7tqlyddbyhxhtuia4bmtqpohpp266wsnrkm6cgoahdqrjo3ra
tracker2.postman.i2p,6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
traditio.i2p,wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
translate.idk.i2p,g2l2zr4moqsk2bec346i5tfd2o22cozm5b2k4ifdhbcayazoz2ea
triplechan.i2p,blrplscno3ecqb5ihhg73kufmypydjlv4r4gqiajftup5wmcdwna
trypanom.i2p,tgv5acj4khwvr6t44cmryohybd2e5o2kndysnzae6qwcr4hzda3q
tumbach.i2p,u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
tube.i2p,vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
tutorials.i2p,zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
tv.i2p,znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q
uk.i2p,vydbychnep3mzkzhg43ptewp242issy47whamfbxodc4ma6wc63a
unodice.i2p,fukkqcornjsfn2ggd2h4cgeitu4dbin7hymp5xf6zypwzif2pcoq
w.i2p,j2xorlcb3qxubnthzqu7lt4fvxqn63it4ikwmze55yjkzeeampuq
wallet.gostcoin.i2p,reuvum7lgetglafn72chypesvto773oy53zumagrpigkckybrwda
vanity-eth.i2p,6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
volatile.i2p,q6rve733tvhgyys57jfw4fymqf3xsnza6dqailcdjcq7w4fa5m3a
vxempire.i2p,6z3jnz6mfbdibtebxkhkm45hos6yue5x3yvwljjwy3jtbv6in46q
walker.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
warez.i2p,warezzqqhsqr6z2isn437osml6liwx3f4oqcp44dhres3jpld2hq
web.telegram.i2p,re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a
webcam.i2p,fhrkpj4iscrg6etgdlteseoed37q2ph7cizclgpabgcbnaq6g24a
webhosting.i2p,hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq
webirc.coldhell.i2p,k2d6bius63w3g35j32dn66fssqwbnyvegx6w6pl5mdeojpp4rjba
whois.i2p,whoiswuguobs2rtsmpbao7bvfuxagmlckylh5ig6lxymiixtbfkq
wiki.i2p-projekt.i2p,b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa
wiki.ilita.i2p,r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a
wlm.i2p,nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
wopen.i2p,xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
www.i2p2.i2p,rjxwbsw4zjhv4zsplma6jmf5nr24e4ymvvbycd3swgiinbvg7oga
www.imule.i2p,657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq
www.infoserver.i2p,fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
xeha.i2p,oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
xinku.i2p,xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
xmpp.chudo.i2p,gppd6rx5jkutmt637odkbxh4tjqxy63i4amyhllqn424yt7pd2hq
xmpp.rpi.i2p,3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
xmrnode.i2p,moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
xn--hallchen-q4a.i2p,h5c4idxoweambtqajx3ecpu4iw425mfzckb4rrcvftrr7d2utfgq
xn--n3h.i2p,6a5bfeil667ksrdgg5hx5x2dse2v6ovnsng3r2k5gp5tb4z67egq
xotc.i2p,gqgvzum3xdgtaahkjfw3layb33vjrucmw5btyhrppm463cz3c5oq
yacy.idk.i2p,7ccyylqqxnyexz2acn3nqjdlwqmd5pororbovrarar2dkw3ddrbq
yat.i2p,zxg4p6obolmrnkygoodqbdnikzychk5sild3o753hmaljuosl2fq
yggdrasil.acetone.i2p,tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
yggdrasil.i2p,7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
yggnet.i2p,deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
yiffme.i2p,sm6dk2ovxhgdjuu3rmqussc4e2xkfz6rmhng6i2t7parcb4v4y3a
yoitsu.i2p,yaaqmj55lsi5c5nukf4hsrift2zslnqkbcghwvjlaqayidtyctwa
ytlibre.heckyel.i2p,lfrh5ionyyqcqktuhtcnt3tshmvfwh2j5dldntiahxt7xe7xnojq
yourdomain.i2p,witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
yt2mp3.i2p,7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
zab.i2p,n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
zerobin.i2p,3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
zeronet.i2p,fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
zog.i2p,7su4pwd7xicqu44rd36g2a3zjlsv2k6otommnh7ztjpyixyozq2a
zetareticuli.i2p,odleh3zcsmyhck4rgrxmjsfo4o33cthxyy3kkgz5vdrqlzdspxma
znc.str4d.i2p,ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
zx.i2p,4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
zzz.i2p,lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
1 0gitnick.i2p 0xff.i2p xpw6ynhbxxuqsr6spcnfiyvuhvimm3jg7uti2oqv3jlh76j532oa apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
2 0pl.i2p 0xpaste.i2p gd7qe2pu2jwqabz4zcf3wwablrzym7p6qswczoapkm5oa5ouuaua oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
3 102chan.i2p 102chan-memorial.i2p xxu3lso4h2rh6wmrxiou3ax7r7la7x6dhoepnku3jvrlwp35pefq t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q
2ch.i2p suzp44odgixf5lthy5ngy6ktabus5gz47squie2shudi6kmlwuaq
2channel.i2p wirxk4kulmd7v6qmttltnu5nx2vtchzvrg7ewocejrvdjcaiv5sq
4 333.i2p 333.i2p ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
5 600chan.i2p CrustyIRC.i2p ncogytpxyaqnu5au4yc6oeiiaidhjcxfsr6cyebcsfki2p3ih7ea 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
7i3.i2p y4gh4ocvlsxnyjgqbdlqb6eeff4a4e62wbzuewd3ralagyopzb4q
aaa.i2p zzhy7rumzzgxzodvgu4xz324nekbbccphegweukj4cm6nrbpg4oa
abdlandrubbernetwork.i2p asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
6 acetone.i2p acetone.i2p tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
7 afk.i2p chrbzqjzaxvtdonbv3mahn3mr5sstzrv3vd7cupfovp4wmkkko4q
8 agentoocat.i2p voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
9 agoradesk.i2p agoradesk.i2p ztqnvu7c35jyoqmfjyymqggjpyky6z3tlgewk2qgbgcmcyl4ecta ztqnvu7c35jyoqmfjyymqggjpyky6z3tlgewk2qgbgcmcyl4ecta
10 albatcats.i2p algorithm.i2p ilgg7nbtofvgzrpl6kenxugfdsgi3apu6sgilmqi5rhpolnauyga algout6clo74ywqtjyemehnf4bzhegpju5yvi6zdcfszso7iirka
11 alphabay.i2p tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
12 animal.i2p animal.i2p 5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla 5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
13 anongw.i2p anongw.i2p owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
anonroms.i2p w2sgx2i5n4uxtqjgekckxnhhpymigpn5lmgdaujyzib6sxq7j4cq
14 anonyradio.i2p anonyradio.i2p cbobsax3rhoyjbk7ii2nd2fnl5bxh3x7bbearokyxgvmudn7o5bq cbobsax3rhoyjbk7ii2nd2fnl5bxh3x7bbearokyxgvmudn7o5bq
15 apophis.i2p aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
16 apt.idk.i2p apt.idk.i2p s7qemnncvmy5zs3khd6qzlcnsvtu6drnkeae4r3yyc7akuzuqiia s7qemnncvmy5zs3khd6qzlcnsvtu6drnkeae4r3yyc7akuzuqiia
17 arav.i2p t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
18 archaicbinarybbs.i2p archaicbinarybbs.i2p t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
19 archiv.tutorials.i2p archiv.tutorials.i2p lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
20 archlinux.i2p archlinux.i2p 5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa 5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
21 ardor-wallet.i2p atetsu.i2p tm23k5ny3umhf6vf3kghnnwacli5zywq5wrr3xcqowbcofuyr4gq pcr6k5krxwcvmessygjmfsbxgnyju6ipq5236ki55n2i5u4uylpq
22 arf.i2p azathabar.i2p o46lsq4u7udxg3qqlidrmpj4lb4nr7ldxmbb2x53nftndaeyxqeq v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
23 b0nk.i2p hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
24 bandura-yacy.i2p bandura-yacy.i2p e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
25 bandura.i2p bandura.i2p n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
26 banka.i2p vuo5wavhhstnv5gehgmvhjy2jhpm3mdlcvtovfqunfzv5ngug5cq
27 bbs.i2p bbs.i2p 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
ben.i2p kaqe5l6s2hojtgaaoinn4ucktnc4ixvneldy32ft7zdokncc73sa
28 bible4u.i2p bible4u.i2p xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
29 bitlox.i2p blackexchange.i2p lqw5khxcdntlv3u4vhn53upcqirplvnc4etjlmoytrzs66ytettq ztgr5kghkyn43fhhkuycroxgfti6cojo3vg4wdd3usqonyvrla5q
black.i2p sjwueu62qpe6dtv5b322k3f23fl4uz3w6qe6wcrwauiwpnymypfq
30 blog.tinlans.i2p blog.tinlans.i2p ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
31 boerse.i2p boerse.i2p 7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq 7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
32 bofh.i2p bofh.i2p auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
33 bonobonet.acetone.i2p bonobonet.acetone.i2p keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
34 boran.i2p boran.i2p boranyzcefxqw2ktndemy3npt4zhetpp6edldtlym2ap7n5azt5a boranyzcefxqw2ktndemy3npt4zhetpp6edldtlym2ap7n5azt5a
35 boxs.i2p bote.i2p owm3fy2t5vwbxowk5gsshihkwjfknqq7y4ylbeyhvzta7r3ybrpq bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
36 braindead.i2p braindead.i2p braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
37 burntout.i2p bugfuzz.i2p lkep3fd7tjvxrs25crr2c3jy7xm4s7bqiua5r327zgpw37sgyerq ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
38 bunkerirc.i2p mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
39 bytepay.i2p 7amc4ztwkzu3cgsaaaw3223ohuihn5hlsqc6gpf2rxdyptdkyugq
40 ca.i2pd.i2p ca.i2pd.i2p u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
41 cathugger.i2p cake.i2p vq43xjjcnejqpzfprws5qzrea2siieshu4tglpdepql2w3w3bpba hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
42 cbs.i2p cbs.i2p u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
43 ccp.i2p gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
44 cheapeth.i2p x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
45 chive.i2p tvsopmxs2enrjlefhuq4zthr6lkyfg7vwwosddcwt62qoncstpgq
46 chudo.i2p chudo.i2p iaublzhzc4ssa3rcrjbdigautm66mslt6g2sninugagiarl4at3q iaublzhzc4ssa3rcrjbdigautm66mslt6g2sninugagiarl4at3q
47 ci.idk.i2p ci.idk.i2p antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
48 cipherlist.i2p gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
49 cloaca.i2p pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
50 closedshop.i2p closedshop.i2p 6fg67mbw2okopzyonsck4bsy3cy7l2fame56uiysr2cezhjhzdbq 6fg67mbw2okopzyonsck4bsy3cy7l2fame56uiysr2cezhjhzdbq
51 cobalt.idk.i2p cobalt.idk.i2p m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
52 coffeejazz.i2p mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
53 cofob.i2p srac56l4oue35pbnibzk27eztkkk7pljbqoyshnwnmdct2t6avbq
54 coldhell.i2p coldhell.i2p z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
55 community.i2p community.i2p 64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa 64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
56 contact.i2p rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
57 costeira.i2p costeira.i2p abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
crypto.i2p vffax5jzewwv6pfim55hvhqyynafkygdalvzoqd74lkib3hla3ta
58 cs.i2p cs.i2p kzaeunogz6s75ptgy6ifjzwwy75xdfenenswvrczd7mewxgrad5a kzaeunogz6s75ptgy6ifjzwwy75xdfenenswvrczd7mewxgrad5a
d73.i2p uf6madmg2fv7uo25cjnvzpimd6iflsrozyemuypleyz46mxbyreq
darklibrary.i2p ynv2cgboxkpcyap6hqnbycgj4khyxppxuqjbidkdfhjifkzwdhfa
darknetnow.i2p gkx3o5fy7mv7l4psqqnhp35d5iun7rt3soci6ylf3rgb7a5a655q
darknut.i2p 2mk37gtvpk2i63o6vl7vna4dr46rqexxetupgn5efuuins7x3qya
59 darkrealm.i2p darkrealm.i2p gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
60 dashninja.i2p dashninja.i2p dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
61 dcherukhin.i2p dcherukhin.i2p qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
62 dead.i2p deavmi.i2p 7ko27dxvicr2sezvykkrfiktlghx5y5onup3f2bas5ipocy6ibvq fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
deavmi.i2p t4cvvenniup6dcdlu2ehdycos5r3luccfemwd6hhvyqv5zd6obgq
63 deepwebradio.i2p deepwebradio.i2p 2nait2gdeozkgf6gyhzjfij6mwldwkxxwcvtxobb4b5q5cvtm5la 2nait2gdeozkgf6gyhzjfij6mwldwkxxwcvtxobb4b5q5cvtm5la
def2.i2p cepsrw27kdegwo7ihzouwvgcvw2obswwjs23ollgj7hk2yrce3da
def3.i2p xbf3ots2purqun7orn72ypkpjmrzbfrkj3u654zfe77hbrbow6la
def4.i2p yyzdq4fwwmnlojp23drfpfqujln2vcjozjrfzfeuriuqzdq7g4mq
64 det.i2p det.i2p y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
65 diasporg.i2p diasporg.i2p edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
66 diffyq.i2p diffyq.i2p hkjvyuc3asswxa7uxyalrnpqab4lyvzriu2rsq6jbjc2kaoabghq hkjvyuc3asswxa7uxyalrnpqab4lyvzriu2rsq6jbjc2kaoabghq
67 digcitlab.i2p discuss.i2p gijabxlt4ox2mblh2nfxnds6u4mlsdeoonizknbdksl7klmbpvoq wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
68 diva.i2p diva.i2p auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
69 dlms.i2p dlms.i2p krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq
70 dns.acetone.i2p dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
71 dns.chudo.i2p dns.chudo.i2p zzfmtnnmacop3xvpznc4c2jfvk226wpep2gaoanja3gfzf3ih7xq zzfmtnnmacop3xvpznc4c2jfvk226wpep2gaoanja3gfzf3ih7xq
dosje.i2p ir2ky5ejx4f646l4fsnug22gj4frn6jzlg7fgboudf2n5b4gdj3q
72 dreadpiratessociety.i2p dreadpiratessociety.i2p fbdd4syj2v52x5zord67av2xclmjsg6bc6xdvrqmvqkyd3whij6q fbdd4syj2v52x5zord67av2xclmjsg6bc6xdvrqmvqkyd3whij6q
73 dropbox.i2p drommedaris.i2p omax2s5n4mzvymidpuxp2yqknf23asvu54uon6cxl6gdrlblnuiq 2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
74 dumpteam.i2p dumpteam.i2p 2fwlpuouwxlk2nj4xklvm43m52tqyhqnu2fcfiuv7clvf3wd5nwa 2fwlpuouwxlk2nj4xklvm43m52tqyhqnu2fcfiuv7clvf3wd5nwa
75 e8.i2p e-reading.i2p 5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
76 easygpg2.i2p easygpg2.i2p bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
77 ebooks.i2p ebooks.i2p bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
78 ebuild.agentoocat.i2p lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
79 echo.idk.i2p echo.idk.i2p 63sgpiu6f33arldcxkbjsn3jgf6asyx3onjmz6j6gsk7hgbiehkq 63sgpiu6f33arldcxkbjsn3jgf6asyx3onjmz6j6gsk7hgbiehkq
80 eddysblog.i2p eddysblog.i2p ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
81 epub-eepsite.i2p ei2.i2p yxvzjwd4vin6pnjauekdufh7lxaijal3kqe2bhakuf47g5zkb6xa y4hhbqzpjdcsgvz5dsgaytttxygos6h2qt66wbbiuvcpcekdmmoq
82 exch.i2p eight.i2p vsyjsbbf2pyggtilpqwqnhgcc7mymjxblamarmxe5hmbxaxvcndq gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
83 fa.i2p elgoog.i2p 6n6p3aj6xqhevfojj36dixwbl4reopkhymxmatz7ai5sroh75rka z6hrgkg2ajmuzlrddjlffrgctx7x7fkipm6c4hdzmohyn5wkr4ya
84 envoicesalt.i2p nsamcq2zidlioxlfuinqzboblpvrnhkbdwavgsvzmt3n3mhuho4a
85 equwal.i2p j7zqkvkokxmpkbqrgrkkjym4j7kzuipko4qdujdjbxnrp3qj6ooa
86 explorer.gostcoin.i2p ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
87 false.i2p false.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
88 fantasy-worlds.i2p fantasy-worlds.i2p 62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq 62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
89 fiat.i2p ldnhzi7emxnibjz6g55k2nyywzmcufnst2jy67e75o6dlvtx7wia
90 fido.r4sas.i2p fido.r4sas.i2p i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
91 flapflap.i2p files.arav.i2p y53ceza7iji2vq3oa7om64whzakt6nnzksaqhmkqiisk5tvqk56q gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
92 fishsticks.i2p btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
93 flibs.i2p flibs.i2p ocdm33e3h5tdml3yyholj4objdwsrhlugfqjnqgdkslmgdzb6b3a ocdm33e3h5tdml3yyholj4objdwsrhlugfqjnqgdkslmgdzb6b3a
94 forum.idk.i2p flibusta.i2p bg7kaiqjcqqeuuwb5nyo3ptcp5dgza7mihtizwqtnz2itombg6da zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
95 forbiddenhistory.i2p nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
96 forum.rus.i2p forum.rus.i2p zd37rfivydhkiyvau27qxwzmerlzbqtthsa5ohtcww62zrygjaga zd37rfivydhkiyvau27qxwzmerlzbqtthsa5ohtcww62zrygjaga
97 freefallheavens.i2p freefallheavens.i2p 7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka 7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
98 freenet-inproxy.bandura.i2p freegram.i2p rblg2sajac7winv4mgvnkfh2fa3nt2zxfvxfiybj76okpwdrt45a euatsdg24n3j52gd6ptc6gd7hhynl2edpshqyzbehmimpvubt4wa
99 freifunkmobi.bandura.i2p freifunkmobi.bandura.i2p 5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea 5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
fresh.i2p jii6utg6ubwxgls6jegu24ifrroo4qzbcizjfft2bemodp4k2i6a
100 fs.i2p fs.i2p ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
fsoc.i2p vaqc4jm2trq7lx2kkglve7rkzxhhaptcwwl32uicx4ehf5k3hx6q
fuka.i2p e3aanmaobvwopjrmrnuqvrkr36gyubrv6f2lyygh5brku3ufwrsa
101 fxruby.i2p fxruby.i2p lqhdnr2pvp2igu5e2cxichboqzcgypvrbooynzgkmoze3xae6qkq lqhdnr2pvp2igu5e2cxichboqzcgypvrbooynzgkmoze3xae6qkq
garden.i2p qkk2dqx6nocycgt3vinsoc76cxkb4jreybcpgz3fcps2dbe4rowq
102 gedanken.i2p gedanken.i2p kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
103 geekcode.i2p hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
104 ginnegappen.i2p ginnegappen.i2p kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
105 git-srv.b0nk.i2p 6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua
106 git.arav.i2p p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
107 git.b0nk.i2p 7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
108 git.community.i2p giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
109 git.i2p giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
110 git.idk.i2p git.idk.i2p 7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a 7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
111 git.qorg11.i2p jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
112 git.repo.i2p vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
113 gitlag.i2p triv6mxusoo37mzdu2grf6mguxpytkw5usl7wllrkbd6v4fn2y6a
114 gitssh.idk.i2p gitssh.idk.i2p g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
115 gopher.anonroms.i2p glue.idk.i2p wqfhyrnpknap3ushsck3ih3r7inz6uoqlr3u3ktwvejur3bejqha ykbx7chmkivx3idmxd3lu2jc5w4wtlps4r3md57wszhk5w7jykyq
116 gostcoin.i2p gostcoin.i2p 4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq 4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
117 gusion.i2p gusion.i2p 4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta 4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
118 h0p3.i2p h0p3.i2p k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
119 h13.i2p tozb4vssixoccyqtgnpaatkg2ql52kkjwnsdo3dltezges2na4bq
120 hagen.i2p hagen.i2p e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
121 headroom.i2p uyquth4yeh3zc4alarynrd7r3ieyz2yz4dw6toc44plybjbxjaia
122 heaven.i2p heaven.i2p y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
123 heckyel.i2p hex.i2p lars7whelqo6fp2jzkzrx7aziq7dwiygkixgjarjjc6n3gnlslra sw7m3pxa4d3niun7tz4keq2kwpffhpu6b4zcdeupjem2y2tmycqa
heligoland.i2p gzrjm62ektpqjfsem3r3kwvg6zpjvvhvpjvwfxkm2ay4zu7sp6oq
hgit.i2p ny4ev7me2y2ibfi37mykakwvf2jhnl7lfql4etaiykjiwtd735pa
124 hiddenbooru.i2p hiddenbooru.i2p zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
125 hiddenchan.i2p hiddenchan.i2p 6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa 6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
126 hisdarkmaterials.i2p hisdarkmaterials.i2p qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
127 homosexualchan.i2p hive.i2p suzp44odgixf5lthy5ngy6ktabus5gz47squie2shudi6kmlwuaq 2koqsqujgndkz3ozgrvx4txezvxpnm65orrr3c5itszy3vd46eea
128 horo.i2p horo.i2p vrxh2vbqsfvh2utnt3ighimu4vrgla2mfpwksipkjsguv5vewhdq vrxh2vbqsfvh2utnt3ighimu4vrgla2mfpwksipkjsguv5vewhdq
129 hotline.i2p hotline.i2p 6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq 6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
130 hp-net.bandura.i2p hp-net.bandura.i2p z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
131 hq.postman.i2p hq.postman.i2p 7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra 7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
132 http-false.telegram.i2p http-false.telegram.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
133 i2p-epub-eepsite.i2p hungryewok.i2p yxvzjwd4vin6pnjauekdufh7lxaijal3kqe2bhakuf47g5zkb6xa to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
134 hutor.i2p vouttzj22msx7lcpgybfhbqoignrawsgo2sg7g7ml5kyuugbbkza
135 i2p-mirror.bandura.i2p i2p-mirror.bandura.i2p aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q
136 i2p-projekt.i2p i2p-projekt.i2p udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna
137 i2pd.i2p i2pd.i2p 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa
138 i2pdocs.str4d.i2p yfvbtrhjac3jutdsqzugog6mbz3jtyhpwovrt2mqc5mzv534y7cq
139 i2peek-a-boo.i2p i2peek-a-boo.i2p qgv64klyy4tgk4ranaznet5sjgi7ccsrawtjx3j5tvekvvfl67aa qgv64klyy4tgk4ranaznet5sjgi7ccsrawtjx3j5tvekvvfl67aa
140 i2pforum.i2p i2pforum.i2p tmipbl5d7ctnz3cib4yd2yivlrssrtpmuuzyqdpqkelzmnqllhda tmipbl5d7ctnz3cib4yd2yivlrssrtpmuuzyqdpqkelzmnqllhda
141 i2pjump.i2p i2pjump.i2p 2mwcgdjvfvd3xwumzqzqntual3l57h3zo7lwdmkjboeraudpkyka 2mwcgdjvfvd3xwumzqzqntual3l57h3zo7lwdmkjboeraudpkyka
144 i2podisy.i2p i2podisy.i2p 3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq 3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq
145 i2pseed.bandura.i2p i2pseed.bandura.i2p 2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia 2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
146 i2psurvey.i2p i2psurvey.i2p pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
147 i2ptimes.i2p 563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
148 i2pwiki.bandura.i2p i2pwiki.bandura.i2p isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
149 i2pwriters.i2p c4bktwlfzo3xcaccdw4nhtji2dmlg4sd36du2wynpclowx7kqolq
150 i2pyacy.bandura.i2p i2pyacy.bandura.i2p owy6s5xlkf4zsrwwpemvoru6x6qmrye2pe3v4v3dncvcrzix3fiq owy6s5xlkf4zsrwwpemvoru6x6qmrye2pe3v4v3dncvcrzix3fiq
151 i2speed.i2p i2speed.i2p 532c5r6ra6rcf2mvfgtlcxbn3lpplybwxul4xsg3ps64dlx73fga 532c5r6ra6rcf2mvfgtlcxbn3lpplybwxul4xsg3ps64dlx73fga
152 ibft.i2p ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
153 identiguy.i2p identiguy.i2p 3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva 3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
154 idk.i2p idk.i2p b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
155 ilcosmista.i2p ilcosmista.i2p 6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q 6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
156 ilita.i2p ilita.i2p isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
157 inclib.i2p in.i2p ux6prousphswf56bym7yo7kst4ybh45y2z2wrnw7dujmrz56hq4q r5vbv2akbp6txy5amkftia757klgdy44s6cglqhmstpg65xycyjq
158 infoserver.i2p infoserver.i2p jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
159 inr.i2p inr.i2p joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
instantexchange.i2p 5wiyndm44bysev22kxvczxt37p6o6qroiqykytrvn2yzi55aqfxq
invisible-internet.i2p jnpykdpp46zenz4p64eb3opadl5g42dls3rurk2cvq6a3g3rvbvq
160 irc.acetone.i2p irc.acetone.i2p qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
161 irc.coldhell.i2p d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
162 irc.crustyirc.i2p 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
163 irc.echelon.i2p irc.echelon.i2p ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
164 irc.ilita.i2p irc.ilita.i2p 5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a 5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
165 irc.kobomy.i2p irc.kitsune.i2p 2j75o23f3hhpebthdiuzevjo3sphmok4jbr5yrtmwav64v2hzuqq cpesprosbsuycn4ui3neidqdtqz5ufekthob7cobl3p7bcuaoh3q
166 irc.postman.i2p irc.postman.i2p hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
167 irc.r4sas.i2p irc.r4sas.i2p hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
168 irc.rpi.i2p irc.rpi.i2p ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
irc.welterde.i2p 424n5ty6bryfsn3m3buckx4njs4vaw2qch7drfdq32btsyycbflq
169 isitup.i2p isitup.i2p xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
170 isotoxin.i2p isotoxin.i2p wue3ycaccf4texikza3fh6p5yrmtgnooisuypnepo5mo67lmpcqq wue3ycaccf4texikza3fh6p5yrmtgnooisuypnepo5mo67lmpcqq
itphx.i2p zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
171 ivorytower.i2p ivorytower.i2p fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
172 jakesthoughts.i2p g7tjf655mw6wzykkux4ntkky75ovluexfz3wcpwu44mbibkcksfa
173 javadoc.skank.i2p us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
174 javascript.i2p javascript.i2p idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
175 jikx.i2p jimkiebs.i2p aazr55itvyns4lwppvx5njyx5tjdwemw4w6jbmpegdunznod2ieq epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
jwebcache.i2p xdffxnxtjd6ji2zig3cgva7igvl2tiapyjoc7ylbzwqhxudbmvfa
176 k1773r.i2p k1773r.i2p zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
kallist.i2p rpoqwcozn4pdxz7bp2vxsl7vfibpbccsymfuxg3c7v7yj3um4bta
177 kelvinchan.i2p kelvinchan.i2p 6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma 6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma
178 keys.dlms.i2p keys.dlms.i2p znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq
179 keys.echelon.i2p keys.echelon.i2p mwfpkdmjur5ytq4og36ym3ychinv36b2a57f4rmgqmtrwepq3fva mwfpkdmjur5ytq4og36ym3ychinv36b2a57f4rmgqmtrwepq3fva
180 kibykarni.i2p kibykarni.i2p xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a
181 kill-9.i2p kill-9.i2p 3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q 3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q
182 kislitsa.i2p kislitsa.i2p khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq
183 kkk.i2p kukluxklanib666d73z5fyeyb6vnystmvvreaodhjf73rhl4wxva
184 knijka.i2p knijka.i2p knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa
185 kobomy.i2p kurator.i2p f2m5wb6iotejsdhimqunkggw2pbboozd6vcha3xi37zjsecya2ua sp3umnyofy5ytixbqcue4jrpxixccgnrxtiuvhg6juep5s5lrs6q
kuna.i2p bwzbe3pn3g2oqce6grxocaqgw6p2oleiddsgrm7d3fms3cw44izq
186 kycklingar.i2p kycklingar.i2p gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
187 latinum.i2p labor-union-ru.i2p n64izx6kyu3xv6yvc45mvpswlq4txbkc5y2okjwyoseb5lmzxoea u3j76uo5awabsidre6epnm433snw5hwp3ezz33w3ca6bbgpblmzq
188 lainzine.i2p 5p7zrmxzxe2t5liuzfpswl7b3uublu2wrrwnkeqkzdxeidntw7yq
189 lbt.i2p lbt.i2p 5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq 5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
190 leglasen.i2p q6tqm2klaavlsfqjci2naul2nj57fbxvkwujmqdv53plhdxxi6mq
191 legwork.i2p legwork.i2p cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
192 libertor.i2p li.i2p 7gajvk4dnnob6wlkoo2zcws7nor3gunvoi7ofalcps5lc76wruuq jwzmbp5djo5t4mkbchhejq5mrx2yye7tkbwry22scihwy5s4hcba
193 lihai2333.i2p libremarkets.i2p maxh5bc5hom4g7udes2m4uy3lfocrqkmcy2m4mvkqca7ktoe43qq 3jknyeprdyirtzhc5ysh7qma4bgswazxgeylfxjtrx2xxtycq2lq
194 limak.i2p jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
195 linuxfarm.i2p linuxfarm.i2p br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
lists.i2p2.i2p vmfwbic2brek2ez223j6fc6bl5mmouzqvbsch45msvyyzih3iqua
196 lm.i2p lm.i2p yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q
197 lodikon.i2p lockdown.bnet.i2p u3f67staiwhqxpacya3clmvurdwd2kp7qcthzhstqnhrmlwc2g4a vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
198 lolicatgirls.i2p lockdown.i2p pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
199 lolicat.i2p 2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
200 longseason.i2p longseason.i2p ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
201 losinka.i2p lucas.i2p r2z2tcs6eguevoxlkrmpkcanuwgnsit2o45svnwaer3wq4v76hrq hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
202 lyoko.i2p lyoko.i2p afuuortfaqejkesne272krqvmafn65mhls6nvcwv3t7l2ic2p4kq afuuortfaqejkesne272krqvmafn65mhls6nvcwv3t7l2ic2p4kq
203 lytor.i2p mail.i2p ezjrtucwkkf3xgssjtq6tr27hz4zhbkobr4zjnl3x4jrwy7f7m6q mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
204 man.i2p mambo.i2p progskxxt44tlefm5uc4jqseanlhgbbkjyz4g3nvjjzbvhhp342q sm3mumfqv3ak5x3gdl5uq3k2ofpuzajwov3j6ool4w4tnf4n2fzq
205 marenostrum.i2p marenostrum.i2p tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
206 masterdestroyer.i2p mastodon.chudo.i2p yp2g7frk3ze5ljaxbmhmh6hhda3rmpwmpianozi6or2uzqzdur7q bba3rhijp3btiinfeixrk2jzz5rilnxxrxvjjx5os23ro4n6g4cq
207 mattermost.i2p mattermost.i2p x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
208 max.headroom.i2p qf4gfhjxrzkmjlcz24zy2itm6iohe3bbcij6trg62hdngeodcuna
209 mayvaneday.i2p mayvaneday.i2p zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
210 mdleom.i2p meeh.i2p ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa 4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
211 metalist.i2p wkx64uy4wzstqe3sx47xrm23h5y7g65tjithcfwtb54ykmjlus3a
212 metrics.i2p z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
213 mhatta.i2p mhatta.i2p o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
214 miyoisomix.i2p mirrormy.i2p rtv5ufhxasszywdh3oelqrc4yg4kirtirglub4h3mwovwig624eq tbxczhirmyaueix5ptaaduamyes2rxh3tv4ie52u2a25jj2x2hsa
215 mk16de.bandura.i2p mk16de.bandura.i2p rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
216 monerod.i2p moneroauth.i2p fjvlhyxejnssd5yjxqvom6nooqjdrhd43umxnzw33h2nqzhza5qa kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
217 monerujo.i2p monerujo.i2p puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
mosbot.i2p 5bhmrp43mjwlzf4x64xgdrkwmw4luvng6eq5waa663a7vnkp732a
218 mosfet.i2p mosfet.i2p s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
219 mtn.i2p-projekt.i2p mtn.i2p-projekt.i2p f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
mtn.i2p2.i2p l6kuhtmgvbp57d7jwalj5nksi6nr4gfzbz4oit62lxgipb3llt5a
220 mtproxy.ilita.i2p mtproxy.ilita.i2p vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
221 mucats.i2p mucats.i2p 4vjquedemoznbsva4j6wnr7hyms5k3gwucmxgcnwcwweontbcrha 4vjquedemoznbsva4j6wnr7hyms5k3gwucmxgcnwcwweontbcrha
222 mumble.acetone.i2p mumble.acetone.i2p plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
223 mumble.chudo.i2p 2xoqoq5pdwqabm2xhkftcqovgx7h56w26jmyoqlqh5zlntq7njda
224 muwire.i2p muwire.i2p c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
225 nekochan.i2p nebula.hutor.i2p dszr2z2swmeczeao2bqgop6fyh34jw5baeiybsavwtihllwa5qwq 575g5k3loi72jyq6fni6w3cdp2uoj2g63qowqjbnylbpc6evxpfa
226 nekit.i2p axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
227 neodome.i2p neodome.i2p 5hkhjehj3ct2pvcah7dcylwef2oti3xij5myxbv3pd7rocio5vkq 5hkhjehj3ct2pvcah7dcylwef2oti3xij5myxbv3pd7rocio5vkq
228 neoniet.i2p netbsd.i2p jf32pdnofckjvedni77vjt26m6opzzz6ocpkpxof4fptzym56raq jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
229 netcontent.i2p lc7ppfwcq7dm65s57l4uxiez5dqty3bxmdnkwhvl7fv4u2mngcsa
230 nethack.idk.i2p zcojbufszefu5bfht5cem3zlhfvv5y3jzpzbaccu3ehje4d7pb2a
231 news-i2pn.i2p news-i2pn.i2p wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
232 news.neodome.i2p news.neodome.i2p trhwcnygfkeqjj6g4xhmrdp4gsjqsye47lsxshbmwbten4ywt5oq trhwcnygfkeqjj6g4xhmrdp4gsjqsye47lsxshbmwbten4ywt5oq
233 nitter.i2p nexus.i2p axd6uavsstsrvstva4mzlzh4ct76rc6zdug3nxdgeitrzczhzf4q 6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
234 nicksphere.i2p nickg4tsj3wy3i23faxp5momjcnlwrvwl5ek5l7lkm5vrbblvgbq
235 nightcore.i2p qg5l3mr6rmu6slzmopojkvl6umtthsygexmxntv2vt4rmx3kwpwa
236 nitter.swurl.i2p ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
237 normal.i2p normal.i2p j5fex634r2altzb3kjvu35qekt2r3hgsqzg5qxoy7dp53heu5pma j5fex634r2altzb3kjvu35qekt2r3hgsqzg5qxoy7dp53heu5pma
238 notbob.i2p notbob.i2p nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
239 novabbs.i2p novabbs.i2p bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
nsa.i2p nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
240 nvspc.i2p nvspc.i2p anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
241 nyaaori.i2p vrth2eefdaica6bliuhmwetasgwdnmyhci5f3zbzq2hmcldepq3q
242 obmen.i2p obmen.i2p vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
243 ol.i2p ol.i2p bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
244 onelon.i2p omitracker.i2p irkvgdnlc6tidoqomre4qr7q4w4qcjfyvbovatgyolk6d4uvcyha a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
245 openbsd.i2p ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
246 opentracker.dg2.i2p opentracker.dg2.i2p w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
247 opentracker.skank.i2p by7luzwhx733fhc5ug2o75dcaunblq2ztlshzd7qvptaoa73nqua
248 otkatanet.i2p psieyl75agjgbztz4jvqctiglbljoz2hvtqdu4fc73e2rez3s4dq
249 outproxy-tor.an0n.i2p hpa7ojiz6wdjowwpaegzuczmufnaydggk5qw7vj6utakggkcd2kq
250 outproxy-tor.meeh.i2p outproxy-tor.meeh.i2p 77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq 77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq
251 outproxy.bandura.i2p outproxy.bandura.i2p smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q
252 outproxy.purokishi.i2p nieasaidj7wy5nammqf4f7zzcdafi4apygwn5qwscpn4pq34hqia
253 p4bl0.i2p p4bl0.i2p lkgdfm4w6e2kkjhcdzr4ahhz26s3aunhrn6t2or436o73qh4z7ga lkgdfm4w6e2kkjhcdzr4ahhz26s3aunhrn6t2or436o73qh4z7ga
254 packages.i2p packages.i2p 2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja 2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
255 password.i2p password.i2p knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
256 paste.idk.i2p paste.idk.i2p qvgktychvlbmqwnoqgz2siuna7f5w764wgkbqcwogipfjzf3ksva qvgktychvlbmqwnoqgz2siuna7f5w764wgkbqcwogipfjzf3ksva
257 paste.r4sas.i2p paste.r4sas.i2p csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
258 pay.privex.i2p pehotin.i2p cz25423yahhbd2wavtwupsbcbdg6wkn5vvh3466hbmmrzlu4wxyq e6tfct7qvso7qrseseubsk5hxn3wejkdivojqeed6i7hbj4dsmqa
259 pharos.i2p pharos.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
260 pharoz.i2p pharoz.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
261 pi.linuxfarm.i2p qtv647munv2c6bhdliy2ru754ltjucuyk766eqqfmervbi4z75yq
262 pizdabol.i2p pizdabol.i2p 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
263 planet.i2p planet.i2p pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
pleroma.pluralitynet.i2p 22wwp4s4n4sre45cj72zrfcdqcelpga65yrt6jlgahehxtbg2vzq
pluralitynet.i2p yphtn6ponyelopqiccm3nfznoc34byroack4z33lvi54gyfeuawq
264 podger.i2p podger.i2p 56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya 56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
265 polistern.i2p ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
266 pomoyka.i2p pomoyka.i2p omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
267 pool.gostcoin.i2p pool.gostcoin.i2p m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
268 pop.postman.i2p pop.postman.i2p i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
portal.webhosting.i2p bflwwtclsmmrimszczoafdrdzw6m7bszkggv4qs5e4aymghoxsja
269 pravtor.i2p pravtor.i2p 2sr27o5x2v2pyqro7wl5nl6krrsbizwrzsky5y7pkohwh24gn6xq 2sr27o5x2v2pyqro7wl5nl6krrsbizwrzsky5y7pkohwh24gn6xq
270 privacy-handbuch.i2p 3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
271 privatebin.i2p privatebin.i2p e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
272 privetalena.i2p privetalena.i2p alenabivbkqo2xoikterpsc3gquqzacxfef6usbifrez5ioegjjq alenabivbkqo2xoikterpsc3gquqzacxfef6usbifrez5ioegjjq
273 privex.i2p proof-of-loss.i2p omgulpderyhggjbaksgcccvjk76yvbp5rsnm4uos2mqfe5iv765q ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
274 project-future.i2p prophetgram.i2p ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
projectmayhem2012-086.i2p ehkjj4ptsagxlo27wpv4a5dk4zxqf4kg4p6fh35xrlz4y6mhe4eq
275 psv.i2p psv.i2p pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
276 psy.i2p psy.i2p s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
277 psyco.i2p psyco.i2p eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
278 pt.i2p ptt.i2p umbkgg3nhvgunyiwo2odfo3ufbdijb2ofg5eha6nyd4ymp4yitna q7r32j7lc3xgrcw2ym33wv4lfgqbez7vtm4lts7n34qfe3iygeha
279 pubsub.i2p pubsub.i2p kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa
280 pull.git.repo.i2p 3so7htzxzz6h46qvjm3fbd735zl3lrblerlj2xxybhobublcv67q
281 purokishi.i2p purokishi.i2p ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca
282 purplechan.i2p tyiwxpgs7syjvz3cha3uckaxgondtiktlsvriebyy4qmzgbaj3gq
283 push.git.repo.i2p jef4g5vxnqybm4zpouum3lzbl6ti6456q57nbyj5kfyldkempm3a
284 pvsur.i2p pvsurxi2hz2n45kfrj5b3ny6ko4ipj2u2piftjen44npkpnbwh6q
285 pwcq.i2p hcwrhp454aj2jen6clgkw5odw7pvtixhf5dnqsx5ax4vkbxybk7q
286 qorg11.i2p qorg11.i2p ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q
287 qtmhkr.i2p 2jj2ikxixz372qzxcdmgkwpzu6kek3mjsvwtzctdkapacfg2epzq
288 quest.idk.i2p quest.idk.i2p k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa
289 r4sas.i2p r4sas.i2p 2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq 2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq
290 raccoondad.i2p utoagugf3imr6mpjsithhnpvvvyehsnebisovn6kqn4vma6va3ca
291 radio.arav.i2p plkybcgxt4cdanot75cy3pbnqlbqcsrib2fmrpsnug4bqphqvfda
292 radio.idk.i2p gqla6svl56uazumw2a56rzmvfmcr6fb57bm5kpbb6oibqi6o66gq
293 radio.r4sas.i2p radio.r4sas.i2p cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
294 radioliberty.i2p libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
295 ramble.i2p ramble.i2p smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
rambler.i2p czptodzrdjjzff6jukipd2xv3pdjfg3gv53m6bsaoaab5fyr7zmq
296 ransack.i2p ransack.i2p mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
297 rany.i2p tcnai23pvo6asfmefl23cllpp3vgrgp2jhtjare7vhloyzwm2pma
298 realsite.i2p realsite.i2p ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
rebel.i2p nch2arl45crkyk6bklyk2hrdwjf5nztyxdtoshy6llhwqgxho5jq
299 redzara.i2p redzara.i2p ty7bt62rw5ryvk44dd3v5sua6c7wnbpxxqb6v4dohajmwmezi7va ty7bt62rw5ryvk44dd3v5sua6c7wnbpxxqb6v4dohajmwmezi7va
300 reg.i2p reg.i2p shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
301 reg.rus.i2p reg.rus.i2p k2r2wda4eavt4hoq5hptprqfmixusirq3gi5bl3z2pqzcd6felwa k2r2wda4eavt4hoq5hptprqfmixusirq3gi5bl3z2pqzcd6felwa
302 reichsmarket.i2p reichsmarket.i2p 2uj4xomizi75swws7q5icmnavekb2w2ws2wlcqtyltde7pgymraq 2uj4xomizi75swws7q5icmnavekb2w2ws2wlcqtyltde7pgymraq
303 repo.i2p uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
304 repo.r4sas.i2p repo.r4sas.i2p ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
retrobbs-nntp.i2p fkyzl24oxcxvjzkx74t3533x7qjketzmvzk6bwn3d6hj5t7hlw6q
305 retrobbs.i2p retrobbs.i2p mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
306 retrobbs2.i2p retrobbs2.i2p ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
307 rfocke.i2p retrosharenodezero.i2p pphesm2icsbqi7uzsmxpgyy4kc22b3cdpb4uwplkkjmupexva7dq 2new3x3t6kudc4i7mfvs7k3kltefhqjcj3lq5cowt66wy2dp6kca
ricycal.i2p tfkz7rgqh6rwvlo2veftw4why2dej3gztiglzfqfvykyzak2syxa
308 rideronthestorm.i2p rideronthestorm.i2p xrdc2qc7quhumhglpbcuiqxr42nuffv4xj4a73jbr4ygepitibqq xrdc2qc7quhumhglpbcuiqxr42nuffv4xj4a73jbr4ygepitibqq
309 rpi.i2p rpi.i2p 56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq 56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
310 rslight.i2p rslight.i2p bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
rss.i2p j7qbshtyaxwiuzkshduwqqq35ctb4cnfjvd2pnbjn3ugmblemsza
rsync.anonroms.i2p 4q6llvjjpgncu6wbol2rqq24ksrtscu5njj65jjovqlsxounxbdq
ru.i2p m7fqktjgtmsb3x7bvfrdx4tf7htnhytnz5qi2ujjcnph33u3hnja
311 rufurus.i2p rufurus.i2p 7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca 7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
312 rus.azathabar.i2p 6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
313 rus.i2p rus.i2p gh6655arkncnbrzq5tmq4xpn36734d4tdza6flbw5xppye2dt6ga gh6655arkncnbrzq5tmq4xpn36734d4tdza6flbw5xppye2dt6ga
314 rvklein.i2p rutor.i2p pzbqr2s25zpgbwiz22nc7hzxlusqxwhpxrsmln63y6fd45whnjcq rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
315 sdmr.i2p scamdemia.i2p o2vtbbcddamtqqomtf7wbkzzkh2xovt23lc6np7qtxbuv6vtul6q fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
316 searx.heckyel.i2p searx.swurl.i2p bbttsspdeozbfvmjm3ewnbwpot2fkhhk63w54ytptbyokazkydea ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
317 secretchat.i2p cl3j2zxhpw6u6jevny45i557ojhwfxn4g375nnuqhy6lp27mry2q
318 secretvitebskchat.i2p 6tc7fmbokb3hzajcgpxypxt2excj6tozgrjjofvjcak433dim47q
319 secure.thetinhat.i2p secure.thetinhat.i2p 4q3qyzgz3ub5npbmt3vqqege5lg4zy62rhbgage4lpvnujwfpala 4q3qyzgz3ub5npbmt3vqqege5lg4zy62rhbgage4lpvnujwfpala
320 serien.i2p serien.i2p 3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda 3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
321 sftp.anonroms.i2p sftp.i2p uozfd7ttkhjsofmgs7lfcy4pgngs4yp7kvnbhnppebjumgbjhjla sftp22f3a5xwe6mz4q7ybvcn4ptrnwidcgzjmd2jz6ocfxsjxnoq
322 share-les-miquelots.i2p uxwha4jswnt6jrznj7yhfwldfilvyasnjruimmbylbvq5qykpbpq
323 sharefile.i2p sharefile.i2p o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
324 shoieq3.i2p shoieq3.i2p 3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q 3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
325 skank.i2p skank.i2p qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
326 smtp.postman.i2p smtp.postman.i2p 3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q 3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
327 solr.chudo.i2p solr.chudo.i2p utl2ds5vztfomjgerohvxrgaq3g6zrspyku4s35knfmu4rihhgxq utl2ds5vztfomjgerohvxrgaq3g6zrspyku4s35knfmu4rihhgxq
328 speed-test.i2p 7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
329 spirech.i2p labhopl3kd3eo7cj7kqa6nkwpczc2qj52i37jky77ugqazy7dmna
330 spoika.i2p spoika.i2p u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
331 sportloto.i2p sportloto.i2p sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
332 spyware.i2p spyware.i2p 36j7itgqmnbinh3ortujakkvqdrbhlqu4b2qcwb46mue3dpzxqfq 36j7itgqmnbinh3ortujakkvqdrbhlqu4b2qcwb46mue3dpzxqfq
333 ssh.b0nk.i2p fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a
334 stats.i2p stats.i2p kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq
335 status.str4d.i2p ycyyjo3psqbo45nuz243xvgvwnmzlanzqbzxv3kh6gyjztv7425q
336 sto-man.i2p rg4eilfpe24ws6nctix63qw2dlvd2tqgwdcgdxzji6l5bc4dc7aa
337 str4d.i2p wrrwzdgsppwl2g2bdohhajz3dh45ui6u3y7yuop5ivvfzxtwnipa
338 streams.darkrealm.i2p streams.darkrealm.i2p ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq
339 strec.i2p xez3hkntwaae6iyos3poz4v3elhpmr2abkhsogulugdpu3wwdzcq
340 svong.i2p svong.i2p wlamzgxjc4k67fn2c2pdems2dzfq3hkdbbt3n7ela7p2wp3pew6a wlamzgxjc4k67fn2c2pdems2dzfq3hkdbbt3n7ela7p2wp3pew6a
341 swurl.i2p 5inc2k3h4zjh4cfbvtynce6uvaix24orakxzwm2ftoh7o7p6tqta
342 syndie-project.i2p syndie-project.i2p xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
343 syndie.echelon.i2p syndie.echelon.i2p vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
344 t-ru.i2p bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
345 tabak.i2p tabak.i2p y5o2vwb6kart7ivpnbpk4yte3i7kf2dsx7fy3i6w7htqtxhmbzia y5o2vwb6kart7ivpnbpk4yte3i7kf2dsx7fy3i6w7htqtxhmbzia
346 tahoeserve.i2p tahoeserve.i2p yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
347 teddit.i2p k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
348 telegram.i2p telegram.i2p i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
349 testmk16de.bandura.i2p testmk16de.bandura.i2p gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
350 textboard.i2p textboard.i2p 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
texterochtankar.i2p woqimbz4v2synkwyif65izfz2t4gbfbqjrai2ic5ok5qhnvmfszq
351 theyosh.i2p theyosh.i2p 5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita 5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
thinking-wiki.i2p feuemwevbvwpnyefpkpet2ign7wvnjww6dhhzis6tobkfh7ybxsq
352 thornworld.i2p thornworld.i2p vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
353 tmp.heckyel.i2p ti2.i2p v67szhqv7r2hm65lk7s2r4aqchswtfanove2p3ca746dg7nqwvoa 6r77rkt53xcjdpaaihttqjmzigvapmdczkekpogf5epdtcvrhgca
354 tome.i2p tmpsend.i2p qktkxwawgixrm5lzofnj5n24zspbnzxy4pvjm7uvaxvmgwrsuvgq r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
355 tomasgl.i2p tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
356 tor-gw.meeh.i2p ounrqi7cfemnt66yhnhigt2u27fkctbvct527cp2522ozy3btjza
357 torrents.chudo.i2p torrents.chudo.i2p 5ooemze55xiicrlvzjmz3il23dpo4fz5iqr7hmzrygdepan5m3lq 5ooemze55xiicrlvzjmz3il23dpo4fz5iqr7hmzrygdepan5m3lq
358 tosios.idk.i2p tosios.idk.i2p 4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a 4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a
359 trac.i2p2.i2p trac.i2p2.i2p i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
360 tracker.chudo.i2p tracker.chudo.i2p swhb5i7wcjcohmus3gbt3w6du6pmvl3isdvxvepuhdxxkfbzao6q swhb5i7wcjcohmus3gbt3w6du6pmvl3isdvxvepuhdxxkfbzao6q
tracker.lodikon.i2p q2a7tqlyddbyhxhtuia4bmtqpohpp266wsnrkm6cgoahdqrjo3ra
tracker.sartorius.i2p a5ijwlahghzstkkb2dr6kxnhlaasoot4gjkl2sx5f7ecudhjdf3a
tracker2.lodikon.i2p q2a7tqlyddbyhxhtuia4bmtqpohpp266wsnrkm6cgoahdqrjo3ra
361 tracker2.postman.i2p tracker2.postman.i2p 6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea 6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
362 traditio.i2p traditio.i2p wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
363 translate.idk.i2p g2l2zr4moqsk2bec346i5tfd2o22cozm5b2k4ifdhbcayazoz2ea
364 triplechan.i2p triplechan.i2p blrplscno3ecqb5ihhg73kufmypydjlv4r4gqiajftup5wmcdwna blrplscno3ecqb5ihhg73kufmypydjlv4r4gqiajftup5wmcdwna
365 trypanom.i2p tube.i2p tgv5acj4khwvr6t44cmryohybd2e5o2kndysnzae6qwcr4hzda3q vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
tumbach.i2p u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
366 tutorials.i2p tutorials.i2p zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
367 tv.i2p tv.i2p znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q
368 uk.i2p vanity-eth.i2p vydbychnep3mzkzhg43ptewp242issy47whamfbxodc4ma6wc63a 6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
369 unodice.i2p volatile.i2p fukkqcornjsfn2ggd2h4cgeitu4dbin7hymp5xf6zypwzif2pcoq q6rve733tvhgyys57jfw4fymqf3xsnza6dqailcdjcq7w4fa5m3a
370 w.i2p vxempire.i2p j2xorlcb3qxubnthzqu7lt4fvxqn63it4ikwmze55yjkzeeampuq 6z3jnz6mfbdibtebxkhkm45hos6yue5x3yvwljjwy3jtbv6in46q
371 wallet.gostcoin.i2p walker.i2p reuvum7lgetglafn72chypesvto773oy53zumagrpigkckybrwda 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
372 warez.i2p warezzqqhsqr6z2isn437osml6liwx3f4oqcp44dhres3jpld2hq
373 web.telegram.i2p web.telegram.i2p re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a
374 webcam.i2p webcam.i2p fhrkpj4iscrg6etgdlteseoed37q2ph7cizclgpabgcbnaq6g24a fhrkpj4iscrg6etgdlteseoed37q2ph7cizclgpabgcbnaq6g24a
375 webhosting.i2p webhosting.i2p hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq
376 webirc.coldhell.i2p k2d6bius63w3g35j32dn66fssqwbnyvegx6w6pl5mdeojpp4rjba
377 whois.i2p whoiswuguobs2rtsmpbao7bvfuxagmlckylh5ig6lxymiixtbfkq
378 wiki.i2p-projekt.i2p wiki.i2p-projekt.i2p b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa
379 wiki.ilita.i2p wiki.ilita.i2p r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a
380 wlm.i2p wlm.i2p nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
381 wopen.i2p wopen.i2p xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
www.i2p2.i2p rjxwbsw4zjhv4zsplma6jmf5nr24e4ymvvbycd3swgiinbvg7oga
382 www.imule.i2p www.imule.i2p 657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq 657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq
383 www.infoserver.i2p www.infoserver.i2p fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
384 xeha.i2p xeha.i2p oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
385 xinku.i2p xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
386 xmpp.chudo.i2p xmpp.chudo.i2p gppd6rx5jkutmt637odkbxh4tjqxy63i4amyhllqn424yt7pd2hq gppd6rx5jkutmt637odkbxh4tjqxy63i4amyhllqn424yt7pd2hq
387 xmpp.rpi.i2p xmpp.rpi.i2p 3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca 3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
388 xmrnode.i2p xmrnode.i2p moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
389 xn--hallchen-q4a.i2p xn--hallchen-q4a.i2p h5c4idxoweambtqajx3ecpu4iw425mfzckb4rrcvftrr7d2utfgq h5c4idxoweambtqajx3ecpu4iw425mfzckb4rrcvftrr7d2utfgq
390 xn--n3h.i2p xn--n3h.i2p 6a5bfeil667ksrdgg5hx5x2dse2v6ovnsng3r2k5gp5tb4z67egq 6a5bfeil667ksrdgg5hx5x2dse2v6ovnsng3r2k5gp5tb4z67egq
xotc.i2p gqgvzum3xdgtaahkjfw3layb33vjrucmw5btyhrppm463cz3c5oq
391 yacy.idk.i2p yacy.idk.i2p 7ccyylqqxnyexz2acn3nqjdlwqmd5pororbovrarar2dkw3ddrbq 7ccyylqqxnyexz2acn3nqjdlwqmd5pororbovrarar2dkw3ddrbq
392 yat.i2p zxg4p6obolmrnkygoodqbdnikzychk5sild3o753hmaljuosl2fq
393 yggdrasil.acetone.i2p yggdrasil.acetone.i2p tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
394 yggdrasil.i2p 7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
395 yggnet.i2p deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
396 yiffme.i2p sm6dk2ovxhgdjuu3rmqussc4e2xkfz6rmhng6i2t7parcb4v4y3a
397 yoitsu.i2p yoitsu.i2p yaaqmj55lsi5c5nukf4hsrift2zslnqkbcghwvjlaqayidtyctwa yaaqmj55lsi5c5nukf4hsrift2zslnqkbcghwvjlaqayidtyctwa
398 ytlibre.heckyel.i2p yourdomain.i2p lfrh5ionyyqcqktuhtcnt3tshmvfwh2j5dldntiahxt7xe7xnojq witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
399 yt2mp3.i2p 7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
400 zab.i2p zab.i2p n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
401 zerobin.i2p 3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
402 zeronet.i2p zeronet.i2p fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
403 zog.i2p zetareticuli.i2p 7su4pwd7xicqu44rd36g2a3zjlsv2k6otommnh7ztjpyixyozq2a odleh3zcsmyhck4rgrxmjsfo4o33cthxyy3kkgz5vdrqlzdspxma
404 znc.str4d.i2p ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
405 zx.i2p 4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
406 zzz.i2p zzz.i2p lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
@@ -10,6 +10,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import java.util.HashSet;
import java.util.Set;
import java.util.Locale;
import android.annotation.TargetApi;
import android.content.res.AssetManager;
@@ -24,12 +25,15 @@ import android.util.Log;
import androidx.annotation.RequiresApi;
public class DaemonWrapper {
private static final String TAG = "i2pd";
private final AssetManager assetManager;
private final ConnectivityManager connectivityManager;
private String i2pdpath = Environment.getExternalStorageDirectory().getAbsolutePath() + "/i2pd/";
private boolean assetsCopied;
private static final String appLocale = Locale.getDefault().getDisplayLanguage(Locale.ENGLISH).toLowerCase(); // lower-case system language (like "english")
public interface StateUpdateListener {
void daemonStateUpdate(State oldValue, State newValue);
}
@@ -118,31 +122,7 @@ public class DaemonWrapper {
this.assetManager = assetManager;
this.connectivityManager = connectivityManager;
setState(State.starting);
new Thread(() -> {
try {
processAssets();
I2PD_JNI.loadLibraries();
setState(State.jniLibraryLoaded);
registerNetworkCallback();
} catch (Throwable tr) {
lastThrowable = tr;
setState(State.startFailed);
return;
}
try {
synchronized (DaemonWrapper.this) {
I2PD_JNI.setDataDir(Environment.getExternalStorageDirectory().getAbsolutePath() + "/i2pd");
daemonStartResult = I2PD_JNI.startDaemon();
if ("ok".equals(daemonStartResult)) {
setState(State.startedOkay);
} else
setState(State.startFailed);
}
} catch (Throwable tr) {
lastThrowable = tr;
setState(State.startFailed);
}
}, "i2pdDaemonStart").start();
startDaemon();
}
private Throwable lastThrowable;
@@ -167,6 +147,16 @@ public class DaemonWrapper {
return daemonStartResult;
}
public static String getDataDir() { // for settings iniEditor
return I2PD_JNI.getDataDir();
}
public void changeDataDir(String dataDir, Boolean updateAssets) {
I2PD_JNI.setDataDir(dataDir);
if( updateAssets ) processAssets();
//ToDo: move old dir to new dir?
}
public boolean isStartedOkay() {
return getState().isStartedOkay();
}
@@ -182,6 +172,38 @@ public class DaemonWrapper {
setState(State.stopped);
}
}
public synchronized void startDaemon() {
if( getState() != State.stopped && getState() != State.starting ) return;
new Thread(() -> {
try {
processAssets();
I2PD_JNI.loadLibraries();
setState(State.jniLibraryLoaded);
//registerNetworkCallback();
} catch (Throwable tr) {
lastThrowable = tr;
setState(State.startFailed);
return;
}
try {
synchronized (DaemonWrapper.this) {
I2PD_JNI.setDataDir(i2pdpath); // (Environment.getExternalStorageDirectory().getAbsolutePath() + "/i2pd");
Log.d(TAG, "setting webconsole language to " + appLocale);
I2PD_JNI.setLanguage(appLocale);
daemonStartResult = I2PD_JNI.startDaemon();
if ("ok".equals(daemonStartResult)) {
setState(State.startedOkay);
} else
setState(State.startFailed);
}
} catch (Throwable tr) {
lastThrowable = tr;
setState(State.startFailed);
}
}, "i2pdDaemonStart").start();
}
private void processAssets() {
if (!assetsCopied) {
@@ -92,7 +92,7 @@ public class ForegroundService extends Service {
public void onDestroy() {
cancelNotification();
deinitCheck();
instance=null;
instance = null;
}
public static void deinit() {
@@ -148,7 +148,7 @@ public class ForegroundService extends Service {
// Set the info for the views that show in the notification panel.
NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelId)
.setOngoing(true)
.setSmallIcon(R.drawable.itoopie_notification_icon); // the status icon
.setSmallIcon(R.drawable.ic_notification_icon); // the status icon
if (Build.VERSION.SDK_INT >= 16)
builder = builder.setPriority(Notification.PRIORITY_DEFAULT);
if (Build.VERSION.SDK_INT >= 21)
@@ -27,6 +27,8 @@ import android.provider.Settings;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
@@ -34,20 +36,18 @@ import androidx.annotation.NonNull;
import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
// For future package update checking
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import static android.provider.Settings.ACTION_IGNORE_BATTERY_OPTIMIZATION_SETTINGS;
import static org.purplei2p.i2pd.DaemonWrapper.State.startedOkay;
import static org.purplei2p.i2pd.DaemonWrapper.State.starting;
import static org.purplei2p.i2pd.DaemonWrapper.State.stopped;
public class I2PDActivity extends Activity {
private static final String TAG = "i2pdActvt";
private static final int MY_PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE = 1;
public static final int GRACEFUL_DELAY_MILLIS = 10 * 60 * 1000;
public static final String PACKAGE_URI_SCHEME = "package:";
private Button enableButton;
private Button disableButton;
private TextView textView;
@@ -66,11 +66,14 @@ public class I2PDActivity extends Activity {
if (textView == null)
return;
Throwable tr = daemon.getLastThrowable();
if (tr!=null) {
if (tr != null) {
textView.setText(throwableToString(tr));
return;
}
DaemonWrapper.State state = daemon.getState();
if(state == startedOkay){
disableButton.setVisibility(View.VISIBLE);
}
String startResultStr = DaemonWrapper.State.startFailed.equals(state) ? String.format(": %s", daemon.getDaemonStartResult()) : "";
String graceStr = DaemonWrapper.State.gracefulShutdownInProgress.equals(state) ? String.format(": %s %s", formatGraceTimeRemaining(), getText(R.string.remaining)) : "";
textView.setText(String.format("%s%s%s", getText(state.getStatusStringResourceId()), startResultStr, graceStr));
@@ -98,18 +101,37 @@ public class I2PDActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
super.onCreate(savedInstanceState);
if (daemon==null) {
setContentView(R.layout.activity_main);
enableButton = findViewById(R.id.enableButton);
disableButton = findViewById(R.id.disableButton);
textView = (TextView) findViewById(R.id.appStatusText);
if (daemon == null) {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
daemon = new DaemonWrapper(getAssets(), connectivityManager);
}
ForegroundService.init(daemon);
textView = new TextView(this);
setContentView(textView);
daemon.addStateChangeListener(daemonStateUpdatedListener);
daemonStateUpdatedListener.daemonStateUpdate(DaemonWrapper.State.uninitialized, daemon.getState());
enableButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if( daemon.getState() != startedOkay && daemon.getState() != starting ){
daemon.stopDaemon();
daemon.startDaemon();
disableButton.setVisibility(View.VISIBLE);
}
}
});
disableButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
if( daemon.getState() != stopped ){
daemon.stopDaemon();
disableButton.setVisibility(View.INVISIBLE);
}
}
});
// request permissions
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (ContextCompat.checkSelfPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
@@ -119,7 +141,6 @@ public class I2PDActivity extends Activity {
}
}
// set the app be foreground
doBindService();
final Timer gracefulQuitTimer = getGracefulQuitTimer();
@@ -143,8 +164,13 @@ public class I2PDActivity extends Activity {
//cancelGracefulStop0();
try {
doUnbindService();
} catch (IllegalArgumentException ex) {
Log.e(TAG, "throwable caught and ignored", ex);
if (ex.getMessage().startsWith("Service not registered: " + org.purplei2p.i2pd.I2PDActivity.class.getName())) {
Log.i(TAG, "Service not registered exception seems to be normal, not a bug it seems.");
}
} catch (Throwable tr) {
Log.e(TAG, "", tr);
Log.e(TAG, "throwable caught and ignored", tr);
}
}
@@ -273,7 +299,13 @@ public class I2PDActivity extends Activity {
return true;
case R.id.action_start_webview:
startActivity(new Intent(getApplicationContext(), WebConsoleActivity.class));
if( daemon.getState() == startedOkay)
startActivity(new Intent(getApplicationContext(), WebConsoleActivity.class));
else
Toast.makeText(this,"I2Pd not was started!", Toast.LENGTH_SHORT).show();
return true;
case R.id.action_settings:
startActivity(new Intent(getApplicationContext(), SettingsActivity.class));
return true;
}
@@ -26,8 +26,12 @@ public class I2PD_JNI {
public static native String getWebConsAddr();
public static native void setLanguage(String jlanguage);
public static void loadLibraries() {
//System.loadLibrary("c++_shared");
System.loadLibrary("i2pd");
}
public static native String getDataDir();
}
@@ -0,0 +1,108 @@
package org.purplei2p.i2pd;
import android.app.Activity;
import android.content.ComponentName;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.content.pm.ResolveInfo;
import android.net.Uri;
import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.widget.CompoundButton;
import android.widget.Switch;
import java.io.File;
import java.util.List;
import org.purplei2p.i2pd.iniedotr.IniEditor;
public class SettingsActivity extends Activity {
protected IniEditor iniedit = new IniEditor();
private String dataDir = DaemonWrapper.getDataDir();//for inieditor
private String TAG = "i2pdSrvcSettings";
private File cacheDir;
public static String onBootFileName="/onBoot"; // just file, empty, if exist the do autostart, if not then no.
//https://gist.github.com/chandruark/3165a5ee3452f2b9ec7736cf1b4c5ea6
private void addAutoStartupswitch() {
try {
Intent intent = new Intent();
String manufacturer = android.os.Build.MANUFACTURER .toLowerCase();
switch (manufacturer){
case "xiaomi":
intent.setComponent(new ComponentName("com.miui.securitycenter", "com.miui.permcenter.autostart.AutoStartManagementActivity"));
break;
case "oppo":
intent.setComponent(new ComponentName("com.coloros.safecenter", "com.coloros.safecenter.permission.startup.StartupAppListActivity"));
break;
case "vivo":
intent.setComponent(new ComponentName("com.vivo.permissionmanager", "com.vivo.permissionmanager.activity.BgStartUpManagerActivity"));
break;
case "Letv":
intent.setComponent(new ComponentName("com.letv.android.letvsafe", "com.letv.android.letvsafe.AutobootManageActivity"));
break;
case "Honor":
intent.setComponent(new ComponentName("com.huawei.systemmanager", "com.huawei.systemmanager.optimize.process.ProtectActivity"));
break;
case "oneplus":
intent.setComponent(new ComponentName("com.oneplus.security", "com.oneplus.security.chainlaunch.view.ChainLaunchAppListActivity"));
break;
}
List<ResolveInfo> list = getPackageManager().queryIntentActivities(intent, PackageManager.MATCH_DEFAULT_ONLY);
if (list.size() > 0) {
startActivity(intent);
}
} catch (Exception e) {
Log.e("exceptionAutostarti2pd" , String.valueOf(e));
}
}
//@Override
private void requestPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
if (!Settings.canDrawOverlays(this)) {
Intent intent = new Intent(
Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
Uri.parse("package:" + getPackageName())
);
startActivityForResult(intent, 232);
} else {
//Permission Granted-System will work
}
}
}
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
super.onCreate(savedInstanceState);
cacheDir = getApplicationContext().getCacheDir();
setContentView(R.layout.activity_settings);
Switch autostart_switch = findViewById(R.id.autostart_enable);
File onBoot= new File( cacheDir.getAbsolutePath()+onBootFileName);
autostart_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
// do something, the isChecked will be
// true if the switch is in the On position
if(isChecked){
if( !onBoot.exists() ) {
requestPermission();
addAutoStartupswitch();
try {
if( !onBoot.createNewFile()) Log.d(TAG, "Cant create new wile on: "+onBoot.getAbsolutePath());
} catch (Exception e) {
Log.d(TAG, "error: " + e.toString());
}
}
}else{
if( onBoot.exists() )
onBoot.delete();
}
}
});
if(onBoot.exists()) autostart_switch.setChecked(true);
}
}
@@ -35,13 +35,13 @@ public class WebConsoleActivity extends Activity {
@Override
public void onRefresh() {
swipeRefreshLayout.setRefreshing(true);
new Handler().postDelayed(new Runnable() {
new Handler().post(new Runnable() {
@Override
public void run() {
swipeRefreshLayout.setRefreshing(false);
webView.reload();
}
}, 1000);
});
}
});
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,31 @@
package org.purplei2p.i2pd.receivers;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
//import org.purplei2p.i2pd.ForegroundService;
//ToDo:* fix^^^ change to service, not on window on start.
import org.purplei2p.i2pd.I2PDPermsAskerActivity;
import java.io.File;
import static org.purplei2p.i2pd.SettingsActivity.onBootFileName;
public class BootUpReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
/* todo: disable the autostart? */
File onBoot =
new File(
context.getApplicationContext().getCacheDir().getAbsolutePath()
+ onBootFileName);
if(onBoot.exists()) {
Intent i = new Intent(context, I2PDPermsAskerActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(i);
}
}
}
File diff suppressed because one or more lines are too long
@@ -0,0 +1,16 @@
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:width="48dp"
android:height="48dp"
android:viewportWidth="67.73333"
android:viewportHeight="67.73333">
<path
android:pathData="m8.0245,22.7306 l3.0405,8.9748c1.5868,8.52 4.2051,13.7196 7.5287,16.6465 3.3713,5.5488 7.1982,10.5662 11.7274,14.7649 4.7511,5.7799 10.8578,5.4198 16.9394,-1.158C55.1176,53.4605 59.0051,38.7386 60.7254,22.4411 62.721,3.5354 42.4318,-7.8385 33.7958,8.6896 28.6579,18.5229 27.1239,16.8872 19.8967,9.9923 12.8025,3.2243 3.3349,7.2924 8.0245,22.7306ZM13.0159,27.4774c8.3005,0.3473 14.1412,1.6329 15.1198,4.7738 -6.159,3.137 -10.9848,0.7573 -15.1198,-4.7738zM32.6816,52.0871c1.0397,0.5898 1.771,0.6068 2.5288,0 1.4061,-1.1262 2.4482,-1.0302 4.6962,-1.8419 3.5633,-1.2868 5.1391,-4.6341 7.7089,-6.9512 -4.9698,6.6991 -9.1788,18.7408 -16.8256,11.1857 -1.918,-1.8951 -1.9664,-2.4746 -7.4966,-7.0568 -0.227,-0.188 -0.4631,-0.3828 -0.709,-0.5847 2.5469,1.5209 4.8048,3.3307 7.6408,4.5628 0.8113,0.3309 1.3046,0.0329 2.4565,0.6862zM35.8244,31.5361c-1.4116,-5.7378 3.8919,-8.1189 14.2333,-7.9819 -4.2543,3.8297 -8.7242,7.145 -14.2333,7.9819z"
android:strokeWidth="0.93224764"
android:fillColor="#00000000"
android:strokeColor="#000000"/>
<path
android:pathData="m28.237,32.0881c-0.9786,-3.1408 -6.8193,-4.4264 -15.1199,-4.7737 4.1351,5.531 8.9609,7.9108 15.1199,4.7737zM50.159,23.3911c-10.3414,-0.137 -15.6448,2.2441 -14.2333,7.982 5.5091,-0.8369 9.979,-4.1522 14.2333,-7.982zM16.6812,21.3597c2.6043,2.2517 5.2086,4.0418 7.8132,4.5568 5.297,1.7061 5.6425,5.3779 5.281,9.3305v9.3306c-0.3217,3.4969 1.857,4.0152 3.1473,2.4946 0.6986,-0.8231 2.1465,-1.8057 3.3777,-1.9377 1.8931,-0.2029 3.3969,-0.1184 2.3733,-3.2692m-5.5705,0.5424c-0.0241,-4.2433 -0.0482,-8.4866 -0.0725,-12.73M16.6089,18.3219C26.541,27.559 30.9945,26.1085 34.7671,17.0923 39.72,5.2558 49.1877,4.4588 57.1215,16.3689m-9.4048,26.7619c-4.9696,6.6991 -9.1786,18.741 -16.8254,11.1857 -1.9968,-1.9727 -1.9672,-2.5199 -8.2055,-7.6415 2.5469,1.5209 4.8048,3.3307 7.6407,4.5628 0.8114,0.3309 1.3047,0.033 2.4566,0.6863 1.0397,0.5898 1.771,0.6068 2.5286,0 1.4062,-1.1262 2.4482,-1.0302 4.6963,-1.8421 3.5633,-1.2868 5.1391,-4.634 7.7087,-6.9512zM8.1259,22.5676C3.4362,7.1294 12.9037,3.0612 19.9981,9.8293 27.2253,16.7242 28.7593,18.3597 33.8971,8.5266 42.533,-8.0016 62.8223,3.3724 60.8266,22.2781 59.1064,38.5756 55.219,53.2975 47.3619,61.7957 41.2802,68.3735 35.1735,68.7337 30.4224,62.9537 25.8932,58.755 22.0663,53.7378 18.695,48.1889 15.3714,45.2618 12.7532,40.0624 11.1664,31.5422ZM33.3926,50.5808c0.1014,-0.4791 -0.0722,-4.2248 1.5204,-0.0957m1.5285,14.3353c-2.607,-2.3561 2.1116,-3.9639 1.4121,-0.4185M53.8771,36.4639C54.0218,43.6533 51.5124,52.1936 47.7962,57.4531M42.4392,40.3723c6.1774,-3.3295 9.073,-2.4125 8.687,2.7503M15.2932,40.8065c1.5452,3.6162 6.1047,4.1223 9.4827,-1.3028M10.0255,21.7213C9.1816,8.2922 13.3214,6.1141 21.0941,16.9476 25.1871,22.652 28.8678,23.6838 32.6692,15.3563 39.433,0.5392 50.2361,1.582 57.2465,12.0746M33.682,24.2528c6.4671,-11.5489 12.2697,-16.0091 17.0008,-9.0411"
android:strokeWidth="1.32291663"
android:fillColor="#00000000"
android:strokeColor="#FFFFFF"/>
</vector>
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

+93
View File
@@ -0,0 +1,93 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#9C27B0"
android:padding="@dimen/activity_horizontal_margin"
tools:context="org.purplei2p.i2pd.I2PDActivity">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/mainLogo"
android:layout_width="match_parent"
android:layout_height="140dp"
android:src="@drawable/ic_logo" />
<TextView
style="@android:style/Widget.Holo.Light.TextView.SpinnerItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/app_description"
android:textColor="#FFFFFF"
android:textSize="24sp"
android:textStyle="bold" />
<TextView
style="@android:style/Widget.Holo.Light.TextView.SpinnerItem"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="@string/app_description2"
android:textColor="#FFFFFF"
android:textSize="24sp"
android:textStyle="bold" />
<Space
android:layout_width="match_parent"
android:layout_height="@dimen/margin_medium" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<RelativeLayout
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:layout_gravity="center">
<Button
android:id="@+id/enableButton"
style="@android:style/Widget.Button.Inset"
android:layout_width="@dimen/margin_huge"
android:layout_height="@dimen/margin_huge"
android:layout_centerInParent="true"
android:background="@android:drawable/presence_offline"
android:longClickable="true" />
<Button
android:id="@+id/disableButton"
style="@android:style/Widget.Button.Inset"
android:layout_width="@dimen/margin_huge"
android:layout_height="@dimen/margin_huge"
android:layout_centerInParent="true"
android:background="@android:drawable/presence_online"
android:longClickable="true"
android:visibility="invisible" />
</RelativeLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="@dimen/margin_medium" />
<TextView
android:id="@+id/appStatusText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="#DFDFDF"
android:textSize="18sp" />
</LinearLayout>
</LinearLayout>
</ScrollView>
@@ -0,0 +1,63 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="@dimen/margin_medium"
android:orientation="vertical"
tools:context=".SettingsActivity">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="@dimen/margin_tiny"
android:clickable="false"
android:text="@string/settings_section0"
android:textSize="24sp"
android:verticalScrollbarPosition="defaultPosition" />
<Switch
android:id="@+id/autostart_enable"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="left"
android:textOff="@string/disabled"
android:textOn="@string/enabled"
android:text="@string/autostart_enabled" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/listDivider" />
<!--
<TextView
android:id="@+id/settings_section2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:autoText="true"
android:clickable="false"
android:cursorVisible="false"
android:text="@string/settings_section_tunnels"
android:textColor="#282528"
android:textStyle="bold|italic"
android:verticalScrollbarPosition="defaultPosition" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="@string/add_tunnel" />
<Button
android:id="@+id/add_tunnel_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/add_tunnel_button" />
</LinearLayout>
-->
</LinearLayout>
@@ -1,7 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/layout_prompt"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
+4 -1
View File
@@ -23,9 +23,12 @@
android:id="@+id/action_graceful_stop"
android:orderInCategory="98"
android:title="@string/action_graceful_stop" />
<item
android:id="@+id/action_settings"
android:title="@string/action_settings" />
<item
android:id="@+id/action_stop"
android:orderInCategory="99"
android:title="@string/action_stop" />
android:title="@string/action_exit" />
</group>
</menu>
+17 -1
View File
@@ -1,12 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i2pd</string>
<string name="app_description">Invisible Internet Protocol:</string>
<string name="app_description2">Сеть без границ</string>
<string name="action_start">Запустить</string>
<string name="action_stop">Остановить</string>
<string name="action_exit">Выход</string>
<string name="action_graceful_stop">Корректная остановка</string>
<string name="action_cancel_graceful_stop">Отменить корректную остановку</string>
<string name="action_reload_tunnels_config">Перезагрузить туннели</string>
<string name="action_start_webview">Открыть Веб Консоль</string>
<string name="action_settings">Настройки</string>
<string name="graceful_stop_is_already_in_progress">Корректная остановка уже запущена</string>
<string name="graceful_stop_is_in_progress">Корректная остановка запущена</string>
@@ -37,4 +41,16 @@
<string name="shutdown_canceled">Плановая остановка отменена</string>
<string name="tunnels_reloading">Перезагрузка конфигурации туннелей...</string>
<string name="autostart_enabled">Запуск после загрузки телефона</string>
<string name="settings_section0">Основные настройки</string>
<string name="settings_section_tunnels">Туннели</string>
<string name="add_tunnel_button">Добавить</string>
<string name="add_tunnel">Управление туннелями</string>
<string name="del_tunnel_button">Удалить</string>
<string name="enabled">Вкл</string>
<string name="disabled">Выкл</string>
</resources>
@@ -1,16 +1,12 @@
<resources>
<!-- Define standard dimensions to comply with Holo-style grids and rhythm. -->
<dimen name="margin_tiny">4dp</dimen>
<dimen name="margin_small">8dp</dimen>
<dimen name="margin_medium">16dp</dimen>
<dimen name="margin_large">32dp</dimen>
<dimen name="margin_huge">64dp</dimen>
<!-- Semantic definitions -->
<dimen name="horizontal_page_margin">@dimen/margin_medium</dimen>
<dimen name="vertical_page_margin">@dimen/margin_medium</dimen>
<dimen name="activity_horizontal_margin">@dimen/margin_medium</dimen>
<dimen name="activity_vertical_margin">@dimen/margin_medium</dimen>
</resources>
+18 -1
View File
@@ -1,12 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string name="app_name">i2pd</string>
<string name="app_name" translatable="false">i2pd</string>
<string name="app_description">Invisible Internet Protocol:</string>
<string name="app_description2">Network without borders</string>
<string name="action_start">Start</string>
<string name="action_stop">Stop</string>
<string name="action_exit">Exit</string>
<string name="action_graceful_stop">Graceful Stop</string>
<string name="action_cancel_graceful_stop">Cancel Graceful Stop</string>
<string name="action_reload_tunnels_config">Reload tunnels</string>
<string name="action_start_webview">Open Web Console</string>
<string name="action_settings">Settings</string>
<string name="graceful_stop_is_already_in_progress">Graceful stop is already in progress</string>
<string name="graceful_stop_is_in_progress">Graceful stop is in progress</string>
@@ -38,4 +43,16 @@
<string name="shutdown_canceled">Planned shutdown canceled</string>
<string name="tunnels_reloading">Reloading tunnels config...</string>
<string name="settings_section0">Common settings</string>
<string name="settings_section_tunnels">Tunnels</string>
<string name="autostart_enabled">Start at boot</string>
<string name="add_tunnel_button">Add tunnel</string>
<string name="add_tunnel">Tunnels management</string>
<string name="del_tunnel_button">Delete tunnel</string>
<string name="enabled">On</string>
<string name="disabled">Off</string>
</resources>
@@ -1 +1 @@
* Updated codebase to 2.35.0
* Updated codebase to 2.35.0/0.9.48
@@ -1,2 +1,2 @@
* Updated codebase to 2.36.0
* Updated codebase to 2.36.0/0.9.49
* Add webconsole page reload by swipe
@@ -0,0 +1,2 @@
* Updated codebase to 2.37.0
* Changes in main activity
@@ -0,0 +1,2 @@
* Updated codebase to 2.38.0
* Fix launch on devices with API < 21
@@ -0,0 +1 @@
* Updated codebase to 2.39.0
@@ -0,0 +1,2 @@
* Updated codebase to 2.40.0
* Disabled Network state changes listener (sometimes android not sends notifications, so application thinks that internet is not available)
@@ -1,11 +1,13 @@
I2P (Invisible Internet Protocol) is a universal anonymous network layer.
<b>I2P</b> (Invisible Internet Protocol) is a universal anonymous network layer.
All communications over I2P are anonymous and end-to-end encrypted, participants
don't reveal their real IP addresses.
I2P client is a software used for building and using anonymous I2P
<b>I2P client</b> is a software used for building and using anonymous I2P
networks. Such networks are commonly used for anonymous peer-to-peer
applications (filesharing, cryptocurrencies) and anonymous client-server
applications (websites, instant messengers, chat-servers).
I2P allows people from all around the world to communicate and share information
<b>I2P</b> allows people from all around the world to communicate and share information
without restrictions.
For more information about <b>I2P</b>, you can read <a href="https://en.m.wikipedia.org/wiki/I2P">article on Wikipedia</a>.
Binary file not shown.

After

Width:  |  Height:  |  Size: 353 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 120 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

+1 -1
View File
@@ -1,3 +1,3 @@
android.enableJetifier=true
android.useAndroidX=true
org.gradle.parallel=true
org.gradle.parallel=true