Compare commits

..

48 Commits

Author SHA1 Message Date
R4SAS e2dfde17bf 2.43.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-08-21 23:13:06 +03:00
R4SAS 447407483d switch to i2pd 2.43.0, pull translations updates
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-08-21 23:07:44 +03:00
r4sas e925b58239 [i2pd] update to trunk
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-19 19:32:10 +00:00
r4sas 1a4e0c02de [i2pd] update to trunk
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-14 10:36:37 +00:00
r4sas b0f8bf87ba [i18n] fix translation directory name
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-09 19:06:18 +00:00
r4sas 99fc0992f2 [i18n] add Simplified Chinese translation
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-09 18:21:23 +00:00
r4sas e27534dbbe [i2pd] enable ssu2 by default and disable ssu
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-09 18:16:51 +00:00
r4sas 8abfd1f5fb [i2pd] update to trunk
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-08-09 18:14:58 +00:00
R4SAS 6c162bc689 [i2pd] update to trunk
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-10 01:27:39 +03:00
R4SAS a61012f72d switch to openssl 1.1.1q
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-10 01:25:34 +03:00
R4SAS 2bdb97db0f remove unused READ_PHONE_STATE permission
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-07-10 01:21:32 +03:00
r4sas d72e3aeea6 2.42.1
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-05-25 16:31:56 +00:00
R4SAS a82a4cc211 2.42.0
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-22 21:21:22 +03:00
R4SAS 063173e546 [boost] update paths for binary build
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-22 14:04:09 +03:00
R4SAS cc14c7e6c2 [boost] do not make copy, use builder output directory
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-22 13:41:42 +03:00
R4SAS 61846ef57b update boost-for-android submodule
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-19 13:17:15 +03:00
R4SAS 063b416bf1 update readme
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-19 13:08:36 +03:00
R4SAS 470cc90b6a Make possible to build on Windows with MSYS2
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-19 13:02:13 +03:00
r4sas b0204a59ea rework libraries building scripts, output paths, remove rename usage
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-05-18 04:20:07 +00:00
R4SAS ef5f7a1d95 switch openssl to 1.1.1o
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-17 21:29:00 +03:00
R4SAS 82897ccb93 bump i2pd
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-15 11:50:57 +03:00
R4SAS 97f0490fdf pull french translation from crowdin
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-15 11:22:48 +03:00
R4SAS d1c6ecb850 test build
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-05-15 10:46:31 +03:00
R4SAS 2a4fa8c036 fix script paths
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-29 15:29:27 +03:00
R4SAS 8debf9fc73 use bash in script
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-29 14:44:30 +03:00
R4SAS 8e2e80ea5d [gha] build binaries package
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-29 13:04:51 +03:00
R4SAS 3dbb4e9759 binary pack: fix paths
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-29 12:57:20 +03:00
R4SAS 0ead601868 add binary pack script
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-29 12:55:28 +03:00
R4SAS 9b4ee8447a update README
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-13 13:47:35 +03:00
R4SAS 7611296f63 update changelog
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-13 12:54:00 +03:00
R4SAS b63dbb5223 update i2pd assets
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-13 12:50:31 +03:00
R4SAS ed985c6082 add fastlane uzbek translation
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-13 03:26:50 +03:00
R4SAS 8bdb77b4cf add uzbek translation
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-13 03:00:30 +03:00
R4SAS d57a241d6e move log messages, add 2.41.0.1 changelog
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-09 21:06:24 +03:00
R4SAS ae3016e4b7 change version code, log levels, stopping message
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-09 20:45:09 +03:00
R4SAS 4be1d99e8f set datadir in daemon before init
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-09 20:11:16 +03:00
R4SAS 578a97f549 fix JNI string release before executing C++ functions, update gradle to 7.1.3
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-09 01:11:53 +03:00
R4SAS 21a7200b34 [gha] use ndk 21.4.7075529
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-06 22:29:29 +03:00
R4SAS 84636050c6 update i2pd to trunk
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-06 22:25:26 +03:00
R4SAS f363c10040 fix assets unpack when not required
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-04-06 22:24:42 +03:00
R4SAS 67fb27a6ce remove unused settings activity code, fix calling on 4.4
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-31 01:49:20 +03:00
R4SAS c62429513f add minimal preferences layout
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-30 20:50:34 +03:00
R4SAS 1b09291b84 [gha] upload artifacts to separate archives
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-30 04:52:54 +03:00
R4SAS c74b3f7ff0 [gha] use jdk 1.11
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-30 04:49:52 +03:00
R4SAS 75d444f374 rework main ui, change theme, remove unused code
Signed-off-by: R4SAS <r4sas@i2pmail.org>
2022-03-30 03:58:16 +03:00
r4sas ba6fb5bbb9 switch boost to 1.74.0, ndk to 21.4.7075529
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-03-29 20:28:19 +00:00
Oğuz Ersen 4c0cc3f637 add turkish translation 2022-02-27 18:31:17 +03:00
r4sas c345816030 [gha] add binary build
Signed-off-by: r4sas <r4sas@i2pmail.org>
2022-02-21 20:19:55 +00:00
63 changed files with 1450 additions and 784 deletions
+58 -7
View File
@@ -9,28 +9,28 @@ jobs:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install rename tool
- name: Install GNU C++ compiler
run: |
sudo apt-get update
sudo apt-get install -y g++ rename
- name: Setup JDK 1.8
sudo apt-get install -y g++
- name: Setup JDK 1.11
uses: actions/setup-java@v1
with:
java-version: 1.8
java-version: 1.11
- name: Setup Android SDK
uses: maxim-lobanov/setup-android-tools@v1
with:
packages: |
build-tools;31.0.0
platforms;android-31
ndk;23.1.7779620
ndk;21.4.7075529
cmake;3.18.1
cache: true
- name: Build required modules
run: |
export ANDROID_SDK_ROOT=$ANDROID_HOME
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/23.1.7779620
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.4.7075529
pushd app/jni
sed -i -e 's/d+2/d+0/' boost/build-android.sh
./build_boost.sh
./build_openssl.sh
./build_miniupnpc.sh
@@ -40,5 +40,56 @@ jobs:
- name: Upload artifacts
uses: actions/upload-artifact@v2
with:
name: android-apks.zip
path: app/build/outputs/apk/debug/*.apk
build-binary:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
submodules: 'recursive'
- name: Install GNU C++ compiler
run: |
sudo apt-get update
sudo apt-get install -y g++
- name: Setup JDK 1.11
uses: actions/setup-java@v1
with:
java-version: 1.11
- name: Setup Android SDK
uses: maxim-lobanov/setup-android-tools@v1
with:
packages: |
ndk;21.4.7075529
cmake;3.18.1
cache: true
- name: Build required modules
run: |
export ANDROID_SDK_ROOT=$ANDROID_HOME
export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/21.4.7075529
pushd binary/jni
./build_boost.sh
./build_openssl.sh
./build_miniupnpc.sh
popd
- name: Build binaries with NDK
run: |
pushd binary/jni
$ANDROID_NDK_HOME/ndk-build -j2 NDK_MODULE_PATH=$PWD
popd
- name: Create package with built binaries
run: |
pushd contrib/binary_pack
./build-archive
popd
- name: Upload binaries archive
uses: actions/upload-artifact@v2
with:
name: android-binaries.zip
path: binary/libs/*
- name: Upload binaries package
uses: actions/upload-artifact@v2
with:
name: android-binaries-pack.zip
path: contrib/binary_pack/i2pd_*_android_binary.zip
+27 -12
View File
@@ -12,40 +12,43 @@ This repository contains Android application sources of i2pd
## How to build
### Install OpenJDK, g++, rename (used for building modules), gradle 5.1+, download Android SDK
### Install g++, OpenJDK 11+, gradle 5.1+
```bash
sudo apt-get install g++ rename gradle
sudo apt-get install g++ openjdk-11-jdk gradle
```
Android SDK Available here:
https://developer.android.com/studio#downloads
If your system provides gradle with version < 5.1, download it from gradle homepage:
https://gradle.org/install/
### Prepare Android SDK for building
Download Android SDK, unpack it to any directory (`/opt/anrdoid-sdk` for example) and install required packages
### Download and prepare Android SDK for building
Android SDK Available here:
https://developer.android.com/studio#downloads
Download Android SDK, unpack it to temporary directory `/tmp/anrdoid-sdk` and install it (in `/opt/android-sdk` for example) with required packages
```bash
mkdir /opt/android-sdk
cd /opt/android-sdk
mkdir /tmp/android-sdk
cd /tmp/android-sdk
wget https://dl.google.com/android/repository/commandlinetools-linux-8092744_latest.zip
unzip commandlinetools-linux-8092744_latest.zip
# install required tools
./cmdline-tools/bin/sdkmanager --sdk_root=/opt/android-sdk "build-tools;29.0.3" "cmake;3.18.1" "ndk;23.1.7779620"
./cmdline-tools/bin/sdkmanager --sdk_root=/opt/android-sdk "build-tools;31.0.0" "cmake;3.18.1" "ndk;21.4.7075529"
```
### Clone repository with submodules
```bash
git clone --recurse-submodules https://github.com/PurpleI2P/i2pd-android.git
```
### Compile application
```bash
export ANDROID_SDK_ROOT=/opt/android-sdk
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/23.1.7779620
export ANDROID_NDK_HOME=$ANDROID_SDK_ROOT/ndk/21.4.7075529
pushd app/jni
./build_boost.sh
@@ -57,3 +60,15 @@ gradle clean assembleDebug
```
You will find APKs in `app/build/outputs/apk`
### Building on Windows
For building on Windows you must use MSYS2 with `mingw64` or `ucrt64` shell and preinstalled `gcc` ( package `mingw-w64-x86_64-gcc` or `mingw-w64-ucrt-x86_64-gcc`).
Java 11 can be downloaded from [jdk.java.com](https://jdk.java.net/java-se-ri/11)
Download Android SDK command line tools for Windows, unpack and install it replacing `--sdk_root=` path.
`ANDROID_SDK_ROOT` variable must point to SDK using linux-way path, like `/c/dev/android-sdk` when SDK installed to `C:\dev\android-sdk`.
Gradle can be called with `./gradlew` command inside project root, or you can install it using `pacman` and call `gradle` like on linux.
+8 -7
View File
@@ -3,7 +3,7 @@ plugins {
}
dependencies {
implementation 'androidx.core:core:1.3.2'
implementation 'androidx.core:core:1.6.0'
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
}
@@ -14,9 +14,10 @@ android {
applicationId "org.purplei2p.i2pd"
targetSdkVersion 29
minSdkVersion 16
versionCode 24100
versionName "2.41.0"
setProperty("archivesBaseName", archivesBaseName + "-" + versionName)
versionCode 2430000
versionName "2.43.0"
archivesBaseName += "-$versionName"
ndkVersion "21.4.7075529"
ndk {
abiFilters "armeabi-v7a"
@@ -69,8 +70,8 @@ android {
}
compileOptions {
sourceCompatibility = "1.8"
targetCompatibility = "1.8"
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
}
@@ -82,7 +83,7 @@ android.applicationVariants.all { variant ->
def baseAbiVersionCode = project.ext.abiCodes.get(output.getFilter(OutputFile.ABI))
if (baseAbiVersionCode != null) {
output.versionCodeOverride = baseAbiVersionCode + variant.versionCode
output.versionCodeOverride = baseAbiVersionCode * 10 + variant.versionCode
}
}
}
+14 -14
View File
@@ -31,49 +31,49 @@ include $(BUILD_SHARED_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_system
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_date_time
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_filesystem
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_program_options
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/lib/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ssl
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/lib/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/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/out/$(TARGET_ARCH_ABI)/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/include
LOCAL_SRC_FILES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/lib/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
+19 -119
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2020, The PurpleI2P Project
* Copyright (c) 2013-2022, The PurpleI2P Project
*
* This file is part of Purple i2pd project and licensed under BSD3
*
@@ -22,135 +22,43 @@ namespace i2p
{
namespace android
{
/* Worker::Worker (DaemonAndroidImpl& daemon):
m_Daemon (daemon)
{
}
void Worker::startDaemon()
{
Log.d(TAG"Performing daemon start...");
m_Daemon.start();
Log.d(TAG"Daemon started.");
emit resultReady();
}
void Worker::restartDaemon()
{
Log.d(TAG"Performing daemon restart...");
m_Daemon.restart();
Log.d(TAG"Daemon restarted.");
emit resultReady();
}
void Worker::stopDaemon() {
Log.d(TAG"Performing daemon stop...");
m_Daemon.stop();
Log.d(TAG"Daemon stopped.");
emit resultReady();
}
Controller::Controller(DaemonAndroidImpl& daemon):
m_Daemon (daemon)
{
Worker *worker = new Worker (m_Daemon);
worker->moveToThread(&workerThread);
connect(&workerThread, &QThread::finished, worker, &QObject::deleteLater);
connect(this, &Controller::startDaemon, worker, &Worker::startDaemon);
connect(this, &Controller::stopDaemon, worker, &Worker::stopDaemon);
connect(this, &Controller::restartDaemon, worker, &Worker::restartDaemon);
connect(worker, &Worker::resultReady, this, &Controller::handleResults);
workerThread.start();
}
Controller::~Controller()
{
Log.d(TAG"Closing and waiting for daemon worker thread...");
workerThread.quit();
workerThread.wait();
Log.d(TAG"Waiting for daemon worker thread finished.");
if(m_Daemon.isRunning())
{
Log.d(TAG"Stopping the daemon...");
m_Daemon.stop();
Log.d(TAG"Stopped the daemon.");
}
}
*/
std::string dataDir = "";
std::string language = "";
DaemonAndroidImpl::DaemonAndroidImpl ()
//:
/*mutex(nullptr), */
//m_IsRunning(false),
//m_RunningChangedCallback(nullptr)
{
}
DaemonAndroidImpl::~DaemonAndroidImpl ()
{
//delete mutex;
}
bool DaemonAndroidImpl::init(int argc, char* argv[])
{
//mutex=new QMutex(QMutex::Recursive);
//setRunningCallback(0);
//m_IsRunning=false;
// make sure assets are ready before proceed
i2p::fs::DetectDataDir(dataDir, false);
int numAttempts = 0;
do
{
if (i2p::fs::Exists (i2p::fs::DataDirPath("assets.ready"))) break; // assets ready
numAttempts++;
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);
}
void DaemonAndroidImpl::start()
{
//QMutexLocker locker(mutex);
//setRunning(true);
Daemon.start();
}
void DaemonAndroidImpl::stop()
{
//QMutexLocker locker(mutex);
Daemon.stop();
//setRunning(false);
}
void DaemonAndroidImpl::restart()
{
//QMutexLocker locker(mutex);
stop();
start();
}
/*
void DaemonAndroidImpl::setRunningCallback(runningChangedCallback cb)
void DaemonAndroidImpl::setDataDir(std::string path)
{
m_RunningChangedCallback = cb;
Daemon.setDataDir(path);
}
bool DaemonAndroidImpl::isRunning()
{
return m_IsRunning;
}
void DaemonAndroidImpl::setRunning(bool newValue)
{
bool oldValue = m_IsRunning;
if(oldValue!=newValue)
{
m_IsRunning = newValue;
if(m_RunningChangedCallback)
m_RunningChangedCallback();
}
}
*/
static DaemonAndroidImpl daemon;
static char* argv[1]={strdup("tmp")};
/**
@@ -161,40 +69,32 @@ namespace android
{
try
{
//int result;
{
//Log.d(TAG"Initialising the daemon...");
// make sure assets are ready before proceed
i2p::fs::DetectDataDir(dataDir, false);
int numAttempts = 0;
do
{
if (i2p::fs::Exists (i2p::fs::DataDirPath("assets.ready"))) break; // assets ready
numAttempts++;
std::this_thread::sleep_for (std::chrono::seconds(1)); // otherwise wait for 1 more second
}
while (numAttempts <= 10); // 10 seconds max
// Set application directory
daemon.setDataDir(dataDir);
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()...");
//w.show ();
{
//i2p::qt::Controller daemonQtController(daemon);
//Log.d(TAG"Starting the daemon...");
//emit daemonQtController.startDaemon();
//daemon.start ();
//Log.d(TAG"Starting GUI event loop...");
//result = app.exec();
//daemon.stop ();
daemon.start();
}
daemon.start();
}
//QMessageBox::information(&w, "Debug", "demon stopped");
//Log.d(TAG"Exiting the application");
//return result;
}
catch (boost::exception& ex)
{
+12 -60
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2020, The PurpleI2P Project
* Copyright (c) 2013-2022, The PurpleI2P Project
*
* This file is part of Purple i2pd project and licensed under BSD3
*
@@ -22,79 +22,31 @@ namespace android
DaemonAndroidImpl ();
~DaemonAndroidImpl ();
//typedef void (*runningChangedCallback)();
/**
* @return success
*/
bool init(int argc, char* argv[]);
void start();
void stop();
void restart();
//void setRunningCallback(runningChangedCallback cb);
//bool isRunning();
private:
//void setRunning(bool running);
private:
//QMutex* mutex;
//bool m_IsRunning;
//runningChangedCallback m_RunningChangedCallback;
bool init (int argc, char* argv[]);
void start ();
void stop ();
void restart ();
void setDataDir (std::string path);
};
/**
* returns "ok" if daemon init failed
* returns errinfo if daemon initialized and started okay
*/
std::string start();
std::string start ();
// stops the daemon
void stop();
void stop ();
// set datadir received from jni
void SetDataDir(std::string jdataDir);
void SetDataDir (std::string jdataDir);
// get datadir
std::string GetDataDir(void);
std::string GetDataDir (void);
// set webconsole language
void SetLanguage(std::string jlanguage);
/*
class Worker : public QObject
{
Q_OBJECT
public:
Worker (DaemonAndroidImpl& daemon);
private:
DaemonAndroidImpl& m_Daemon;
public slots:
void startDaemon();
void restartDaemon();
void stopDaemon();
signals:
void resultReady();
};
class Controller : public QObject
{
Q_OBJECT
QThread workerThread;
public:
Controller(DaemonAndroidImpl& daemon);
~Controller();
private:
DaemonAndroidImpl& m_Daemon;
public slots:
void handleResults(){}
signals:
void startDaemon();
void stopDaemon();
void restartDaemon();
};
*/
void SetLanguage (std::string jlanguage);
}
}
+18 -64
View File
@@ -2,70 +2,22 @@
set -e
BOOST_VERSION=1.78.0
BOOST_VERSION_SUFFIX=1_78
BOOST_VERSION=1.74.0
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 {
mkdir out
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
--boost=$BOOST_VERSION \
--arch=$CPU \
--target-version=$API \
--with-libraries=$BOOST_LIBS \
--layout=system \
$ANDROID_NDK_HOME
}
function checkPreRequisites {
@@ -82,14 +34,9 @@ function checkPreRequisites {
fi
}
checkPreRequisites
cd boost
rm -rf out
function build {
for arg in "$@"; do
case "${arg}" in
case "$arg" in
x86_64)
API=21
TARGET=x86_64
@@ -112,7 +59,6 @@ function build {
;;
all)
API=16
CPU=x86_64,arm64-v8a,x86,armeabi-v7a
build_one
;;
*)
@@ -121,6 +67,14 @@ function build {
done
}
checkPreRequisites
cd boost
rm -rf out
# disable verbose output
sed -i -e 's/d+2/d+0/' build-android.sh
if (( $# == 0 )); then
build all
else
+21 -22
View File
@@ -5,29 +5,28 @@ set -e
CMAKE_VERSION=3.18.1
function build_one {
mkdir -p out/${CPU}
cd out/${CPU}
mkdir -p build out/$CPU
cd build
cmake \
-G "Unix Makefiles" \
-DUPNPC_BUILD_SHARED=False \
-DUPNPC_BUILD_TESTS=False \
-DUPNPC_BUILD_SAMPLE=False \
-DANDROID_NATIVE_API_LEVEL=${API} \
-DANDROID_ABI=${CPU} \
-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 \
../..
-DANDROID_NDK=$ANDROID_NDK_HOME \
-DCMAKE_TOOLCHAIN_FILE=$ANDROID_NDK_HOME/build/cmake/android.toolchain.cmake \
-DCMAKE_INSTALL_PREFIX=../out/$CPU \
..
echo "Building..."
cmake --build . -- libminiupnpc-static
make install
cd ../..
if [[ -n 'out/include' ]]; then
mkdir -p out/include/miniupnpc
cp include/* out/include/miniupnpc
fi
cd ..
rm -rf build
}
function checkPreRequisites {
@@ -49,17 +48,9 @@ function checkPreRequisites {
fi
}
checkPreRequisites
cd miniupnp/miniupnpc
rm -rf out
# add cmake from Android SDK to PATH
PATH=$ANDROID_SDK_ROOT/cmake/${CMAKE_VERSION}/bin:$PATH
function build {
for arg in "$@"; do
case "${arg}" in
case "$arg" in
x86_64)
API=21
CPU=x86_64
@@ -86,6 +77,14 @@ function build {
done
}
checkPreRequisites
cd miniupnp/miniupnpc
rm -rf build out
# add cmake from Android SDK to PATH
PATH=$ANDROID_SDK_ROOT/cmake/$CMAKE_VERSION/bin:$PATH
if (( $# == 0 )); then
build x86_64 arm64 arm x86
else
+27 -32
View File
@@ -2,33 +2,25 @@
set -e
function build_one {
mkdir -p out/${CPU}
mkdir output
HOST_OS=`uname -a`
echo "Configuring OpenSSL for ${CPU}..."
function build_one {
mkdir -p out/$CPU
echo "Configuring OpenSSL for $CPU..."
./Configure \
--prefix="$PWD/output" \
${TARGET} \
--prefix="$PWD/out/$CPU" \
$TARGET \
no-shared \
no-tests \
-D__ANDROID_API__=${API} \
-D__ANDROID_API__=$API \
-Wno-macro-redefined
echo "Building OpenSSL for ${CPU}..."
make -j $(nproc) > output/build.log
echo "Building OpenSSL for $CPU..."
make -j $(nproc) > out/build.log
echo "Installing to temporary directory..."
make install_sw >> output/build.log
make install_sw >> out/build.log
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
}
@@ -46,21 +38,9 @@ function checkPreRequisites {
fi
}
checkPreRequisites
cd openssl
rm -rf out output
if [[ -f 'Makefile' ]]; then
make clean
fi
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
function build {
for arg in "$@"; do
case "${arg}" in
case "$arg" in
x86_64)
API=21
CPU=x86_64
@@ -91,6 +71,21 @@ function build {
done
}
checkPreRequisites
cd openssl
rm -rf out
if [[ "$HOST_OS" == *"_NT-"* ]]; then
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/windows-x86_64/bin:$PATH
else
PATH=$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
fi
if [[ -f 'Makefile' ]]; then
make clean
fi
if (( $# == 0 )); then
build x86_64 arm64 arm x86
else
+30 -24
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2020, The PurpleI2P Project
* Copyright (c) 2013-2022, The PurpleI2P Project
*
* This file is part of Purple i2pd project and licensed under BSD3
*
@@ -59,7 +59,7 @@ JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_startDaemon
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getDataDir
(JNIEnv *env, jclass clazz) {
return env->NewStringUTF( i2p::android::GetDataDir().c_str() );
return env->NewStringUTF(i2p::android::GetDataDir().c_str());
}
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopDaemon
@@ -90,31 +90,12 @@ JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_onNetworkStateChanged
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_setDataDir
(JNIEnv *env, jclass clazz, jstring jdataDir) {
/*
// Method 1: convert UTF-16 jstring to std::string (https://stackoverflow.com/a/41820336)
const jclass stringClass = env->GetObjectClass(jdataDir);
const jmethodID getBytes = env->GetMethodID(stringClass, "getBytes", "(Ljava/lang/String;)[B");
const jbyteArray stringJbytes = (jbyteArray) env->CallObjectMethod(jdataDir, getBytes, env->NewStringUTF("UTF-8"));
size_t length = (size_t) env->GetArrayLength(stringJbytes);
jbyte* pBytes = env->GetByteArrayElements(stringJbytes, NULL);
std::string dataDir = std::string((char *)pBytes, length);
env->ReleaseByteArrayElements(stringJbytes, pBytes, JNI_ABORT);
env->DeleteLocalRef(stringJbytes);
env->DeleteLocalRef(stringClass); */
// Method 2: get string chars and make char array.
auto dataDir = env->GetStringUTFChars(jdataDir, NULL);
env->ReleaseStringUTFChars(jdataDir, dataDir);
// Set DataDir
i2p::android::SetDataDir(dataDir);
env->ReleaseStringUTFChars(jdataDir, dataDir);
}
JNIEXPORT jint JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_GetTransitTunnelsCount
JNIEXPORT jint JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getTransitTunnelsCount
(JNIEnv *env, jclass clazz) {
return i2p::tunnel::tunnels.CountTransitTunnels();
}
@@ -130,6 +111,31 @@ JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getWebConsAddr
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);
env->ReleaseStringUTFChars(jlanguage, language);
}
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getHTTPProxyState
(JNIEnv *, jclass) {
return i2p::client::context.GetHttpProxy () ? true : false;
}
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getSOCKSProxyState
(JNIEnv *, jclass) {
return i2p::client::context.GetSocksProxy() ? true : false;
}
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getBOBState
(JNIEnv *, jclass) {
return i2p::client::context.GetBOBCommandChannel() ? true : false;
}
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getSAMState
(JNIEnv *, jclass) {
return i2p::client::context.GetSAMBridge() ? true : false;
}
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getI2CPState
(JNIEnv *, jclass) {
return i2p::client::context.GetI2CPServer() ? true : false;
}
+29 -18
View File
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013-2020, The PurpleI2P Project
* Copyright (c) 2013-2022, The PurpleI2P Project
*
* This file is part of Purple i2pd project and licensed under BSD3
*
@@ -15,46 +15,57 @@
#ifdef __cplusplus
extern "C" {
#endif
/*
* Class: org_purplei2p_i2pd_I2PD_JNI
* Method: stringFromJNI
* Signature: ()Ljava/lang/String;
*/
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getABICompiledWith
(JNIEnv *, jclass);
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);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopAcceptingTunnels
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_startAcceptingTunnels
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_reloadTunnelsConfigs
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_stopAcceptingTunnels
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_onNetworkStateChanged
(JNIEnv * env, jclass clazz, jboolean isConnected);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_reloadTunnelsConfigs
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_setDataDir
(JNIEnv *env, jclass clazz, jstring jdataDir);
JNIEXPORT jint JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_GetTransitTunnelsCount
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_setLanguage
(JNIEnv *env, jclass clazz, jstring jlanguage);
JNIEXPORT jint JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getTransitTunnelsCount
(JNIEnv *, jclass);
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);
JNIEXPORT jstring JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getDataDir
(JNIEnv *, jclass);
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getHTTPProxyState
(JNIEnv *, jclass);
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getSOCKSProxyState
(JNIEnv *, jclass);
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getBOBState
(JNIEnv *, jclass);
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getSAMState
(JNIEnv *, jclass) ;
JNIEXPORT jboolean JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_getI2CPState
(JNIEnv *, jclass);
JNIEXPORT void JNICALL Java_org_purplei2p_i2pd_I2PD_1JNI_onNetworkStateChanged
(JNIEnv * env, jclass clazz, jboolean isConnected);
#ifdef __cplusplus
}
+3 -7
View File
@@ -6,19 +6,17 @@
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<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="@mipmap/logo"
android:label="@string/app_name"
android:requestLegacyExternalStorage="true"
android:theme="@android:style/Theme.Holo.Light.DarkActionBar"
android:theme="@android:style/Theme.DeviceDefault"
android:usesCleartextTraffic="true">
<receiver
@@ -47,8 +45,7 @@
</receiver>
<activity
android:name=".I2PDPermsAskerActivity"
android:label="@string/app_name">
android:name=".I2PDPermsAskerActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
@@ -56,8 +53,7 @@
</activity>
<activity
android:name=".I2PDActivity"
android:label="@string/app_name" />
android:name=".I2PDActivity" />
<service
android:name=".ForegroundService"
+187 -120
View File
@@ -1,137 +1,165 @@
0xff.i2p,apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
0xpaste.i2p,oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
102chan-memorial.i2p,t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q
111.i2p,s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
333.i2p,ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
CrustyIRC.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
aaoth.i2p,aaoth5tidbhizgerysxlfrqmg5t7jzb76zt6lattwjj3up524qwa
abdlandrubbernetwork.i2p,asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
acetone.i2p,tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
afk.i2p,chrbzqjzaxvtdonbv3mahn3mr5sstzrv3vd7cupfovp4wmkkko4q
agentoocat.i2p,voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
agoradesk.i2p,ztqnvu7c35jyoqmfjyymqggjpyky6z3tlgewk2qgbgcmcyl4ecta
algorithm.i2p,algout6clo74ywqtjyemehnf4bzhegpju5yvi6zdcfszso7iirka
aliensarehere.i2p,6t3mm7mkmjcepgwbthqvrh3kjfsipqdwqurcptwruyy73enqkawa
alphabay.i2p,tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
amogus.i2p,udcjqqoo7mc54ephxnhzaxdwtqxsgxjzvh4wr4boope6vyr4mrhq
animal.i2p,5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
anongw.i2p,owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
anonyradio.i2p,cbobsax3rhoyjbk7ii2nd2fnl5bxh3x7bbearokyxgvmudn7o5bq
anothermusic.i2p,p5mhrtnjfyonumqjzkzxakxais4fjtjgappvoioztqehaii4smpq
apophis.i2p,aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
apt.idk.i2p,s7qemnncvmy5zs3khd6qzlcnsvtu6drnkeae4r3yyc7akuzuqiia
aqua.i2p,xqwrqfuoae43grkmzs63sw5upathbjerid3ch4bhskle3bibeqba
arav.i2p,t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
archaicbinarybbs.i2p,t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
archiv.tutorials.i2p,lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
archlinux.i2p,5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
atetsu.i2p,pcr6k5krxwcvmessygjmfsbxgnyju6ipq5236ki55n2i5u4uylpq
azathabar.i2p,v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
b0nk.i2p,hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
bandura-yacy.i2p,e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
bandura.i2p,n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
banka.i2p,vuo5wavhhstnv5gehgmvhjy2jhpm3mdlcvtovfqunfzv5ngug5cq
bbs.i2p,7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
bellingcat.i2p,nk6hd2mzzoieui22xzcdiz7i2irp7gel3qscwanuqzstkdxqxp3a
bentasker.i2p,gdncgijky3xvocpkq6xqk5uda4vsnvzuk7ke7jrvxnvyjwkq35iq
bible4u.i2p,xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
bitchan.i2p,waycuw2c27ruakfblkf5tcegwmt3ot445dlfoypil6bzmm4yxg7a
blackexchange.i2p,ztgr5kghkyn43fhhkuycroxgfti6cojo3vg4wdd3usqonyvrla5q
blackgnu.i2p,hskxmtmwqnmq7pnxzntlwt36ew4nuqzmwhzbqjo233ncfoaj7mpa
blawg.i2p,uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
blog.raccoondad.i2p,ouc5i7xknchig3qdtkoydoeg2oqe354roxkjrrwzuzjcqr4xpvna
blog.tinlans.i2p,ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
blog.torproject.i2p,woelslt2oh4dn5wlxfmpjggyyu6l7ntgk3rngrooldn57x4kduma
bobross.i2p,54y7lkvndr3fa4c4fw6e5udfx37dkrh4wbdjvxbwapertwz2vtqq
boerse.i2p,7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
bofh.i2p,auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
bonobonet.acetone.i2p,keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
boran.i2p,boranyzcefxqw2ktndemy3npt4zhetpp6edldtlym2ap7n5azt5a
bote.i2p,bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
braindead.i2p,braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
brick.i2p,lfeip77mf2j75izalrenv2aft5h3mfwauqqu3nqdmoq5ldwwsvga
bridges.torproject.i2p,2tiwhibsjvys63t43xncar6y52dy3dpct6edglenhzlalmyirb2a
bublik.i2p,npx6e6trk37ovoxzk3j3yoh5huenh24avbmsgeroiejkuzb2vo6q
bugfuzz.i2p,ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
bunkerfiles.i2p,lyrhscn2hfe6mjn7jo3titioitfzcy7x23hhkksydin6ildsgxiq
bunkerirc.i2p,mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
bunkertreffinfo.i2p,ow4q3pdfdwofiqb4btopg5ou734w32k3z4hoiinsezg5zkzdlq6a
bytepay.i2p,7amc4ztwkzu3cgsaaaw3223ohuihn5hlsqc6gpf2rxdyptdkyugq
ca.i2pd.i2p,u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
cake.i2p,hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
calculator.i2p,itj23yb325dma24i4qpnhuwrz26hzpps6izkaf3mowavtvoznnva
cantonese.i2p,3r3d43jejiezwb6daqgtk23ccs4jm3bvkhxwwwnpymvjn2aymriq
carvet.i2p,r5ukmkit6n3ztitar6clfc6te3o3235ys4jdbiugnkvzmfurxbnq
cbs.i2p,u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
ccp.i2p,gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
chaox.i2p,6bcqgkedaq2krrhvidjlmdsoltmzuwaqtrafycfzbc56h5swumoq
cheapeth.i2p,x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
chive.i2p,tvsopmxs2enrjlefhuq4zthr6lkyfg7vwwosddcwt62qoncstpgq
chudo.i2p,iaublzhzc4ssa3rcrjbdigautm66mslt6g2sninugagiarl4at3q
ci.idk.i2p,antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
chmok.i2p,w7eqh6nndwk4yr5vxtbnvizgsg776vamwingijetnnqojrzjxm3q
chungus.i2p,ot7kljg7js4iedtsxl7es4wnynvxxyyaravier2dqkxmr7wsdzxa
cipherlist.i2p,gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
citrus.i2p,citrusogkieyk3hleilk5scb5a64jdzoogi5wjv35klrvmqsh5ma
cloaca.i2p,pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
closedshop.i2p,6fg67mbw2okopzyonsck4bsy3cy7l2fame56uiysr2cezhjhzdbq
cobalt.idk.i2p,m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
co.i2p,3mvo5eifcwplcsoubtvqkzdahwo2sdhfygfdde7lj2glybk4q22q
coffeejazz.i2p,mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
cofob.i2p,srac56l4oue35pbnibzk27eztkkk7pljbqoyshnwnmdct2t6avbq
coldhell.i2p,z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
community.i2p,64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
community.torproject.i2p,wmw22z5c24b35hlepzc2g6k3cpcg44rcg46qdwfo5heiplv7m4ca
contact.i2p,rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
costeira.i2p,abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
cs.i2p,kzaeunogz6s75ptgy6ifjzwwy75xdfenenswvrczd7mewxgrad5a
cyberchef.i2p,5k22kdukxkobertlyheal5aro32gls6nhgktneq3mtrracubt2bq
cyberia.i2p,3jrfzgnetbjwnyrua5jpyeqk7gb6dgfw3hu5q6lyggnwqhrury5q
darknetbible.i2p,lcaocuhvocje2gociyyuiip5sxhbgmkvaicbm6g6axtflf5wc6pa
darknetdaily.i2p,gehxh3zlns3ezyuc35bszc42hdr4g5uzasexzyrqfxwcwkeiulia
darknethub.i2p,tnh5bp4si7x47vhwk6njtimbbk77gai3abkfh2gz2dhml46uu3uq
darkrealm.i2p,gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
darktech.i2p,nlkpudgmmgsdiemnbehq5llymdmxp6tn4rzjuse7nhvavr2kgkga
dashninja.i2p,dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
datagrip.i2p,ajreyxslv6lijap2hykp3uvnnsca6fyvax76u2w6n3vexngkif4a
dcherukhin.i2p,qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
ddosecrets.i2p,vyhw7t7fbj7nghx3oe4y5komczeb5egnhuvlslpkqupaymnhtlka
deavmi.i2p,fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
deepwebradio.i2p,2nait2gdeozkgf6gyhzjfij6mwldwkxxwcvtxobb4b5q5cvtm5la
det.i2p,y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
diasporg.i2p,edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
diffyq.i2p,hkjvyuc3asswxa7uxyalrnpqab4lyvzriu2rsq6jbjc2kaoabghq
dickinass.i2p,5x55ucmwxf2fvrcboapylnrcwdvunlokq5c7mnofno3bkrlqltza
digitalsr.i2p,ldavoapfhoqpxvihdsdjjo3phlt5ujkgkzigzbesab3g42rwvbpq
discuss.i2p,wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
dist.torproject.i2p,pbhgoronppg7tq3dssnwmhzkbrscbvtmy3d5pmar5hyhnqwjj46q
diva.i2p,auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
dlms.i2p,krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq
dnl.i2p,4pjdhyaot4kktjathgjmom4ykfccezyezasbtvgdtmar2b76cpqa
dns.acetone.i2p,dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
dns.chudo.i2p,zzfmtnnmacop3xvpznc4c2jfvk226wpep2gaoanja3gfzf3ih7xq
dreadpiratessociety.i2p,fbdd4syj2v52x5zord67av2xclmjsg6bc6xdvrqmvqkyd3whij6q
donate.torproject.i2p,crxdz4n5viyy46upbd4amlzxcinkea7hwj3mkiudrw3nkpnfv42q
donotafraid.i2p,w6jq5xsixmolxvh5xtxaqolary2nmx5n4orc5bilc2j7ejcytgfa
drommedaris.i2p,2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
dumpteam.i2p,2fwlpuouwxlk2nj4xklvm43m52tqyhqnu2fcfiuv7clvf3wd5nwa
dysfinis.i2p,6dhhk2azkdqd4zt2azsmnxddhooiztnaxgz6ft5sbusb5a4vonva
e-reading.i2p,z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
e8.i2p,5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a
easygpg2.i2p,bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
ebooks.i2p,bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
ebuild.agentoocat.i2p,lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
echo.idk.i2p,63sgpiu6f33arldcxkbjsn3jgf6asyx3onjmz6j6gsk7hgbiehkq
eddysblog.i2p,ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
ei2.i2p,y4hhbqzpjdcsgvz5dsgaytttxygos6h2qt66wbbiuvcpcekdmmoq
eight.i2p,gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq
elefteria.i2p,f5s6jvekhmq7aj77xmgm7jwnw2f75ci275togqya76urm745zpdq
eleven.i2p,n2er74vsv7szwvsbsukd2lwhz5epedws7eqwahsmxy65agvjizzq
elgoog.i2p,z6hrgkg2ajmuzlrddjlffrgctx7x7fkipm6c4hdzmohyn5wkr4ya
envoicesalt.i2p,nsamcq2zidlioxlfuinqzboblpvrnhkbdwavgsvzmt3n3mhuho4a
elvn.i2p,vwjtedtgyokakyxgfeoavg535bxe7ymdvfbdwsq4iqngljqtqi3a
equwal.i2p,j7zqkvkokxmpkbqrgrkkjym4j7kzuipko4qdujdjbxnrp3qj6ooa
esperanto.i2p,2yryi2eb72hnxavjpfot7paiminbzgv5w6fv4sl5wez55ventdeq
explorer.gostcoin.i2p,ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
fabrice.i2p,fabricexhumxqngfziy4xkao5m5ez27jpih4chtmigg46eu7rroa
false.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
fantasy-worlds.i2p,62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
fiat.i2p,ldnhzi7emxnibjz6g55k2nyywzmcufnst2jy67e75o6dlvtx7wia
fido.r4sas.i2p,i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
files.arav.i2p,gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
fileshare.linuxfarm.i2p,rrx4hxejr4pod3tqrkj5ckzuauwy2aqsfvpiac2tkebp2iuv5qla
fishsticks.i2p,btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
flibs.i2p,ocdm33e3h5tdml3yyholj4objdwsrhlugfqjnqgdkslmgdzb6b3a
flibusta.i2p,zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
forbiddenhistory.i2p,nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
forum.rus.i2p,zd37rfivydhkiyvau27qxwzmerlzbqtthsa5ohtcww62zrygjaga
fourth.i2p,2cq65hjlt7nnl7mctthj7oejlgep7nh7gmqc6bnbflxw2ti4bxxa
freefallheavens.i2p,7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
freegram.i2p,euatsdg24n3j52gd6ptc6gd7hhynl2edpshqyzbehmimpvubt4wa
freehaven.i2p,y4giqqrbcb4xit5gp4y6njypupfklfdr74lfi424seenf7usjvza
freifunkmobi.bandura.i2p,5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
frontlinedefenders.i2p,pshxfoeefj67oj4jwjh3cqiztmrgcpsbuttclnc6fiwvv42p6inq
fs.i2p,ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
fuck-rkn.i2p,qmlmnhr3ul2lmuu4fjf43kmk6hf3dzsuxv5xu77vwys36xwuu4sa
fxruby.i2p,lqhdnr2pvp2igu5e2cxichboqzcgypvrbooynzgkmoze3xae6qkq
galacticreststop.i2p,uln6c2abwfzneakdz7dkfmdifwrjr3r53jvkmq6mxrjt2vflvbrq
gedanken.i2p,kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
geekcode.i2p,hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
gfap.i2p,yasbny2ndcpofprdbtv7dxdtshbebyydjv5zlnwy54gii6xnlmqa
ginnegappen.i2p,kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
git-srv.b0nk.i2p,6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua
git.agentoocat.i2p,5ihrbnmcoewaax5kxsghnmxh6p6srufhmo5pqkybdwuz4yj7efja
git.apophis.i2p,apep7dtwnuom6b7li6jirhrsygxgcdqb5svqpq6mh2rpindrzp2a
git.arav.i2p,p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
git.b0nk.i2p,7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
git.community.i2p,giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
git.i2p,giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
git.idk.i2p,7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
git.qorg11.i2p,jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
git.repo.i2p,vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
gitlag.i2p,triv6mxusoo37mzdu2grf6mguxpytkw5usl7wllrkbd6v4fn2y6a
git.varikvalefor.i2p,6sqxtpnpqqnlqbdxu7dadmorrffnpe3evbz5zye4y5kvljkzkbra
gitssh.idk.i2p,g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
glue.idk.i2p,ykbx7chmkivx3idmxd3lu2jc5w4wtlps4r3md57wszhk5w7jykyq
gostcoin.i2p,4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
gusion.i2p,4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
h0p3.i2p,k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
h13.i2p,tozb4vssixoccyqtgnpaatkg2ql52kkjwnsdo3dltezges2na4bq
hacking.i2p,uvxiknnzaxtcijzagp5xuweua2ctghmjfubqdufxilvnkajhezaq
hagen.i2p,e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
headroom.i2p,uyquth4yeh3zc4alarynrd7r3ieyz2yz4dw6toc44plybjbxjaia
harbour.i2p,zohxpycufzcslwb2dgdkfo75flahkl2q7n57ciqjooqia75ybada
hardenedbsd.i2p,6ebmdsir52bi3q4wfwug7ylouoq6gdafl3wyy6ccfmpffijhtoca
heaven.i2p,y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
hex.i2p,sw7m3pxa4d3niun7tz4keq2kwpffhpu6b4zcdeupjem2y2tmycqa
hiddenbooru.i2p,zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
hiddenchan.i2p,6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
hiddenwiki.i2p,2iz3nkopz6fxbzlcjq3ofligi7mwdseuj4ndzqljogyvsggh6dvq
hisdarkmaterials.i2p,qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
hive.i2p,2koqsqujgndkz3ozgrvx4txezvxpnm65orrr3c5itszy3vd46eea
horo.i2p,vrxh2vbqsfvh2utnt3ighimu4vrgla2mfpwksipkjsguv5vewhdq
hopjoy.i2p,3wifx34yzdnj5vw3zu3kmqyz57tvlypmdnnyalqjdcaqrege6bpa
hotline.i2p,6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
hp-net.bandura.i2p,z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
hq.postman.i2p,7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
http-false.telegram.i2p,77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
hungryewok.i2p,to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
hutor.i2p,vouttzj22msx7lcpgybfhbqoignrawsgo2sg7g7ml5kyuugbbkza
i2chan2.i2p,rqd4efol6ooxukq2jj6toml2s7uutj3kbkl6k7kfm7vpmmt2k4fq
i2p-mirror.bandura.i2p,aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q
i2p-projekt.i2p,udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna
i2pd.i2p,4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa
@@ -145,262 +173,301 @@ i2podisy.i2p,3c2jzypzjpxuq2ncr3wn3swn5d4isxlulqgccb6oq5f6zylcrvcq
i2pseed.bandura.i2p,2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
i2psurvey.i2p,pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
i2ptimes.i2p,563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
i2ptorrents.i2p,yt2qxe6nq3meofloobawy6nlnmu5pxkobqjyspdngfrasd5v7bca
i2pwiki.bandura.i2p,isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
i2pwriters.i2p,c4bktwlfzo3xcaccdw4nhtji2dmlg4sd36du2wynpclowx7kqolq
i2pyacy.bandura.i2p,owy6s5xlkf4zsrwwpemvoru6x6qmrye2pe3v4v3dncvcrzix3fiq
i2speed.i2p,532c5r6ra6rcf2mvfgtlcxbn3lpplybwxul4xsg3ps64dlx73fga
i2search.i2p,cpgupqyhxamjfgdd3qk5ux673qomu3o5kqszvq6fwuigzifkxzta
ibft.i2p,ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
identiguy.i2p,3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
idk.i2p,b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
ilcosmista.i2p,6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
ilita.i2p,isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
in.i2p,r5vbv2akbp6txy5amkftia757klgdy44s6cglqhmstpg65xycyjq
infocon.i2p,ic7rentjh6ilzz6p5kveiuyzov534ksfcexmpeniyallzf5in67a
infoserver.i2p,jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
infox.i2p,qoz4bwrtnicqyxemrxubdc65uojrqn2iem6v55b6xmxzdmfzcvlq
inr.i2p,joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
insecurities.i2p,4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
ioannism.i2p,g2246vc2tq64rmomwe47v3jnbpz3b3ec2wrrhadukj7lxmwd5aoa
irc.acetone.i2p,qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
irc.coldhell.i2p,d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
irc.crustyirc.i2p,4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
irc.echelon.i2p,ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
irc.ilita.i2p,5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
irc.kitsune.i2p,cpesprosbsuycn4ui3neidqdtqz5ufekthob7cobl3p7bcuaoh3q
irc.nerds.i2p,nlqhsdd5a7hanjea33mwizg5ixh3xcv5dczufpf3qcfpo6tx4esa
irc.postman.i2p,hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
irc.r4sas.i2p,hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
irc.rpi.i2p,ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
ircs.nerds.i2p,w4d6hj3q7eyfrkb3kcy7rox2fdjzywypvmyrudtf2q4gdzs2qlhq
isitup.i2p,xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
isotoxin.i2p,wue3ycaccf4texikza3fh6p5yrmtgnooisuypnepo5mo67lmpcqq
itphx.i2p,zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
ivorytower.i2p,fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
jakesthoughts.i2p,g7tjf655mw6wzykkux4ntkky75ovluexfz3wcpwu44mbibkcksfa
javadoc.skank.i2p,us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
javascript.i2p,idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
jbo.varikvalefor.i2p,3flbkdhahkgq47s7vytubh3v4vk3lyqgwwh6dd2k5szqlrivdmta
jdj.i2p,mqxhou4icts5tmoq7ndz56sb2ox4s2atzm2urmyn2ndrj2dzzguq
jimkiebs.i2p,epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
k1773r.i2p,zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
karamba.i2p,g2lizyuyzms7m6gv24pzege5zapbinxfd2dzbaha6k246pl2xu3q
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
kohlchan.i2p,kohlchanvn6vtsujobyw4pt5naaszmxqutd5hsdatmxfe2qaqhya
korol4ik.i2p,mr3z5lggdppc3yw2r2egstpg33ga2wfocmozac6kjmhhfk3asm2q
kurator.i2p,sp3umnyofy5ytixbqcue4jrpxixccgnrxtiuvhg6juep5s5lrs6q
kycklingar.i2p,gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
labor-union-ru.i2p,u3j76uo5awabsidre6epnm433snw5hwp3ezz33w3ca6bbgpblmzq
lainzine.i2p,5p7zrmxzxe2t5liuzfpswl7b3uublu2wrrwnkeqkzdxeidntw7yq
lbt.i2p,5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
leglasen.i2p,q6tqm2klaavlsfqjci2naul2nj57fbxvkwujmqdv53plhdxxi6mq
ledechaine.i2p,7s4vtwkvxvmigj3r4zrc7s5ajdeqtris4qnj3n35cuuvuzkpgqsq
legalcases.i2p,tms2ibdkp67ddj5ez6l4zwvw33jdpz5tmavv3kpjdcpavfh7np4q
legwork.i2p,cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
li.i2p,jwzmbp5djo5t4mkbchhejq5mrx2yye7tkbwry22scihwy5s4hcba
libremarkets.i2p,3jknyeprdyirtzhc5ysh7qma4bgswazxgeylfxjtrx2xxtycq2lq
lenczewski.i2p,7uypwo47x4vnryoz25vwisu5jpyhz7pcdvnfzvopww3wxc7wiiia
libreddit.i2p,libr7vbp7i3lsvqwy5aqgql44uxaufawi5yrloh3x7sezubsoaba
limak.i2p,jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
linuxfarm.i2p,br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
lm.i2p,yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q
lnxcloud.i2p,wryxsgqp3xl7fuohijmxlugrndtp2vixqlt2obpgriwt3fpdjn6q
lockdown.bnet.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lockdown.i2p,vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
lolicat.i2p,2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
lolicatgirls.i2p,pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra
longseason.i2p,ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
lucas.i2p,hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
lyoko.i2p,afuuortfaqejkesne272krqvmafn65mhls6nvcwv3t7l2ic2p4kq
lunach.i2p,m27cpx55hqhcfjz4u62tiynjtzqdw4s3kanxdgluuthnndiquoeq
madaidans-insecurities.i2p,4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
mail.i2p,mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
mambo.i2p,sm3mumfqv3ak5x3gdl5uq3k2ofpuzajwov3j6ool4w4tnf4n2fzq
major.acetone.i2p,majorivqe4wud5ksadgfycdkgqsesqbbnw4hpgcqfixy4sm77f4q
major.i2p,majorwsiehucyqfqbw3g2on3xqq2pwrwdd6hhyludqqr6ct7xdoa
mapwiki.i2p,p2lufcvbzq3smirs7ijwds3y34cxzchveogb4jflbpmk5pzy3wqa
marenostrum.i2p,tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
mastodon.chudo.i2p,bba3rhijp3btiinfeixrk2jzz5rilnxxrxvjjx5os23ro4n6g4cq
masflam.i2p,ucvzbekxpbzfizwndx4bgsj5bjbygdu4vc3xukiseiw5bvatxivq
mattermost.i2p,x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
max.headroom.i2p,qf4gfhjxrzkmjlcz24zy2itm6iohe3bbcij6trg62hdngeodcuna
mayvaneday.i2p,zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
meeh.i2p,4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa
metalist.i2p,wkx64uy4wzstqe3sx47xrm23h5y7g65tjithcfwtb54ykmjlus3a
maza.i2p,wiigkmy5je5ox4byjt7z7fh4btojbixbmfv4chnzqoovmgnvdpoa
mdleom.i2p,ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa
metager.i2p,4zdcetlcp3tdg5h23gd3aeyzbvodepid7a6mb3w4qvxkdnm2by6q
metrics.i2p,z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
mhatta.i2p,o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
mirrormy.i2p,tbxczhirmyaueix5ptaaduamyes2rxh3tv4ie52u2a25jj2x2hsa
minecraft.reloaded.i2p,qs5ihihltxhhfi6wesihgbvoaurqxgdpxgmwnmsk5d5beabtvmvq
minecraftlog.i2p,vu2v5xnfk4ivrcmjx4fvofzts7fj47jcq23zfpg6ajj6p3ytt3hq
mk16de.bandura.i2p,rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
moneroauth.i2p,kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
moneroexplorer.i2p,je4vbduigce7pgjivvo26d4abn3u5mfsos5zemp3a75xzcv7nm4q
monerujo.i2p,puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
mooks.i2p,6txhjmnxnrjku4cmdwtyacjzhwythc7l5euqaxieyrc4vjotqwzq
mosfet.i2p,s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
mtn.i2p-projekt.i2p,f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
mtproxy.ilita.i2p,vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
mucats.i2p,4vjquedemoznbsva4j6wnr7hyms5k3gwucmxgcnwcwweontbcrha
mumble.acetone.i2p,plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
mumble.chudo.i2p,2xoqoq5pdwqabm2xhkftcqovgx7h56w26jmyoqlqh5zlntq7njda
muwire.i2p,c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
nebula.hutor.i2p,575g5k3loi72jyq6fni6w3cdp2uoj2g63qowqjbnylbpc6evxpfa
nekit.i2p,axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
neodome.i2p,5hkhjehj3ct2pvcah7dcylwef2oti3xij5myxbv3pd7rocio5vkq
nekofiles.i2p,rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
nerds.i2p,5wpwlbka4wj74rrnwbieopppgtivbqxljznl3bs542mxtvjz7ffq
netbsd.i2p,jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
netcontent.i2p,lc7ppfwcq7dm65s57l4uxiez5dqty3bxmdnkwhvl7fv4u2mngcsa
nethack.idk.i2p,zcojbufszefu5bfht5cem3zlhfvv5y3jzpzbaccu3ehje4d7pb2a
news-i2pn.i2p,wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
news.neodome.i2p,trhwcnygfkeqjj6g4xhmrdp4gsjqsye47lsxshbmwbten4ywt5oq
newsxml.idk.i2p,dn3tvalnjz432qkqsvpfdqrwpqkw3ye4n4i2uyfr4jexvo3sp5ka
nexus.i2p,6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
nicksphere.i2p,nickg4tsj3wy3i23faxp5momjcnlwrvwl5ek5l7lkm5vrbblvgbq
nightcore.i2p,qg5l3mr6rmu6slzmopojkvl6umtthsygexmxntv2vt4rmx3kwpwa
nitter.swurl.i2p,ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
normal.i2p,j5fex634r2altzb3kjvu35qekt2r3hgsqzg5qxoy7dp53heu5pma
nitter.skank.i2p,l2aoqvwkq2prrv53cbk4k2ilxw5s2fc7eo2rjunnixp2hrv3iwda
nntp.txtcon.i2p,nntpsqgdoky2fuctc2hc6vuls2b4okxpkocic2eo66uup3dtaq7q
notbob.i2p,nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
notochina.i2p,h3xsjhfyf4wah4sou3gepzibetdntrmiax3zl3x7ozyjv5krakaa
novabbs.i2p,bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
nsa.i2p,nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
nullchan.i2p,nullz2mkp7znirlcersxpk7qmkmgcc6u3yhe462p2qkpxsdb3mja
nvspc.i2p,anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
nyaaori.i2p,vrth2eefdaica6bliuhmwetasgwdnmyhci5f3zbzq2hmcldepq3q
obmen.i2p,vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
ol.i2p,bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
omitracker.i2p,a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
openbsd.i2p,ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
opentracker.dg2.i2p,w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
opentracker.r4sas.i2p,punzipidirfqspstvzpj6gb4tkuykqp6quurj6e23bgxcxhdoe7q
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
p2p-node.i2p,e7uvwnpkzbn5zdwr76ujlhym4lk5pfkqhvfwivt3mszx7l4lpj7q
packages.i2p,2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
pagwin.i2p,qggplwxvsvctsdzgld2shfyjlokfoxur3pkfapygs26i4hwawfga
panzerradio.i2p,rawdhtmxzynf5mhrpyhnbjqqxswidr6gvvcbbt4hbpjuv5jebw7q
password.i2p,knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
paste.idk.i2p,qvgktychvlbmqwnoqgz2siuna7f5w764wgkbqcwogipfjzf3ksva
paste.r4sas.i2p,csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
pehotin.i2p,e6tfct7qvso7qrseseubsk5hxn3wejkdivojqeed6i7hbj4dsmqa
pharos.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
pharoz.i2p,vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
pi.linuxfarm.i2p,qtv647munv2c6bhdliy2ru754ltjucuyk766eqqfmervbi4z75yq
photosarchive.bentasker.i2p,w4lnfcg2chbkwigogba7q3o5pgtq2baip7z3z4afaj65axhyc5ca
phreeroma.i2p,44fu2fhq6q36re2xqnkuievdfsroi5xchgbowkqib6ekak3ynm6q
pizda666.i2p,bczoowsc6ik7a4mya45qnlq5n6c6llpd5ni3u67r4r4drgohyira
pizdabol.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
planet.i2p,pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
play-it.i2p,oxt7gdu663baue7lugdmgxqkmtrfdy2izluneqdrpv4pfslxjlta
pocketlint.i2p,pocketzsq4r4fef2bw57sn4paufjh5dw75azu5sr4hk2qwdvucsa
podger.i2p,56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
polistern.i2p,ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
pomoyka.i2p,omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
pool.gostcoin.i2p,m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
pop.postman.i2p,i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
pravtor.i2p,2sr27o5x2v2pyqro7wl5nl6krrsbizwrzsky5y7pkohwh24gn6xq
porest.i2p,46l7beij4rerlbuj7xmcngarlkhlpgaztywrleiwagjuiipcebbq
privacy-handbuch.i2p,3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
privatebin.i2p,e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
privetalena.i2p,alenabivbkqo2xoikterpsc3gquqzacxfef6usbifrez5ioegjjq
programthink.i2p,programygfltn24q6foacm5gbuo3z2geub2k2k366llx3bph4ula
project-future.i2p,ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta
proof-of-loss.i2p,ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
prophetgram.i2p,cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
psv.i2p,pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
psy.i2p,s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
psychonaut.i2p,laf5nvzn4wz7ndgtdysmhvebpyjo3fkth7i4z4c2kp7su3wi6e2a
psyco.i2p,eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
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.nerds.i2p,tpbfxyluryodtfxdpwsfvw7fl35p5ezrjk3tlcv2atlmc4fl2ctq
radio.r4sas.i2p,cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
radioliberty.i2p,libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
radioplayer.i2p,5tmr7qghx5eecoyvi77rsy7fqxeoyqcdpvg5wasoitn6ywkyobbq
raklet.i2p,j3vnnihngp3ti2trktoxlyblltjn6gxscbmasb5zun5pdndkxkoq
ramble.i2p,smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
ransack.i2p,mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
rany.i2p,tcnai23pvo6asfmefl23cllpp3vgrgp2jhtjare7vhloyzwm2pma
realsite.i2p,ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
redzara.i2p,ty7bt62rw5ryvk44dd3v5sua6c7wnbpxxqb6v4dohajmwmezi7va
recipebook.bentasker.i2p,ajagzagm5uyc2oac32ycx42znnatejliqorbk3y66xt25guxnh2q
reg.i2p,shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
reg.rus.i2p,k2r2wda4eavt4hoq5hptprqfmixusirq3gi5bl3z2pqzcd6felwa
reichsmarket.i2p,2uj4xomizi75swws7q5icmnavekb2w2ws2wlcqtyltde7pgymraq
reloaded.i2p,wxbh2yq5twqinsw3ztjogqovvdd6h6j5uxeg3lh53x4w7klzv3tq
repo.i2p,uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
repo.i2pd.i2p,ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
repo.r4sas.i2p,ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
retrobbs.i2p,mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
retrobbs2.i2p,ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
retrosharenodezero.i2p,2new3x3t6kudc4i7mfvs7k3kltefhqjcj3lq5cowt66wy2dp6kca
rideronthestorm.i2p,xrdc2qc7quhumhglpbcuiqxr42nuffv4xj4a73jbr4ygepitibqq
rpi.i2p,56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
rslight.i2p,bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
rufurus.i2p,7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
rus.azathabar.i2p,6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
rus.i2p,gh6655arkncnbrzq5tmq4xpn36734d4tdza6flbw5xppye2dt6ga
rutor.i2p,rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
ryona.i2p,mzt45ux3budteuxz2b4xkwnphgspgljuwp3rxm3d2yr2sij6wopq
s01.nullchan.i2p,mirrooeo34iokdgf3wno4ubx6x6uj7f2pqyjmmrvtg4m4parvguq
salama.i2p,4uoef63gv2sg6dtqmom5oypt6taypklekvlejfox56eiylprzrmq
samainu.i2p,zlwgylqmlx6wxwnxf3mx64jl6yp6wv4sjeiidqw7k3n2wh2m46pa
satoshivision.i2p,rn5c533w5baghskquu3gtqlehwjkstzzbk5chbc5qhivsz3a3nqq
scamdemia.i2p,fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
searx.swurl.i2p,ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
secretchat.i2p,cl3j2zxhpw6u6jevny45i557ojhwfxn4g375nnuqhy6lp27mry2q
secretvitebskchat.i2p,6tc7fmbokb3hzajcgpxypxt2excj6tozgrjjofvjcak433dim47q
secure.thetinhat.i2p,4q3qyzgz3ub5npbmt3vqqege5lg4zy62rhbgage4lpvnujwfpala
scanner.linuxfarm.i2p,kojzsg33v2zxwqp3twpqzfvflaeoxgzxrl3douf2x7xv27ggfnaa
secret-site.i2p,p6hbhjgdv2e6gyydrqh2ztl6onxnyilmj4ts7d7aj3uqssr7vvfq
securityinabox.i2p,np3agu3ekd3isrzqzvsw4llwlr3hg5xbw7n7a23n2zfvhhm4e7iq
serien.i2p,3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
sftp.i2p,sftp22f3a5xwe6mz4q7ybvcn4ptrnwidcgzjmd2jz6ocfxsjxnoq
seven.i2p,anqf44jmf7kby2qcvcx7gug6nuyansdu4msdbnp5kojom27rrm7a
shadowwiki.i2p,63gxkfc4hlcbxrdoepw2i2hyxai5qkxmi636ag3y7sf5tq3imoya
share-les-miquelots.i2p,uxwha4jswnt6jrznj7yhfwldfilvyasnjruimmbylbvq5qykpbpq
sharefile.i2p,o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
shoieq3.i2p,3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
shota.i2p,75xxnc5hkeg7a3z5re4cpybbxt7te3p2krgrrgoka4hib2nr7k4q
silkr0adrel0aded.i2p,rdqt2xxpsc5tzj7gjvcrpi7jea5gtbetgx7w2npobveg5teatdvq
silkroadreloaded.i2p,hyn3mwmyeovcn2paujxur2eury2ufqpoahvbbqshfoggljn25tra
skank.i2p,qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
smtp.postman.i2p,3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
solr.chudo.i2p,utl2ds5vztfomjgerohvxrgaq3g6zrspyku4s35knfmu4rihhgxq
snippets.bentasker.i2p,vgduvgxudaceslvwlvtda6b4csobvczygcqpklm3yeuke2zgvcaa
speed-test.i2p,7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
spirech.i2p,labhopl3kd3eo7cj7kqa6nkwpczc2qj52i37jky77ugqazy7dmna
spoika.i2p,u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
sportloto.i2p,sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
spyware.i2p,36j7itgqmnbinh3ortujakkvqdrbhlqu4b2qcwb46mue3dpzxqfq
ssh.b0nk.i2p,fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a
srr.i2p,t6vdyn5sbtorn3bp6i7ndnv4lmxhk4qnqmyqlaxykdhcwatchlza
ssh.vimarsha.i2p,zttfrujqde5ddndps4stdspvro3khawdhcdgf73pae4i7dnvv4ea
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
support.i2p,supportpwqa4cc7q43hb67tgd3dvntrwsy6725iufahm7kiluysq
support.torproject.i2p,6r7j6jlbrxb35k32zktopvr3w3pidm2baymwol33hq7xmy2sqm3a
syndie-project.i2p,xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
syndie.echelon.i2p,vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
t-ru.i2p,bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
tabak.i2p,y5o2vwb6kart7ivpnbpk4yte3i7kf2dsx7fy3i6w7htqtxhmbzia
tahoeserve.i2p,yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
tails.i2p,5d7sl23h4uer4czjdtlomkb6ykeiss6vqkxzausp6f6gmty2plaa
takipsizad.i2p,ufkhvmacngokfufxinfkdvfmbpvwvog5vrjiavw5zv32jnekcxia
talk.community.i2p,talkakxfa6ihzn2mbzar6q5chdtkpnjp633w3tarul2bb6tfmoua
talks.i2p,v45dmrrbjg3ucrazgl3t2tktyjajo7gvfexhmbdos3pi5kfuocaa
teddit.i2p,k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
telegram.i2p,i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
term99.linuxfarm.i2p,dg3mso5klqqgcngalxdh5yvkwv56ou7yotsqxw3twneojytiehra
tesla.i2p,em2x6bwsbelqfvlgypcywwoov2rib7mvxiy775dmpfs76m4zcdtq
testbox.i2p,voa7ebdulhpcsupz4zqeyikdjztyhiutgvyri4qxqapistjwptbq
testmk16de.bandura.i2p,gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
textboard.i2p,7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua
testshark.i2p,u64ropzplqkncdmi4wcknqehjqudxb6elyut2k44ocvgx7ilpgia
thealiensarehere.i2p,6t3mm7mkmjcepgwbthqvrh3kjfsipqdwqurcptwruyy73enqkawa
theyosh.i2p,5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
thornworld.i2p,vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
ti2.i2p,6r77rkt53xcjdpaaihttqjmzigvapmdczkekpogf5epdtcvrhgca
tictactoe.i2p,cbr6sya637smfifq2hxj3kzqw5yv7aws2uknmi6ln45r65xej4aa
tmpsend.i2p,r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
tomasgl.i2p,tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
tor-gw.meeh.i2p,ounrqi7cfemnt66yhnhigt2u27fkctbvct527cp2522ozy3btjza
torrents.chudo.i2p,5ooemze55xiicrlvzjmz3il23dpo4fz5iqr7hmzrygdepan5m3lq
tosios.idk.i2p,4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a
torch.i2p,vdpmmcq4ysca5rdczr5lqohjtaf5togdy5itoos54s6nn6xqox3a
torproject.i2p,torprojaxvxevo4c5qvor3ywgasxkubs5ukazrpq3qcxed6lgbrq
torque.i2p,hc3mefp6cq2btwmmjl76atgtftzswu774dyv4a3qkl34wn4g6vta
trac.i2p2.i2p,i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
tracker.chudo.i2p,swhb5i7wcjcohmus3gbt3w6du6pmvl3isdvxvepuhdxxkfbzao6q
tracker2.postman.i2p,6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
traditio.i2p,wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
translate.idk.i2p,g2l2zr4moqsk2bec346i5tfd2o22cozm5b2k4ifdhbcayazoz2ea
triplechan.i2p,blrplscno3ecqb5ihhg73kufmypydjlv4r4gqiajftup5wmcdwna
ts.i2p,nebcjgfx3f7q4wzihqmguwcdeopaf7f6wyk2dojw4bcuku472zxq
tube.i2p,vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
tumbach.i2p,u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
tutorials.i2p,zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
tv.i2p,znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q
txtcon.i2p,txtcons5lrayl7bq7zsk2mt24clocassid3kh2rvyd3rd2xeklpq
tymcz.i2p,pyog2x6v3eyna5pdr765osut52tpbmaheyi5atbqfaixmcq4dp7q
ukrainews.i2p,2bocbwrmakg252kicblp5i42feao7qpcw3xppms2i5oevkgelpsa
umbra.i2p,xunb4chkeo5xxpfkwrkaqb5etmqpp4ddgvcmy7qkvtxhk5ihck2q
unqueued.i2p,3gvn4kwd7z74jxc2sn4ucx52dpvpscxbzjluux3ul4t3eu5g64xq
upload.arav.i2p,a5txjx3gjrnw6do4zr66wpwlayxt3dg7kb43wbr3fjp53mkfkbdq
vanity-eth.i2p,6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
volatile.i2p,q6rve733tvhgyys57jfw4fymqf3xsnza6dqailcdjcq7w4fa5m3a
vxempire.i2p,6z3jnz6mfbdibtebxkhkm45hos6yue5x3yvwljjwy3jtbv6in46q
varikvalefor.i2p,yn7ovvjf4nhf7hhk6qqph7utcoce4f2j325rfeuyapw3emlqfqna
vimarsha.i2p,ag5tjs7c4skyt6gh54ebhffgxt2gof2ood4psbciv32l6mg6fzia
vps.webhosting.i2p,kfqflh2y36jzp26vloaptqpgwtvw4qtz232wv53xxbggkydhpkaq
walker.i2p,5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
warez.i2p,warezzqqhsqr6z2isn437osml6liwx3f4oqcp44dhres3jpld2hq
wbnet.i2p,2deeocx7jmrbmjxcpkxecw7yy2z7ybzwz5i6mg3ska3p3d2dx45q
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
wikiless.i2p,x33lx4h6d7h6xs4eiqwhvaxn3ea5gn2ifmu3jobnvuvn4k4aej7a
wikimirror.i2p,2bhh73qhuwjkznnnzjfgo4buo7xy5l4ubhzt3oh23adksscx6gmq
wlm.i2p,nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
woah.i2p,yh2eixirhlhvp7exrtalcwgeirg3fxi2vnumsbp7w6tily5oiwwq
wopen.i2p,xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
www.imule.i2p,657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq
worcester.i2p,5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
wordle.i2p,games3kuxvadv3y6tfowiynk2cnbuokrn2guvhkigqulmrvfnyla
www.infoserver.i2p,fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
xadmpp.i2p,jb67tnpn67i3pwcuf45rtwu7gq6nkrs72iznhnakpkdzb6dkgfmq
xd.i2p,jynrjzdp5qajf2jsdif6bgpijuk72zmuiohq3o7omeksw4pdgejq
xeha.i2p,oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
xinku.i2p,xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
xmpp.chudo.i2p,gppd6rx5jkutmt637odkbxh4tjqxy63i4amyhllqn424yt7pd2hq
xmpp.ilita.i2p,2dpg43zlfophx5jo4xeqc6cx3zm4x3tfdoinbfuzychf5lwn3dhq
xmpp.pubsub.i2p,yxbp3sn2x5t6k7hcxsg4njmaxjomr2wvh4xeldxjlij3ms3sikgq
xmpp.reloaded.i2p,hioylmlm3lf3qgp2ncmym3igx6eyytlwioeq2fip4cwpzjtyxfuq
xmpp.rpi.i2p,3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
xmpp.xadmpp.i2p,s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
xmpp2.reloaded.i2p,ufeplugqot5e22kottvejlw7yq24kynw5v5faulehc6n2zs62ura
xmrnode.i2p,moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
xmrradio.i2p,olwxvhwaq422rcrlmvh6wgrdczyfyeag645du4cwncutqblkfmaq
xn--80ahmijpip2p.i2p,assist2a3jsikp7ufmzpa56mlflhi5kmoack5dm6ua5x2hbgckua
xn--hallchen-q4a.i2p,h5c4idxoweambtqajx3ecpu4iw425mfzckb4rrcvftrr7d2utfgq
xn--n3h.i2p,6a5bfeil667ksrdgg5hx5x2dse2v6ovnsng3r2k5gp5tb4z67egq
xn--r2beng6b4e.i2p,ag5tjs7c4skyt6gh54ebhffgxt2gof2ood4psbciv32l6mg6fzia
xsden.i2p,4dofwhzlkz3k3sedwzs2sx2fudq3jfvaygffc6kp6hsawmfmz6qa
xx.i2p,a7hrmb4kbftyk4ovr2la6azi7vjfqwt2zlckos4svoaclqu52j6a
yacy.idk.i2p,7ccyylqqxnyexz2acn3nqjdlwqmd5pororbovrarar2dkw3ddrbq
yat.i2p,zxg4p6obolmrnkygoodqbdnikzychk5sild3o753hmaljuosl2fq
yellowonion.i2p,7l4kgsyatdmntck22i27oui3llftjim33ydav7kdew6ewfqvjzfa
yggdrasil.acetone.i2p,tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
yggdrasil.i2p,7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
yggnet.i2p,deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
yiffme.i2p,sm6dk2ovxhgdjuu3rmqussc4e2xkfz6rmhng6i2t7parcb4v4y3a
yoitsu.i2p,yaaqmj55lsi5c5nukf4hsrift2zslnqkbcghwvjlaqayidtyctwa
yourdomain.i2p,witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
yt2mp3.i2p,7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
zab.i2p,n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
zerobin.i2p,3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
zeronet.i2p,fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
zetareticuli.i2p,odleh3zcsmyhck4rgrxmjsfo4o33cthxyy3kkgz5vdrqlzdspxma
znc.str4d.i2p,ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
zx.i2p,4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
zzz.i2p,lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
1 0xff.i2p apo53zid3xe7rewxjw7whdym2rmyowsj7jeoiwrl5zlmf7oqrxwq
2 0xpaste.i2p oyfcxkrmrnaplu24aobv7s36hm3vyxszlbees4hl6kpk6izwa5da
3 102chan-memorial.i2p 111.i2p t6uwxydnfd7mo2knxklmnrudxafe4mw5ojiqikj7xfrc4ynltz3q s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
4 333.i2p ctvfe2fimcsdfxmzmd42brnbf7ceenwrbroyjx3wzah5eudjyyza
5 CrustyIRC.i2p 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
6 aaoth.i2p aaoth5tidbhizgerysxlfrqmg5t7jzb76zt6lattwjj3up524qwa
7 abdlandrubbernetwork.i2p asnpognglrcx34l5vywatfkoaashziedfylun4w6cf5wue5gujca
8 acetone.i2p tzwfy3dnqtm4wuofmcp3gcb5qjcytri635ei7kw7yrl6n3ul5n2a
afk.i2p chrbzqjzaxvtdonbv3mahn3mr5sstzrv3vd7cupfovp4wmkkko4q
9 agentoocat.i2p voanmdeayaccgaxumtehvxxiv4sdscsixoxsqmhh7nfwhusrvfaa
agoradesk.i2p ztqnvu7c35jyoqmfjyymqggjpyky6z3tlgewk2qgbgcmcyl4ecta
10 algorithm.i2p algout6clo74ywqtjyemehnf4bzhegpju5yvi6zdcfszso7iirka
11 aliensarehere.i2p 6t3mm7mkmjcepgwbthqvrh3kjfsipqdwqurcptwruyy73enqkawa
12 alphabay.i2p tnaefzkcnhryeusi7hdpqujqiqmnbtah3dmjcg3gvezohunjuxbq
13 amogus.i2p udcjqqoo7mc54ephxnhzaxdwtqxsgxjzvh4wr4boope6vyr4mrhq
14 animal.i2p 5iedafy32swqq4t2wcmjb4fvg3onscng7ct7wb237jkvrclaftla
anongw.i2p owrnciwubb3f3dctvlmnaknb6tjdxtlzvv7klocb45mmhievdjhq
15 anonyradio.i2p cbobsax3rhoyjbk7ii2nd2fnl5bxh3x7bbearokyxgvmudn7o5bq
16 anothermusic.i2p p5mhrtnjfyonumqjzkzxakxais4fjtjgappvoioztqehaii4smpq
17 apophis.i2p aybax36xssplylkueyy3szi3n2spd7mgxcmzbawapg3vxznwlkda
18 apt.idk.i2p s7qemnncvmy5zs3khd6qzlcnsvtu6drnkeae4r3yyc7akuzuqiia
19 aqua.i2p xqwrqfuoae43grkmzs63sw5upathbjerid3ch4bhskle3bibeqba
20 arav.i2p t42fkp6zp5dfqywantq3zp427ig3q2onrmfv246tyaztpg4ckb5a
21 archaicbinarybbs.i2p t7o2tw36cffedgfr6kahewpkrntofnliuapji2e4rucl3os55epa
22 archiv.tutorials.i2p lldr2miowq6353fxy44pnxfk37d6yn2f6kaivzecbmvvnnf5exyq
23 archlinux.i2p 5ms4k3cn5dx53b46hqgwogigsjhtinuf4g6fdr6pplkldi5vjcxa
atetsu.i2p pcr6k5krxwcvmessygjmfsbxgnyju6ipq5236ki55n2i5u4uylpq
24 azathabar.i2p v35rwae5zb6fcgd7phzkireghtuen43umi7l5yvahm7ezkqg5uwq
b0nk.i2p hxkzqqo4smyspzx7qv2wqqnbxod3ytabpat2ea5ilh7byvymdz2a
25 bandura-yacy.i2p e4t4yer7o6dbttk4xmpsfd56vhuse5upksgjqejnrvrdz35ia2qq
26 bandura.i2p n6eqyu6glmtgt544ys43ggrozhpiw7biyrelrvmkmg7llfcjwm4a
27 banka.i2p bellingcat.i2p vuo5wavhhstnv5gehgmvhjy2jhpm3mdlcvtovfqunfzv5ngug5cq nk6hd2mzzoieui22xzcdiz7i2irp7gel3qscwanuqzstkdxqxp3a
28 bbs.i2p bentasker.i2p 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua gdncgijky3xvocpkq6xqk5uda4vsnvzuk7ke7jrvxnvyjwkq35iq
29 bible4u.i2p xs6lr2g5jiaajtb3nkno2zmy34eipitrggooxb7wtey7uko7bqmq
30 bitchan.i2p waycuw2c27ruakfblkf5tcegwmt3ot445dlfoypil6bzmm4yxg7a
31 blackexchange.i2p ztgr5kghkyn43fhhkuycroxgfti6cojo3vg4wdd3usqonyvrla5q
32 blackgnu.i2p hskxmtmwqnmq7pnxzntlwt36ew4nuqzmwhzbqjo233ncfoaj7mpa
33 blawg.i2p uq5hbw7bplczde3pbugbxnvtqbjjdba6wfggpvbmaghuwoulputq
34 blog.raccoondad.i2p ouc5i7xknchig3qdtkoydoeg2oqe354roxkjrrwzuzjcqr4xpvna
35 blog.tinlans.i2p ylkch2nkrwehakx4z6wiyjbeqwlgasknukdkex6r6yq4xusrjnda
36 blog.torproject.i2p woelslt2oh4dn5wlxfmpjggyyu6l7ntgk3rngrooldn57x4kduma
37 bobross.i2p 54y7lkvndr3fa4c4fw6e5udfx37dkrh4wbdjvxbwapertwz2vtqq
38 boerse.i2p 7633w56hd53sesr6b532r5qlbdnvyl5bnvama6ign6xryaxol4rq
39 bofh.i2p auvuinzogu6gc4pwsgbjijuszxgcjygciu2wy53pfz7mo5nfpc5a
40 bonobonet.acetone.i2p keihicq2fcfooqvdqtufjpigg3ge5mw5mjdpdnxy5utazrqkcnxa
boran.i2p boranyzcefxqw2ktndemy3npt4zhetpp6edldtlym2ap7n5azt5a
41 bote.i2p bhjhc3lsdqzoyhxwzyrd63kvyg4br6n2337d74blyintae66mr2a
42 braindead.i2p braindsku6jnpmnaats2cu2qzax4pga6dwhx436kxanpxgx2pcyq
43 brick.i2p lfeip77mf2j75izalrenv2aft5h3mfwauqqu3nqdmoq5ldwwsvga
44 bridges.torproject.i2p 2tiwhibsjvys63t43xncar6y52dy3dpct6edglenhzlalmyirb2a
45 bublik.i2p npx6e6trk37ovoxzk3j3yoh5huenh24avbmsgeroiejkuzb2vo6q
46 bugfuzz.i2p ubszn4gsf22vga67rvzzlg4qj2bfcq6o52fmxz46xruawqm6z7rq
47 bunkerfiles.i2p lyrhscn2hfe6mjn7jo3titioitfzcy7x23hhkksydin6ildsgxiq
48 bunkerirc.i2p mdt7h4zsbwafsikg3r4iiqh5wriaisznjj5d3f3lyeahipudsxoq
49 bunkertreffinfo.i2p ow4q3pdfdwofiqb4btopg5ou734w32k3z4hoiinsezg5zkzdlq6a
50 bytepay.i2p 7amc4ztwkzu3cgsaaaw3223ohuihn5hlsqc6gpf2rxdyptdkyugq
51 ca.i2pd.i2p u5safmawcxj5vlrdtqrsqbsndkr5cfenpicgg5euu4xqm73yicba
52 cake.i2p hpdbe6o6qqqqvgygbcznssat46kybsm7rcauofqaoly4ajdi2jeq
53 calculator.i2p itj23yb325dma24i4qpnhuwrz26hzpps6izkaf3mowavtvoznnva
54 cantonese.i2p 3r3d43jejiezwb6daqgtk23ccs4jm3bvkhxwwwnpymvjn2aymriq
55 carvet.i2p r5ukmkit6n3ztitar6clfc6te3o3235ys4jdbiugnkvzmfurxbnq
56 cbs.i2p u3lp7wazvq6opodzwjg5sc5w5kwxehmxd4wcdpt4s4j2k4dx4apq
57 ccp.i2p chaox.i2p gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq 6bcqgkedaq2krrhvidjlmdsoltmzuwaqtrafycfzbc56h5swumoq
58 cheapeth.i2p x6pq4h33wu6txj6vvpgywrgew2y6cwzs5l63w726paqsvogeqdra
59 chive.i2p chmok.i2p tvsopmxs2enrjlefhuq4zthr6lkyfg7vwwosddcwt62qoncstpgq w7eqh6nndwk4yr5vxtbnvizgsg776vamwingijetnnqojrzjxm3q
60 chudo.i2p chungus.i2p iaublzhzc4ssa3rcrjbdigautm66mslt6g2sninugagiarl4at3q ot7kljg7js4iedtsxl7es4wnynvxxyyaravier2dqkxmr7wsdzxa
ci.idk.i2p antkos5hjxraxduyewoo4qwwr6vyceiggd562nctvmtpnfjsuqlq
61 cipherlist.i2p gbm4kiotqjqmklwsp3qibdtn7mhatjsyeebbb5zxwjlp6w22fuga
62 citrus.i2p citrusogkieyk3hleilk5scb5a64jdzoogi5wjv35klrvmqsh5ma
63 cloaca.i2p pnsyl5plmmwuqfvpg36cbvvhe6mpoy2j5zzemfb5sfbpvklyozta
64 closedshop.i2p co.i2p 6fg67mbw2okopzyonsck4bsy3cy7l2fame56uiysr2cezhjhzdbq 3mvo5eifcwplcsoubtvqkzdahwo2sdhfygfdde7lj2glybk4q22q
cobalt.idk.i2p m63cbwomq4e4q6df3n6idnuveqa4yastxnls6kacseuutrp5um4q
65 coffeejazz.i2p mrt55kugqimzxeittpwwjwznejs3b3zxcfht3hp6dlujetyqh5ua
cofob.i2p srac56l4oue35pbnibzk27eztkkk7pljbqoyshnwnmdct2t6avbq
66 coldhell.i2p z2kerfik5dzqd2kj74cuhhtptkrizsblc5nm6ke2gcnj5mnwgwja
67 community.i2p 64luakopnvffchxnibn3d2p7uqxixtyuallfqfgifkkcmfcrczxa
68 community.torproject.i2p wmw22z5c24b35hlepzc2g6k3cpcg44rcg46qdwfo5heiplv7m4ca
69 contact.i2p rn5hqxierph4eegft3hiiqkgn2zyyfgj2c6pq75bkahl3pu5shvq
70 costeira.i2p abhty5xlmnyab2kqdxcd56352kcescxoux3p6dbqdrghggyygnxa
71 cs.i2p cyberchef.i2p kzaeunogz6s75ptgy6ifjzwwy75xdfenenswvrczd7mewxgrad5a 5k22kdukxkobertlyheal5aro32gls6nhgktneq3mtrracubt2bq
72 cyberia.i2p 3jrfzgnetbjwnyrua5jpyeqk7gb6dgfw3hu5q6lyggnwqhrury5q
73 darknetbible.i2p lcaocuhvocje2gociyyuiip5sxhbgmkvaicbm6g6axtflf5wc6pa
74 darknetdaily.i2p gehxh3zlns3ezyuc35bszc42hdr4g5uzasexzyrqfxwcwkeiulia
75 darknethub.i2p tnh5bp4si7x47vhwk6njtimbbk77gai3abkfh2gz2dhml46uu3uq
76 darkrealm.i2p gbh4eerxdsph7etxsxznfhvmuiz54trlkenakqep343u4xcoekzq
77 darktech.i2p nlkpudgmmgsdiemnbehq5llymdmxp6tn4rzjuse7nhvavr2kgkga
78 dashninja.i2p dzjzoefy7fx57h5xkdknikvfv3ckbxu2bx5wryn6taud343g2jma
79 datagrip.i2p ajreyxslv6lijap2hykp3uvnnsca6fyvax76u2w6n3vexngkif4a
80 dcherukhin.i2p qa4boq364ndjdgow4kadycr5vvch7hofzblcqangh3nobzvyew7a
81 ddosecrets.i2p vyhw7t7fbj7nghx3oe4y5komczeb5egnhuvlslpkqupaymnhtlka
82 deavmi.i2p fh5r3hlkkwh7udtjeqmekmq4qd62jnjqmnqob5hm3ndiuo6lauza
83 deepwebradio.i2p 2nait2gdeozkgf6gyhzjfij6mwldwkxxwcvtxobb4b5q5cvtm5la
84 det.i2p y6d4fs3rpqrctuv77ltfajf5m4tl4kzcu7rtwhxgiohylfxxow4q
85 diasporg.i2p edvccoobtjukjgw2os5eetywanbb2mpag5aknkrpia5qx2koksua
86 diffyq.i2p dickinass.i2p hkjvyuc3asswxa7uxyalrnpqab4lyvzriu2rsq6jbjc2kaoabghq 5x55ucmwxf2fvrcboapylnrcwdvunlokq5c7mnofno3bkrlqltza
87 digitalsr.i2p ldavoapfhoqpxvihdsdjjo3phlt5ujkgkzigzbesab3g42rwvbpq
88 discuss.i2p wrnowoalzz5mquzaygmcrm4feuqco5gsxyn42fizbqjaprtdx5gq
89 dist.torproject.i2p pbhgoronppg7tq3dssnwmhzkbrscbvtmy3d5pmar5hyhnqwjj46q
90 diva.i2p auoqibfnyujhcht4v3nzahpqztwlyomesfywltuls5bqqi3nd3ka
91 dlms.i2p dnl.i2p krsbxsaw3lnb6ctdpydygm2gqobjcpm4pf367ddo5hylbscnynmq 4pjdhyaot4kktjathgjmom4ykfccezyezasbtvgdtmar2b76cpqa
92 dns.acetone.i2p dnsgzxkak4zlrrs5tfh42ob57iley4xrp7srrltn2j2yl2ynbiaq
93 dns.chudo.i2p donate.torproject.i2p zzfmtnnmacop3xvpznc4c2jfvk226wpep2gaoanja3gfzf3ih7xq crxdz4n5viyy46upbd4amlzxcinkea7hwj3mkiudrw3nkpnfv42q
94 dreadpiratessociety.i2p donotafraid.i2p fbdd4syj2v52x5zord67av2xclmjsg6bc6xdvrqmvqkyd3whij6q w6jq5xsixmolxvh5xtxaqolary2nmx5n4orc5bilc2j7ejcytgfa
95 drommedaris.i2p 2cth2loujyjvouft5z7cr2ajdv7r46tdxxew5xoqwpprucd7nf2a
96 dumpteam.i2p dysfinis.i2p 2fwlpuouwxlk2nj4xklvm43m52tqyhqnu2fcfiuv7clvf3wd5nwa 6dhhk2azkdqd4zt2azsmnxddhooiztnaxgz6ft5sbusb5a4vonva
97 e-reading.i2p z54dnry6rxtmzcg7e6y3qtsig5yf5fmehuvakcg5wnuahx3iafuq
98 e8.i2p 5spb6cl4ffallahbaj2yadag2zgyuciouhz2rdcnyjcf5phqcu4a
99 easygpg2.i2p bwxry5alzx5ihgrd3glah4eotddblzhalvpheppnw4zcajzqoora
100 ebooks.i2p bvpy6xf6ivyws6mshhqmdmr36pruh2hvoceznzeag52mpu647nzq
101 ebuild.agentoocat.i2p lu56romn7lp6ggjtofbwwsaee6kcfonci2ezi5jb5nyo3vdo7vkq
102 echo.idk.i2p 63sgpiu6f33arldcxkbjsn3jgf6asyx3onjmz6j6gsk7hgbiehkq
103 eddysblog.i2p ieac3ub4g5sy3wuhsbqfembnpp7f3a37xgcx537ytzsmgfzexnbq
104 ei2.i2p elefteria.i2p y4hhbqzpjdcsgvz5dsgaytttxygos6h2qt66wbbiuvcpcekdmmoq f5s6jvekhmq7aj77xmgm7jwnw2f75ci275togqya76urm745zpdq
105 eight.i2p eleven.i2p gd3s5oigjkgoiavxzjvyqb6y4yz5c7paccgd5pxnyhu7ix2zk7qq n2er74vsv7szwvsbsukd2lwhz5epedws7eqwahsmxy65agvjizzq
106 elgoog.i2p z6hrgkg2ajmuzlrddjlffrgctx7x7fkipm6c4hdzmohyn5wkr4ya
107 envoicesalt.i2p elvn.i2p nsamcq2zidlioxlfuinqzboblpvrnhkbdwavgsvzmt3n3mhuho4a vwjtedtgyokakyxgfeoavg535bxe7ymdvfbdwsq4iqngljqtqi3a
108 equwal.i2p j7zqkvkokxmpkbqrgrkkjym4j7kzuipko4qdujdjbxnrp3qj6ooa
109 esperanto.i2p 2yryi2eb72hnxavjpfot7paiminbzgv5w6fv4sl5wez55ventdeq
110 explorer.gostcoin.i2p ktoacmumifddtqdw6ewns3szxths2hq2fat2o7xnwq4y3auga3za
111 fabrice.i2p fabricexhumxqngfziy4xkao5m5ez27jpih4chtmigg46eu7rroa
112 false.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
113 fantasy-worlds.i2p 62a4xcyyhvfrcq2bkckb7ia37fmrssrgx467tlkxp32fjpq577wq
fiat.i2p ldnhzi7emxnibjz6g55k2nyywzmcufnst2jy67e75o6dlvtx7wia
114 fido.r4sas.i2p i522xmu63hfbaw2k54cthffcoqmeao6urjyq3jg4hddf6wf57p3q
115 files.arav.i2p gajftpr47ze6ao7e3q2tb5xmcqneyaczu4edzvwwg2qzmnernpka
116 fileshare.linuxfarm.i2p rrx4hxejr4pod3tqrkj5ckzuauwy2aqsfvpiac2tkebp2iuv5qla
117 fishsticks.i2p btjbfuh2wav3c7bkjqylgatbkvqaireemvsvxwetkrifuvfa35da
flibs.i2p ocdm33e3h5tdml3yyholj4objdwsrhlugfqjnqgdkslmgdzb6b3a
118 flibusta.i2p zmw2cyw2vj7f6obx3msmdvdepdhnw2ctc4okza2zjxlukkdfckhq
119 forbiddenhistory.i2p nlduiogwtutni5nwf5kbuekrqf3ymqmkor3hughjkckz7tvruhva
120 forum.rus.i2p fourth.i2p zd37rfivydhkiyvau27qxwzmerlzbqtthsa5ohtcww62zrygjaga 2cq65hjlt7nnl7mctthj7oejlgep7nh7gmqc6bnbflxw2ti4bxxa
121 freefallheavens.i2p 7etudb75nhe6vxslitptjlwrnbybdshvzxnweuiepsxbbkkxy5ka
122 freegram.i2p freehaven.i2p euatsdg24n3j52gd6ptc6gd7hhynl2edpshqyzbehmimpvubt4wa y4giqqrbcb4xit5gp4y6njypupfklfdr74lfi424seenf7usjvza
123 freifunkmobi.bandura.i2p 5shuxvx52e3qszylwn4w7qst4siap3latyap3ff7nfnpjgllkcea
124 frontlinedefenders.i2p pshxfoeefj67oj4jwjh3cqiztmrgcpsbuttclnc6fiwvv42p6inq
125 fs.i2p ah4r4vzunzfa67atljlbrdgtg3zak5esh7ablpm6xno6fhqij35q
126 fuck-rkn.i2p qmlmnhr3ul2lmuu4fjf43kmk6hf3dzsuxv5xu77vwys36xwuu4sa
127 fxruby.i2p lqhdnr2pvp2igu5e2cxichboqzcgypvrbooynzgkmoze3xae6qkq
128 galacticreststop.i2p uln6c2abwfzneakdz7dkfmdifwrjr3r53jvkmq6mxrjt2vflvbrq
129 gedanken.i2p kw6isjbs66uf7576fbb3aniokxtrpqmbegf4tf3xskg2bmrjci7a
130 geekcode.i2p hzmyzxa6jzag67zcqxhicydusdev77byf2qoyxjxhsrtkce4qiqa
131 gfap.i2p yasbny2ndcpofprdbtv7dxdtshbebyydjv5zlnwy54gii6xnlmqa
132 ginnegappen.i2p kbhfkzx5jeqhfgss4xixnf4cb3jpuo432l3hxc32feelcmnr3yja
133 git-srv.b0nk.i2p git.agentoocat.i2p 6mopdcovd7urmuxo35wopbgsfpv6ifpu7kq2625lyi5hfv5re6ua 5ihrbnmcoewaax5kxsghnmxh6p6srufhmo5pqkybdwuz4yj7efja
134 git.apophis.i2p apep7dtwnuom6b7li6jirhrsygxgcdqb5svqpq6mh2rpindrzp2a
135 git.arav.i2p p5nkflgogwv4esy3ainup6mgurpugmdyufizhuufauznreyvprsa
git.b0nk.i2p 7uupnvxwwkxo3au2fdt7ky66pk2eklshggf7r6mox5oofzpmjata
136 git.community.i2p giteabolfdejtdzblkooalqei6jr67imiugmhtsh6ocw4hlj5a4q
137 git.i2p giteayof3hpwkfnwnryy6l4qhq3cwdzqlr72jokzbkc6ol43mypa
138 git.idk.i2p 7qeve4v2chmjdqlwpa3vl7aojf3nodbku7vepnjwrsxljzqipz6a
139 git.qorg11.i2p jf2mrxlbqsct67fces34x6kwbbnmlx6o7gd6g4knqk36soa6efqq
140 git.repo.i2p vsd2vtgtuua2vwqsal2mpmxm2b2cpn3qzmqjoeumrrw2p4aot7uq
141 gitlag.i2p git.varikvalefor.i2p triv6mxusoo37mzdu2grf6mguxpytkw5usl7wllrkbd6v4fn2y6a 6sqxtpnpqqnlqbdxu7dadmorrffnpe3evbz5zye4y5kvljkzkbra
142 gitssh.idk.i2p g6u4vqiuy6bdc3dbu6a7gmi3ip45sqwgtbgrr6uupqaaqfyztrka
143 glue.idk.i2p ykbx7chmkivx3idmxd3lu2jc5w4wtlps4r3md57wszhk5w7jykyq
144 gostcoin.i2p 4gzcllfxktrqzv3uys5k4vgkzbth4gqednwhfpt755yivm3davuq
145 gusion.i2p 4qyfdhizjixe2psu7wcvqufix5wlijocehpb2futurcmlhlktrta
146 h0p3.i2p k5fppzxc3bwoz2mjc7q37jojbrxo6vtprac3dzrk4wapv7irr4iq
147 h13.i2p hacking.i2p tozb4vssixoccyqtgnpaatkg2ql52kkjwnsdo3dltezges2na4bq uvxiknnzaxtcijzagp5xuweua2ctghmjfubqdufxilvnkajhezaq
148 hagen.i2p e2t6rqd2ysbvs53t5nnaf7drllkgk6kfriq3lfuz6mip6xfg644q
149 headroom.i2p harbour.i2p uyquth4yeh3zc4alarynrd7r3ieyz2yz4dw6toc44plybjbxjaia zohxpycufzcslwb2dgdkfo75flahkl2q7n57ciqjooqia75ybada
150 hardenedbsd.i2p 6ebmdsir52bi3q4wfwug7ylouoq6gdafl3wyy6ccfmpffijhtoca
151 heaven.i2p y6ejpmln3j2jvf4omb4ptyo2idognputhrccph74yn6eghkpxyhq
hex.i2p sw7m3pxa4d3niun7tz4keq2kwpffhpu6b4zcdeupjem2y2tmycqa
152 hiddenbooru.i2p zma5du344hy2ip5xcu6xmt4c7dgibnlv5jm4c2fre5nxv44sln3q
153 hiddenchan.i2p 6y4tltjdgqwfdcz6tqwc7dxhhuradop2vejatisu64nwjzh5tuwa
154 hiddenwiki.i2p 2iz3nkopz6fxbzlcjq3ofligi7mwdseuj4ndzqljogyvsggh6dvq
155 hisdarkmaterials.i2p qcf3vxllflqfsbvxjlypfxsx36g5srknxnhpyz3ph5bcxdjawraq
156 hive.i2p hopjoy.i2p 2koqsqujgndkz3ozgrvx4txezvxpnm65orrr3c5itszy3vd46eea 3wifx34yzdnj5vw3zu3kmqyz57tvlypmdnnyalqjdcaqrege6bpa
horo.i2p vrxh2vbqsfvh2utnt3ighimu4vrgla2mfpwksipkjsguv5vewhdq
157 hotline.i2p 6cczi27iuxkm3aivazaemzltdqgh42ljzurqp43uclbz2lid2uqq
158 hp-net.bandura.i2p z2ufexrgrxry37y4vs5hted35ygpleskfcs2enanl53hmlpzlqhq
159 hq.postman.i2p 7ewjvbcwgah57n64cwbsxqai7eutqofkesuxfsuhfheijivdjqra
160 http-false.telegram.i2p 77mpz4z6s4eenjexleclqb36uxvqjtztqikjfqa4sovojh6gwwha
161 hungryewok.i2p to3afquvmrmk4kvozisb562elb2hdka6hwk6oeud32m6h2qtkcqa
162 hutor.i2p i2chan2.i2p vouttzj22msx7lcpgybfhbqoignrawsgo2sg7g7ml5kyuugbbkza rqd4efol6ooxukq2jj6toml2s7uutj3kbkl6k7kfm7vpmmt2k4fq
163 i2p-mirror.bandura.i2p aq7r54ebou47b533y5seiod7dc3aeycucevl2pqvphnjhjwblr6q
164 i2p-projekt.i2p udhdrtrcetjm5sxzskjyr5ztpeszydbh4dpl3pl4utgqqw2v4jna
165 i2pd.i2p 4bpcp4fmvyr46vb4kqjvtxlst6puz4r3dld24umooiy5mesxzspa
173 i2pseed.bandura.i2p 2bpbnalf76ktxzhfekkwcklmo45xzedi5em5bdoyedrhw5bhvtia
174 i2psurvey.i2p pemwrlamhiiv74ok4kwoo4eqwzzjshp4q7ir3nlh4jfnt4zjncia
175 i2ptimes.i2p 563tjwihw2ql5q2kl7d7md7ywedpapoqgkxgazkz4gmlrb2flqbq
176 i2ptorrents.i2p yt2qxe6nq3meofloobawy6nlnmu5pxkobqjyspdngfrasd5v7bca
177 i2pwiki.bandura.i2p isbf7tzeyrutnd5rvmjpqaohe7cz6onqgci2wvbuyfwc62w74r3q
i2pwriters.i2p c4bktwlfzo3xcaccdw4nhtji2dmlg4sd36du2wynpclowx7kqolq
178 i2pyacy.bandura.i2p owy6s5xlkf4zsrwwpemvoru6x6qmrye2pe3v4v3dncvcrzix3fiq
179 i2speed.i2p i2search.i2p 532c5r6ra6rcf2mvfgtlcxbn3lpplybwxul4xsg3ps64dlx73fga cpgupqyhxamjfgdd3qk5ux673qomu3o5kqszvq6fwuigzifkxzta
180 ibft.i2p ds36spqcf7dnj46in5vfnbbwcbjpslo6aafkdrkc47a2oq3zvtta
181 identiguy.i2p 3mzmrus2oron5fxptw7hw2puho3bnqmw2hqy7nw64dsrrjwdilva
182 idk.i2p b2o47zwxqjbn7jj37yqkmvbmci7kqubwgxu3umqid7cexmc7xudq
183 ilcosmista.i2p 6u2rfuq3cyeb7ytjzjxgbfa73ipzpzen5wx3tihyast2f2oeo24q
184 ilita.i2p isxls447iuumsb35pq5r3di6xrxr2igugvshqwhi5hj5gvhwvqba
185 in.i2p r5vbv2akbp6txy5amkftia757klgdy44s6cglqhmstpg65xycyjq
186 infocon.i2p ic7rentjh6ilzz6p5kveiuyzov534ksfcexmpeniyallzf5in67a
187 infoserver.i2p jd3agbakybnhfvkeoxrx7t33iln6suzomv3kxkxf77j7rkonch6q
188 infox.i2p qoz4bwrtnicqyxemrxubdc65uojrqn2iem6v55b6xmxzdmfzcvlq
189 inr.i2p joajgazyztfssty4w2on5oaqksz6tqoxbduy553y34mf4byv6gpq
190 insecurities.i2p 4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
191 ioannism.i2p g2246vc2tq64rmomwe47v3jnbpz3b3ec2wrrhadukj7lxmwd5aoa
192 irc.acetone.i2p qyzbrdw26ejjdjzsrcmq5h3ggdzk6cq5xynrgee5t5q73gq545yq
193 irc.coldhell.i2p d4b3dcqt32yq55b6ct6f4rsib5svzgwkfz4klfczuz7e4p2v6rkq
194 irc.crustyirc.i2p 4ygmttynho5k32vfm64urriqx2vj3s6hkm52jwv2vlwrynu4z6iq
195 irc.echelon.i2p ez2czsvej5p3z5bquue5q3thujcodfze7ptybctqhnqc7hms5uzq
196 irc.ilita.i2p 5xeoyfvtddmo5k3kxzv7b3d5risil6333ntqrr3yvx3yubz5tk3a
197 irc.kitsune.i2p irc.nerds.i2p cpesprosbsuycn4ui3neidqdtqz5ufekthob7cobl3p7bcuaoh3q nlqhsdd5a7hanjea33mwizg5ixh3xcv5dczufpf3qcfpo6tx4esa
198 irc.postman.i2p hhcy7zznltay2tzwdvtd37g2inptemz3hk5zmxyi57d3sxgxbseq
199 irc.r4sas.i2p hodhusp73gltozgrnianlbploon3rrvhrzfn5mf2g46o7aaau5la
200 irc.rpi.i2p ppqu4shst5hfjn6jgxyragcanyxurhmof7jdrxag5srpeobevh5q
201 ircs.nerds.i2p w4d6hj3q7eyfrkb3kcy7rox2fdjzywypvmyrudtf2q4gdzs2qlhq
202 isitup.i2p xk6ypey2az23vtdkitjxvanlshztmjs2ekd6sp77m4obszf6ocfq
203 isotoxin.i2p wue3ycaccf4texikza3fh6p5yrmtgnooisuypnepo5mo67lmpcqq
204 itphx.i2p zwu2erk3wtyxlcbmd73kmxcirjghdkk4lpupy3xcavpm3qbob4da
205 ivorytower.i2p fpwrfvidfexsz7dspofkwtkmmizm7lyralfz5kvykffk7gubvxsq
jakesthoughts.i2p g7tjf655mw6wzykkux4ntkky75ovluexfz3wcpwu44mbibkcksfa
206 javadoc.skank.i2p us3amyq3emvm6rcxmrar3o3uoiifnafijgseho4dxdsjgonfyaxq
207 javascript.i2p idxpwvskkaq3pssrnqpxmiilgeqwf7d2hf5xpusossqz6r2nudva
208 jbo.varikvalefor.i2p 3flbkdhahkgq47s7vytubh3v4vk3lyqgwwh6dd2k5szqlrivdmta
209 jdj.i2p mqxhou4icts5tmoq7ndz56sb2ox4s2atzm2urmyn2ndrj2dzzguq
210 jimkiebs.i2p epqxjestvatyv2ala7iqbm45elnecqecz2zmpoklzvekwjapu45q
211 k1773r.i2p zam7u6vslhemddz347uusuzjdk5wma4h5hcmcqlng4ybbpdbjhnq
212 karamba.i2p g2lizyuyzms7m6gv24pzege5zapbinxfd2dzbaha6k246pl2xu3q
213 kelvinchan.i2p 6s72dyf6jwlvk2u455lksvcs5r7deafc3iniwo5kp4ssm777noma
keys.dlms.i2p znl2swe5pez65qxrr2s2s4lmdfky6mnppvh3p5j6suuiovymhjtq
214 keys.echelon.i2p mwfpkdmjur5ytq4og36ym3ychinv36b2a57f4rmgqmtrwepq3fva
kibykarni.i2p xowcvzbeq72slpbrwmjl3zy6xkrkb2ncctpkkskeqts63vedtg7a
215 kill-9.i2p 3i3bbs2zfabyleqxcqueeegakutrtk3hbxmvbtkrgwvetlmity4q
216 kislitsa.i2p khceo3smaxtng2tnuicmcbhdnkk2j6myi4nkigcux76qh3aabdhq
217 kkk.i2p kukluxklanib666d73z5fyeyb6vnystmvvreaodhjf73rhl4wxva
218 knijka.i2p knjkodsakcxihwk5w5new76hibywia5zqcgoqgjttzsausnd22oa
219 kohlchan.i2p kohlchanvn6vtsujobyw4pt5naaszmxqutd5hsdatmxfe2qaqhya
220 korol4ik.i2p mr3z5lggdppc3yw2r2egstpg33ga2wfocmozac6kjmhhfk3asm2q
221 kurator.i2p sp3umnyofy5ytixbqcue4jrpxixccgnrxtiuvhg6juep5s5lrs6q
222 kycklingar.i2p gctswdhp4447yibxfbqg3uq2bvx63qjeqnaoaux75zw73leakyva
labor-union-ru.i2p u3j76uo5awabsidre6epnm433snw5hwp3ezz33w3ca6bbgpblmzq
lainzine.i2p 5p7zrmxzxe2t5liuzfpswl7b3uublu2wrrwnkeqkzdxeidntw7yq
223 lbt.i2p 5uhjsgyca6ggdvwjjwf67bcmalpbxitopupjpygtahxvkwlh5mzq
224 leglasen.i2p ledechaine.i2p q6tqm2klaavlsfqjci2naul2nj57fbxvkwujmqdv53plhdxxi6mq 7s4vtwkvxvmigj3r4zrc7s5ajdeqtris4qnj3n35cuuvuzkpgqsq
225 legalcases.i2p tms2ibdkp67ddj5ez6l4zwvw33jdpz5tmavv3kpjdcpavfh7np4q
226 legwork.i2p cuss2sgthm5wfipnnztrjdvtaczb22hnmr2ohnaqqqz3jf6ubf3a
227 li.i2p lenczewski.i2p jwzmbp5djo5t4mkbchhejq5mrx2yye7tkbwry22scihwy5s4hcba 7uypwo47x4vnryoz25vwisu5jpyhz7pcdvnfzvopww3wxc7wiiia
228 libremarkets.i2p libreddit.i2p 3jknyeprdyirtzhc5ysh7qma4bgswazxgeylfxjtrx2xxtycq2lq libr7vbp7i3lsvqwy5aqgql44uxaufawi5yrloh3x7sezubsoaba
229 limak.i2p jzoxeuuqt6wo55pvt4uh7o5i47oyadrvhyjli4hidqldhihu6lna
230 linuxfarm.i2p br3njhezhzx7mcv25nrxkrwu5g553xp4oyavsjhfa7jwmzyp3q5q
231 lm.i2p lnxcloud.i2p yeyar743vuwmm6fpgf3x6bzmj7fxb5uxhuoxx4ea76wqssdi4f3q wryxsgqp3xl7fuohijmxlugrndtp2vixqlt2obpgriwt3fpdjn6q
232 lockdown.bnet.i2p vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
233 lockdown.i2p vgbvuawi5y7rh32xxjlqcmsoh6quigdvypqneoidiy7y7x7r2umq
234 lolicat.i2p 2mvlbpgzlawdxqv3zlcgcje475kv35ow2itpztjpdqegbtjpvbda
235 lolicatgirls.i2p pjhlh4h7zn3slglx46ffob5ifcccrcqr5dzbyyueh3wd6a6bizra
236 longseason.i2p ighnngssgd6p4kyrec6m556rasvbtx5xe7bsyxol4lie2dibi4da
237 lucas.i2p hcb6j5indzeqfyerq4igx45xgruijbs433mh22ye4osoxkxhumwq
238 lyoko.i2p lunach.i2p afuuortfaqejkesne272krqvmafn65mhls6nvcwv3t7l2ic2p4kq m27cpx55hqhcfjz4u62tiynjtzqdw4s3kanxdgluuthnndiquoeq
239 madaidans-insecurities.i2p 4uggkxbumfoufekfu7scfx4vkqfoqslv4fsog7kgwjcat2yqzb2q
240 mail.i2p mail4okikc3tknhn2tfyqzq7mxgzltqg2tw5v5frtzkcsm45zdra
241 mambo.i2p major.acetone.i2p sm3mumfqv3ak5x3gdl5uq3k2ofpuzajwov3j6ool4w4tnf4n2fzq majorivqe4wud5ksadgfycdkgqsesqbbnw4hpgcqfixy4sm77f4q
242 major.i2p majorwsiehucyqfqbw3g2on3xqq2pwrwdd6hhyludqqr6ct7xdoa
243 mapwiki.i2p p2lufcvbzq3smirs7ijwds3y34cxzchveogb4jflbpmk5pzy3wqa
244 marenostrum.i2p tlrae2xdtewfb262daw6ygm5nz5vusc7rbiefpndubjk4jvh5roq
245 mastodon.chudo.i2p masflam.i2p bba3rhijp3btiinfeixrk2jzz5rilnxxrxvjjx5os23ro4n6g4cq ucvzbekxpbzfizwndx4bgsj5bjbygdu4vc3xukiseiw5bvatxivq
246 mattermost.i2p x5oovnhnuli5fnwtgkbd5z5jvrvdvprqyuofywx6uoxkk4bie6ya
max.headroom.i2p qf4gfhjxrzkmjlcz24zy2itm6iohe3bbcij6trg62hdngeodcuna
247 mayvaneday.i2p zli2qsg54w7y42vgw4xxlnj4nktcpg7xp33yjxkp33sjafvznbwa
248 meeh.i2p maza.i2p 4oes3rlgrpbkmzv4lqcfili23h3cvpwslqcfjlk6vvguxyggspwa wiigkmy5je5ox4byjt7z7fh4btojbixbmfv4chnzqoovmgnvdpoa
249 metalist.i2p mdleom.i2p wkx64uy4wzstqe3sx47xrm23h5y7g65tjithcfwtb54ykmjlus3a ggucqf2jmtfxcw7us5sts3x7u2qljseocfzlhzebfpihkyvhcqfa
250 metager.i2p 4zdcetlcp3tdg5h23gd3aeyzbvodepid7a6mb3w4qvxkdnm2by6q
251 metrics.i2p z45ieamhex2ihqv7oowk5fz4qq47rbvxhhhbaaiinpajbhuevtpq
252 mhatta.i2p o4rsxdeepfrnncsnjq675xogp5v5qkbfgbt6ooqeyfvlifobrjxq
253 mirrormy.i2p minecraft.reloaded.i2p tbxczhirmyaueix5ptaaduamyes2rxh3tv4ie52u2a25jj2x2hsa qs5ihihltxhhfi6wesihgbvoaurqxgdpxgmwnmsk5d5beabtvmvq
254 minecraftlog.i2p vu2v5xnfk4ivrcmjx4fvofzts7fj47jcq23zfpg6ajj6p3ytt3hq
255 mk16de.bandura.i2p rrllz7nkoeaydqzc5tqdexbfpkvensi26nqg3ly3cxrm5qt6m5sq
256 moneroauth.i2p kt6uh4z24tendrol5zbm4wv4apq4nbv4w7k5vcguvbpg3alrqyxa
257 moneroexplorer.i2p je4vbduigce7pgjivvo26d4abn3u5mfsos5zemp3a75xzcv7nm4q
258 monerujo.i2p puri6y5dtwh6zr4u77ep6ozatun6iz7v4wai2dzxppz7654corlq
259 mooks.i2p 6txhjmnxnrjku4cmdwtyacjzhwythc7l5euqaxieyrc4vjotqwzq
260 mosfet.i2p s5ynkgagndmpxpf2kmnenv4x72io664gzd2x3qef54ilammnte3q
261 mtn.i2p-projekt.i2p f52x5fp6uhq53f5zle5d6rq5un34xgmxgazvilvmzcby37xcmsfa
262 mtproxy.ilita.i2p vxxfipsygx6jpz57pmb3d3mjgsk5ls2idxeo2bffs3yp62muyq7q
mucats.i2p 4vjquedemoznbsva4j6wnr7hyms5k3gwucmxgcnwcwweontbcrha
263 mumble.acetone.i2p plpu63ftpi5wdr42ew7thndoyaclrjqmcmngu2az4tahfqtfjoxa
mumble.chudo.i2p 2xoqoq5pdwqabm2xhkftcqovgx7h56w26jmyoqlqh5zlntq7njda
264 muwire.i2p c3r6by4k4kzbx7yvq36u5rieuymshuq2pebo3dzs6oovpzn52uoa
nebula.hutor.i2p 575g5k3loi72jyq6fni6w3cdp2uoj2g63qowqjbnylbpc6evxpfa
265 nekit.i2p axis6zcqacv7le2ms5xqaerecuk3jyrijifrstvxl3or5g5n4ova
266 neodome.i2p nekofiles.i2p 5hkhjehj3ct2pvcah7dcylwef2oti3xij5myxbv3pd7rocio5vkq rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
267 nerds.i2p 5wpwlbka4wj74rrnwbieopppgtivbqxljznl3bs542mxtvjz7ffq
268 netbsd.i2p jjz5ajknu5rku4p6xb6i5xwjnp3nd6c3jwi2qnzbpaodyf7g2lja
netcontent.i2p lc7ppfwcq7dm65s57l4uxiez5dqty3bxmdnkwhvl7fv4u2mngcsa
269 nethack.idk.i2p zcojbufszefu5bfht5cem3zlhfvv5y3jzpzbaccu3ehje4d7pb2a
270 news-i2pn.i2p wwcqkwfo5yhe6uribv5tzylk25j5hkdk6gdnyftzd3k7dawlzwca
271 news.neodome.i2p newsxml.idk.i2p trhwcnygfkeqjj6g4xhmrdp4gsjqsye47lsxshbmwbten4ywt5oq dn3tvalnjz432qkqsvpfdqrwpqkw3ye4n4i2uyfr4jexvo3sp5ka
272 nexus.i2p 6uz2ihv4avlfhui5eyrisw7yx2t5mclxyl6blwjgw7zc5q4j3isa
273 nicksphere.i2p nitter.skank.i2p nickg4tsj3wy3i23faxp5momjcnlwrvwl5ek5l7lkm5vrbblvgbq l2aoqvwkq2prrv53cbk4k2ilxw5s2fc7eo2rjunnixp2hrv3iwda
274 nightcore.i2p nntp.txtcon.i2p qg5l3mr6rmu6slzmopojkvl6umtthsygexmxntv2vt4rmx3kwpwa nntpsqgdoky2fuctc2hc6vuls2b4okxpkocic2eo66uup3dtaq7q
nitter.swurl.i2p ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a
normal.i2p j5fex634r2altzb3kjvu35qekt2r3hgsqzg5qxoy7dp53heu5pma
275 notbob.i2p nytzrhrjjfsutowojvxi7hphesskpqqr65wpistz6wa7cpajhp7a
276 notochina.i2p h3xsjhfyf4wah4sou3gepzibetdntrmiax3zl3x7ozyjv5krakaa
277 novabbs.i2p bicoankyijabtj2nlwzjmr4mamybr6bgc6xclpvsgzaaalzhhola
278 nsa.i2p nsetvbclpomqxfcit4mghn6z7vdhnza6jdzczby4crnto32uykga
279 nullchan.i2p nullz2mkp7znirlcersxpk7qmkmgcc6u3yhe462p2qkpxsdb3mja
280 nvspc.i2p anlncoi2fzbsadbujidqmtji7hshfw3nrkqvbgdleepbxx3d5xra
nyaaori.i2p vrth2eefdaica6bliuhmwetasgwdnmyhci5f3zbzq2hmcldepq3q
281 obmen.i2p vodkv54jaetjw7q2t2iethc4cbi4gjdrmw2ovfmr43mcybt7ekxa
282 ol.i2p bnb46culzbssz6aipcjkuytanflz6dtndyhmlaxn3pfiv6zqrohq
283 omitracker.i2p a5ruhsktpdhfk5w46i6yf6oqovgdlyzty7ku6t5yrrpf4qedznjq
284 openbsd.i2p ahwlj76krc5do77pibighi2frqmfccpezyiqfmiernvivwomgvuq
285 opentracker.dg2.i2p w7tpbzncbcocrqtwwm3nezhnnsw4ozadvi2hmvzdhrqzfxfum7wa
286 opentracker.r4sas.i2p punzipidirfqspstvzpj6gb4tkuykqp6quurj6e23bgxcxhdoe7q
287 opentracker.skank.i2p by7luzwhx733fhc5ug2o75dcaunblq2ztlshzd7qvptaoa73nqua
otkatanet.i2p psieyl75agjgbztz4jvqctiglbljoz2hvtqdu4fc73e2rez3s4dq
outproxy-tor.an0n.i2p hpa7ojiz6wdjowwpaegzuczmufnaydggk5qw7vj6utakggkcd2kq
288 outproxy-tor.meeh.i2p 77igjr2pbg73ox5ngqy5ohzvrnur3ezqcogtl4vpuqtrcl3irsqq
289 outproxy.bandura.i2p smaie7bxvpy53iiabfxkhmsjtqs7vzjcr5xxsysjbbobunwrav2q
290 outproxy.purokishi.i2p nieasaidj7wy5nammqf4f7zzcdafi4apygwn5qwscpn4pq34hqia
291 p4bl0.i2p p2p-node.i2p lkgdfm4w6e2kkjhcdzr4ahhz26s3aunhrn6t2or436o73qh4z7ga e7uvwnpkzbn5zdwr76ujlhym4lk5pfkqhvfwivt3mszx7l4lpj7q
292 packages.i2p 2gbnylztt42dgpjh5r5tmy6oxm5xag6qv4femnbbqbpza4l2l6ja
293 pagwin.i2p qggplwxvsvctsdzgld2shfyjlokfoxur3pkfapygs26i4hwawfga
294 panzerradio.i2p rawdhtmxzynf5mhrpyhnbjqqxswidr6gvvcbbt4hbpjuv5jebw7q
295 password.i2p knmjkeabbhudejkikbzhhjqsb4r77o45vkdhve6d254quttfx3wa
296 paste.idk.i2p qvgktychvlbmqwnoqgz2siuna7f5w764wgkbqcwogipfjzf3ksva
297 paste.r4sas.i2p csen43keji3qiw6uobsgzysxyjd225g6446ylq5uuz6ur2glkzaa
pehotin.i2p e6tfct7qvso7qrseseubsk5hxn3wejkdivojqeed6i7hbj4dsmqa
298 pharos.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
299 pharoz.i2p vathk2pyvaskeie63yyg4tshjkx5xt6zfvhwhgr3de67q46ob3sa
300 pi.linuxfarm.i2p photosarchive.bentasker.i2p qtv647munv2c6bhdliy2ru754ltjucuyk766eqqfmervbi4z75yq w4lnfcg2chbkwigogba7q3o5pgtq2baip7z3z4afaj65axhyc5ca
301 phreeroma.i2p 44fu2fhq6q36re2xqnkuievdfsroi5xchgbowkqib6ekak3ynm6q
302 pizda666.i2p bczoowsc6ik7a4mya45qnlq5n6c6llpd5ni3u67r4r4drgohyira
303 pizdabol.i2p 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
304 planet.i2p pztcztaklof7s4me2vgtdddzesnunvk55zke6oz5e77ci3qk64yq
305 play-it.i2p oxt7gdu663baue7lugdmgxqkmtrfdy2izluneqdrpv4pfslxjlta
306 pocketlint.i2p pocketzsq4r4fef2bw57sn4paufjh5dw75azu5sr4hk2qwdvucsa
307 podger.i2p 56pcmc4rxmtzs6ojvszpiqmh47et3m6amh7kfszp4wbvz2jbpnya
308 polistern.i2p ztqi2zewgtifrg4efs6eyxxi5www27ymley3aiz4obhulbnszlva
309 pomoyka.i2p omt56v4jxa4hurbwk44vqbbcwn3eavuynyc24c25cy7grucjh24q
310 pool.gostcoin.i2p m4f4k3eeaj7otbc254ccj7d5hivguqgnohwelkibr4ddk43qhywa
311 pop.postman.i2p i7vd76psp3oyocljiqkoyz7fpr4fy2xq2asclf7qih6k57aj5xrq
312 pravtor.i2p porest.i2p 2sr27o5x2v2pyqro7wl5nl6krrsbizwrzsky5y7pkohwh24gn6xq 46l7beij4rerlbuj7xmcngarlkhlpgaztywrleiwagjuiipcebbq
313 privacy-handbuch.i2p 3cccw3cxxghkalgichofulid36ekwplv3stubvfot522mwxcnu5q
314 privatebin.i2p e7qy5kc7ivqtnrbdn5ymx5nmbdedlrjkdchqmmkhud4ockrime5a
315 privetalena.i2p programthink.i2p alenabivbkqo2xoikterpsc3gquqzacxfef6usbifrez5ioegjjq programygfltn24q6foacm5gbuo3z2geub2k2k366llx3bph4ula
316 project-future.i2p ivqynpfwxzl746gxf376lxqvgktql2lqshzwnwjk2twut6xq7xta
317 proof-of-loss.i2p ofhehzoj5p4khpkookxb63tmqvrmcxaapgb3v3nm7kd5wjgebs4a
318 prophetgram.i2p cufuwm75gjpt3svl4wjmo6r4zjv6eqyjdpiuqfckgb5aqqdbgyvq
319 psv.i2p pmzcuml2oi2ok2h5i6cepcyxxjrughzgliai6hzspdlyt2bucy7a
320 psy.i2p s3elzoj3wo6v6wqu5ehd56vevpz2vrhhjc5m6mxoazicrl43y62q
321 psychonaut.i2p laf5nvzn4wz7ndgtdysmhvebpyjo3fkth7i4z4c2kp7su3wi6e2a
322 psyco.i2p eoilbrgyaiikxzdtmk2zeoalteupjrvcu3ui23p4wvfqo25bb73q
ptt.i2p q7r32j7lc3xgrcw2ym33wv4lfgqbez7vtm4lts7n34qfe3iygeha
323 pubsub.i2p kse52thhz4srsf2ibw7zj6ua27df5a2u5gnqgf5jxwvranbw6mpa
324 pull.git.repo.i2p 3so7htzxzz6h46qvjm3fbd735zl3lrblerlj2xxybhobublcv67q
325 purokishi.i2p ia55kcrvskaitnxegirubvderl4vhva6bwkiducbkma4scy2rhca
326 purplechan.i2p tyiwxpgs7syjvz3cha3uckaxgondtiktlsvriebyy4qmzgbaj3gq
327 push.git.repo.i2p jef4g5vxnqybm4zpouum3lzbl6ti6456q57nbyj5kfyldkempm3a
328 pvsur.i2p pvsurxi2hz2n45kfrj5b3ny6ko4ipj2u2piftjen44npkpnbwh6q
pwcq.i2p hcwrhp454aj2jen6clgkw5odw7pvtixhf5dnqsx5ax4vkbxybk7q
329 qorg11.i2p ivusryc5mfrroomm6s5no4badevf7djzlgzlwarce33no2bsyi3q
qtmhkr.i2p 2jj2ikxixz372qzxcdmgkwpzu6kek3mjsvwtzctdkapacfg2epzq
quest.idk.i2p k6stkvw3jr6of4j5g3pu34jowfpl4k4jiqih3yozhcvinkok56aa
330 r4sas.i2p 2gafixvoztrndawkmhfxamci5lgd3urwnilxqmlo6ittu552cndq
331 raccoondad.i2p utoagugf3imr6mpjsithhnpvvvyehsnebisovn6kqn4vma6va3ca
332 radio.arav.i2p plkybcgxt4cdanot75cy3pbnqlbqcsrib2fmrpsnug4bqphqvfda
333 radio.idk.i2p gqla6svl56uazumw2a56rzmvfmcr6fb57bm5kpbb6oibqi6o66gq
334 radio.nerds.i2p tpbfxyluryodtfxdpwsfvw7fl35p5ezrjk3tlcv2atlmc4fl2ctq
335 radio.r4sas.i2p cv72xsje5ihg6e24atitmhyk2cbml6eggi6b6fjfh2vgw62gdpla
336 radioliberty.i2p libertyx5gywnmn4snrr2fborvugmthl2x5vf3rh43v3744kmpwa
337 radioplayer.i2p 5tmr7qghx5eecoyvi77rsy7fqxeoyqcdpvg5wasoitn6ywkyobbq
338 raklet.i2p j3vnnihngp3ti2trktoxlyblltjn6gxscbmasb5zun5pdndkxkoq
339 ramble.i2p smv3cryi3n7d5ll7xpvlhstubi5yj4dadeltyrdwdr4onwd2jvvq
340 ransack.i2p mqamk4cfykdvhw5kjez2gnvse56gmnqxn7vkvvbuor4k4j2lbbnq
rany.i2p tcnai23pvo6asfmefl23cllpp3vgrgp2jhtjare7vhloyzwm2pma
341 realsite.i2p ffacpzudiclaqh6fkck7ungeacfoafvijduhmwvnmp6e4jridhta
342 redzara.i2p recipebook.bentasker.i2p ty7bt62rw5ryvk44dd3v5sua6c7wnbpxxqb6v4dohajmwmezi7va ajagzagm5uyc2oac32ycx42znnatejliqorbk3y66xt25guxnh2q
343 reg.i2p shx5vqsw7usdaunyzr2qmes2fq37oumybpudrd4jjj4e4vk4uusa
reg.rus.i2p k2r2wda4eavt4hoq5hptprqfmixusirq3gi5bl3z2pqzcd6felwa
344 reichsmarket.i2p 2uj4xomizi75swws7q5icmnavekb2w2ws2wlcqtyltde7pgymraq
345 reloaded.i2p wxbh2yq5twqinsw3ztjogqovvdd6h6j5uxeg3lh53x4w7klzv3tq
346 repo.i2p uxe3lqueuuyklel23sf5h25zwgqgjwsofrqchhnptd5y6pedzbxa
347 repo.i2pd.i2p ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
348 repo.r4sas.i2p ymzx5zgt6qzdg6nhxnecdgbqjd34ery6mpqolnbyo5kcwxadnodq
349 retrobbs.i2p mnn77stihntxdoade3ca2vcf456w6vhhvdsfepdvq5qggikvprxq
350 retrobbs2.i2p ejff7jtyaus37slkwgeqrrcmyhpj26carp7n27f5h6s5vlbeiy6q
retrosharenodezero.i2p 2new3x3t6kudc4i7mfvs7k3kltefhqjcj3lq5cowt66wy2dp6kca
rideronthestorm.i2p xrdc2qc7quhumhglpbcuiqxr42nuffv4xj4a73jbr4ygepitibqq
351 rpi.i2p 56p5qxsrvo5ereibevetw2qbj5bronmos7wxunku27g2s4kpbnlq
352 rslight.i2p bitag46q3465nylvzuikfwjcj7ewi4gjkjtvuxhn73f6vsxffyiq
353 rufurus.i2p 7msryymfdta3ssyz34qur6gi4jyfkvca5iyfmnceviipwu7g2wca
354 rus.azathabar.i2p 6gp6ykan6ovr7p6dln56msvmdk6nrtvzoypz5dbhkkt4bdnryjna
rus.i2p gh6655arkncnbrzq5tmq4xpn36734d4tdza6flbw5xppye2dt6ga
355 rutor.i2p rutorktnoonk3t4sxmv6g5rj6mzsilfwxcplvfybemssjrva663q
356 ryona.i2p mzt45ux3budteuxz2b4xkwnphgspgljuwp3rxm3d2yr2sij6wopq
357 s01.nullchan.i2p mirrooeo34iokdgf3wno4ubx6x6uj7f2pqyjmmrvtg4m4parvguq
358 salama.i2p 4uoef63gv2sg6dtqmom5oypt6taypklekvlejfox56eiylprzrmq
359 samainu.i2p zlwgylqmlx6wxwnxf3mx64jl6yp6wv4sjeiidqw7k3n2wh2m46pa
360 satoshivision.i2p rn5c533w5baghskquu3gtqlehwjkstzzbk5chbc5qhivsz3a3nqq
361 scamdemia.i2p fdkiv7o4kzaikwkw6hbn7iedidp25lv6eo7yeyeqxai3jz7mrvzq
362 searx.swurl.i2p scanner.linuxfarm.i2p ezrfswcjrkemmsbdttqagtsnc6qdo3yftl3u7un5owjkljocp73a kojzsg33v2zxwqp3twpqzfvflaeoxgzxrl3douf2x7xv27ggfnaa
363 secretchat.i2p secret-site.i2p cl3j2zxhpw6u6jevny45i557ojhwfxn4g375nnuqhy6lp27mry2q p6hbhjgdv2e6gyydrqh2ztl6onxnyilmj4ts7d7aj3uqssr7vvfq
364 secretvitebskchat.i2p securityinabox.i2p 6tc7fmbokb3hzajcgpxypxt2excj6tozgrjjofvjcak433dim47q np3agu3ekd3isrzqzvsw4llwlr3hg5xbw7n7a23n2zfvhhm4e7iq
secure.thetinhat.i2p 4q3qyzgz3ub5npbmt3vqqege5lg4zy62rhbgage4lpvnujwfpala
365 serien.i2p 3z5k3anbbk32thinvwcy4g5al7dmb75fagcm3zgh4rzrt3maphda
366 sftp.i2p seven.i2p sftp22f3a5xwe6mz4q7ybvcn4ptrnwidcgzjmd2jz6ocfxsjxnoq anqf44jmf7kby2qcvcx7gug6nuyansdu4msdbnp5kojom27rrm7a
367 shadowwiki.i2p 63gxkfc4hlcbxrdoepw2i2hyxai5qkxmi636ag3y7sf5tq3imoya
368 share-les-miquelots.i2p uxwha4jswnt6jrznj7yhfwldfilvyasnjruimmbylbvq5qykpbpq
369 sharefile.i2p o7jgnp7bubzdn7mxfqmghn3lzsjtpgkbnpjjsn6ddevqbchz3rta
370 shoieq3.i2p 3fjk4nfk3mccch4hdreghnyijcvovsi3yucjz3qzj5sxngqk5j6q
371 shota.i2p 75xxnc5hkeg7a3z5re4cpybbxt7te3p2krgrrgoka4hib2nr7k4q
372 silkr0adrel0aded.i2p rdqt2xxpsc5tzj7gjvcrpi7jea5gtbetgx7w2npobveg5teatdvq
373 silkroadreloaded.i2p hyn3mwmyeovcn2paujxur2eury2ufqpoahvbbqshfoggljn25tra
374 skank.i2p qiii4iqrj3fwv4ucaji2oykcvsob75jviycv3ghw7dhzxg2kq53q
375 smtp.postman.i2p 3nrunsrgeo6grhx6y6vsx7vibm5vabtockdbys3sqdmj6vha7k5q
376 solr.chudo.i2p snippets.bentasker.i2p utl2ds5vztfomjgerohvxrgaq3g6zrspyku4s35knfmu4rihhgxq vgduvgxudaceslvwlvtda6b4csobvczygcqpklm3yeuke2zgvcaa
377 speed-test.i2p 7lk5mgyi2knhqjjwjeiiuwlrn2rs2s577e7jh7z5rmbe2s6qkjpq
378 spirech.i2p labhopl3kd3eo7cj7kqa6nkwpczc2qj52i37jky77ugqazy7dmna
379 spoika.i2p u7uyxhgikc5ifj73oz6yedpy5pvtynbqo3n7rk5qyy5h5yhz4wbq
380 sportloto.i2p sportloto4cqlq6uhzzvgsgd7rcsfu6mqtk7wp6zmzqwcpflbsdq
381 spyware.i2p 36j7itgqmnbinh3ortujakkvqdrbhlqu4b2qcwb46mue3dpzxqfq
382 ssh.b0nk.i2p srr.i2p fsxdci6r4c52q4ftvdmddxwc45b73h3s2liyg6th3h7hzhjk4q5a t6vdyn5sbtorn3bp6i7ndnv4lmxhk4qnqmyqlaxykdhcwatchlza
383 ssh.vimarsha.i2p zttfrujqde5ddndps4stdspvro3khawdhcdgf73pae4i7dnvv4ea
384 stats.i2p kqypgjpjwrphnzebod5ev3ts2vtii6e5tntrg4rnfijqc7rypldq
385 status.str4d.i2p ycyyjo3psqbo45nuz243xvgvwnmzlanzqbzxv3kh6gyjztv7425q
sto-man.i2p rg4eilfpe24ws6nctix63qw2dlvd2tqgwdcgdxzji6l5bc4dc7aa
str4d.i2p wrrwzdgsppwl2g2bdohhajz3dh45ui6u3y7yuop5ivvfzxtwnipa
386 streams.darkrealm.i2p ud3gcmvysjch4lbjr2khmhqpf7r2x5if4q43xkqdptl4k7lc4muq
387 strec.i2p support.i2p xez3hkntwaae6iyos3poz4v3elhpmr2abkhsogulugdpu3wwdzcq supportpwqa4cc7q43hb67tgd3dvntrwsy6725iufahm7kiluysq
388 svong.i2p support.torproject.i2p wlamzgxjc4k67fn2c2pdems2dzfq3hkdbbt3n7ela7p2wp3pew6a 6r7j6jlbrxb35k32zktopvr3w3pidm2baymwol33hq7xmy2sqm3a
swurl.i2p 5inc2k3h4zjh4cfbvtynce6uvaix24orakxzwm2ftoh7o7p6tqta
389 syndie-project.i2p xa63tpfoaqt3zru2ehxjjfbpadwj4ha6qsdvtcqtyr3b7hmt4iaq
390 syndie.echelon.i2p vwrl2qmcif722fdkn3ldxcgz76df5cq4qypbndzthxwgmykyewta
391 t-ru.i2p bkhuehxydyprxpd4372h4boyluardjogyuff5p5l3u7syguavz5a
tabak.i2p y5o2vwb6kart7ivpnbpk4yte3i7kf2dsx7fy3i6w7htqtxhmbzia
392 tahoeserve.i2p yhs7tsjeznxdenmdho5gjmk755wtredfzipb5t272oi5otipfkoa
393 tails.i2p 5d7sl23h4uer4czjdtlomkb6ykeiss6vqkxzausp6f6gmty2plaa
394 takipsizad.i2p ufkhvmacngokfufxinfkdvfmbpvwvog5vrjiavw5zv32jnekcxia
395 talk.community.i2p talkakxfa6ihzn2mbzar6q5chdtkpnjp633w3tarul2bb6tfmoua
396 talks.i2p v45dmrrbjg3ucrazgl3t2tktyjajo7gvfexhmbdos3pi5kfuocaa
397 teddit.i2p k62ptris7p72aborr4zoanee7xai6wguucveptwgxs5vbgt7qzpq
398 telegram.i2p i6jow7hymogz2s42xq62gqgej2zdm4xtnmpc6vjcwktdxpdoupja
399 term99.linuxfarm.i2p dg3mso5klqqgcngalxdh5yvkwv56ou7yotsqxw3twneojytiehra
400 tesla.i2p em2x6bwsbelqfvlgypcywwoov2rib7mvxiy775dmpfs76m4zcdtq
401 testbox.i2p voa7ebdulhpcsupz4zqeyikdjztyhiutgvyri4qxqapistjwptbq
402 testmk16de.bandura.i2p gbdgvcv6wkwctls3tdx4ljmzo4zry3awrr37rkvrxcwg7jzjoyra
403 textboard.i2p testshark.i2p 7ubwrcixdcemzqwqzh2vaakjsnochj2biuzpo6dc2n4f7wqj4pua u64ropzplqkncdmi4wcknqehjqudxb6elyut2k44ocvgx7ilpgia
404 thealiensarehere.i2p 6t3mm7mkmjcepgwbthqvrh3kjfsipqdwqurcptwruyy73enqkawa
405 theyosh.i2p 5m7ygxhcdyfa3kx3wfjbbunk4pjey7a5zr5lnfb3upgjbhanrita
406 thornworld.i2p vinz4ygmodxarocntyjlfwk2wjpvzndlf4hxss2w2t3fk52oplva
407 ti2.i2p tictactoe.i2p 6r77rkt53xcjdpaaihttqjmzigvapmdczkekpogf5epdtcvrhgca cbr6sya637smfifq2hxj3kzqw5yv7aws2uknmi6ln45r65xej4aa
408 tmpsend.i2p r2al7m32cg2ypjcny627wkoiyanrasmorub2wqla3y6gn6rwzzvq
409 tomasgl.i2p tyiu7xok7hvzymxtgg62rjz7mvzr3bryq4i7ii7gudncogn2lpfa
410 tor-gw.meeh.i2p torch.i2p ounrqi7cfemnt66yhnhigt2u27fkctbvct527cp2522ozy3btjza vdpmmcq4ysca5rdczr5lqohjtaf5togdy5itoos54s6nn6xqox3a
411 torrents.chudo.i2p torproject.i2p 5ooemze55xiicrlvzjmz3il23dpo4fz5iqr7hmzrygdepan5m3lq torprojaxvxevo4c5qvor3ywgasxkubs5ukazrpq3qcxed6lgbrq
412 tosios.idk.i2p torque.i2p 4mfy2ggcynt5xjkrdstwju2cqicayq7tg5bcb6o575wvab2div7a hc3mefp6cq2btwmmjl76atgtftzswu774dyv4a3qkl34wn4g6vta
413 trac.i2p2.i2p i43xzkihpdq34f2jlmtgiyyay5quafg5rebog7tk7xil2c6kbyoa
tracker.chudo.i2p swhb5i7wcjcohmus3gbt3w6du6pmvl3isdvxvepuhdxxkfbzao6q
414 tracker2.postman.i2p 6a4kxkg5wp33p25qqhgwl6sj4yh4xuf5b3p3qldwgclebchm3eea
traditio.i2p wkpjjloylf6jopu2itgpktr45t2xvpjijxilxd5tq4i7wkqgwhhq
415 translate.idk.i2p g2l2zr4moqsk2bec346i5tfd2o22cozm5b2k4ifdhbcayazoz2ea
416 triplechan.i2p ts.i2p blrplscno3ecqb5ihhg73kufmypydjlv4r4gqiajftup5wmcdwna nebcjgfx3f7q4wzihqmguwcdeopaf7f6wyk2dojw4bcuku472zxq
417 tube.i2p vipzc556nzjraiqsk5xwvyhz54fvtqt3vrepdarat3zsj4a6eypq
418 tumbach.i2p u6pciacxnpbsq7nwc3tgutywochfd6aysgayijr7jxzoysgxklvq
419 tutorials.i2p zy37tq6ynucp3ufoyeegswqjaeofmj57cpm5ecd7nbanh2h6f2ja
420 tv.i2p txtcon.i2p znccrkhtgz4wqceyofwsqdsraqhdtteqzrag53lgmp6rhkutuy6q txtcons5lrayl7bq7zsk2mt24clocassid3kh2rvyd3rd2xeklpq
421 tymcz.i2p pyog2x6v3eyna5pdr765osut52tpbmaheyi5atbqfaixmcq4dp7q
422 ukrainews.i2p 2bocbwrmakg252kicblp5i42feao7qpcw3xppms2i5oevkgelpsa
423 umbra.i2p xunb4chkeo5xxpfkwrkaqb5etmqpp4ddgvcmy7qkvtxhk5ihck2q
424 unqueued.i2p 3gvn4kwd7z74jxc2sn4ucx52dpvpscxbzjluux3ul4t3eu5g64xq
425 upload.arav.i2p a5txjx3gjrnw6do4zr66wpwlayxt3dg7kb43wbr3fjp53mkfkbdq
426 vanity-eth.i2p 6djvwwd3mtozyqhpuyvcwqkje5fk3rbxqbgqgdlr32b6hvdqeq5a
427 volatile.i2p varikvalefor.i2p q6rve733tvhgyys57jfw4fymqf3xsnza6dqailcdjcq7w4fa5m3a yn7ovvjf4nhf7hhk6qqph7utcoce4f2j325rfeuyapw3emlqfqna
428 vxempire.i2p vimarsha.i2p 6z3jnz6mfbdibtebxkhkm45hos6yue5x3yvwljjwy3jtbv6in46q ag5tjs7c4skyt6gh54ebhffgxt2gof2ood4psbciv32l6mg6fzia
429 vps.webhosting.i2p kfqflh2y36jzp26vloaptqpgwtvw4qtz232wv53xxbggkydhpkaq
430 walker.i2p 5vik2232yfwyltuwzq7ht2yocla46q76ioacin2bfofgy63hz6wa
431 warez.i2p wbnet.i2p warezzqqhsqr6z2isn437osml6liwx3f4oqcp44dhres3jpld2hq 2deeocx7jmrbmjxcpkxecw7yy2z7ybzwz5i6mg3ska3p3d2dx45q
432 web.telegram.i2p re6cgwg2yrkgaixlqvt5ufajbb3w42fsldlq7k5brpvnd5gp6x5a
webcam.i2p fhrkpj4iscrg6etgdlteseoed37q2ph7cizclgpabgcbnaq6g24a
433 webhosting.i2p hxqjbkpn5fxnmurlab6oluyqf3dd2xnxszeawn4ak2s4rpjnfheq
434 webirc.coldhell.i2p k2d6bius63w3g35j32dn66fssqwbnyvegx6w6pl5mdeojpp4rjba
whois.i2p whoiswuguobs2rtsmpbao7bvfuxagmlckylh5ig6lxymiixtbfkq
435 wiki.i2p-projekt.i2p b2rpg7xtzwwfvtorfkrc3m7h222qbobnklra7g4oqhfjx64k2voa
436 wiki.ilita.i2p r233yskmowqe4od4he4b37wydr5fqzvj3z77v5fdei2etp2kg34a
437 wikiless.i2p x33lx4h6d7h6xs4eiqwhvaxn3ea5gn2ifmu3jobnvuvn4k4aej7a
438 wikimirror.i2p 2bhh73qhuwjkznnnzjfgo4buo7xy5l4ubhzt3oh23adksscx6gmq
439 wlm.i2p nigg3rveztrkpzoimq4z46pvbtml27mfhadt7n5bvl3pzzyzefxa
440 woah.i2p yh2eixirhlhvp7exrtalcwgeirg3fxi2vnumsbp7w6tily5oiwwq
441 wopen.i2p xvedtnzz3kpwpir23zyr3exrhkrn3267harw7gcjvp25yceyokza
442 www.imule.i2p worcester.i2p 657xcllunctawyjtar5kgh3wpt6z4l7ba6mmam5rf7hev5w2lsvq 5jtgpuzaabxyhahvbmokb3oeh2lwzpiiqlrg3w7kyyg63lzkwabq
443 wordle.i2p games3kuxvadv3y6tfowiynk2cnbuokrn2guvhkigqulmrvfnyla
444 www.infoserver.i2p fq7xhxkdcauhwn4loufcadiiy24zbei25elnup33a3gfrdzrtlyq
445 xadmpp.i2p jb67tnpn67i3pwcuf45rtwu7gq6nkrs72iznhnakpkdzb6dkgfmq
446 xd.i2p jynrjzdp5qajf2jsdif6bgpijuk72zmuiohq3o7omeksw4pdgejq
447 xeha.i2p oartgetziabrdemxctowp7bbeggc7ktmj7tr4qgk5y5jcz4prbtq
448 xinku.i2p xlsmgjin444ccqu7ff5taoov7hecasdyg53keatpbr2qrvgmzvuq
449 xmpp.chudo.i2p xmpp.ilita.i2p gppd6rx5jkutmt637odkbxh4tjqxy63i4amyhllqn424yt7pd2hq 2dpg43zlfophx5jo4xeqc6cx3zm4x3tfdoinbfuzychf5lwn3dhq
450 xmpp.pubsub.i2p yxbp3sn2x5t6k7hcxsg4njmaxjomr2wvh4xeldxjlij3ms3sikgq
451 xmpp.reloaded.i2p hioylmlm3lf3qgp2ncmym3igx6eyytlwioeq2fip4cwpzjtyxfuq
452 xmpp.rpi.i2p 3yv65pfwiwfuv4ciwtx34clqps6o2mc3vtyltcbqdkcki6untbca
453 xmpp.xadmpp.i2p s5ekktro7kk24gu67dgwi5xnhzhzjx6abujk44q4v56mmdnrv4lq
454 xmpp2.reloaded.i2p ufeplugqot5e22kottvejlw7yq24kynw5v5faulehc6n2zs62ura
455 xmrnode.i2p moneroti7lckp4hjrqckoq5cfi2apuyxia42sp5x7tkbzjfwqfiq
456 xmrradio.i2p olwxvhwaq422rcrlmvh6wgrdczyfyeag645du4cwncutqblkfmaq
457 xn--80ahmijpip2p.i2p assist2a3jsikp7ufmzpa56mlflhi5kmoack5dm6ua5x2hbgckua
458 xn--hallchen-q4a.i2p h5c4idxoweambtqajx3ecpu4iw425mfzckb4rrcvftrr7d2utfgq
459 xn--n3h.i2p xn--r2beng6b4e.i2p 6a5bfeil667ksrdgg5hx5x2dse2v6ovnsng3r2k5gp5tb4z67egq ag5tjs7c4skyt6gh54ebhffgxt2gof2ood4psbciv32l6mg6fzia
460 xsden.i2p 4dofwhzlkz3k3sedwzs2sx2fudq3jfvaygffc6kp6hsawmfmz6qa
461 xx.i2p a7hrmb4kbftyk4ovr2la6azi7vjfqwt2zlckos4svoaclqu52j6a
462 yacy.idk.i2p 7ccyylqqxnyexz2acn3nqjdlwqmd5pororbovrarar2dkw3ddrbq
463 yat.i2p yellowonion.i2p zxg4p6obolmrnkygoodqbdnikzychk5sild3o753hmaljuosl2fq 7l4kgsyatdmntck22i27oui3llftjim33ydav7kdew6ewfqvjzfa
464 yggdrasil.acetone.i2p tlfhgwzn4v5nlm2or5uy4leqmjbl5bncgcopbqnmcr4hbk3zrvqq
465 yggdrasil.i2p 7hhvvtephitji3ibz4vhbapj4rikoppd5324yttp6k35gkqgri3q
466 yggnet.i2p deyg5puthy6tc44j56ee2zxv3wu36vlmgxjyz2zoc63w66l5ksua
yiffme.i2p sm6dk2ovxhgdjuu3rmqussc4e2xkfz6rmhng6i2t7parcb4v4y3a
yoitsu.i2p yaaqmj55lsi5c5nukf4hsrift2zslnqkbcghwvjlaqayidtyctwa
467 yourdomain.i2p witqoik7gjzywta5nss5m6dvialeciismabksrukcvpfdpe6aqha
468 yt2mp3.i2p 7ai77u54gxta2ry326amfq4ugiqgcxd4r663nmxtswcwezyxsbzq
469 zab.i2p n4xen5sohufgjhv327ex4qra77f4tpqohlcyoa3atoboknzqazeq
zerobin.i2p 3564erslxzaoucqasxsjerk4jz2xril7j2cbzd4p7flpb4ut67hq
470 zeronet.i2p fe6pk5sibhkr64veqxkfochdfptehyxrrbs3edwjs5ckjbjn4bna
zetareticuli.i2p odleh3zcsmyhck4rgrxmjsfo4o33cthxyy3kkgz5vdrqlzdspxma
471 znc.str4d.i2p ufkajv3stxpxlwgwwb2ae6oixdjircnbwog77qxpxv7nt67rpcxq
472 zx.i2p 4ru5b25ixgz2wt2aqskbr2iflv42gt6ta6qet7rv4et5rh2kq6fq
473 zzz.i2p lhbd7ojcaiofbfku7ixh47qj537g572zmhdc4oilvugzxdpdghua
@@ -0,0 +1,14 @@
-----BEGIN CERTIFICATE-----
MIICKDCCAc6gAwIBAgIUcPHZXtYSqGNRCD6z8gp79WUFtI0wCgYIKoZIzj0EAwIw
gZMxCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEPMA0GA1UEBwwGQXVzdGlu
MRgwFgYDVQQKDA9TdG9ybXlDbG91ZCBJbmMxIzAhBgNVBAMMGnN0b3JteWNsb3Vk
LmZhbWlseS5pMnAubmV0MSQwIgYJKoZIhvcNAQkBFhVhZG1pbkBzdG9ybXljbG91
ZC5vcmcwHhcNMjIwMzE5MTU1MjU2WhcNMzIwMzE2MTU1MjU2WjCBkzELMAkGA1UE
BhMCVVMxDjAMBgNVBAgMBVRleGFzMQ8wDQYDVQQHDAZBdXN0aW4xGDAWBgNVBAoM
D1N0b3JteUNsb3VkIEluYzEjMCEGA1UEAwwac3Rvcm15Y2xvdWQuZmFtaWx5Lmky
cC5uZXQxJDAiBgkqhkiG9w0BCQEWFWFkbWluQHN0b3JteWNsb3VkLm9yZzBZMBMG
ByqGSM49AgEGCCqGSM49AwEHA0IABFUli0hvJEmowNjJVjbKEIWBJhqe973S4VdL
cJuA5yY3dC4Y998abWEox7/Y1BhnBbpJuiodA341bXKkLMXQy/kwCgYIKoZIzj0E
AwIDSAAwRQIgD12F/TfY3iV1/WDF7BSKgbD5g2MfELUIy1dtUlJQuJUCIQD69mZw
V1Z9j2x0ZsuirS3i6AMfVyTDj0RFS3U1jeHzIQ==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFyzCCA7OgAwIBAgIRALWNWsnQ0Vmn/99iCNT7cdQwDQYJKoZIhvcNAQELBQAw
cTELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEeMBwGA1UE
ChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxGjAYBgNVBAMM
EWVjaGVsb24zQG1haWwuaTJwMB4XDTIxMTEyOTE5MzU1OVoXDTMxMTEyOTE5MzU1
OVowcTELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEeMBwG
A1UEChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxGjAYBgNV
BAMMEWVjaGVsb24zQG1haWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIIC
CgKCAgEA3pccNiQWJUS1t3QHK7rBCNKAsM2dz4szN3+3SrDy1w+rOrK8Vt5aypPU
QYUQwG+odjEPacuoRtO/W14KJl5yAI3eQS+X/cYDXmxvfm4zx5JRumYptXwJD57G
rlPHnFvk8R+Hvh+/UyqgSAZ9ZaKjEzYK4AtbYEXtopaM4U2VYN8xKjvKyWlhPdxo
kI3//qcTlSqGHHeHrkItLG1LubM1EnPu+9zI2WN2zBBRcm8ZtWqHoqFJ1zgJr/49
nMK8Lnb3I54ctva8x5+gsSk4dbG/mMsOIZekFqYJJs3+u9w5fmOYI7v9GlQr7UhE
G3MwjJ5Cj1LmLVlz/4LApZrDSd2JvwIUdGL3UW8+blaTeCPKIRvmsTeRxo1gORMF
ZH0dg39722lK7ScwOlOUX9ggzRUlYCmvnjQJZGJEUoP68QxjlQfkXZyffmMfvm6K
V6mcZ5aHMGO1lYAl40kWNJ0jGpmxJqTDhNFDEKr0TlRGVxXGWzObEOrcJ8ysRMc1
x6oXQhh79HXZcKwhZaXLx23ZvVoTfhRm4JH0SSP6XqQm35j4NI1SllEsDns29wU3
Re4wOWJCCYlPG3CtY32CinwQRoVgtiJk18W8+Pxw7sBFq8sL5L0Z+5bB6nTkBfV6
7OrZGWL0i344zQE0e3yIsLih+5Wyqw6RSSMysenl3alnUB9EvE0CAwEAAaNeMFww
DgYDVR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAP
BgNVHRMBAf8EBTADAQH/MBoGA1UdDgQTBBFlY2hlbG9uM0BtYWlsLmkycDANBgkq
hkiG9w0BAQsFAAOCAgEAaUMnMYtNFBl9dFON6e4EjYo53Wknj61uIVO11dvLqjnh
7X6guPML+GgNZsPQGLu7Bqw4hVgy/cV5AlFc7SXOhzpaYo1ycpjg3Ws1VK2wrk7+
4bvUThNcS1KZVFDdRE62549rYNfYNfPxXvccOTW9meTCC1kLHerh65ySDr9J02O6
o5Mf685PgBasBH6dlosOLTtee2gRLNFcAluQYKerawS1gDys5239UNHPCqTgO+Od
FiKfl48OIOzPGLKEf4lXC+lkwZElewShrHhzd8aGueedTi0UHOtQuY7ocsofqXc8
OnyT/y2X6wn/YkzviKgfxYDSI7FJiUgXCPcT0jUNmuwR168yL5BfzoQmrCvlOOQg
P7ibdBJ6UkL8pRpv/SYpvaX/kf4agYtwh5IL9FzNCwNu54ZC6JilLUhYAU38Eolq
OZ/cGiMoSFQIeBPvB3cdsqEud9W4P+MqN5A76fMzdVV77lGsIS1eCGMceR3CjOiF
6SdAskcBZWhFiRNQweC0iv57/nPCeTCuNAqbZSHd7zC1AKhNmmsKSJUJQCGijcce
P8Gl0AFfZneN2bVEFvJ/zd71pD8ll1Gkju16bfdWn0V4NRaxFiXNr2bL+ah9blud
EXOomE3R6ow1QZk+Gnpy3wh9jfwlrJuFoANvHnv4WREbdjwr//71XjBri5p1wPE=
-----END CERTIFICATE-----
@@ -1,32 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIESg3kkzANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECBMCWFgxCzAJBgNVBAcTAlhYMR4wHAYDVQQKExVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEZMBcGA1UEAwwQZWNoZWxvbkBtYWls
LmkycDAeFw0xNDA3MzExNjQ3MDJaFw0yNDA3MzAxNjQ3MDJaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIEwJYWDELMAkGA1UEBxMCWFgxHjAcBgNVBAoTFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECxMDSTJQMRkwFwYDVQQDDBBlY2hlbG9uQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAmcEgLwwhzLNe
XLOMSrhwB8hWpOhfjo4s6S/wjBtjjUc8nI3D0hSn3HY26p0rvcvNEWexPUpPULmC
exGkU463nu7PiFONiORI1eJAiUFHibRiaA7Wboyo38pO73KirwjG07Y+Ua0jp+HS
+4FQ/I/9H/bPplReTOU/6hmRbgQ69U8nE68HzZHQxP68yVJ2rPHSXMPhF4R1h0G1
1mCAT+TgTsnwHNGF77XHJnY4/M4e2cgycEZjZow36C3t2mNDVkMgF19QQeb9WmLR
zREn3nq9BJqHpUkn9yWw0kKXTZSds+7UxESfzf3BzK0+hky2fh5H+qbYAo2lz4yj
81MXTAu+4RRkg4DBLlF+2dkclhwQLxxzvkRC6tPkn5i33Yltg7EfzA9IoQ05potJ
I+iOcF+aStfFgFj9u3B5UkcF4P0cH1QD3c6BK4hIezQYqRoPly1gHqg+XdwjG/dr
4as7HA9FTz3p2E8nClpIC1x3hfgwAdfd29aeBxO1WW/z99iMF7TBAF+u5T86XEW1
WpknqCbTli36yJ8a5fPWxZHrryBRJT5yLxejjFeadtutBSwljiVFq+Y38VqwFivq
VLiBt7IxAsZ8iilgfnnnAvBH6chWfSKb4H7kB4TJvDiV96QmmvoEaWYNHZozMhyK
tO3b5w+xqbJXyCLA3Q75jD0km76hjcECAwEAAaMhMB8wHQYDVR0OBBYEFAHQcAam
QRS/EUhuCSr9pB4Ux0rYMA0GCSqGSIb3DQEBDQUAA4ICAQBq1+1QLmgLAjrTg3tb
4XKgAVICQRoBDNUEobQg3pYeUX9eFNya2RxNljuvYpwT80ilGMPOXcjddmr5ngiK
dbGRcuuJk9MPEHtPaPT3+JJlvKQ3B3g2wva2Wz2OAyLZUGQs389K4nTbwh4QF0n2
aHFL8BHiD62hiKnCoNaW4ZovUNNvOxo9lMyAiaFU2gqQNcdad8hP9EAllbvbxDx9
Tjww2UbwQUIHS9rna4Tlu+f0hDXTWIutc2A51W2fJCb7L3+lYO7Wv55ND/WtryLZ
XpMp27+MpuEnN3kQmz/l9R0hIJsWc/x9GQkjm5wEaIZEyTtenqwRKGmVCtAj0Pgv
jn1L3/lWmrNq+OZHb/QeyfKtA3nXfQKVmT98ewQiK/S5i1xIAXCJPytOD887b/o1
cdurTmCiZMwgiQ+HLJqCg3MDa5mvKqRkRdZXfE6aQWEcSbpAhpV15R17q7L+Fg0W
shLSNucxyGNU8PjiC/nOmqfqUiPiMltJjPmscxBLim8foyxjakC4+6N6m+Jzgznj
PocBehFAfKYj66XEwzIBN7Z2uuXoYH9YptkocFjTzvchcryVulDWZ4FWxreUMhpM
4oyjjhSB4tB9clXlwMqg577q3D6Ms0zLTqsztyPN3zr6jGev3jpVq7Q1GOlciHPv
JNJOWTH/Vas1W6XlwGcOOAARTQ==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFgTCCA2mgAwIBAgIETWAY1DANBgkqhkiG9w0BAQ0FADBxMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBAbWFp
bC5pMnAwHhcNMjExMjEzMTU0MDI3WhcNMzExMjExMTU0MDI3WjBxMQswCQYDVQQG
EwJYWDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5v
bnltb3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEaMBgGA1UEAwwRaGlkdXNlcjBA
bWFpbC5pMnAwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDXnjJ8UQ0f
lHHpfPMiHofBPSuL4sbOJY6fOXwPhSg/h6THh9DS/ZWmJXQ3qRD0glDVtv4/Dr/9
ldGQ5eltF9iCFXCQlMEy2HjQrBKq0nsl7RpYK12cyMaod0kkzCUk9ITLi9CmHM3Z
gQZcmG8TWjFEpDR+idx/QkQt2pcO4vzWlDit3Vh4ivnbX5jGQHbsVjQEMQWxr+pX
dsS+YQpjZ6RBmrooGTPO8QDOOeYLAn0lCjmffc/kzIH9E/p4/O0rOpyhVYbdxUD1
5wkqN9l4yrtxmORG/PudnRQQ0r4TUq8vsxfGY0Euo9IbhgXF2Parel1ZhDxB1WZV
VwWtgLIh9jGA1UMa8SYKnEfp8LWNZ3b3mUUnZb3kMrLk6jGYRWNsHmamhd4mC7AZ
qf/8lOkEIw3bPd3YguCDRVcLui5BwIEZmqXg8uoESxfO/sW3pBrN/8M7MkTex9kN
vjitGDDXvenK27qmNgZxbBlX72yTSfys7XTYTLnxZC8AwdAo2Wz9Z6HhGiPonf2h
vZkc9ZxuE0jFIrsbJra4X7iyjXgi4vV4ARNg/9Ft6F4/OIbECgeDcBQqq4TlT2bZ
EfWVrBbqXoj5vNsLigIkd+AyUNwPYEcB5IFSiiOh98pC7BH3pg0m8U5YBjxe1i+9
EQOOG0Qtx+JigXZHu6bGE0Twy9zy+UzoKQIDAQABoyEwHzAdBgNVHQ4EFgQUGK1b
0DkL6aLalcfBc/Uj/SF08C0wDQYJKoZIhvcNAQENBQADggIBAMpXM82bJDpH1TlH
TvhU3Z7nfZdvEhOQfujaFUYiuNripuEKcFGn948+DvAG0FUN+uNlJoqOVs8D7InD
gWlA9zpqw5Cl5Hij/Wns9QbXuAHJeA23fVUoaM2A6v9ifcIQ1A+rDuRQAo6/64KW
ChTg2e99RBpfGOyqgeh7tLLe0lPPekVpKHFuXabokaKRDuBcVHcUL4tWXe3dcyqa
Ej/PJrrS+nWL0EGZ4q80CEd2LPuDzPxNGCJt/R7ZfadENWajcgcXGceh1QBzozrB
SL/Ya6wF9SrsB7V/r5wX0LM4ZdDaLWbtmUe5Op0h/ZMH25Sa8xAXVz+O9L6sWSoO
FaiYTOvAiyyPz+nsxKa3xYryDHno7eKSt+hGOcaurhxbdZaEFY/CegEc73tCt9xK
e9qF8O/WkDLmixuErw3f5en4IfzGR7p3lJAwW/8WD8C6HS39h/eE7dVZNaWgtQnZ
SgGjgZMTJqTcQ3aZmfuCZefxGFok8w6AIkdbnd1pdMBRjYu8aXgl2hQSB9ZADDE9
R5d3rXi0PkSFLIvsNjVa5KXrZk/tB0Hpfmepq7CufBqjP/LG9TieRoXzLYUKFF74
QRwjP+y7AJ+VDUTpY1NV1P+k+2raubU2bOnLF3zL5DtyoyieGPhyeMMvp0fRIxdg
bSl5VHgPXHNM8mcnndMAuzvl7jEK
-----END CERTIFICATE-----
@@ -0,0 +1,34 @@
-----BEGIN CERTIFICATE-----
MIIFzTCCA7WgAwIBAgIQeUqFi0fHNQopg6BZlBLhVzANBgkqhkiG9w0BAQsFADBy
MQswCQYDVQQGEwJYWDELMAkGA1UEBxMCWFgxCzAJBgNVBAkTAlhYMR4wHAYDVQQK
ExVJMlAgQW5vbnltb3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEbMBkGA1UEAwwS
aTJwLXJlc2VlZEBtazE2LmRlMB4XDTIyMDIwNTE3MzkzM1oXDTMyMDIwNTE3Mzkz
M1owcjELMAkGA1UEBhMCWFgxCzAJBgNVBAcTAlhYMQswCQYDVQQJEwJYWDEeMBwG
A1UEChMVSTJQIEFub255bW91cyBOZXR3b3JrMQwwCgYDVQQLEwNJMlAxGzAZBgNV
BAMMEmkycC1yZXNlZWRAbWsxNi5kZTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCC
AgoCggIBAMYxs2D2xpN/8blGawvAlU9DemHIxApOEwaLNfh8aAvqEdB41NTqcx4U
H8VchSormCfkCvezuMHO+K2HX7ihEZ1v6tbr6aX6hY9UZUyDDYsKmJoB1oKEhddv
5UYfcWPE2eSykdFsWgTQD6Z+cRQWHEoCzb7qc+Jrw6KcnHMD0VrmBrEQPzTBxMHW
4HC97PVkSLJTDArnS6ZiX4IbWRPw/mbpJT6EoVZo8J/it0pdn/X4KodEXDcnEMSe
VRulfZH/nSmOOvKhoHPckmgz/u66BlnuSYXEIB0KfDIcAlSYiPDxGnAemTozJYXA
UVMeFMs+YE5wiPgzzu+vpC31xtZLq0gyaCfgEi1P9j2ES/8pH3Gw6W2OH4kBx+jO
TBsfI+ph6qFZ3WWT23MRVyl3ATuI/GHdczTxD9JaOn74lLI+Hnu8wXnyztVWkTMB
4sAnzjdeHkvNDyQ10vSaN0HnGfg6zuAuUSqFQujFF8Vg8ZCcsh8GouWfzYDvi9mj
9pfxx8v6UCC719I4J9CgFjWnn2Hqez3fO8fFulY61VPyCCZp4gKWbI2SIQP/n5gz
ecYJRrJoem+rYfEQ/fwxROsvm3fCO4D6dt7ILRuX286GDIw2qSvP1zZVAioMwSj3
9CAjKLwD/BhTRiMOlpaVv6IWqjtevbiaIKvbHTnoxvkGsDqe3gJhAgMBAAGjXzBd
MA4GA1UdDwEB/wQEAwIChDAdBgNVHSUEFjAUBggrBgEFBQcDAgYIKwYBBQUHAwEw
DwYDVR0TAQH/BAUwAwEB/zAbBgNVHQ4EFAQSaTJwLXJlc2VlZEBtazE2LmRlMA0G
CSqGSIb3DQEBCwUAA4ICAQAb+x6XpJdjpVYw2bvWIUbatQJwq0YaEW5W61xGLgIG
a37oll3YZbSY9Vk+N1cE0f61L3ya4Ioz6zlH/MO2zUG/dEk8vqdgIPUYJvyF7wwF
w3/G4VMaDKOJx4bAZNmaiRFGYNhCOhCnZx6uZGrLNIJ2Dc+mflrGmGwYphtXVV3e
Iv+ki3gSRgfXuMfKi4B5bLPnz7XDe4TSmwZZSRac4ly4KqmZUyntqbilRxaGTej3
VYJ1tac8yppyk5N3VopMQNmBarNZG16wSOTD7CtKgn382jgRW8cR7BMeqhORivp0
ZnPJFhzh4uthdlPdXXo6lxfvZjfiwlDPytvEu2QBz3urTgopGqRLcTBnLucWg9li
OSy9z7hNEnIN3iIJJAwI1wBdDa7K0h3PFBbIUa7X2ybn81VeNSfO25Lo8YTZEKsc
wcThJrNV6qOQv8rM/7aXugi6+VzPlCR+18iKRbebCnlqGR2dT1zFtj3negtOkrjo
LH4H6VUr3q2Ie56IubS2hUKiUkDm0ckP3Vum35GGntyEAzl6uyog0hJFOJb3aq30
YQLzyVEOz8NnA+32oMRzJJdDxQ7pqG5fgq7EF4d++YSgEfdVXxvfgXQ6m3jAyC7Z
p/gX4rlxNsjeGU3Ds51wkmhH4IB1aSQr52PE6RaBhhh3SmADEv6S/3eGvE4F4MN5
2Q==
-----END CERTIFICATE-----
@@ -0,0 +1,32 @@
-----BEGIN CERTIFICATE-----
MIIFfzCCA2egAwIBAgIEbNbRPjANBgkqhkiG9w0BAQ0FADBwMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMR4wHAYDVQQKDBVJMlAgQW5vbnlt
b3VzIE5ldHdvcmsxDDAKBgNVBAsMA0kyUDEZMBcGA1UEAwwQb3JpZ25hbEBtYWls
LmkycDAeFw0yMTA3MDYyMjExMDFaFw0zMTA3MDQyMjExMDFaMHAxCzAJBgNVBAYT
AlhYMQswCQYDVQQIDAJYWDELMAkGA1UEBwwCWFgxHjAcBgNVBAoMFUkyUCBBbm9u
eW1vdXMgTmV0d29yazEMMAoGA1UECwwDSTJQMRkwFwYDVQQDDBBvcmlnbmFsQG1h
aWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAvNJz2KGuAkHP
tGFobfLvpybtxB50fkcEsTc9opmiy7wBKK9rSI01VS616IhABkWKZVfK2A9NqpGv
v/CyhTKoaeSNeXY7+zORUWgWK/zA9fA4GRZFqlW8j4tbompDwcLYNqRBCsn1C0OY
YA5JhXPBixMcnXl8N8x4sXhQ4l9R3+QrydhUHRvgDc8dOxRyIX7zuQAyf8tmA2Xo
xZLdvDcCJdLBIbFwxhIceIhgcOwaOx7oRkZDZdYcLJd3zjyPbu8JtOM2ZkwH7r+0
ro5PktuDp2LAS6SII5yYNcwcrvPZGPqhLdifIw1BrdTIb/rIkQZ5iXOOdyPmT7e8
IwAJcPFlfvrS4Vbi9oDqyx3aDUBoubgmFnO1TirL56ck83R/ubcKtdnyzAn5dp+f
ZNYW6/foSBpDDOCViylbFAR5H0HJEbBns7PZx6mGEEI4tUAJdNYl7Ly7Df60a9Rz
cD/gz08U9UwFXYKoT6roEjToADGAzb5MI4cVlAb2AmQaMNXNe04HcDL1bU50mkNU
amqPv8nxf72fBQCEmZz2G57T6QiYTtcCwiWS1QdWsuaOtCo9zO0MKcjzSdUxuxEc
dXhjQdNegsgg/Xk7bJ8lKOsACqMpFftdPmuyeZU2t+3RPuBpV/0j2qUfg/y6kb0z
CxAOYmlcL4kqw4VT+5V/EeZLIG0h9I0CAwEAAaMhMB8wHQYDVR0OBBYEFD/wJObg
CCDuhMJCVWTSTj+B3rsUMA0GCSqGSIb3DQEBDQUAA4ICAQC0PjsTSPWlGbLNeeI8
F0B5xAwXYJzZ7/LRxh8u42HDUqVIDjqkuls1l3v9D7htty2Gr3Ws2dcvcOr2KcOy
mEWg+jdP/N3vt9IkZeVS4YQoPgq6orn7lVkk00bcKb24f7ZnoQnnVV0/m42Y5P4j
LLh+8MBxsez9azXyZbDVEkgsMUAkdVO6KNz6scqz7wb8egV2GAMAp7cwChC6lanK
gv9ZyJhG/HdTv6VyuMZhJy6rX4geM97tm1iHu1VLsQcIzBKAdEvWJv8ofMeiyINe
hqAP9NYaeowKi975NOrmf+XZwxd0niApIohV684RCVUfL8H7HSPbdXhBJ/WslyDP
cTGhA2BLqEXZBn/nLQknlnl0SZTQxG2n4fEgD1E5YS/aoBrig/uXtWm2Zdf8U3mM
+bNXhbi9s7LneN2ye8LlNJBSRklNn/bNo8OmzLII1RQwf1+vaHT96lASbTVepMZ/
Y9VcC8fAmho/zfQEKueLEB03K+gr2dGD+1crmMtUBjWJ9vPjtooZArtkDbh+kVYA
cx4N4NXULRwxVWZe5wTQOqcZ3qSS1ClMwaziwychGaj8xRAirHMZnlPOZO1UK4+5
8F4RMJktyZjNgSLP76XPS4rJK5fobuPqFeA4OpDFn/5+/XeQFF6i6wntx1tzztzH
zc+BrVZOdcYPqu9iLXyRQ9JwwA==
-----END CERTIFICATE-----
@@ -0,0 +1,33 @@
-----BEGIN CERTIFICATE-----
MIIFxzCCA6+gAwIBAgIQfKAV7rmoWA8jWpLfMtDQqzANBgkqhkiG9w0BAQsFADBw
MQswCQYDVQQGEwJYWDELMAkGA1UEBxMCWFgxCzAJBgNVBAkTAlhYMR4wHAYDVQQK
ExVJMlAgQW5vbnltb3VzIE5ldHdvcmsxDDAKBgNVBAsTA0kyUDEZMBcGA1UEAwwQ
cmFtYmxlckBtYWlsLmkycDAeFw0yMTExMDYwNzEwMzJaFw0zMTExMDYwNzEwMzJa
MHAxCzAJBgNVBAYTAlhYMQswCQYDVQQHEwJYWDELMAkGA1UECRMCWFgxHjAcBgNV
BAoTFUkyUCBBbm9ueW1vdXMgTmV0d29yazEMMAoGA1UECxMDSTJQMRkwFwYDVQQD
DBByYW1ibGVyQG1haWwuaTJwMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKC
AgEAz4vQlIdjY56uqkFKWld9Oy3E8+06Ag9fUzBVleS2bdJfaFtmEa8xz6Pep7Bb
zJK0Q9t2CW7/xqIWuspWlYn5EYAS7BFiNOX70KX4PMpltj3C4Dpxpjll9LdydU2k
FquCflXNJESnBDdd0qDRMboMf4c9lTz0mTLwAtzInLwHGDrbxEiQ/YqPgPJreOXQ
anhjkpxJcgpLR+9od8EdLNKbShVWEeSBnYp0FcjnZKOb9KC2gjqP0sWdzlw3i1hh
CB38A7a03Q4yUcmxCw4ktM60d/2jCZ+G7KHwcbkfxDjl85r0UgEzgfF7LuIuxxmA
MNLH1eAACnLTl42O72EHdtD9VWWwZF2NuFgAzT3MEFnMKDk+OqZOeZQOEgkIfrNP
O5XYMYxHSWCf/dmSq36ZJwhC40k2S9ArS8BQNY8NvwZG5CSGDU52FKaHzFn6EwLE
4CpsrptUX2itXLaFUiNMw6I+eSgTO7x+gpahZVqpdRSQXmpE0xA5jP/DwPyt3ZVe
/4q4kn3imcSCxBP5NQHWfVszsruRkh9np4R0xVlT8UCwJmY8Yg8zwJG5UddTAck5
JavDsaXgWMwcZ/qQboZKlH/iAdQnbkte8Yd5GL5nmTeS+vwuluwmA/y9kUzSUhk+
86kA0eRJ1+e2HdA1/UOTRmyIoIeQ5/fhELMXzhksLcpMGTUCAwEAAaNdMFswDgYD
VR0PAQH/BAQDAgKEMB0GA1UdJQQWMBQGCCsGAQUFBwMCBggrBgEFBQcDATAPBgNV
HRMBAf8EBTADAQH/MBkGA1UdDgQSBBByYW1ibGVyQG1haWwuaTJwMA0GCSqGSIb3
DQEBCwUAA4ICAQAxRdSTZGEblnNeVuRoEQq/a/6q4egFaOkzXCPKEnDzB5yvm83g
35ImquGFZkgaoc5qUAHVeBwOQrWgUI4xHPofnbM2VsgEUMz6h3ovobPNkN3+lRT5
30krd0y+A/Q895EHDu0lyf3BHMmtCWiKWQBttuc0dnmoLCRsQxgy+kYJCS/81jCM
4KNnyrtc6a/czqSq758CncjP2nErVucendsguQoA5JUw53YJ4FYHG/f9tYEkhm9C
D6u7L3vTUcMRUrRxSiJyNixH36nEwpM6DNHiPNc+CFKZ/Zx449R1GjcpDhTrXnWP
2H1r3cyKEM8a76VUEs2GQCaaglOR4N1goyqgYEjScf+/4VmARL3VUzfP8Oub70rM
t1fip5QD/4VDQuA/9C9g5Rr2nJ3K2jVnpSSKnBYFYf5z9RZdTOVXjXaEi72lWxpk
mjgK6c5EFOJxYoCaTbKX9Kz9ZIWVOVMrgHWwA/wDW+Qk5zgP9Ysau65xIp9P1RdB
qHgR5BcIrNky9RD8cIzxzMPCSMVgnf0eLFuHmG8uUl/xHHVRprf0pd7DYkQ44HWN
Z/g/gg3DaJdH7vvkShzgjt4iZrmOCHQIKkSGFRYZf0/Mpn6mgK9+grtO9osVgAQr
LBO+5LIxV/S5bcrzWQLOiMABTd2X/0PTOjuXpfinZ3rDSUiNFPq5kLLSlA==
-----END CERTIFICATE-----
@@ -1,31 +0,0 @@
-----BEGIN CERTIFICATE-----
MIIFVDCCAzwCCQC2r1XWYtqtAzANBgkqhkiG9w0BAQsFADBsMQswCQYDVQQGEwJY
WDELMAkGA1UECAwCWFgxCzAJBgNVBAcMAlhYMRMwEQYDVQQKDApQdXJwbGUgSTJQ
MQ0wCwYDVQQLDARJMlBEMR8wHQYJKoZIhvcNAQkBFhBvcmlnbmFsQG1haWwuaTJw
MB4XDTE1MDIyMjEzNTgxOFoXDTI1MDIxOTEzNTgxOFowbDELMAkGA1UEBhMCWFgx
CzAJBgNVBAgMAlhYMQswCQYDVQQHDAJYWDETMBEGA1UECgwKUHVycGxlIEkyUDEN
MAsGA1UECwwESTJQRDEfMB0GCSqGSIb3DQEJARYQb3JpZ25hbEBtYWlsLmkycDCC
AiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIBALp3D/gdvFjrMm+IE8tHZCWE
hQ6Pp0CCgCGDBC3WQFLqR98bqVPl4UwRG/MKY/LY7Woai06JNmGcpfw0LMoNnHxT
bvKtDRe/8kQdhdLHhgIkWKSbMvTAl7uUdV6FzsPgDR0x7scoFVWEhkF0wfmzGF2V
yr/WCBQejFPu69z03m5tRQ8Xjp2txWV45RawUmFu50bgbZvLCSLfTkIvxmfJzgPN
pJ3sPa/g7TBZl2uEiAu4uaEKvTuuzStOWCGgFaHYFVlTfFXTvmhFMqHfaidtzrlu
H35WGrmIWTDl6uGPC5QkSppvkj73rDj5aEyPzWMz5DN3YeECoVSchN+OJJCM6m7+
rLFYXghVEp2h+T9O1GBRfcHlQ2E3CrWWvxhmK8dfteJmd501dyNX2paeuIg/aPFO
54/8m2r11uyF29hgY8VWLdXtqvwhKuK36PCzofEwDp9QQX8GRsEV4pZTrn4bDhGo
kb9BF7TZTqtL3uyiRmIyBXrNNiYlA1Xm4fyKRtxl0mrPaUXdgdnCt3KxOAJ8WM2B
7L/kk9U8C/nexHbMxIZfTap49XcUg5dxSO9kOBosIOcCUms8sAzBPDV2tWAByhYF
jI/Tutbd3F0+fvcmTcIFOlGbOxKgO2SfwXjv/44g/3LMK6IAMFB9UOc8KhnnJP0f
uAHvMXn1ahRs4pM1VizLAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAIOxdaXT+wfu
nv/+1hy5T4TlRMNNsuj79ROcy6Mp+JwMG50HjTc0qTlXh8C7nHybDJn4v7DA+Nyn
RxT0J5I+Gqn+Na9TaC9mLeX/lwe8/KomyhBWxjrsyWj1V6v/cLO924S2rtcfzMDm
l3SFh9YHM1KF/R9N1XYBwtMzr3bupWDnE1yycYp1F4sMLr5SMzMQ0svQpQEM2/y5
kly8+eUzryhm+ag9x1686uEG5gxhQ1eHQoZEaClHUOsV+28+d5If7cqcYx9Hf5Tt
CiVjJQzdxBF+6GeiJtKxnLtevqlkbyIJt6Cm9/7YIy/ovRGF2AKSYN6oCwmZQ6i1
8nRnFq5zE7O94m+GXconWZxy0wVqA6472HThMi7S+Tk/eLYen2ilGY+KCb9a0FH5
5MOuWSoJZ8/HfW2VeQmL8EjhWm5F2ybg28wgXK4BOGR3jQi03Fsc+AFidnWxSKo0
aiJoPgOsfyu8/fnCcAi07kSmjzUKIWskApgcpGQLNXHFK9mtg7+VA8esRnfLlKtP
tJf+nNAPY1sqHfGBzh7WWGWal5RGHF5nEm3ta3oiFF5sMKCJ6C87zVwFkEcRytGC
xOGmiG1O1RPrO5NG7rZUaQ4y1OKl2Y1H+nGONzZ3mvoAOvxEq6JtUnU2kZscpPlk
fpeOSDoGBYJGbIpzDreBDhxaZrwGq36k
-----END CERTIFICATE-----
+6 -2
View File
@@ -12,7 +12,7 @@ loglevel = none
ipv4 = true
ipv6 = false
# ssu = true
ssu = false
bandwidth = L
# share = 100
@@ -23,6 +23,10 @@ bandwidth = L
[ntcp2]
enabled = true
[ssu2]
enabled = true
published = true
[http]
enabled = true
address = 127.0.0.1
@@ -63,7 +67,7 @@ enabled = false
# port = 7656
[precomputation]
elgamal = true
elgamal = false
[upnp]
enabled = true
-4
View File
@@ -1,4 +0,0 @@
http://reg.i2p/hosts.txt
http://identiguy.i2p/hosts.txt
http://stats.i2p/cgi-bin/newhosts.txt
http://i2p-projekt.i2p/hosts.txt
@@ -29,7 +29,7 @@ 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 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")
@@ -85,13 +85,12 @@ public class DaemonWrapper {
}
public int getTransitTunnelsCount() {
return I2PD_JNI.GetTransitTunnelsCount();
return I2PD_JNI.getTransitTunnelsCount();
}
public enum State {
uninitialized(R.string.uninitialized),
starting(R.string.starting),
jniLibraryLoaded(R.string.jniLibraryLoaded),
startedOkay(R.string.startedOkay),
startFailed(R.string.startFailed),
gracefulShutdownInProgress(R.string.gracefulShutdownInProgress),
@@ -129,7 +128,7 @@ public class DaemonWrapper {
private String daemonStartResult = "N/A";
private void fireStateUpdate1(State oldValue, State newValue) {
Log.i(TAG, "daemon state change: " + state);
Log.d(TAG, "daemon state change: " + state);
for (StateUpdateListener listener : stateUpdateListeners) {
try {
listener.daemonStateUpdate(oldValue, newValue);
@@ -153,7 +152,7 @@ public class DaemonWrapper {
public void changeDataDir(String dataDir, Boolean updateAssets) {
I2PD_JNI.setDataDir(dataDir);
if( updateAssets ) processAssets();
if (updateAssets) processAssets();
//ToDo: move old dir to new dir?
}
@@ -168,7 +167,6 @@ public class DaemonWrapper {
} catch (Throwable tr) {
Log.e(TAG, "", tr);
}
setState(State.stopped);
}
}
@@ -178,7 +176,6 @@ public class DaemonWrapper {
try {
processAssets();
I2PD_JNI.loadLibraries();
setState(State.jniLibraryLoaded);
//registerNetworkCallback();
} catch (Throwable tr) {
lastThrowable = tr;
@@ -189,7 +186,7 @@ public class DaemonWrapper {
synchronized (DaemonWrapper.this) {
I2PD_JNI.setDataDir(i2pdpath); // (Environment.getExternalStorageDirectory().getAbsolutePath() + "/i2pd");
Log.d(TAG, "setting webconsole language to " + appLocale);
Log.i(TAG, "setting webconsole language to " + appLocale);
I2PD_JNI.setLanguage(appLocale);
daemonStartResult = I2PD_JNI.startDaemon();
@@ -206,58 +203,51 @@ public class DaemonWrapper {
}
private void processAssets() {
if (!assetsCopied) {
try {
assetsCopied = true;
File holderFile = new File(i2pdpath, "assets.ready");
String versionName = BuildConfig.VERSION_NAME; // here will be app version, like 2.XX.XX
StringBuilder text = new StringBuilder();
Log.d(TAG, "checking assets");
File holderFile = new File(i2pdpath, "assets.ready");
String versionName = BuildConfig.VERSION_NAME; // here will be app version, like 2.XX.XX
StringBuilder text = new StringBuilder();
if (holderFile.exists()) {
try { // if holder file exists, read assets version string
FileReader fileReader = new FileReader(holderFile);
if (holderFile.exists()) {
try { // if holder file exists, read assets version string
FileReader fileReader = new FileReader(holderFile);
try {
BufferedReader br = new BufferedReader(fileReader);
try {
BufferedReader br = new BufferedReader(fileReader);
try {
String line;
try {
String line;
while ((line = br.readLine()) != null) {
text.append(line);
}
}finally {
try {
br.close();
} catch (IOException e) {
Log.e(TAG, "", e);
}
}
} finally {
try {
fileReader.close();
} catch (IOException e) {
Log.e(TAG, "", e);
}
while ((line = br.readLine()) != null) {
text.append(line);
}
}finally {
try {
br.close();
} catch (IOException e) {
Log.e(TAG, "", e);
}
}
} finally {
try {
fileReader.close();
} catch (IOException e) {
Log.e(TAG, "", e);
}
}
} catch (IOException e) {
Log.e(TAG, "", e);
}
}
// if version differs from current app version or null, try to delete certificates folder
if (!text.toString().contains(versionName))
try {
boolean deleteResult = holderFile.delete();
if (!deleteResult)
Log.e(TAG, "holderFile.delete() returned " + deleteResult + ", absolute path='" + holderFile.getAbsolutePath() + "'");
File certPath = new File(i2pdpath, "certificates");
deleteRecursive(certPath);
}
catch (Throwable tr) {
Log.e(TAG, "", tr);
}
// if version differs from current app version or null, try to delete certificates folder
if (!text.toString().contains(versionName)) {
try {
boolean deleteResult = holderFile.delete();
if (!deleteResult)
Log.e(TAG, "holderFile.delete() returned " + deleteResult + ", absolute path='" + holderFile.getAbsolutePath() + "'");
File certPath = new File(i2pdpath, "certificates");
deleteRecursive(certPath);
// copy assets. If processed file exists, it won't be overwritten
copyAsset("addressbook");
@@ -312,7 +302,7 @@ public class DaemonWrapper {
// Make the directory.
File dir = new File(i2pdpath, path);
boolean result = dir.mkdirs();
Log.d(TAG, "dir.mkdirs() returned " + result);
Log.d(TAG, "dir.mkdirs() returned " + result + " for " + dir);
// Recurse on the contents.
for (String entry : contents) {
@@ -361,7 +351,7 @@ public class DaemonWrapper {
}
boolean deleteResult = fileOrDirectory.delete();
if (!deleteResult)
Log.e(TAG, "fileOrDirectory.delete() returned " + deleteResult + ", absolute path='" + fileOrDirectory.getAbsolutePath() + "'");
Log.d(TAG, "fileOrDirectory.delete() returned " + deleteResult + ", absolute path='" + fileOrDirectory.getAbsolutePath() + "'");
}
private void registerNetworkCallback(){
@@ -383,14 +373,14 @@ public class DaemonWrapper {
public void onAvailable(Network network) {
super.onAvailable(network);
I2PD_JNI.onNetworkStateChanged(true);
Log.i(TAG, "NetworkCallback.onAvailable");
Log.d(TAG, "NetworkCallback.onAvailable");
}
@Override
public void onLost(Network network) {
super.onLost(network);
I2PD_JNI.onNetworkStateChanged(false);
Log.i(TAG, " NetworkCallback.onLost");
Log.d(TAG, " NetworkCallback.onLost");
}
}
}
@@ -84,7 +84,7 @@ public class ForegroundService extends Service {
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Log.i("ForegroundService", "Received start id " + startId + ": " + intent);
Log.d("ForegroundService", "Received start id " + startId + ": " + intent);
return START_STICKY;
}
@@ -27,8 +27,7 @@ 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.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
@@ -37,19 +36,20 @@ import androidx.core.app.ActivityCompat;
import androidx.core.content.ContextCompat;
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;
private CheckBox HTTPProxyState;
private CheckBox SOCKSProxyState;
private CheckBox BOBState;
private CheckBox SAMState;
private CheckBox I2CPState;
private static volatile DaemonWrapper daemon;
@@ -65,15 +65,23 @@ public class I2PDActivity extends Activity {
try {
if (textView == null)
return;
Throwable tr = daemon.getLastThrowable();
if (tr != null) {
textView.setText(throwableToString(tr));
return;
}
DaemonWrapper.State state = daemon.getState();
if(state == startedOkay){
disableButton.setVisibility(View.VISIBLE);
if (daemon.isStartedOkay()) {
HTTPProxyState.setChecked(I2PD_JNI.getHTTPProxyState());
SOCKSProxyState.setChecked(I2PD_JNI.getSOCKSProxyState());
BOBState.setChecked(I2PD_JNI.getBOBState());
SAMState.setChecked(I2PD_JNI.getSAMState());
I2CPState.setChecked(I2PD_JNI.getI2CPState());
}
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));
@@ -99,12 +107,17 @@ public class I2PDActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
Log.d(TAG, "onCreate");
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
enableButton = findViewById(R.id.enableButton);
disableButton = findViewById(R.id.disableButton);
textView = (TextView) findViewById(R.id.appStatusText);
HTTPProxyState = (CheckBox) findViewById(R.id.service_httpproxy_box);
SOCKSProxyState = (CheckBox) findViewById(R.id.service_socksproxy_box);
BOBState = (CheckBox) findViewById(R.id.service_bob_box);
SAMState = (CheckBox) findViewById(R.id.service_sam_box);
I2CPState = (CheckBox) findViewById(R.id.service_i2cp_box);
if (daemon == null) {
ConnectivityManager connectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
daemon = new DaemonWrapper(getAssets(), connectivityManager);
@@ -113,25 +126,6 @@ public class I2PDActivity extends Activity {
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) {
@@ -179,11 +173,10 @@ public class I2PDActivity extends Activity {
{
if (requestCode == MY_PERMISSION_REQUEST_WRITE_EXTERNAL_STORAGE) {
if (grantResults.length > 0 && grantResults[0] == PackageManager.PERMISSION_GRANTED)
Log.e(TAG, "WR_EXT_STORAGE perm granted");
Log.w(TAG, "WR_EXT_STORAGE perm granted");
else {
Log.e(TAG, "WR_EXT_STORAGE perm declined, stopping i2pd");
i2pdStop();
//TODO must work w/o this perm, ask orignal
}
}
}
@@ -299,7 +292,7 @@ public class I2PDActivity extends Activity {
return true;
case R.id.action_start_webview:
if( daemon.getState() == startedOkay)
if(daemon.isStartedOkay())
startActivity(new Intent(getApplicationContext(), WebConsoleActivity.class));
else
Toast.makeText(this,"I2Pd not was started!", Toast.LENGTH_SHORT).show();
@@ -324,21 +317,22 @@ public class I2PDActivity extends Activity {
}
private void onReloadTunnelsConfig() {
Log.d(TAG, "reloading tunnels");
Log.i(TAG, "reloading tunnels");
daemon.reloadTunnelsConfigs();
Toast.makeText(this, R.string.tunnels_reloading, Toast.LENGTH_SHORT).show();
}
private void i2pdStop() {
cancelGracefulStop0();
Log.i(TAG, "stopping");
textView.setText(getText(R.string.stopping));
new Thread(() -> {
Log.d(TAG, "stopping");
try {
daemon.stopDaemon();
} catch (Throwable tr) {
Log.e(TAG, "", tr);
}
quit(); //TODO make menu items for starting i2pd. On my Android, I need to reboot the OS to restart i2pd.
quit();
}, "stop").start();
}
@@ -353,10 +347,10 @@ public class I2PDActivity extends Activity {
Toast.makeText(this, R.string.graceful_stop_is_already_in_progress, Toast.LENGTH_SHORT).show();
return;
}
Log.i(TAG, "graceful stopping");
Toast.makeText(this, R.string.graceful_stop_is_in_progress, Toast.LENGTH_SHORT).show();
new Thread(() -> {
try {
Log.d(TAG, "graceful stopping");
if (daemon.isStartedOkay()) {
daemon.stopAcceptingTunnels();
long gracefulStopAtMillis;
@@ -376,9 +370,9 @@ public class I2PDActivity extends Activity {
private void cancelGracefulStop()
{
cancelGracefulStop0();
Log.i(TAG, "canceling graceful stop");
new Thread(() -> {
try {
Log.d(TAG, "canceling graceful stop");
if (daemon.isStartedOkay()) {
daemon.startAcceptingTunnels();
runOnUiThread(() -> Toast.makeText(this, R.string.shutdown_canceled, Toast.LENGTH_SHORT).show());
@@ -395,7 +389,7 @@ public class I2PDActivity extends Activity {
gracefulQuitTimerOld.cancel();
if (daemon.getTransitTunnelsCount() <= 0) { // no tunnels left
Log.d(TAG, "no transit tunnels left, stopping");
Log.i(TAG, "no transit tunnels left, stopping");
i2pdStop();
return;
}
@@ -441,7 +435,7 @@ public class I2PDActivity extends Activity {
@SuppressLint("BatteryLife")
private void openBatteryOptimizationDialogIfNeeded() {
boolean questionEnabled = getPreferences().getBoolean(getBatteryOptimizationPreferenceKey(), true);
Log.i(TAG, "BATT_OPTIM_questionEnabled==" + questionEnabled);
Log.d(TAG, "BATT_OPTIM_questionEnabled==" + questionEnabled);
if (!isKnownIgnoringBatteryOptimizations()
&& android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M
&& questionEnabled) {
@@ -471,14 +465,14 @@ public class I2PDActivity extends Activity {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
final PowerManager pm = (PowerManager) getSystemService(POWER_SERVICE);
if (pm == null) {
Log.i(TAG, "BATT_OPTIM: POWER_SERVICE==null");
Log.d(TAG, "BATT_OPTIM: POWER_SERVICE==null");
return false;
}
boolean ignoring = pm.isIgnoringBatteryOptimizations(getPackageName());
Log.i(TAG, "BATT_OPTIM: ignoring==" + ignoring);
Log.d(TAG, "BATT_OPTIM: ignoring==" + ignoring);
return ignoring;
} else {
Log.i(TAG, "BATT_OPTIM: old SDK version==" + Build.VERSION.SDK_INT);
Log.d(TAG, "BATT_OPTIM: old SDK version==" + Build.VERSION.SDK_INT);
return false;
}
}
@@ -3,35 +3,33 @@ package org.purplei2p.i2pd;
public class I2PD_JNI {
public static native String getABICompiledWith();
public static void loadLibraries() {
System.loadLibrary("i2pd");
}
/**
* returns error info if failed
* returns "ok" if daemon initialized and started okay
*/
public static native String startDaemon();
//should only be called after startDaemon() success
public static native void stopDaemon();
public static native void stopAcceptingTunnels();
public static native void startAcceptingTunnels();
public static native void stopAcceptingTunnels();
public static native void reloadTunnelsConfigs();
public static native void onNetworkStateChanged(boolean isConnected);
public static native void setDataDir(String jdataDir);
public static native int GetTransitTunnelsCount();
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 int getTransitTunnelsCount();
public static native String getWebConsAddr();
public static native String getDataDir();
public static native boolean getHTTPProxyState();
public static native boolean getSOCKSProxyState();
public static native boolean getBOBState();
public static native boolean getSAMState();
public static native boolean getI2CPState();
public static native void onNetworkStateChanged(boolean isConnected);
}
@@ -21,7 +21,7 @@ public class NetworkStateChangeReceiver extends BroadcastReceiver {
I2PD_JNI.onNetworkStateChanged(isConnected);
} catch (Throwable tr) {
Log.d(TAG, "", tr);
Log.e(TAG, "", tr);
}
}
}
@@ -10,23 +10,24 @@ import android.os.Build;
import android.os.Bundle;
import android.provider.Settings;
import android.util.Log;
import android.view.View;
import android.view.MenuItem;
import android.widget.CompoundButton;
import android.widget.Switch;
import java.io.File;
import java.util.List;
import java.util.Objects;
import org.purplei2p.i2pd.iniedotr.IniEditor;
//import org.purplei2p.i2pd.iniedotr.IniEditor;
public class SettingsActivity extends Activity {
protected IniEditor iniedit = new IniEditor();
private String dataDir = DaemonWrapper.getDataDir();//for inieditor
//protected IniEditor iniedit = new 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.
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() {
private void addAutoStartupSwitch() {
try {
Intent intent = new Intent();
@@ -62,6 +63,7 @@ public class SettingsActivity extends Activity {
}
}
//@Override
private void requestPermission() {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
@@ -71,17 +73,18 @@ public class SettingsActivity extends Activity {
Uri.parse("package:" + getPackageName())
);
startActivityForResult(intent, 232);
} else {
//Permission Granted-System will work
}
}
}
public void onCreate(Bundle savedInstanceState) {
Log.i(TAG, "onCreate");
Log.d(TAG, "onCreate");
super.onCreate(savedInstanceState);
cacheDir = getApplicationContext().getCacheDir();
setContentView(R.layout.activity_settings);
Objects.requireNonNull(getActionBar()).setDisplayHomeAsUpEnabled(true);
Switch autostart_switch = findViewById(R.id.autostart_enable);
cacheDir = getApplicationContext().getCacheDir();
File onBoot = new File(cacheDir.getAbsolutePath() + onBootFileName);
autostart_switch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
@@ -90,12 +93,13 @@ public class SettingsActivity extends Activity {
if (isChecked) {
if (!onBoot.exists()) {
requestPermission();
addAutoStartupswitch();
addAutoStartupSwitch();
try {
if (!onBoot.createNewFile())
Log.d(TAG, "Cant create new wile on: "+onBoot.getAbsolutePath());
} catch (Exception e) {
Log.d(TAG, "error: " + e.toString());
Log.e(TAG, "error: " + e.toString());
}
}
} else {
@@ -107,4 +111,14 @@ public class SettingsActivity extends Activity {
if(onBoot.exists())
autostart_switch.setChecked(true);
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
finish();
return true;
}
return false;
}
}
@@ -8,7 +8,6 @@ import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
import java.util.Objects;
public class WebConsoleActivity extends Activity {
@@ -22,7 +21,7 @@ public class WebConsoleActivity extends Activity {
Objects.requireNonNull(getActionBar()).setDisplayHomeAsUpEnabled(true);
webView = (WebView) findViewById(R.id.webview1);
webView = (WebView) findViewById(R.id.webconsole);
webView.setWebViewClient(new WebViewClient());
final WebSettings webSettings = webView.getSettings();
+99 -37
View File
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
@@ -10,14 +11,17 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/mainLogo"
android:layout_width="match_parent"
android:layout_height="140dp"
android:src="@drawable/ic_logo" />
android:contentDescription="@string/app_name"
android:src="@drawable/ic_logo"
tools:ignore="ImageContrastCheck" />
<TextView
style="@android:style/Widget.Holo.Light.TextView.SpinnerItem"
@@ -43,50 +47,108 @@
android:layout_width="match_parent"
android:layout_height="@dimen/margin_medium" />
<LinearLayout
<TextView
android:id="@+id/appStatusText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:gravity="center_horizontal"
android:textAppearance="@android:style/TextAppearance.Material.Large"
android:textColor="#DFDFDF" />
<RelativeLayout
android:layout_height="wrap_content"
<Space
android:layout_width="match_parent"
android:layout_height="@dimen/margin_medium" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="@string/services"
android:textAppearance="@android:style/TextAppearance.Material.Medium"
android:textColor="#DFDFDF" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<TableRow
android:layout_width="match_parent"
android:layout_gravity="center">
android:layout_height="match_parent"
android:gravity="center_horizontal">
<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" />
<CheckBox
android:id="@+id/service_httpproxy_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:text="@string/services_http_proxy"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textColor="#DFDFDF" />
<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" />
</TableRow>
</RelativeLayout>
<Space
android:layout_width="wrap_content"
android:layout_height="@dimen/margin_medium" />
<TextView
android:id="@+id/appStatusText"
<TableRow
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textColor="#DFDFDF"
android:textSize="18sp" />
android:layout_height="match_parent"
android:gravity="center_horizontal">
</LinearLayout>
<CheckBox
android:id="@+id/service_socksproxy_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:text="@string/services_socks_proxy"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textColor="#DFDFDF" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<CheckBox
android:id="@+id/service_bob_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:text="@string/services_bob"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textColor="#DFDFDF" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<CheckBox
android:id="@+id/service_sam_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:text="@string/services_sam"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textColor="#DFDFDF" />
</TableRow>
<TableRow
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal">
<CheckBox
android:id="@+id/service_i2cp_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:text="@string/services_i2cp"
android:textAppearance="@android:style/TextAppearance.Material.Small"
android:textColor="#DFDFDF" />
</TableRow>
</TableLayout>
</LinearLayout>
@@ -3,8 +3,8 @@
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"
android:padding="@dimen/margin_medium"
tools:context=".SettingsActivity">
<TextView
@@ -21,15 +21,14 @@
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" />
android:text="@string/autostart_enabled"
tools:ignore="TouchTargetSizeCheck" />
<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"
@@ -11,7 +11,7 @@
android:id="@+id/swipe">
<WebView
android:id="@+id/webview1"
android:id="@+id/webconsole"
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
+1
View File
@@ -25,6 +25,7 @@
android:title="@string/action_graceful_stop" />
<item
android:id="@+id/action_settings"
android:orderInCategory="95"
android:title="@string/action_settings" />
<item
android:id="@+id/action_stop"
+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string name="app_description2">Réseau sans frontières</string>
<string name="action_start">Démarrer</string>
<string name="action_stop">Arrêter</string>
<string name="action_exit">Quitter</string>
<string name="action_reload_tunnels_config">Actualiser les tunnels</string>
<string name="action_start_webview">Ouvrir console web</string>
<string name="action_settings">Paramètres</string>
<string name="graceful_stop_is_already_in_progress">Arrêt gracieux déjà en cours</string>
<string name="graceful_stop_is_in_progress">Arrêt gracieux en cours</string>
<string name="gracefulShutdownInProgress">Fermeture gracieuse en cours</string>
<string name="already_stopped">Déjà arrêté</string>
<string name="jniLibraryLoaded">Librairies JNI chargées</string>
<string name="startFailed">Démarrage échoué</string>
<string name="stopped">Application arrêtée</string>
<string name="remaining">restant</string>
<string name="permDenied">Permission d\'écrire sur la carte SD refusée, vous devez autoriser pour continuer</string>
<string name="permRequired">La permission d\'écrire sur la carte SD est requise pour écrire les clés et autres fichiers dans le dossier I2PD sur la carte SD.</string>
<string name="retryPermRequest">Réessayer de demander la permission d\'écrire sur la carte SD</string>
<string name="menu_item_battery_optimizations_str">Optimisations de la pile</string>
<string name="battery_optimizations_enabled">Optimisations de la pile activées</string>
<string name="battery_optimizations_enabled_explained">Votre Android fait de l\'optimisation de pile importante pour I2PD et ceci peut mener à l\'arrêt du daemon sans aucune autre raison.\nIl est recommandé d\'autoriser la désactivation de cette optimisation de pile.</string>
<string name="battery_optimizations_enabled_dialog">Votre Android fait de l\'optimisation de pile importante pour I2PD et ceci peut mener à l\'arrêt du daemon sans aucune autre raison.\n\nVous allez maintenant vous faire demander d\'autoriser la désactivation de cette optimisation.</string>
<string name="continue_str">Continuer</string>
<string name="device_does_not_support_disabling_battery_optimizations">Votre version d\'Android ne supporte pas la désactivation de l\'optimisation de pile</string>
<string name="os_version_does_not_support_battery_optimizations_show_os_dialog_api">Votre version d\'Android ne supporte pas l\'affichage du dialogue de l\'optimisation de pile pour les applications.</string>
<string name="shutdown_canceled">Fermeture planifiée annulée</string>
<string name="tunnels_reloading">Actualisation de la configuration des tunnels...</string>
<string name="settings_section0">Paramètres généraux</string>
<string name="settings_section_tunnels">Tunnels</string>
<string name="autostart_enabled">Lancer au démarrage</string>
<string name="add_tunnel_button">Ajouter tunnel</string>
<string name="add_tunnel">Gestion des tunnels</string>
<string name="del_tunnel_button">Supprimer tunnel</string>
</resources>
+8 -7
View File
@@ -1,6 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_description">Invisible Internet Protocol:</string>
<string name="app_description2">Сеть без границ</string>
<string name="action_start">Запустить</string>
@@ -17,8 +16,8 @@
<string name="gracefulShutdownInProgress">Корректная остановка запущена</string>
<string name="already_stopped">Уже остановлено</string>
<string name="uninitialized">Приложение инициализируется</string>
<string name="starting">Приложение запускается</string>
<string name="uninitialized">Приложение инициализируется...</string>
<string name="starting">Приложение запускается...</string>
<string name="jniLibraryLoaded">Загружены JNI библиотеки</string>
<string name="startedOkay">Приложение запущено</string>
<string name="startFailed">Запуск не удался</string>
@@ -47,10 +46,12 @@
<string name="settings_section0">Основные настройки</string>
<string name="settings_section_tunnels">Туннели</string>
<string name="add_tunnel_button">Добавить</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>
<string name="del_tunnel_button">Удалить туннель</string>
<string name="services">Внутренние сервисы</string>
<string name="services_http_proxy">HTTP Прокси</string>
<string name="services_socks_proxy">SOCKS5 Прокси</string>
<string name="stopping">Остановка приложения...</string>
</resources>
+53
View File
@@ -0,0 +1,53 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_description2">Sınırları olmayan ağ</string>
<string name="action_start">Başlat</string>
<string name="action_stop">Durdur</string>
<string name="action_exit">Çık</string>
<string name="action_graceful_stop">Düzgün durdur</string>
<string name="action_cancel_graceful_stop">Düzgün durdurmayı İptal Et</string>
<string name="action_reload_tunnels_config">Tünelleri yeniden yükle</string>
<string name="action_start_webview">Web Konsolunu Aç</string>
<string name="action_settings">Ayarlar</string>
<string name="graceful_stop_is_already_in_progress">Düzgün durdurma zaten devam ediyor</string>
<string name="graceful_stop_is_in_progress">Düzgün durdurma devam ediyor</string>
<string name="gracefulShutdownInProgress">Düzgün kapatma devam ediyor</string>
<string name="already_stopped">Zaten durduruldu</string>
<string name="uninitialized">Uygulama ilk ayarları yapılıyor...</string>
<string name="starting">Uygulama başlatılıyor...</string>
<string name="jniLibraryLoaded">JNI kütüphaneleri yüklendi</string>
<string name="startedOkay">Uygulama başlatıldı</string>
<string name="startFailed">Başlatılamadı</string>
<string name="stopped">Uygulama durduruldu</string>
<string name="remaining">kalan</string>
<string name="title_activity_i2_pdperms_asker_prompt">Bilgi</string>
<string name="permDenied">SD karta yazma izni reddedildi, devam etmek için buna izin vermeniz gerekiyor</string>
<string name="permRequired">Anahtarları ve diğer dosyaları SD karttaki I2PD klasörüne yazmak için SD karta yazma erişimi gereklidir.</string>
<string name="retryPermRequest">SD karta yazma izinlerini istemeyi yeniden dene</string>
<string name="menu_item_battery_optimizations_str">Pil İyileştirmeleri</string>
<string name="battery_optimizations_enabled">Pil iyileştirmeleri etkin</string>
<string name="battery_optimizations_enabled_explained">Android aygıtınız, I2PD üzerinde başka bir neden olmaksızın arka plan programının kapanmasına neden olabilecek bazı ağır pil iyileştirmeleri yapıyor.\nBu pil iyileştirmelerinin devre dışı bırakılmasına izin verilmesi tavsiye edilir.</string>
<string name="battery_optimizations_enabled_dialog">Android aygıtınız, I2PD üzerinde başka bir neden olmaksızın arka plan programının kapanmasına neden olabilecek bazı ağır pil iyileştirmeleri yapıyor.\n\nŞimdi bunları devre dışı bırakmaya izin vermeniz istenecek.</string>
<string name="continue_str">Devam et</string>
<string name="device_does_not_support_disabling_battery_optimizations">Android sürümünüz pil iyileştirmelerini devre dışı bırakmayı desteklemiyor</string>
<string name="os_version_does_not_support_battery_optimizations_show_os_dialog_api">Android işletim sistemi sürümünüz, uygulamalar için pil iyileştirmeleri iletişim kutusunun gösterilmesini desteklemiyor.</string>
<string name="shutdown_canceled">Zamanlanan kapatma iptal edildi</string>
<string name="tunnels_reloading">Tünel yapılandırması yeniden yükleniyor...</string>
<string name="settings_section0">Ortak ayarlar</string>
<string name="settings_section_tunnels">Tüneller</string>
<string name="autostart_enabled">Önyüklemede başlat</string>
<string name="add_tunnel_button">Tünel ekle</string>
<string name="add_tunnel">Tünel yönetimi</string>
<string name="del_tunnel_button">Tünelis is</string>
</resources>
+46
View File
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="remaining">qoldi</string>
<string name="app_description2">Chegarasiz tarmoq</string>
<string name="action_start">Boshlash</string>
<string name="action_exit">Chiqish</string>
<string name="action_graceful_stop">Yumshoq to\'xtatish</string>
<string name="action_cancel_graceful_stop">Yumshoq to\'xtatish bekor qilish</string>
<string name="action_reload_tunnels_config">Tunnellarni qayta yuklash</string>
<string name="action_start_webview">Veb-konsolni ochish</string>
<string name="action_settings">Sozlamalar</string>
<string name="starting">Ilova ishga tushmoqda...</string>
<string name="jniLibraryLoaded">JNI kutubxonalari yuklangan</string>
<string name="startedOkay">Ilova ishga tushirildi</string>
<string name="startFailed">Ishga tushirish muvaffaqiyatsiz tugadi</string>
<string name="stopped">Ilova toʻxtatildi</string>
<string name="stopping">Ilova toʻxtatilmoqda...</string>
<string name="already_stopped">Allaqachon to\'xtatilgan</string>
<string name="gracefulShutdownInProgress">Yumshoq to\'xtatish amalga oshirilmoqda</string>
<string name="services">Ichki xizmatlar</string>
<string name="services_http_proxy">HTTP proksi</string>
<string name="services_socks_proxy">SOCKS5 proksi</string>
<string name="title_activity_i2_pdperms_asker_prompt">So\'rov</string>
<string name="action_stop">To\'xtatish</string>
<string name="graceful_stop_is_already_in_progress">Yumshoq to\'xtatish allaqachon amalga oshirilmoqda</string>
<string name="graceful_stop_is_in_progress">Yumshoq to\'xtatish amalga oshirilmoqda</string>
<string name="uninitialized">Ilova ishga tushiriladi...</string>
<string name="continue_str">Davom etish</string>
<string name="settings_section_tunnels">Tunnellar</string>
<string name="autostart_enabled">Avtomatik ishga tushirish</string>
<string name="add_tunnel_button">Tunnelni qo\'shish</string>
<string name="add_tunnel">Tunnellarni boshqarish</string>
<string name="del_tunnel_button">Tunnelni o\'chirish</string>
<string name="tunnels_reloading">Tunnellar konfiguratsiyalari qayta yuklanmoqda...</string>
<string name="settings_section0">Umumiy sozlamalar</string>
<string name="menu_item_battery_optimizations_str">Batareyani optimallashtirish</string>
<string name="battery_optimizations_enabled">Batareya optimallashtirishi yoqilgan</string>
<string name="shutdown_canceled">Rejalashtirilgan yumshoq o\'chirish bekor qilindi</string>
<string name="retryPermRequest">Endi sizdan ularni o\'chirishga ruxsat berish so\'raladi</string>
<string name="permDenied">SD kartaga yozish ruxsati rad etildi, buni davom ettirishga ruxsat berishingiz kerak</string>
<string name="permRequired">Kalitlarni va boshqa fayllarni SD-kartadagi I2PD jildiga yozish uchun SD kartaga yozish huquqi talab qilinadi.</string>
<string name="battery_optimizations_enabled_explained">Sizning Androidingiz I2PD-da batareyani kuchli optimallashtirishni amalga oshirmoqda, bu boshqa sababsiz demonning yopilishiga olib kelishi mumkin.\nUshbu batareyani optimallashtirishni o\'chirishga ruxsat berish tavsiya etiladi.</string>
<string name="battery_optimizations_enabled_dialog">Sizning Androidingiz I2PD-da batareyani kuchli optimallashtirishni amalga oshirmoqda, bu boshqa sababsiz demonning yopilishiga olib kelishi mumkin.\n\nEndi sizdan ularni o\'chirishga ruxsat berish so\'raladi.</string>
<string name="os_version_does_not_support_battery_optimizations_show_os_dialog_api">Sizning Android OS versiyangiz ilovalar uchun batareyani optimallashtirish dialogini ko\'rsatishni qo\'llab-quvvatlamaydi.</string>
<string name="device_does_not_support_disabling_battery_optimizations">Sizning Android versiyangiz batareyani optimallashtirishdan voz kechishni qo\'llab-quvvatlamaydi</string>
</resources>
@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<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>
<string name="gracefulShutdownInProgress">正在进行优雅关闭</string>
<string name="already_stopped">已停止</string>
<string name="uninitialized">应用程序正在初始化...</string>
<string name="starting">应用程序正在启动...</string>
<string name="jniLibraryLoaded">已加载Java本地接口库</string>
<string name="startedOkay">应用程序已启动</string>
<string name="startFailed">启动失败</string>
<string name="stopped">应用程序已停止</string>
<string name="stopping">应用程序正在停止运行...</string>
<string name="remaining">剩余时间</string>
<string name="services">内部服务</string>
<string name="services_http_proxy">HTTP 代理</string>
<string name="services_socks_proxy">SOCKS5 代理</string>
<string name="title_activity_i2_pdperms_asker_prompt">提示</string>
<string name="permDenied">SD 卡写入权限被拒绝,你需要允许它以继续</string>
<string name="permRequired">需要SD卡写入权限才能将密钥和其他文件写入SD卡上的 I2PD 文件夹中。</string>
<string name="retryPermRequest">重新尝试请求SD卡的写入权限</string>
<string name="menu_item_battery_optimizations_str">电池优化</string>
<string name="battery_optimizations_enabled">电池优化已启用</string>
<string name="battery_optimizations_enabled_explained">你的安卓设备正在对 I2Pd 进行严格的电池优化,这可能导致守护进程无缘无故停止运行。\n建议关闭这些电池优化。</string>
<string name="battery_optimizations_enabled_dialog">你的安卓设备正在对 I2Pd 进行严格的电池优化,这可能导致守护进程无缘无故停止运行。\n\n请点击继续以关闭电池优化。</string>
<string name="continue_str">继续</string>
<string name="device_does_not_support_disabling_battery_optimizations">你设备的 Android 版本不支持关闭电池优化</string>
<string name="os_version_does_not_support_battery_optimizations_show_os_dialog_api">你设备的 Android OS 版本不支持显示应用程序电池优化的对话框。</string>
<string name="shutdown_canceled">计划关闭已取消</string>
<string name="tunnels_reloading">正在重新加载隧道配置...</string>
<string name="settings_section0">通用设置</string>
<string name="settings_section_tunnels">隧道</string>
<string name="autostart_enabled">开机自启动</string>
<string name="add_tunnel_button">添加隧道</string>
<string name="add_tunnel">隧道管理</string>
<string name="del_tunnel_button">删除隧道</string>
</resources>
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="pref_bandwidth_limit_flags">
<item>L</item>
<item>O</item>
<item>P</item>
<item>X</item>
</string-array>
<string-array name="pref_loglevel">
<item>none</item>
<item>error</item>
<item>warn</item>
<item>info</item>
<item>debug</item>
</string-array>
</resources>
+14 -8
View File
@@ -1,14 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="MissingTranslation">
<string name="app_name" translatable="false">i2pd</string>
<string name="app_description">Invisible Internet Protocol:</string>
<string name="app_description" translatable="false">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_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>
@@ -18,15 +18,23 @@
<string name="gracefulShutdownInProgress">Graceful shutdown in progress</string>
<string name="already_stopped">Already stopped</string>
<string name="uninitialized">Application initializing</string>
<string name="starting">Application starting</string>
<string name="uninitialized">Application initializing...</string>
<string name="starting">Application starting...</string>
<string name="jniLibraryLoaded">Loaded JNI libraries</string>
<string name="startedOkay">Application Started</string>
<string name="startedOkay">Application started</string>
<string name="startFailed">Start failed</string>
<string name="stopped">Application stopped</string>
<string name="stopping">Application stopping...</string>
<string name="remaining">remaining</string>
<string name="ok" translatable="false">OK</string>
<string name="services">Internal services</string>
<string name="services_http_proxy">HTTP Proxy</string>
<string name="services_socks_proxy">SOCKS5 Proxy</string>
<string name="services_bob" translatable="false">BOB</string>
<string name="services_sam" translatable="false">SAM</string>
<string name="services_i2cp" translatable="false">I2CP</string>
<string name="title_activity_i2_pdperms_asker_prompt">Prompt</string>
<string name="permDenied">SD card write permission denied, you need to allow this to continue</string>
<string name="permRequired">SD card write access is required to write the keys and other files to the I2PD folder on SD card.</string>
@@ -52,7 +60,5 @@
<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>
+193
View File
@@ -0,0 +1,193 @@
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Main">
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="Log" />
<ListPreference
android:defaultValue="1"
android:entries="@array/pref_loglevel"
android:entryValues="@array/pref_loglevel"
android:key="list_preference_1"
android:summary="Logging level to file. Use 'none' to reduce memory usage"
android:title="Log level" />
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="IPv4" />
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:title="IPv6" />
<EditTextPreference
android:defaultValue="Default value"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Port" />
<ListPreference
android:entries="@array/pref_bandwidth_limit_flags"
android:entryValues="@array/pref_bandwidth_limit_flags"
android:key="list_preference_1"
android:summary="Bandwidth limit for transit traffic"
android:title="Bandwidth" />
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:summary="Disable transit"
android:title="No transit" />
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:summary="Uses more battery"
android:title="Floodfill" />
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="SSU" />
</PreferenceCategory>
<PreferenceCategory android:title="NTCP2">
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="Enable" />
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:summary="Disable to make unable to connect to your device"
android:title="Publish" />
</PreferenceCategory>
<PreferenceCategory android:title="Web Console">
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="Enable" />
<EditTextPreference
android:defaultValue="127.0.0.1"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Address" />
<EditTextPreference
android:defaultValue="7070"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Port" />
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:summary="Use HTTP authorization to access Web Console"
android:title="Autorization" />
<EditTextPreference
android:defaultValue="Default value"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="User" />
<EditTextPreference
android:defaultValue="Default value"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Password" />
</PreferenceCategory>
<PreferenceCategory android:title="@string/services_http_proxy">
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="Enable" />
<EditTextPreference
android:defaultValue="127.0.0.1"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Address" />
<EditTextPreference
android:defaultValue="4444"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Port" />
<EditTextPreference
android:defaultValue="proxy-keys.dat"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Keys" />
</PreferenceCategory>
<PreferenceCategory android:title="SOCKS Proxy">
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:title="Enable" />
<EditTextPreference
android:defaultValue="127.0.0.1"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Address" />
<EditTextPreference
android:defaultValue="4447"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Port" />
<EditTextPreference
android:defaultValue="proxy-keys.dat"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Keys" />
</PreferenceCategory>
<PreferenceCategory android:title="SAM">
<CheckBoxPreference
android:defaultValue="false"
android:key="check_box_preference_1"
android:title="Enable" />
<EditTextPreference
android:defaultValue="127.0.0.1"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Address" />
<EditTextPreference
android:defaultValue="7656"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Port" />
</PreferenceCategory>
<PreferenceCategory android:title="UPnP">
<CheckBoxPreference
android:defaultValue="true"
android:key="check_box_preference_1"
android:title="Enable" />
<EditTextPreference
android:defaultValue="I2Pd"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:title="Forwarding name" />
</PreferenceCategory>
<PreferenceCategory android:title="Limits">
<EditTextPreference
android:defaultValue="50"
android:key="edit_text_preference_1"
android:selectAllOnFocus="true"
android:singleLine="true"
android:summary="Limit possible built transit tunnels"
android:title="Transit tunnels" />
</PreferenceCategory>
</PreferenceScreen>
+14 -14
View File
@@ -31,49 +31,49 @@ include $(BUILD_EXECUTABLE)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_system
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_system.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_date_time
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_date_time.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_filesystem
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_filesystem.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := boost_program_options
LOCAL_SRC_FILES := $(BOOST_PATH)/out/$(TARGET_ARCH_ABI)/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/out/include
LOCAL_SRC_FILES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/lib/libboost_program_options.a
LOCAL_EXPORT_C_INCLUDES := $(BOOST_PATH)/build/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := crypto
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/lib/libcrypto.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ssl
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/include
LOCAL_SRC_FILES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/lib/libssl.a
LOCAL_EXPORT_C_INCLUDES := $(OPENSSL_PATH)/out/$(TARGET_ARCH_ABI)/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/out/$(TARGET_ARCH_ABI)/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/include
LOCAL_SRC_FILES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/lib/libminiupnpc.a
LOCAL_EXPORT_C_INCLUDES := $(MINIUPNP_PATH)/miniupnpc/out/$(TARGET_ARCH_ABI)/include
include $(PREBUILT_STATIC_LIBRARY)
+1 -1
View File
@@ -4,7 +4,7 @@ buildscript {
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:4.1.0'
classpath 'com.android.tools.build:gradle:7.1.3'
}
}
+2
View File
@@ -0,0 +1,2 @@
archive
i2pd_*_android_binary.zip
+53
View File
@@ -0,0 +1,53 @@
#!/bin/bash
# Copyright (c) 2013-2022, The PurpleI2P Project
#
# This file is part of Purple i2pd project and licensed under BSD3
#
# See full license text in LICENSE file at top of project tree
GITDESC=$(git describe --tags)
declare -A ABILIST=(
["armeabi-v7a"]="armv7l"
["arm64-v8a"]="aarch64"
["x86"]="x86"
["x86_64"]="x86_64"
)
# Remove old files and archives
if [ -d "archive" ]; then
rm -r archive
fi
if [ -f "../i2pd_*_android_binary.zip" ]; then
rm i2pd_*_android_binary.zip
fi
# Prepare files for package
mkdir archive
if [ ! -d "../../binary/libs/" ]; then
echo "Prebuilt binaries folder is not found. Have you built them?"
exit 1
fi
for ABI in "${!ABILIST[@]}"; do
if [ -f "../../binary/libs/${ABI}/i2pd" ]; then
cp ../../binary/libs/${ABI}/i2pd archive/i2pd-${ABILIST[$ABI]}
fi
done
cp i2pd archive/i2pd
cp -rH ../../app/src/main/assets/certificates archive/
cp -rH ../../app/src/main/assets/tunnels.d archive/
cp -H ../../app/src/main/assets/i2pd.conf archive/
cp -H ../../app/src/main/assets/tunnels.conf archive/
# Compress files
cd archive
zip -r6 ../i2pd_${GITDESC}_android_binary.zip .
# Remove temporary folder
cd ..
rm -r archive
+33
View File
@@ -0,0 +1,33 @@
#!/bin/sh
# Copyright (c) 2013-2020, The PurpleI2P Project
#
# This file is part of Purple i2pd project and licensed under BSD3
#
# See full license text in LICENSE file at top of project tree
#
# That script written for use with Termux.
# https://stackoverflow.com/a/246128
SOURCE="${0}"
while [ -h "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
SOURCE="$(readlink "$SOURCE")"
[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE" # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
done
DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )"
arch=$(uname -m)
screenfind=$(which screen)
if [ -z $screenfind ]; then
echo "Can't find 'screen' installed. That script needs it!";
exit 1;
fi
if [ -z i2pd-$arch ]; then
echo "Can't find i2pd binary for your architecture.";
exit 1;
fi
screen -AmdS i2pd ./i2pd-$arch --datadir=$DIR
@@ -0,0 +1,12 @@
* Updated codebase to 2.41.0-85-g2f10decf
* Revert to ndk 21.4.7075529, boost 1.74.0
* Switch to androidx.core 1.6.0, gradle 7.1.3, gradlew 7.2
* Add internal services (not user-defined tunnels) status on main page
* Add return button on settings page
* Add turkish translation
* Add uzbek translation
* Fix datadir and locale detection and passing of them to daemon
* Fix getting datadir from daemon
* Fix assets overwriting when they already extracted
* Removed Start/Stop button on main page
* Change application theme to Default (from Holo)
@@ -0,0 +1,3 @@
* Updated codebase to 2.42.0
* Switch to OpenSSL 1.1.1o
* Added French translation
@@ -0,0 +1 @@
* Updated codebase to 2.42.1
@@ -0,0 +1,5 @@
* Updated codebase to 2.43.0
* Remove unused READ_PHONE_STATE permission
* Switch to OpenSSL 1.1.1q
* Added Simplified Chinese translation
* Disable SSU and enable SSU2 for new installations
@@ -0,0 +1,9 @@
<b>I2P</b> (Invisible Internet Protocol, litt. «Protocole de l'Internet Invisible») est une couche réseau anonyme universelle.
Toute communication par I2P est anonyme et chiffrée de bout en bout, les participants ne révèlent pas leur vraie adresse IP.
Le <b>client I2P</b> est un logiciel qui sert à bâtir et à utiliser les réseaux anonymes I2P.
De tels réseaux sont habituellement utilisés pour des applications pair à pair anonymes (partage de fichiers, cryptomonnaies) et des applications client serveur anonymes (sites web, messagerie instantanée, serveurs de chat).
<b>I2P</b> permet aux gens partout dans le monde de communiquer et de partager de l'information sans restrictions.
Pour plus d'information sur <b>I2P</b>, vous pouvez lire <a href="https://fr.wikipedia.org/wiki/I2P">l'article sur Wikipédia</a>.
@@ -0,0 +1 @@
Implémentation complète en C++ du client I2P
@@ -0,0 +1,9 @@
<b>I2P</b> (Invisible Internet Protocol) evrensel bir anonim ağ katmanıdır.
I2P üzerinden yapılan tüm haberleşmeler anonimdir ve uçtan uca şifrelenir, katılımcılar gerçek IP adreslerini ifşa etmez.
<b>I2P istemcisi</b> anonim I2P ağları oluşturmak ve kullanmak için bir yazılımdır.
Bu tür ağlar genellikle anonim eşler arası uygulamalar (dosya paylaşımı, kripto paralar) ve anonim istemci-sunucu uygulamaları (web siteleri, anlık mesajlaşma programları, sohbet sunucuları) için kullanılır.
<b>I2P</b> dünyanın her yerinden insanların kısıtlama olmaksızın iletişim kurmasına ve bilgi paylaşmasına olanak tanır.
<b>I2P</b> hakkında daha fazla bilgi için <a href="https://en.m.wikipedia.org/wiki/I2P">Wikipedia makalesini</a> okuyabilirsiniz.
@@ -0,0 +1 @@
C++ ile yazılan tam özellikli I2P istemcisi
@@ -0,0 +1,9 @@
<b>I2P</b> (Invisible Internet Protocol) universal anonim tarmoq qatlami bo'lib hisoblanadi.
I2P orqali barcha aloqalar anonim va oxirigacha shifrlangan, ishtirokchilar haqiqiy IP manzillarini oshkor qilmaydi.
<b>I2P mijozi</b> anonim I2P tarmoqlarini yaratish va ulardan foydalanish uchun foydalaniladigan dasturdir.
Bunday tarmoqlar odatda anonim peer-to-peer ilovalari (fayl almashish, kriptovalyutalar) va anonim mijoz-server ilovalari (veb-saytlar, messenjerlar, chat-serverlar) uchun ishlatiladi.
<b>I2P</b> butun dunyo bo'ylab odamlarga cheklovlarsiz muloqot qilish va ma'lumot almashish imkonini beradi.
<b>I2P</b> haqida qoʻshimcha maʼlumot olish uchun <a href="https://en.m.wikipedia.org/wiki/I2P">Vikipediyadagi maqolani</a> oʻqishingiz mumkin.
@@ -0,0 +1 @@
I2P mijozining to'liq xususiyatli C++ ilovasi
@@ -0,0 +1,9 @@
<b>I2P</b> (Invisible Internet Protocol) 是一个通用的匿名网络层。
所有通过 I2P 进行的通信都是匿名、端到端加密的,用户不会透露他们真实的 IP 地址。
<b>I2P 客户端</b> 是一个用于构建和使用匿名 I2P 网络的软件。
这种网络通常用于匿名的 P2P 应用(如文件共享、加密货币) 以及匿名的客户端-服务器架构的应用(如网站、即时通讯、聊天服务器等) 。
<b>I2P</b> 允许来自世界各地的人不受限制地交流和分享信息。
欲了解更多关于 <b>I2P</b>的信息,请参见 <a href="https://en.m.wikipedia.org/wiki/I2P">Wikipedia</a> 。
@@ -0,0 +1 @@
全功能 I2P 客户端的 C++ 实现
+2 -2
View File
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionSha256Sum=8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f
distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.2-bin.zip
distributionSha256Sum=f581709a9c35e9cb92e16f585d2c4bc99b2b1a5f85d2badbd3dc6bff59e1e6dd
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists