Compare commits

...

34 Commits

Author SHA1 Message Date
idk
dec68432bc Check in translations. Fix dockerfile. Bump I2P_VERSION. Bump versionCode. 2021-11-30 19:57:51 -05:00
idk
f93fc155ef Merge branch 'Battery-Optimization-Fix' into 'master'
Battery optimization fix

See merge request i2p-hackers/i2p.android.base!2
2021-09-05 20:19:42 +00:00
e348af340a Battery optimization fix 2021-09-05 20:19:41 +00:00
idk
aa3631ed33 Merge branch 'start-on-boot-fix' into 'master'
Fixed start on boot

See merge request i2p-hackers/i2p.android.base!1
2021-09-02 16:04:07 +00:00
idk
f2088ad1e5 bump versions and tag 2021-08-30 09:58:27 -04:00
008e9b7961 Fixed start on boot 2021-08-27 04:22:06 -07:00
idk
90a46bcc3f make sure gitignore and dockerignore are checked in 2021-08-15 14:49:54 -04:00
idk
f69f748064 Checkin release 0.9.50 2021-05-19 09:32:41 -04:00
idk
640a2e1918 Add Docker release instructions, since it takes a bunch of the toolchain-management difficulty and automates it 2021-05-07 02:00:36 -04:00
idk
8aead91700 Add GPG to docker container builds 2021-05-06 17:06:16 -04:00
idk
b18a2e6241 Dockerize the build process to save time setting up releases in the future 2021-05-04 15:02:37 -04:00
idk
09c3e6e12c Remove docker instructions until I have time to write them better 2021-05-03 21:35:28 -04:00
idk
74bf0eade2 Merge branch 'master' of 127.0.0.1:i2p-hackers/i2p.android.base 2021-05-03 21:33:40 -04:00
idk
2fa6e7f3cb Enable Docker builds 2021-05-03 21:32:53 -04:00
idk
24b741be1e Enable Docker builds 2021-05-03 21:32:02 -04:00
zzz
ac8ce6f916 Update and remove old links in welcome_html 2021-05-02 11:50:14 -04:00
idk
cd7d0ad723 Android release 2021-02-28
-----BEGIN PGP SIGNATURE-----
 
 iQFMBAABCgA2FiEEcNIGBzi++AUjrK/311wDs5teFOEFAmAugowYHGhhbmtoaWxs
 MTk1ODBAZ21haWwuY29tAAoJENdcA7ObXhThwQsIAK0A284NXvJsJ7an3CCIf1Ws
 DEYmG1fibJA3BwgSYxgFUy5bgN3tEAEvwldo8PyRq6EBxe419/Ab9awoepx1wmN+
 NtfOOTuB0kHTRKUreZNuhwYUKddNrr7o10WJgHhyj6PPGIau/4XYvTVuQ70hOoI4
 Vw809u7bk5mM4cGCAnxnsgNus7khcwzbDeYZI5CbbEClk+QcKHTDkC1sMCo9vqTo
 bbS+zIoy9G+4k6LCaiC0QL6GeLcwns2vtRfDaXgImjoDGx9TL0nm/USBwsllkkmW
 +GZAvbck43yh8DixuERHN6NncuF0EI01etgvl4H8no31tQxVU+7UsZWTkz1uyKQ=
 =tJK3
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQFMBAABCgA2FiEEcNIGBzi++AUjrK/311wDs5teFOEFAmCFoG4YHGhhbmtoaWxs
 MTk1ODBAZ21haWwuY29tAAoJENdcA7ObXhThM08H/2+D0RCbP0/2QxYxFsf3NuZp
 UizMCnVqKCoomN1dChLs1kw00dJXAEAGtFZqzT8nbUHD8W98pljFc5j0qJ3BLQNU
 xrNHkE3KiwHU0ACZvrIPN9X1bj3uhNnziblPlpEBpMq/p3W8oKUWnLr9Zv8Gyetu
 Cpqjr/p4OaYpTUHLzp9NWltUpDDul0Mgy+lmhtUbYfNW4NtlVMAfOpNvBwFDcYGn
 FW4cP7t8nPzv4Cdzn5SD19KFCgGxHEFkWCF2uiJTiXOdi7LNsljKEgdMVNokO5Av
 zF97Cr+alLhg/GnxYeUB/Tgn4mTOBqzM4ir8EhIb+APWYowoWUossr68mgZ5aco=
 =BGmd
 -----END PGP SIGNATURE-----

Merge tag 'android-0.9.49'

Android release 2021-02-28
2021-04-25 13:01:31 -04:00
zzz
c5a0c3608d Drop .mtn-ignore 2021-04-25 07:11:49 -04:00
idk
3863c0e183 Increase version numbers for release 2021-02-18 10:05:20 -05:00
idk
69ea3d8bde remove trailing slash from gradle.properties 2021-02-10 17:25:32 -05:00
idk
7cafe6da48 add gitlab SSH and HTTP to i2ptunnel_config. Invalidate the view containing the I2P tunnel lists, in order to force them to redraw when a new tunnel is created. Closes #4 2021-02-04 12:41:03 -05:00
idk
9464b46ad0 Change the foreground service notification priorities from PRIORITY_MIN to PRIORITY_LOW. Don't check if we're restarting on Android versions greater than O since it uses the notificationChannel. Closes #5 2021-02-03 14:25:08 -05:00
idk
c230a5a101 Create the notification channel right before updating the statusbar notification. 2021-02-02 01:22:37 -05:00
idk
3d37f2ae07 use a toast for clipboard notification instead 2021-02-02 00:38:50 -05:00
idk
f88aafe292 fix the notification channel for the main status 2021-02-01 21:22:51 -05:00
idk
aa2dab1d3c Re-enable NTCP because it fixes the firewalled but inbound TCP not enabled issue 2021-01-29 16:45:07 -05:00
idk
8e85eaa2f0 SAM needs run() instead of start() to work correctly 2021-01-29 16:05:41 -05:00
zzz
6a1848caf6 Startup: Don't sleep in startup Jobs, requeue instead, to not clog the job queue 2021-01-27 09:09:52 -05:00
idk
aa36b4cb14 add facility to copy base32 URL of a tunnel by long-pressing the tunnel name 2021-01-18 11:58:48 -05:00
idk
78d4b12142 Remove nonsense comment at the end of the line which was covered up by the terminal 2021-01-11 10:46:15 -05:00
idk
c2f3a80dec Correctly fetch new SAM API preference when starting the SAM API job 2021-01-11 10:45:19 -05:00
idk
a679784aab Fix some build issues(Stemming from resources moving to wars) and add a SAM API option 2021-01-10 09:23:43 -05:00
idk
835667437b Fix some build issues(Stemming from resources moving to wars) and add a SAM API option 2021-01-10 09:20:45 -05:00
idk
f016edec7a add logo 2021-01-09 17:26:18 -05:00
42 changed files with 918 additions and 391 deletions

3
.dockerignore Normal file
View File

@ -0,0 +1,3 @@
app/pkg-temp
app/build
app/pkg-mavencentral

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
etc/docker.signing.properties
signing.properties

View File

@ -1,52 +0,0 @@
# Just to try and prevent some noob disasters.
# Use mtn add --no-respect-ignore foo.jar to ignore this ignore list
_jsp\.java$
\.bz2$
\.class$
\.diff$
\.exe$
\.fba$
\.gz$
\.jar$
\.out$
\.patch$
\.sig$
\.sud$
\.su2$
\.tar$
\.war$
\.zip$
^\.
^build/
^pkg-temp/
~$
/build/
/classes/
# Android-specific ignores
^lib/client/libs
^routerjars/libs
local.properties
signing.properties
#IntelliJ IDEA
^.idea
.*.iml
.*.ipr
.*.iws
#Gradle
build
# I2P-specific ignores
^app/src/main/res/drawable/i2plogo.png
^app/src/main/res/raw/blocklist_txt
^app/src/main/res/raw/hosts_txt
^app/src/main/res/raw/.*_ht
^app/src/main/res/raw/license_
^app/src/main/res/raw/certificates_zip
^app/src/main/assets/themes/console/images
^app/src/main/assets/themes/console/light/console.css
^app/src/main/assets/themes/console/light/images/header.png
^scripts/build.number
^scripts/version.properties

View File

@ -1,3 +1,6 @@
0.9.50 2021-05-18
* This release updates the underlying I2P libraries to I2P version 0.9.50
0.9.48 2020-12-02
* This release updates the underlying I2P libraries to I2P version 0.9.48
* Updates to browser configuration documentation

91
DOCKER.md Normal file
View File

@ -0,0 +1,91 @@
Docker Build Instructions
=========================
It is possible to build a container with a pre-installed environment for
correctly compiling an I2P for Android development build. Unlike the i2p.i2p
container, zero attempt has been made to optimize the size of the container,
as it contains a copy of the latest Android SDK, toolchains, and Android NDK,
which it must download. To save time, this is cached locally. It is likely to
take up to 30 GB of disk space to compile in this way, however, it is very easy
and convenient compared to the steps in RELEASE-PROCESS.md and may make
building Android reproducibly easier in the future.
Container dependencies
----------------------
- `menny/android_ndk` (third-party image) (reviewed by idk) (depends on menny/android_sdk
- `menny/android_sdk` (third-party image) (reviewed by idk) (depends on ubuntu/18.04)
- `ubuntu/18.04` (official docker container) (base container)
Build the container locally
---------------------------
Run:
docker build -t i2p.android.base .
To build the container. It will have a lot to download the first time, so it may take
a while to complete.
Run an Android build in the container
-------------------------------------
Copy the `etc/docker.signing.example.proprties` file to `etc/docker.signing.proprties`,
edit it to match your key information and rebuild the container.
Run:
docker run -it \
-u $(id -u):$(id -g) \
--name i2p.android.base \
-v $HOME/.gnupg/:/.gnupg/:ro \
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
i2p.android.base
To get the build artifacts for uploading to Maven out of the container, use:
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
To get the Android build artifacts out of the container, use:
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build
And your android applications will appear in the `app/build` directory, in the same
place where non-container builds would go.
If you encounter a permissions error when rebuilding, delete the `app/build`,
`app/pkg-mavencentral` and `app/pkg-temp` path.
rm -rf app/pkg-temp app/build app/pkg-mavencentral
Copypasta
---------
Once you have set up builds for the first time, from then on you can update the container and
build a fresh set of Maven jars and a new I2P for Android app by copy-pasting the following
commands:
``` sh
rm -rf app/pkg-temp app/build app/pkg-mavencentral
docker build -t i2p.android.base .
docker run -it \
-u $(id -u):$(id -g) \
--name i2p.android.base \
-v $HOME/.gnupg/:/.gnupg/:ro \
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
i2p.android.base
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build
```

39
Dockerfile Normal file
View File

@ -0,0 +1,39 @@
FROM menny/android_ndk
ENV VERSION=0.9.50
ENV JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
RUN echo 'deb http://deb.i2p2.de/ sid main' >> /etc/apt/sources.list
RUN echo 'deb-src http://deb.i2p2.de/ sid main' >> /etc/apt/sources.list
RUN echo 'deb http://archive.ubuntu.com/ubuntu trusty universe' >> /etc/apt/sources.list
RUN wget -O /etc/apt/trusted.gpg.d/i2p-debian-repo.key.asc https://geti2p.net/_static/i2p-debian-repo.key.asc
COPY etc/debian-jessie-repo.key.asc /etc/apt/trusted.gpg.d
RUN mkdir -p /opt/packages && wget -O /opt/packages/openjdk-7-jre-headless.deb http://security.debian.org/debian-security/pool/updates/main/o/openjdk-7/openjdk-7-jre-headless_7u261-2.6.22-1~deb8u1_amd64.deb
RUN apt-get update
RUN apt-get build-dep -y i2p i2p-router
RUN apt-get install -y ant openjdk-8* libxml2-utils junit4 libhamcrest-java libmockito-java libmaven-ant-tasks-java dpkg-sig maven
RUN cd /opt/packages && dpkg-sig -l openjdk-7-jre-headless.deb && dpkg -x openjdk-7-jre-headless.deb /opt/packages/openjdk-7-jre
RUN git clone https://github.com/i2p/i2p.i2p --depth=1 -b i2p-$VERSION /opt/workspace/i2p.i2p
RUN update-java-alternatives --jre-headless --set java-1.8.0-openjdk-amd64
RUN update-java-alternatives --set java-1.8.0-openjdk-amd64
RUN update-alternatives --set javac /usr/lib/jvm/java-8-openjdk-amd64/bin/javac
RUN update-alternatives --set java /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
RUN rm /opt/java/openjdk/ -rfv
COPY . /opt/workspace/i2p.android.base
COPY etc/docker.local.ndk.properties /opt/workspace/i2p.android.base/client/local.properties
COPY etc/docker.local.router.properties /opt/workspace/i2p.android.base/routerjars/local.properties
COPY etc/docker.local.sdk.properties /opt/workspace/i2p.android.base/local.properties
COPY etc/docker.override.properties /opt/workspace/i2p.android.base/override.properties
COPY etc/docker.override.properties /opt/workspace/i2p.i2p/override.properties
COPY etc/docker.signing.properties /opt/workspace/i2p.android.base/signing.properties
WORKDIR /opt/workspace/i2p.android.base
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chown -R 1000:1000
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chmod -Rc o+rw
RUN find /opt/android-sdk-linux -type d -print0 | xargs -0 chmod -c 0755
RUN find /opt/workspace -type d -print0 | xargs -0 chown -R 1000:1000
RUN find /opt/workspace -type d -print0 | xargs -0 chmod -Rc o+rw
RUN find /opt/workspace -type d -print0 | xargs -0 chmod -c 0755
CMD cd /opt/workspace/i2p.i2p && \
ant -k mavenCentral; \
cp -v *.jar pkg-mavencentral/; \
cd /opt/workspace/i2p.android.base && \
./gradlew --continue dependencies || true ; \
./gradlew --continue assembleRelease; tail -f README.md

View File

@ -10,18 +10,24 @@ At the time of this revision, 2020/09/13, the main Android maintainer is idk. id
Play, and f-droid.i2p.io, and nextl00p handles working with the F-Droid project to provide an I2P release
in their main repository.
NOTE: The docker container built by the Dockerfile in this repostory ensures that the Pre-requisites and
Dependencies are properly met by obtaining them from the Debian package in `oldoldstable` and pre-configuring
the override.properties that is used in the Docker container.
**>> Beginning of Docker-enabled Steps <<**
## Prerequirements
1. Ensure you got the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
1. Ensure you have the deprecated maven ant tasks. ( https://maven.apache.org/ant-tasks/download.cgi )
2. It should exist at `~/.ant/lib/maven-ant-tasks-2.1.3.jar`
3. Ensure you got hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
3. Ensure you have hamcrest-integration, hamcrest-library, hamcrest-core in the hamcrest.home directory.
4. Ensure junit 4.12 at least in junit.home, ensure the jar file is named `junit4.jar`.
5. Ensure to have updated the changelog with the changes done.
6. Ensure that you are configured to build i2p.i2p with Java 8. On Debian it is easiest to set with
5. Ensure you have the Mockito framework and accompanying documentation in your $JAVA_HOME
6. Ensure to have updated the changelog with the changes done.
7. Ensure that you are configured to build i2p.i2p with Java 8. On Debian it is easiest to set with
`update-java-alternatives --set java-8-openjdk-amd64` and picking Java 8. **TODO:** add instructions for non-Debian-based
systems.
7. Ensure that you have a Java 1.7 bootclasspath available. (See **Maven Central** step 2A.)
8. Ensure that you have a Java 1.7 bootclasspath available. (See **Maven Central** step 2A.)
## Get all the dependencies ready
@ -33,10 +39,9 @@ in their main repository.
2. **A)** I2P for Android requires a Java 1.7 bootclasspath, but the servlet jar requires Java 8. So, to do the builds:
- First set `javac.compilerargs=-bootclasspath /path/to/java/7/rt.jar:/path/to/java/7/jce.jar` in override.properties
- Build with `ant mavenCentral`
- upload everything *except* servlet.jar
- Unset bootclasspath in override.properties
- Build with `ant mavenCentral`
- upload servlet.jar
**>> End of Docker-enabled Steps for Maven <<**
3. Login to http://oss.sonatype.org for uploading the mavencentral-*.jar bundles.
4. In nexus, choose "Staging Upload" and upload all of the files with upload mode set to "Artifacts with POM".
When uploading the files to nexus, you *must* upload the pom.xml files, and all of their artifacts. For each
@ -57,12 +62,18 @@ in their main repository.
### Android Common Build
Using Docker: in order to use Docker to generate a new Android apk for release, you will
need to run the build twice, once for the mavenCentral jars, and once for the actual Android
app. After doing the Maven release, follow these steps in the i2p.android.base repository, and re-run
the `docker run` step described in `DOCKER.md`
1. Edit `routerjars/local.properties` to use the clean i2p.i2p copy.
2. Pull the latest translations with `tx pull -a` and commit them. (If you don't have the `tx` command,
do `pip install transifex-client` )
- If there are any new translations, `mtn add` them, and add them to `app/src/main/res/values/arrays.xml`
(two places, alphabetical order please)
3. Ensure that `signing.properties` contains the details of the release key.
3. Ensure that `signing.properties` contains the details of the release key. If you are using Docker, see
`DOCKER.md` to perform this step for Docker builds by editing `etc/docker.signing.properties` instead.
4. Edit `gradle.properties` to bump the I2P version.
5. Edit `app/build.gradle` to bump the Android version number.
6. Edit `CHANGELOG` to add the release and date.

View File

@ -7,7 +7,7 @@ repositories {
android {
compileSdkVersion 28
defaultConfig {
versionCode 4745259
versionCode 4745264
versionName "$I2P_VERSION"
minSdkVersion 14
targetSdkVersion Integer.parseInt(project.ANDROID_BUILD_TARGET_SDK_VERSION as String)
@ -114,7 +114,7 @@ task copyI2PResources(type: Copy) {
outputs.upToDateWhen { false }
into 'src/main/res'
into('drawable') {
from file(i2pbase + '/installer/resources/themes/console/images/i2plogo.png')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/i2plogo.png')
}
into('raw') {
from(i2pbase + '/installer/resources/blocklist.txt') { rename { 'blocklist_txt' } }
@ -177,15 +177,15 @@ task copyI2PAssets(type: Copy) {
outputs.upToDateWhen { false }
into 'src/main/assets/themes/console'
into('images') {
from file(i2pbase + '/installer/resources/themes/console/images/i2plogo.png')
from file(i2pbase + '/installer/resources/themes/console/images/inbound.png')
from file(i2pbase + '/installer/resources/themes/console/images/outbound.png')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/i2plogo.png')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/inbound.png')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/images/outbound.png')
}
into('light') {
from file(i2pbase + '/installer/resources/themes/console/light/console.css')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/light/console.css')
}
into('light/images') {
from file(i2pbase + '/installer/resources/themes/console/light/images/header.png')
from file(i2pbase + '/apps/routerconsole/jsp/themes/console/light/images/header.png')
}
}

View File

@ -92,7 +92,7 @@ class InitActivities {
File docsDir = new File(myDir, "docs");
docsDir.mkdir();
copyResourceToFile(R.raw.ahelper_conflict_header_ht, "docs/ahelper-conflict-header.ht");
/*copyResourceToFile(R.raw.ahelper_conflict_header_ht, "docs/ahelper-conflict-header.ht");
copyResourceToFile(R.raw.ahelper_new_header_ht, "docs/ahelper-new-header.ht");
copyResourceToFile(R.raw.ahelper_notfound_header_ht, "docs/ahelper-notfound-header.ht");
copyResourceToFile(R.raw.auth_header_ht, "docs/auth-header.ht");
@ -110,7 +110,7 @@ class InitActivities {
copyResourceToFile(R.raw.noproxy_header_ht, "docs/noproxy-header.ht");
copyResourceToFile(R.raw.protocol_header_ht, "docs/protocol-header.ht");
copyResourceToFile(R.raw.reset_header_ht, "docs/reset-header.ht");
copyResourceToFile(R.raw.resetp_header_ht, "docs/resetp-header.ht");
copyResourceToFile(R.raw.resetp_header_ht, "docs/resetp-header.ht");*/
File cssDir = new File(docsDir, "themes/console/light");
cssDir.mkdirs();

View File

@ -5,11 +5,13 @@ import android.os.Build;
import android.support.v4.util.Pair;
import android.support.v4.view.ViewCompat;
import android.support.v7.widget.RecyclerView;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import net.i2p.android.router.R;
import net.i2p.android.util.FragmentUtils;
@ -129,6 +131,17 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
}
}
private void setClipboard(Context context, String text) {
if(android.os.Build.VERSION.SDK_INT < android.os.Build.VERSION_CODES.HONEYCOMB) {
android.text.ClipboardManager clipboard = (android.text.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
clipboard.setText(text);
} else {
android.content.ClipboardManager clipboard = (android.content.ClipboardManager) context.getSystemService(Context.CLIPBOARD_SERVICE);
android.content.ClipData clip = android.content.ClipData.newPlainText("Copied Text", text);
clipboard.setPrimaryClip(clip);
}
}
// Replace the contents of a view (invoked by the layout manager)
@Override
public void onBindViewHolder(RecyclerView.ViewHolder holder, final int position) {
@ -183,6 +196,19 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
ViewCompat.getTransitionName(tvh.status));
Pair<View, String>[] pairs = new Pair[]{ statusPair};
mListener.onTunnelSelected(tunnel.getId(), pairs);
view.invalidate();
}
});
tvh.itemView.setOnLongClickListener(new View.OnLongClickListener() {
//@Override
public boolean onLongClick(View view) {
setClipboard(mCtx, tunnel.getDestHashBase32());
Toast clipboardMessage = Toast.makeText(mCtx, R.string.copied_base32_system_notification_title, Toast. LENGTH_LONG);
clipboardMessage.setGravity(Gravity.TOP, 0, 0); //optional
clipboardMessage.show();
view.invalidate();
return true;
}
});
break;
@ -190,6 +216,7 @@ public class TunnelEntryAdapter extends RecyclerView.Adapter<RecyclerView.ViewHo
default:
break;
}
}
// Return the size of the dataset (invoked by the layout manager)

View File

@ -661,6 +661,7 @@ public class MainFragment extends I2PFragmentBase {
// even if an error occurs. http://trac.i2p2.i2p/ticket/2783
intent.setAction(Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
intent.setData(Uri.parse("package:" + packageName));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
try {
mContext.startActivity(intent);
} catch (ActivityNotFoundException activityNotFound) {

View File

@ -27,7 +27,11 @@ public class OnBootReceiver extends BroadcastReceiver implements I2PConstants {
Intent routerService = new Intent(context, RouterService.class);
// Ticket #2404
try {
context.startService(routerService);
if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){
context.startForegroundService(routerService);
} else {
context.startService(routerService);
}
} catch (IllegalStateException ex) {
Util.e("Error: ", ex);
}

View File

@ -5,6 +5,7 @@ import android.content.Context;
//import net.i2p.BOB.BOB;
import net.i2p.I2PAppContext;
import net.i2p.addressbook.DaemonThread;
import android.preference.PreferenceManager;
import net.i2p.android.apps.NewsFetcher;
import net.i2p.android.router.util.Notifications;
import net.i2p.android.router.util.Util;
@ -14,8 +15,11 @@ import net.i2p.router.JobImpl;
import net.i2p.router.RouterContext;
import net.i2p.router.startup.RouterAppManager;
import net.i2p.util.I2PAppThread;
import net.i2p.sam.SAMBridge;
import java.io.File;
import java.io.IOException;
import java.util.Properties;
/**
* Load the clients we want.
@ -41,6 +45,7 @@ class LoadClientsJob extends JobImpl {
private final Context mCtx;
private final Notifications _notif;
private DaemonThread _addressbook;
public SAMBridge SAM_BRIDGE;
//private BOB _bob;
/** this is the delay to load (and start) the clients. */
@ -57,8 +62,9 @@ class LoadClientsJob extends JobImpl {
public String getName() { return "Start Clients"; }
public void runJob() {
Job j = new RunI2PTunnel(getContext());
getContext().jobQueue().addJob(j);
Job jtunnel = new RunI2PTunnel(getContext());
getContext().jobQueue().addJob(jtunnel);
Thread t = new I2PAppThread(new StatSummarizer(), "StatSummarizer", true);
t.setPriority(Thread.NORM_PRIORITY - 1);
@ -69,7 +75,15 @@ class LoadClientsJob extends JobImpl {
//try {
// _bob.startup();
//} catch (IOException ioe) {}
boolean useSAM = PreferenceManager.getDefaultSharedPreferences(mCtx).getBoolean("i2pandroid.client.SAM", true);
Util.i("SAM API " + useSAM);
if (useSAM) {
Job jsam = new RunI2PSAM(getContext());
getContext().jobQueue().addJob(jsam);
Util.i("SAM API started successfully" + useSAM);
}else{
Util.i("SAM API disabled, not starting "+useSAM);
}
getContext().addShutdownTask(new ClientShutdownHook());
}
@ -82,12 +96,13 @@ class LoadClientsJob extends JobImpl {
public String getName() { return "Start I2P Tunnel"; }
public void runJob() {
while (!getContext().router().isRunning()) {
try { Thread.sleep(1000); } catch (InterruptedException ie) { return; }
if (!getContext().router().isAlive()) {
if (!getContext().router().isRunning()) {
if (getContext().router().isAlive()) {
requeue(1000);
} else {
Util.e("Router stopped before i2ptunnel could start");
return;
}
return;
}
Util.d("Starting i2ptunnel");
TunnelControllerGroup tcg = TunnelControllerGroup.getInstance(getContext());
@ -112,6 +127,46 @@ class LoadClientsJob extends JobImpl {
}
}
private class RunI2PSAM extends JobImpl {
public RunI2PSAM(RouterContext ctx) {
super(ctx);
}
public String getName() { return "Start SAM API"; }
public void runJob() {
if (!getContext().router().isRunning()) {
if (getContext().router().isAlive()) {
requeue(1000);
} else {
Util.e("Router stopped before SAM API could start");
}
return;
}
Util.d("Starting SAM");
try {
Util.i("Starting the SAM API");
SAM_BRIDGE = new SAMBridge("127.0.0.1",
7656,
false,
SAM_PROPERTIES(),
"sam.keys",
new File("sam_config"));
SAM_BRIDGE.run();
} catch (IOException e) {
Util.e( e.toString());
e.printStackTrace();
}
}
public Properties SAM_PROPERTIES() throws IOException {
Util.i("Getting the default properties");
Properties sam_properties = new Properties();
return sam_properties;
}
}
private class ClientShutdownHook implements Runnable {
public void run() {
Util.d("client shutdown hook");
@ -120,6 +175,8 @@ class LoadClientsJob extends JobImpl {
// NewsFetcher registers its own hook
//if (_bob != null)
// _bob.shutdown(null);
if (SAM_BRIDGE != null)
SAM_BRIDGE.shutdown(null);
if (_addressbook != null)
_addressbook.halt();
}

View File

@ -1,23 +1,17 @@
package net.i2p.android.router.service;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.Service;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.graphics.Color;
import android.os.Build;
import android.os.Handler;
import android.os.IBinder;
import android.os.Message;
import android.os.RemoteCallbackList;
import android.os.RemoteException;
import android.support.annotation.RequiresApi;
import android.support.v4.app.NotificationCompat;
import android.support.v4.content.LocalBroadcastManager;
import net.i2p.android.router.R;
@ -175,42 +169,22 @@ public class RouterService extends Service {
}
_handler.removeCallbacks(_updater);
_handler.postDelayed(_updater, 50);
// We need to *not* check if we're restarting on Android greater than Oreo due to
// changes in how notifications work and the use of NotificationChannels.
if(!restart) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O)
startOwnForeground();
else
startForeground(1337, _statusBar.getNote());
} else {
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
startForeground(1337, _statusBar.getNote());
}
}
//return START_STICKY;
return START_NOT_STICKY;
}
/**
* Android 8.1, 9.0, 10 handle foreground applications differently and as such require us to
* start our foreground service differently.
* */
@RequiresApi(api = Build.VERSION_CODES.O)
private void startOwnForeground(){
String NOTIFICATION_CHANNEL_ID = "com.example.simpleapp";
String channelName = "My Background Service";
NotificationChannel chan = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_NONE);
chan.setLightColor(Color.BLUE);
chan.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
assert manager != null;
manager.createNotificationChannel(chan);
NotificationCompat.Builder notificationBuilder = new NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID);
Notification notification = notificationBuilder.setOngoing(true)
.setSmallIcon(R.drawable.i2plogo)
.setContentTitle(getString(R.string.running_background))
.setPriority(NotificationManager.IMPORTANCE_MIN)
.setCategory(Notification.CATEGORY_SERVICE)
.build();
startForeground(1337, notification);
}
/**
* maybe this goes away when the receiver can bind to us
*/

View File

@ -1,11 +1,15 @@
package net.i2p.android.router.service;
import android.app.Notification;
import android.app.NotificationChannel;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.v4.app.NotificationCompat;
import android.view.Gravity;
import android.widget.Toast;
import net.i2p.android.I2PActivity;
import net.i2p.android.router.R;
@ -16,6 +20,9 @@ class StatusBar {
private final NotificationManager mNotificationManager;
private final NotificationCompat.Builder mNotifyBuilder;
private Notification mNotif;
private final String NOTIFICATION_CHANNEL_ID = "net.i2p.android.STARTUP_STATE_CHANNEL";
private final String channelName = "I2P Router Service";
NotificationChannel mNotificationChannel;
private static final int ID = 1337;
@ -28,25 +35,33 @@ class StatusBar {
StatusBar(Context ctx) {
mCtx = ctx;
mNotificationManager = (NotificationManager) ctx.getSystemService(
mNotificationManager = (NotificationManager) mCtx.getSystemService(
Context.NOTIFICATION_SERVICE);
assert mNotificationManager != null;
Thread.currentThread().setUncaughtExceptionHandler(
new CrashHandler(mNotificationManager));
int icon = ICON_STARTING;
// won't be shown if replace() is called
String text = ctx.getString(R.string.notification_status_starting);
String text = mCtx.getString(R.string.notification_status_starting);
mNotifyBuilder = new NotificationCompat.Builder(ctx)
.setContentText(text)
.setSmallIcon(icon)
.setColor(mCtx.getResources().getColor(R.color.primary_light))
.setOngoing(true)
.setOnlyAlertOnce(true);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mNotifyBuilder = new NotificationCompat.Builder(mCtx);
} else {
mNotifyBuilder = new NotificationCompat.Builder(mCtx, NOTIFICATION_CHANNEL_ID);
}
Intent intent = new Intent(ctx, I2PActivity.class);
mNotifyBuilder.setContentText(text);
mNotifyBuilder.setSmallIcon(icon);
mNotifyBuilder.setColor(mCtx.getResources().getColor(R.color.primary_light));
mNotifyBuilder.setOngoing(true);
mNotifyBuilder.setPriority(NotificationManager.IMPORTANCE_LOW);
mNotifyBuilder.setCategory(Notification.CATEGORY_SERVICE);
Intent intent = new Intent(mCtx, I2PActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(ctx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
PendingIntent pi = PendingIntent.getActivity(mCtx, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mNotifyBuilder.setContentIntent(pi);
}
@ -74,6 +89,12 @@ class StatusBar {
public void update(String title, String text) {
mNotifyBuilder.setContentTitle(title)
.setContentText(text);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
mNotificationChannel = new NotificationChannel(NOTIFICATION_CHANNEL_ID, channelName, NotificationManager.IMPORTANCE_LOW);
mNotificationManager.createNotificationChannel(mNotificationChannel);
mNotificationChannel.setLockscreenVisibility(Notification.VISIBILITY_PRIVATE);
mNotifyBuilder.setChannelId(NOTIFICATION_CHANNEL_ID);
}
mNotif = mNotifyBuilder.build();
mNotificationManager.notify(ID, mNotif);
}

View File

@ -2,16 +2,20 @@ package net.i2p.android.router.util;
import net.i2p.android.router.R;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.support.v4.app.NotificationCompat;
public class Notifications {
private final Context mCtx;
private final NotificationManager mNotificationManager;
public static final int ICON = R.drawable.ic_stat_router_active;
public Notifications(Context ctx) {
@ -25,13 +29,26 @@ public class Notifications {
}
public void notify(String title, String text, Class<?> c) {
NotificationCompat.Builder b =
new NotificationCompat.Builder(mCtx)
.setContentTitle(title)
.setContentText(text)
.setSmallIcon(ICON)
.setColor(mCtx.getResources().getColor(R.color.primary_light))
.setAutoCancel(true);
notify(title, text, "", c);
}
public void notify(String title, String text, String channel, Class<?> c) {
NotificationCompat.Builder b;
if (Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O) {
b = new NotificationCompat.Builder(mCtx);
} else {
if (channel.equals("")){
b = new NotificationCompat.Builder(mCtx);
} else {
b = new NotificationCompat.Builder(mCtx, channel);
}
}
b.setContentTitle(title);
b.setContentText(text);
b.setSmallIcon(ICON);
b.setColor(mCtx.getResources().getColor(R.color.primary_light));
b.setAutoCancel(true);
if (c != null) {
Intent intent = new Intent(mCtx, c);

View File

@ -100,3 +100,56 @@ tunnel.3.option.outbound.length=2
tunnel.3.option.outbound.lengthVariance=0
tunnel.3.option.outbound.priority=15
tunnel.3.startOnLoad=true
# I2P Git Repositories SSH Access
tunnel.6.description=I2P Git Repositories SSH Access
tunnel.6.interface=127.0.0.1
tunnel.6.listenPort=7670
tunnel.6.name=gitssh.idk.i2p
tunnel.6.option.i2cp.closeIdleTime=1800000
tunnel.6.option.i2cp.closeOnIdle=false
tunnel.6.option.i2cp.delayOpen=true
tunnel.6.option.i2cp.destination.sigType=7
tunnel.6.option.i2cp.newDestOnResume=false
tunnel.6.option.i2cp.reduceIdleTime=1200000
tunnel.6.option.i2cp.reduceOnIdle=true
tunnel.6.option.i2cp.reduceQuantity=1
tunnel.6.option.inbound.backupQuantity=1
tunnel.6.option.inbound.length=3
tunnel.6.option.inbound.nickname=gitssh.idk.i2p
tunnel.6.option.inbound.quantity=3
tunnel.6.option.outbound.backupQuantity=1
tunnel.6.option.outbound.length=3
tunnel.6.option.outbound.nickname=gitssh.idk.i2p
tunnel.6.option.outbound.quantity=3
tunnel.6.sharedClient=false
tunnel.6.startOnLoad=false
tunnel.6.targetDestination=gitssh.idk.i2p
tunnel.6.type=client
# I2P Git Repositories HTTP Access(Android only)
# Disabled by default, useful for Android gitlab clients like labcoat
tunnel.7.description=I2P Git Repositories HTTP Access(Android Only)
tunnel.7.interface=127.0.0.1
tunnel.7.listenPort=7671
tunnel.7.name=git.idk.i2p
tunnel.7.option.i2cp.closeIdleTime=1800000
tunnel.7.option.i2cp.closeOnIdle=false
tunnel.7.option.i2cp.delayOpen=true
tunnel.7.option.i2cp.destination.sigType=7
tunnel.7.option.i2cp.newDestOnResume=false
tunnel.7.option.i2cp.reduceIdleTime=1200000
tunnel.7.option.i2cp.reduceOnIdle=true
tunnel.7.option.i2cp.reduceQuantity=1
tunnel.7.option.inbound.backupQuantity=1
tunnel.7.option.inbound.length=3
tunnel.7.option.inbound.nickname=git.idk.i2p
tunnel.7.option.inbound.quantity=3
tunnel.7.option.outbound.backupQuantity=1
tunnel.7.option.outbound.length=3
tunnel.7.option.outbound.nickname=git.idk.i2p
tunnel.7.option.outbound.quantity=3
tunnel.7.sharedClient=false
tunnel.7.startOnLoad=false
tunnel.7.targetDestination=ssh.idk.i2p
tunnel.7.type=client

View File

@ -50,7 +50,7 @@ i2np.bandwidth.outboundKBytesPerSecond=50
#
# NTCP
#
i2np.ntcp.enable=false
i2np.ntcp.enable=true
i2np.ntcp.maxConnections=32
#
# NTCP2

View File

@ -36,9 +36,8 @@ services. You can also access the normal web anonymously via I2P's built-in web
proxy (outproxy). <a href="https://geti2p.net/en/about/browser-config"
target="_blank">Configure your browser</a> to use the HTTP proxy at
<code>127.0.0.1 port 4444</code>, then browse to an eepsite or a normal,
unencrypted <code>http://</code> address. For a pre-configured browser, you may
wish to try <a href="http://echelon.i2p/i2pfox/">I2PFox</a>, a custom build of
Firefox security hardened and tailored especially for I2P. If you wish to
unencrypted <code>http://</code> address.
If you wish to
disable or change outproxy access to the normal internet, remove or modify the
outproxy entry for <code>false.i2p</code> under the <i>Outproxies</i> option in
the <a href="/i2ptunnel/edit?tunnel=0" target="_blank">I2P HTTP Proxy Tunnel
@ -80,13 +79,13 @@ target="_blank">geti2p.net</a>. If you want to know
more about how I2P works or how you can participate, this is your first port of
call!</li>
<li class="tidylist"><b>I2P Community Forums</b><br><a
href="http://forum.i2p/" target="_blank">forum.i2p</a>: A secure
href="http://i2pforum.i2p/" target="_blank">i2pforum.i2p</a>: A secure
and anonymous online forum community where developers
and users alike discuss problems and ideas relating to I2P and associated
topics, and <a href="http://zzz.i2p/" target="_blank">zzz's developer
forums</a> for both end users and developers.</li>
<li class="tidylist"><b>I2P Anonymous Pastebin</b><br><a
href="http://pastethis.i2p/" target="_blank">pastethis.i2p</a>: Secure and
href="http://paste.idk.i2p/" target="_blank">paste.idk.i2p</a>: Secure and
anonymous paste service allowing anonymous text and text-based code
sharing over I2P.</li>
<li class="tidylist"><b>Echelon's I2P Resources</b><br><a
@ -95,14 +94,6 @@ href="http://echelon.i2p/" target="_blank">echelon.i2p</a>: I2P software
including a <a href="http://echelon.i2p/I2Pguide/index.html"
target="_blank">beginner's guide</a> and pre-release developer builds of I2P
for the adventurous to try.</li>
<li class="tidylist"><b>Ugha's Wiki</b><br><a href="http://ugha.i2p/"
target="_blank">ugha.i2p</a>: An open wiki that anyone can edit with plenty of
information about I2P, help for beginners, additional links into the network,
and more.</li>
<li class="tidylist"><b>I2P-to-Freenet Proxy</b><br><a
href="http://fproxy.tino.i2p/" target="_blank">fproxy.tino.i2p</a>:
Peer into the world of the <a href="http://freenetproject.org/"
target="_blank">Freenet</a> network with Tino's I2P-to-Freenet proxy.</li>
<li class="tidylist"><b>The Planet (on I2P)</b><br><a
href="http://planet.i2p/" target="_blank">planet.i2p</a>: An RSS aggregator
site that takes news and events from around I2P and publishes them all in one
@ -149,23 +140,19 @@ discussion forum</a>,
<a href="irc://127.0.0.1:6668/i2p-help">#i2p-help</a>, <a
href="irc://127.0.0.1:6668/i2p">#i2p</a> or <a
href="irc://127.0.0.1:6668/i2p-chat">#i2p-chat</a> on I2P's internal IRC
network (<code>irc.postman.i2p</code> or <code>irc.freshcoffee.i2p</code>).
network (<code>irc.postman.i2p</code> or <code>irc.echelon.i2p</code>).
These channels are also available outside of I2P's encrypted, anonymous network
via <a href="irc://irc.freenode.net/i2p">Freenode IRC</a>.
</li>
<li class="tidylist"><b>Reporting Bugs</b><br>If you'd like to report a bug,
please file a ticket on <a href="http://trac.i2p2.i2p/"
target="_blank">trac.i2p2.i2p</a>. For developer-related discussions, please
please file a ticket on <a href="http://git.idk.i2p/"
target="_blank">git.idk.i2p</a>. For developer-related discussions, please
visit <a href="http://zzz.i2p/" target="_blank">zzz's developer forums</a> or
come and visit the <a href="irc://127.0.0.1:6668/i2p-dev">developer channel</a>
on I2P's IRC network. Developers can browse source at <a
href="http://stats.i2p/cgi-bin/viewmtn/" target="_blank">zzz's mtn repository
viewer</a>, <a href="http://i2host.i2p/cgi-bin/view/branch/changes/i2p.i2p"
target="_blank">Sponge's instance</a>, or via <a
href="http://trac.i2p2.i2p/browser" target="_blank">trac.i2p2.i2p</a>. We
primarily use <a href="http://i2p-projekt.i2p/monotone.html"
target="_blank">monotone</a> to manage our source code.
href="git.idk.i2p/i2p-hackers/i2p.i2p/-/commits/master" target="_blank">git.idk.i2p</a> or
<a href="https://github.com/i2p/i2p.i2p" target="_blank">GitHub</a>.
</li>
<li class="tidylist"><b>Get Involved!</b><br>I2P is developed and maintained
@ -188,6 +175,6 @@ page</a> on the website.
</ul>
<div class="topness"><a href="#top">[Return to Top]</a></div>
<div class="footnote"><hr>Document updated: June 2011</div>
<div class="footnote"><hr>Document updated: May 2021</div>
</div>
</body></html>

View File

@ -21,6 +21,9 @@
<string name="button_router_off">Dlouze stiskněte pro spuštění I2P</string>
<string name="button_router_on">I2P běží (dlouze stiskněte pro zastavení)</string>
<string name="hidden">Skryté</string>
<string name="testing">Testování</string>
<string name="firewalled">Firewalled</string>
<string name="symmetric_nat">Symetrický NAT</string>
<!--Parameter is a time, e.g. 32s or 2m-->
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
<string name="char_client_tunnel">C</string>
@ -53,11 +56,15 @@
<string name="configure_graphs">Konfigurovat grafy</string>
<string name="country">Země</string>
<string name="version">Verze</string>
<string name="count">Počet</string>
<string name="netdb_routers_empty">Žádné routery ve vaší NetDB</string>
<string name="netdb_leases_empty">Žádné LeaseSets ve vaší NetDB</string>
<string name="menu_settings">Nastavení</string>
<string name="settings_enable">Zapnout</string>
<string name="settings_label_bandwidth">Šířka pásma</string>
<string name="settings_label_network">Síť</string>
<string name="settings_label_hiddenMode">Participace</string>
<string name="settings_dialog_sharePercent">Procento šířky pásma ke sdílení</string>
<string name="settings_label_appearance">Podoba</string>
<string name="settings_label_language">Jazyk</string>
<string name="settings_default">Výchozí</string>
@ -101,6 +108,7 @@
<string name="description">Popis</string>
<string name="outproxies">Výstupní proxy (Outproxies)</string>
<string name="use_ssl">Použít SSL</string>
<string name="profile">Profil</string>
<string name="access_control">Řízení přístupu</string>
<string name="disabled">Vypnuto</string>
<string name="whitelist">Seznam povolených (whitelist)</string>

View File

@ -55,6 +55,7 @@
<string name="upload">Feltöltés</string>
<string name="configure_browser_title">Böngésző beállítása?</string>
<string name="configure_browser_for_i2p">Szeretné beállítani a böngészőt az I2P oldalak megjelenítéséhez? (Ezt később is megteheti a “Segítség” menüből.)</string>
<string name="configure_no_doze_title">Hírek frissítve</string>
<string name="first_start_title">Gratulálunk az I2P telepítéséhez!</string>
<string name="first_start_welcome"><b>Üdvözli az I2P!</b> Kérem <b>legyen türelemmel</b> amíg az I2P elindul és peer-eket talál.</string>
<string name="first_start_read">Amíg várakozik, kérjük olvassa el a kiadási megjegyzéseket és az üdvözlőlapot.</string>
@ -73,15 +74,28 @@
<string name="action_refresh">Frissítés</string>
<string name="hint_search_addressbook">Keresés a címjegyzékben</string>
<string name="action_reload_subscriptions">Feliratkozások újratöltése</string>
<string name="news_updated">Hírek Frissítve</string>
<string name="router_not_running">A router nem fut.</string>
<string name="router_shutting_down">A router bezárása folyamatban.</string>
<string name="stats_not_ready">A statisztikakezelő még nincs kész. Próbáld újra később.</string>
<string name="select_an_address">Válassz egy címet.</string>
<string name="configure_graphs">Grafikonok beállítása</string>
<string name="statistics">Statisztikák</string>
<string name="routers">Routerek</string>
<string name="leasesets">LeaseSet-ek</string>
<string name="leasesets">Úticél Kapcsolódási Információ (LeaseSet)</string>
<string name="countries">Ország</string>
<string name="country">Ország</string>
<string name="transport">Szállítás</string>
<string name="versions">Verziók</string>
<string name="version">Verzió</string>
<string name="count">Mennyiség</string>
<string name="tname_0">Rejtett vagy indul</string>
<string name="netdb_routers_empty">Nincsenek router-ek a NetDB-dben.</string>
<string name="notification_status_starting">az I2P indul</string>
<string name="notification_status_restarting">Az I2P újraindul</string>
<string name="notification_status_waiting">Az I2P hálózati kapcsolatra vár</string>
<string name="notification_status_starting_after_waiting">Hálózat csatlakoztatva, az I2P indul</string>
<string name="notification_status_running">Az I2P fut</string>
<string name="notification_status_client_ready">Kliens alagutak készen állnak</string>
<string name="notification_status_client_down">Kliens alagutak leálltak</string>
<string name="notification_status_graceful">I2P megállítása %s másodperc múlva</string>
@ -95,18 +109,30 @@
<string name="notification_status_client">Kliens alagutak: %1$d/%2$d</string>
<string name="menu_settings">Beállítások</string>
<string name="settings_enable">Engedélyezés</string>
<string name="settings_label_bandwidth_net">Sávszélesség és hálózat</string>
<string name="settings_label_startOnBoot">Az I2P indítása Rendszerindításkor</string>
<string name="settings_desc_startOnBoot">Automatikus csatlakozás az I2P-hez, mikor az Android eszközöd elindul</string>
<string name="settings_label_bandwidth">Sávszélesség</string>
<string name="settings_label_bw_inbound">Bejövő sebesség</string>
<string name="settings_desc_bw_inbound">Maximális bejövő sebesség</string>
<string name="settings_label_bw_outbound">Kimenő sebesség</string>
<string name="settings_desc_bw_outbound">Maximális kimenő sebesség</string>
<string name="settings_label_network">Hálózat</string>
<string name="settings_desc_hiddenMode">Rejtett mód kikapcsolása</string>
<string name="settings_label_maxPartTunnels">Maximális résztvevő alagutak</string>
<string name="settings_desc_maxPartTunnels">Alagutak maximális száma amiben részt vesz (alapértelmezés=20)</string>
<string name="settings_dialog_maxPartTunnels">Alagutak maximális száma amiben részt vesz</string>
<string name="settings_desc_upnp">Tűzfal portok automatikus nyitása</string>
<string name="settings_label_logging">Naplózás</string>
<string name="settings_label_default_log_level">Alapértelmezett naplózási szint</string>
<string name="settings_label_appearance">Megjelenés</string>
<string name="settings_label_language">Nyelv</string>
<string name="settings_default">Alapértelmezett</string>
<string name="settings_label_advanced">Haladó</string>
<string name="settings_label_showStats">Router statisztika</string>
<string name="settings_label_transports">Átvitel</string>
<string name="settings_label_maxConns">Max kapcsolatok</string>
<string name="settings_label_i2cp">I2CP felület</string>
<string name="settings_desc_i2cp">Alagutak létrehozásának engedélyezése harmadik féltől származó alkalmazásoknak (a router újraindítása szükséges hozzá)</string>
<string name="settings_desc_exploratory_pool">Alagút paraméterei</string>
<string name="settings_label_expl_inbound">Bejövő alagutak</string>
@ -121,10 +147,17 @@
<string name="menu_about">Névjegy</string>
<string name="about_version">Verzió:</string>
<string name="about_project">A projekt honlapja:</string>
<string name="about_bugs">Hibaelhárítás és Támogatás:</string>
<string name="about_helpwanted">Segítséget Kérünk!</string>
<string name="menu_help">Segítség</string>
<string name="general">Általános</string>
<string name="label_router">Nyilvános cmek</string>
<string name="label_private">Privát címek</string>
<string name="addressbook_is_empty">Címjegyzék üres</string>
<string name="addressbook_search_header">%s találat</string>
<string name="addressbook_add_wizard_k_name">Név</string>
<string name="addressbook_add_wizard_k_destination">Célállomás</string>
<string name="addressbook_add_wizard_desc_name">A név</string>
<string name="i2ptunnel_type_client">Normál kliens</string>
<string name="i2ptunnel_type_httpclient">HTTP kliens</string>
<string name="i2ptunnel_type_ircclient">IRC kliens</string>
@ -150,6 +183,7 @@
<string name="i2ptunnel_delete_confirm_message">Törli az alagutat?</string>
<string name="i2ptunnel_delete_confirm_button">Alagút törlése</string>
<string name="i2ptunnel_no_tunnel_details">Alagút részleteit nem lehet betölteni</string>
<string name="i2ptunnel_wizard_k_client_server">Kliens vagy Szerver</string>
<string name="i2ptunnel_wizard_v_client">Kliens alagút</string>
<string name="i2ptunnel_wizard_v_server">Kiszolgáló alagút</string>
<string name="i2ptunnel_wizard_k_type">Alagút típusa</string>
@ -157,6 +191,8 @@
<string name="i2ptunnel_wizard_k_desc">Leírás</string>
<string name="i2ptunnel_wizard_k_dest">Célállomás</string>
<string name="i2ptunnel_wizard_k_outproxies">Kimenő proxyk</string>
<string name="i2ptunnel_wizard_k_target_port">Célport</string>
<string name="i2ptunnel_wizard_k_reachable_on">Elérhető itt:</string>
<string name="i2ptunnel_wizard_k_auto_start">Automatikus indítás</string>
<string name="next">Következő</string>
<string name="prev">Előző</string>
@ -174,30 +210,50 @@
<string name="i2ptunnel_wizard_submit_confirm_message">Létrehozza az alagutat?</string>
<string name="i2ptunnel_wizard_submit_confirm_button">Alagút létrehozása</string>
<string name="i2ptunnel_view_target">Cél</string>
<string name="i2ptunnel_view_autostart">Automatikus indítás</string>
<string name="address_copied_to_clipboard">Cím másolva a vágólapra</string>
<string name="edit_tunnel">Alagút szerkesztése</string>
<string name="name">Név</string>
<string name="description">Leírás</string>
<string name="auto_start">Automatikus indítás</string>
<string name="tunnel_summ_auto_start">A router indulásakor az alagút is induljon el.</string>
<string name="tunnel_cat_ports">Helyi portok</string>
<string name="shared_client">Megosztott kliens</string>
<string name="tunnel_summ_shared_client">Használja ugyanazt a Célállomást és alagutakat mint a többi megosztott kliens</string>
<string name="persistent_key_conflict_msg">Nem engedélyezheti az állandó kulcsokat amíg az alagút arra van konfigurálva hogy készítsen új kulcsokat újranyitáskor. Le akarja tiltani az új kulcsok készítését újranyitáskor?</string>
<string name="tunnel_summ_persistent_key">Tartsa meg ennek az alagútnak a Célállomását amikor újraindul</string>
<string name="reachable_on">Elérhető itt:</string>
<string name="listen_port">Figyelő port</string>
<string name="client_ssl">Kliens SSL</string>
<string name="tunnel_summ_client_ssl">Klienseknek a kapcsolódáshoz SSL használata kötelező</string>
<string name="outproxies">Kimenő proxyk</string>
<string name="ssl_outproxies">SSL kimenő proxyk</string>
<string name="irc">IRC</string>
<string name="enable_dcc">DCC Engedélyezése</string>
<string name="tunnel_summ_enable_dcc">IRC klienseknek DCC használatának engedélyezése</string>
<string name="target_port">Célport</string>
<string name="use_ssl">SSL használata</string>
<string name="tunnel_summ_use_ssl">SSL használata célhoz való kapcsolódáshoz</string>
<string name="tunnel_parameters">Alagút paraméterei</string>
<string name="profile">Profil</string>
<string name="delay_connect">Csatlakozás késleltetése</string>
<string name="restricted_access">Korlátozott elérés</string>
<string name="disabled">Tiltva</string>
<string name="whitelist">Engedélyezett-Lista</string>
<string name="blacklist">Tiltott-Lista</string>
<string name="access_list">Elérési lista</string>
<string name="reject_inproxies">Bejövő proxyk elutasítása</string>
<string name="tunnel_summ_delay_open">Az alagút nyitás késleltetése szükségessé válásig</string>
<string name="tunnel_summ_reduce_quantity">Alagutak mennyiségének csökkentése üres állapotban</string>
<string name="reduced_tunnel_quantity">Csökkentett alagút mennyiség</string>
<string name="close_tunnels">Alagutak bezárása üresjárat esetén</string>
<string name="new_keys_on_reopen_conflict_msg">Nem engedélyezheti az új kulcsok készítését újranyitáskor amíg az alagút állandó kulcsok használatára van konfigurálva. Le akarja tiltani az állandó kulcsokat?</string>
<string name="http_client">HTTP kliens</string>
<string name="tunnel_summ_allow_ssl">SSL engedélyezése I2P címekhez</string>
<string name="username">Felhasználónév</string>
<string name="password">Jelszó</string>
<string name="other">Egyéb</string>
<string name="signature_type">Aláírás Típusa</string>
<string name="custom_options">Egyéni beállítások</string>
<string name="all">Összes</string>
<string name="no_messages">Nincs üzenet</string>

View File

@ -2,10 +2,12 @@
<resources>
<string name="app_name">I2P</string>
<string name="desc_i2p_logo">I2P ロゴ</string>
<string name="choose_language">言語を選択</string>
<string name="welcome_new_install">I2P へようこそ!このアプリはアルファ版のソフトウェアであり、強い匿名性を提供いたしません。リリース・ノート及びライセンス情報をご覧ください。</string>
<string name="welcome_new_version">新しいバージョンがインストールされました。リリース・ノートをご覧ください。バージョン:</string>
<string name="label_tunnels">トンネル</string>
<string name="label_status">ステータス</string>
<string name="label_status">状態</string>
<string name="label_console">コンソール</string>
<string name="label_addresses">アドレス</string>
<string name="label_addressbook">アドレス帳</string>
<string name="label_i2ptunnel_client">クライアントトンネル</string>
@ -20,24 +22,44 @@
<string name="label_graphs">グラフ</string>
<string name="button_router_off">長押しして I2P を起動</string>
<string name="button_router_on">I2P を起動中 (長押しで中止)</string>
<string name="button_router_graceful">I2Pは%sでシャットダウン</string>
<string name="button_shutdown_now">長押しで今すぐ停止</string>
<string name="button_cancel_graceful">長押ししてシャットダウンをキャンセル</string>
<string name="no_internet">インターネット接続は利用不可能</string>
<string name="hidden">非表示</string>
<string name="testing">テスト中</string>
<string name="firewalled">警告-ファイアーウォールされ、高速</string>
<string name="firewalled">ファイアーウォールされ</string>
<string name="symmetric_nat">対称型NAT</string>
<string name="net_status_error_i2cp">クライアントマネージャ I2CP エラー- ログをご確認ください</string>
<!--Parameter is a time, e.g. 32s or 2m-->
<string name="net_status_error_skew">%sのクロックスキュー</string>
<string name="net_status_error_unresolved_tcp">未解決の TCP アドレス</string>
<string name="net_status_error_private_tcp">プライベートな TCP アドレス</string>
<string name="net_status_warn_firewalled_inbound_tcp">着信 TCP が有効となり、ファイアーウォールされています</string>
<string name="net_status_info_disconnected">切断されました - ネットワーク接続を確認してください</string>
<string name="net_status_error_udp_port">UDPポートが使用中 - 設定を変更して再起動してください</string>
<string name="net_status_error_no_active_peers">アクティブなピアなし - ネットワークの接続およびファイアーウォールを確認してください</string>
<string name="net_status_error_udp_disabled_tcp_not_set">UDP が無効化され、着信 TCP のホスト/ポートが設定されていません</string>
<string name="net_status_warn_firewalled_udp_disabled">UDP が無効化され、ファイアウォールされています</string>
<string name="shared_clients">共有クライアント</string>
<string name="uptime">稼働時間</string>
<string name="active_peers">アクティブなピア</string>
<string name="known_peers">既知のピア</string>
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
<string name="char_client_tunnel">C</string>
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
<string name="char_server_tunnel">S</string>
<string name="no_tunnels_running">まだトンネルは起動していません。</string>
<string name="download">ダウンロード</string>
<string name="upload">アップロード</string>
<string name="configure_browser_title">ブラウザの設定をしますか?</string>
<string name="configure_browser_for_i2p">I2Pサイトを見るためにブラウザを設定しますか(あとでヘルプメニューからも設定できます)</string>
<string name="configure_no_doze_title">バッテリー最適化を管理?</string>
<string name="configure_no_doze">I2Pは稼働し続けていれば最もよく動作します。Androidが電気の節約を試みたときにI2Pを終了しないようにするため、バッテリー例外リストにI2Pを追加できます。これにより、アプリケーションの信頼性が大幅に上昇します。\n\nI2Pをバックグラウンドで稼働し続けますか推奨</string>
<string name="first_start_title">I2P のインストールおめでとうございます!</string>
<string name="first_start_welcome"><b>I2P へようこそ!</b> I2P が立ち上がり、ピアを見つけるまで<b>我慢してください</b></string>
<string name="first_start_read">待っている間、リリースノートとウェルカムページをお読みください。</string>
<string name="first_start_faq">クライアントトンネルを得たら、以下の FAQ <b>ご確認ください</b>:</string>
<string name="first_start_faq">クライアントトンネルを得たら、以下のよくある質問<b>ご確認ください</b>:</string>
<string name="first_start_faq_nonanon">あるいは、トンネルを待ちたくないなら、この非匿名リンクを使用してください:</string>
<string name="first_start_irc">IRC クライアントを <b>localhost:6668</b> に合わせて、私たちに一言挨拶してください:</string>
<string name="action_search">検索</string>
@ -51,30 +73,48 @@
<string name="action_i2ptunnel_restart_all">全てのトンネルを再開始</string>
<string name="action_reload">再読み込み</string>
<string name="action_refresh">更新</string>
<string name="hint_search_addressbook">アドレスブックを検索</string>
<string name="hint_search_addressbook">アドレスを検索</string>
<string name="action_reload_subscriptions">購読を再読込</string>
<string name="router_not_running">ルーターが起動していません。</string>
<string name="news_last_updated">ニュースは%s前に最終更新</string>
<string name="news_last_checked">ニュースは%s前に最終確認</string>
<string name="news_updated">ニュース更新</string>
<string name="view_news">タッチして最終のI2Pのニュースを表示</string>
<string name="router_not_running">ルータが起動していません。</string>
<string name="router_shutting_down">ルータはシャットダウン中です。</string>
<string name="stats_not_ready">統計マネージャーはまだ準備出来ていません。後でやり直してください。</string>
<string name="no_graphs_configured">グラフは設定されていません。設定でどの統計をグラフにするか選択できます。すべての変更は60秒後に有効になります</string>
<string name="configure_graphs">グラフ設定</string>
<string name="statistics">統計</string>
<string name="routers">ルータ</string>
<string name="leasesets">リースセット</string>
<string name="country"></string>
<string name="transport">トランスポート</string>
<string name="version">バージョン</string>
<string name="count">カウント</string>
<string name="tname_0">隠すか起動中</string>
<string name="netdb_routers_empty">NetDB にルータがありません。</string>
<string name="netdb_routers_empty">NetDB にルータがありません。</string>
<string name="netdb_leases_empty">NetDB にリースセットがありません。</string>
<string name="notification_status_starting">I2P は起動中</string>
<string name="notification_status_restarting">I2P は再起動中</string>
<string name="notification_status_waiting">I2Pはネットワーク接続を待機しています</string>
<string name="notification_status_starting_after_waiting">ネットワーク接続済み、I2Pは起動中</string>
<string name="notification_status_running">I2P は稼働中</string>
<string name="notification_status_client_ready">クライアントトンネルは準備完了</string>
<string name="notification_status_client_down">クライアントトンネルは落ちます</string>
<string name="notification_status_graceful">%sでI2Pを停止</string>
<string name="notification_status_stopping">I2Pを停止中</string>
<string name="notification_status_stopping_after_net">ネットワーク切断、I2Pを停止中</string>
<string name="notification_status_shutdown_cancelled">シャットダウンをキャンセルしました</string>
<string name="notification_status_shutting_down">I2Pはシャットダウン中です。</string>
<string name="notification_status_bw">帯域幅: %1$sBps 下方向 / %2$sBps 上方向</string>
<string name="notification_status_peers">ピア: %1$d アクティブ、 %2$d 既知</string>
<string name="notification_status_expl">予備トンネル: %1$d/%2$d</string>
<string name="notification_status_expl">調査トンネル: %1$d/%2$d</string>
<string name="notification_status_client">クライアントトンネル: %1$d/%2$d</string>
<string name="menu_settings">設定</string>
<string name="settings_enable">有効</string>
<string name="settings_desc_subscriptions">URL を登録</string>
<string name="settings_label_bandwidth_net">帯域幅とネットワーク</string>
<string name="settings_label_startOnBoot">デバイスの起動時にI2Pも起動</string>
<string name="settings_label_startOnBoot">デバイスの起動時にI2Pも起動</string>
<string name="settings_desc_startOnBoot">デバイスの起動時に自動でI2Pに接続</string>
<string name="settings_label_bandwidth">帯域幅</string>
<string name="settings_label_bw_inbound">受信速度</string>
@ -83,7 +123,7 @@
<string name="settings_desc_bw_outbound">最大送信速度</string>
<string name="settings_label_network">ネットワーク</string>
<string name="settings_label_hiddenMode">参加</string>
<string name="settings_desc_hiddenMode">ヒドゥン・モードを切る</string>
<string name="settings_desc_hiddenMode">秘匿モードを切る</string>
<string name="settings_label_maxPartTunnels">最大参加トンネル数</string>
<string name="settings_desc_maxPartTunnels">参加するトンネルの最大数 (既定=20)</string>
<string name="settings_dialog_maxPartTunnels">参加するトンネルの最大数</string>
@ -92,17 +132,18 @@
<string name="settings_dialog_sharePercent">共有する帯域幅の割合</string>
<string name="settings_desc_upnp">自動的にファイアーウォールのポートを開く</string>
<string name="settings_label_logging">ロギング</string>
<string name="settings_label_default_log_level">デフォルトのログ水準</string>
<string name="settings_label_default_log_level">規定のログ水準</string>
<string name="settings_label_appearance">外観</string>
<string name="settings_label_language">言語</string>
<string name="settings_default">デフォルト</string>
<string name="settings_label_advanced">高度</string>
<string name="settings_label_showStats">ルータの統計</string>
<string name="settings_label_showStats">ルータの統計</string>
<string name="settings_summ_showStats">メインコンソールに高度な統計を表示</string>
<string name="settings_label_transports">トランスポート</string>
<string name="settings_label_maxConns">最大接続数</string>
<string name="settings_label_i2cp">I2CP インターフェース</string>
<string name="settings_label_exploratory_pool">予備プール</string>
<string name="settings_desc_i2cp">サードパーティのアプリがトンネルを作成することを許可(ルータの再起動が必要)</string>
<string name="settings_label_exploratory_pool">調査のプール</string>
<string name="settings_desc_exploratory_pool">トンネルパラーメーター</string>
<string name="settings_label_expl_inbound">受信トンネル</string>
<string name="settings_label_expl_outbound">送信トンネル</string>
@ -129,6 +170,9 @@
<string name="about_donate">開発や試験用にさらに Android デバイスを購入するために、お金や Bitcoin を寄付していただけますか? こちらです:</string>
<string name="menu_help">ヘルプ</string>
<string name="general">一般</string>
<string name="label_router">公開アドレス</string>
<string name="label_private">プライベートなアドレス</string>
<string name="addressbook_is_empty">アドレス帳は空です</string>
<string name="addressbook_search_header">%s 検出</string>
<string name="addressbook_add_wizard_k_name">名前</string>
<string name="addressbook_add_wizard_k_destination">宛先</string>
@ -153,7 +197,9 @@
<string name="i2ptunnel_type_httpbidirserver">HTTP 双方向</string>
<string name="install_recommended_app">推奨アプリをインストールしますか?</string>
<string name="app_needed_for_this_tunnel_type">このトンネルを使用するには推奨アプリをインストールする必要があります。インストールしますか?</string>
<string name="i2ptunnel_not_initialized">トンネルはまだ初期化されていません、2分後に再読み込みしてください。</string>
<string name="i2ptunnel_not_initialized">トンネルはまだ初期化されていませんので、2分後に再読み込みしてください。</string>
<string name="no_configured_client_tunnels">設定されていないクライアントンネル。</string>
<string name="no_configured_server_tunnels">設定されていないサーバートンネル。</string>
<string name="i2ptunnel_new_tunnel">新規トンネル</string>
<string name="i2ptunnel_msg_config_saved">構成の変更が保存されました</string>
<string name="i2ptunnel_msg_config_save_failed">構成の保存に失敗しました</string>
@ -161,10 +207,11 @@
<string name="i2ptunnel_msg_tunnel_stopping">トンネルを停止中</string>
<string name="i2ptunnel_delete_confirm_message">トンネルを削除しますか?</string>
<string name="i2ptunnel_delete_confirm_button">トンネルを削除</string>
<string name="i2ptunnel_no_tunnel_details">トンネルの詳細を読み込めませんでした</string>
<string name="i2ptunnel_wizard_k_client_server">クライアントあるいはサーバー</string>
<string name="i2ptunnel_wizard_v_client">クライアントトンネル</string>
<string name="i2ptunnel_wizard_v_server">サーバートンネル</string>
<string name="i2ptunnel_wizard_k_type">トンネルタイプ</string>
<string name="i2ptunnel_wizard_k_type">トンネルの種類</string>
<string name="i2ptunnel_wizard_k_name">名前</string>
<string name="i2ptunnel_wizard_k_desc">説明</string>
<string name="i2ptunnel_wizard_k_dest">宛先</string>
@ -181,24 +228,27 @@
<string name="enabled">有効</string>
<string name="i2ptunnel_wizard_desc_name">トンネルリストでの識別用に、トンネルの名前。</string>
<string name="i2ptunnel_wizard_desc_desc">トンネルの説明。これは任意であり、単なる参考です。</string>
<string name="i2ptunnel_wizard_desc_outproxies">このタイプのトンネル用 HTTP か SOCKS のいずれか) のアウトプロキシを知っているなら、それらを入力してください。カンマで複数のプロキシを分割できます。</string>
<string name="i2ptunnel_wizard_desc_dest">このクライアントトンネルが接続するサービスのI2P宛先を入力します。これには、ベース64の完全な宛先キーや、アドレス帳にあるI2Pホスト名を使用できます。</string>
<string name="i2ptunnel_wizard_desc_outproxies">この種類のトンネル用 HTTP か SOCKS のいずれか) のアウトプロキシを知っているなら、それらを入力してください。カンマで複数のプロキシを分割できます。</string>
<string name="i2ptunnel_wizard_desc_target_host">これは、サービスが起動している IPです。通常同一のマシン上なので、 127.0.0.1 が自動で入力されます。</string>
<string name="i2ptunnel_wizard_desc_target_port">これはサービスが接続を受け入れているポートです。</string>
<string name="i2ptunnel_wizard_desc_reachable_on">これはどのコンピューターまたはスマートフォンがトンネルにアクセスできるかを制限するものです。</string>
<string name="i2ptunnel_wizard_desc_binding_port">これは、クライアントトンネルがローカルにアクセスされるポートです。これはHTTP bidir サーバートンネル用のクライアントポートでもあります。</string>
<string name="i2ptunnel_wizard_desc_auto_start">ルータの起動時に自動的にトンネルを開始しますか?</string>
<string name="i2ptunnel_wizard_desc_auto_start">ルータの起動時に自動的にトンネルを開始しますか?</string>
<string name="i2ptunnel_wizard_submit_confirm_message">トンネルを作成しますか?</string>
<string name="i2ptunnel_wizard_submit_confirm_button">トンネルを作成</string>
<string name="i2ptunnel_view_target">ターゲット</string>
<string name="i2ptunnel_view_access_point">アクセスポイント</string>
<string name="i2ptunnel_view_autostart">自動開始</string>
<string name="address_copied_to_clipboard">アドレスはクリップボードにコピーされました</string>
<string name="edit_tunnel">トンネルを編集</string>
<string name="name">名前</string>
<string name="description">説明</string>
<string name="auto_start">自動開始</string>
<string name="tunnel_summ_auto_start">ルータ起動時にトンネルを開始</string>
<string name="tunnel_summ_auto_start">ルータ起動時にトンネルを開始</string>
<string name="tunnel_cat_ports">ローカルポート</string>
<string name="shared_client">共有クライアント</string>
<string name="target_destination">範囲</string>
<string name="tunnel_summ_shared_client">他の共有クライアントと同じ宛先を使う</string>
<string name="persistent_key">永続的なキー</string>
<string name="reachable_on">到達可能</string>
<string name="listen_port">着信ポート</string>
@ -209,7 +259,7 @@
<string name="irc">IRC</string>
<string name="enable_dcc">DCC有効</string>
<string name="tunnel_summ_enable_dcc">DCCを使用しているクライアントにIRCを許可</string>
<string name="website_domain_name">ウェブサイトドメイン・ネーム</string>
<string name="website_domain_name">ウェブサイトドメイン</string>
<string name="target_host">ターゲットホスト</string>
<string name="target_port">ターゲットポート</string>
<string name="use_ssl">SSLを使用</string>
@ -217,14 +267,16 @@
<string name="tunnel_parameters">トンネル調節</string>
<string name="profile">プロファイル</string>
<string name="delay_connect">接続延滞</string>
<string name="access_control">アクセスコントロール</string>
<string name="tunnel_summ_delay_connect">要求/応答 接続用を有効</string>
<string name="access_control">アクセス制御</string>
<string name="restricted_access">許可されたアクセス</string>
<string name="disabled">無効</string>
<string name="whitelist">ホワイトリスト</string>
<string name="blacklist">ブラックリスト</string>
<string name="access_list">アクセスリスト</string>
<string name="tunnel_summ_reject_inproxies">I2Pユーザーみに接続を許可</string>
<string name="tunnel_summ_reject_inproxies">I2Pユーザーみに接続を許可</string>
<string name="unique_local">ユニークローカル</string>
<string name="tunnel_summ_unique_local">クライアントごとに固有のローカルホストIPを使用</string>
<string name="multihome">マルチホーム</string>
<string name="tunnel_summ_multihome">マルチホーム最適化を有効</string>
<string name="client_connection_limits">接続数制限</string>
@ -243,16 +295,24 @@
<string name="set_zero_for_unlimited">0=無制限</string>
<string name="post_limits">投稿制限</string>
<string name="power_saving">パワーセーブ</string>
<string name="delay_open">オープンを遅れさせる</string>
<string name="tunnel_summ_delay_open">要求されるまでトンネルのオープンを遅らせる</string>
<string name="reduce_quantity">数を減らす</string>
<string name="tunnel_summ_reduce_quantity">アイドル時トンネルの数を減らす</string>
<string name="num_minutes">%s /分</string>
<string name="reduced_tunnel_quantity">減らしたトンネルの数量</string>
<string name="close_tunnels">アイドル時トンネルを閉じる</string>
<string name="new_keys_on_reopen">再開放で新しいキーにする</string>
<string name="new_keys_on_reopen_conflict_title">持続的なキーを無効化する?</string>
<string name="http_client">HTTPクライアント</string>
<string name="tunnel_summ_user_agent">\'User-Agent\'ヘッダーを通す</string>
<string name="tunnel_summ_referer">\'リファラー\'ヘッダーを通す</string>
<string name="tunnel_summ_accept">\'Accept-*\'ヘッダーを通す</string>
<string name="tunnel_summ_allow_ssl">I2PアドレスにSSLを使用可能にする</string>
<string name="jump_url_list">ジャンプURLリスト</string>
<string name="proxy_auth">プロキシ認証</string>
<string name="tunnel_summ_proxy_auth">このプロキシを使用するにはログインが必要です</string>
<string name="username">ユーザーネーム</string>
<string name="username">ユーザー</string>
<string name="password">パスワード</string>
<string name="outproxy_auth">外部プロキシ認証</string>
<string name="other">その他</string>

View File

@ -111,7 +111,7 @@
<string name="notification_status_stopping_after_net">Sieć rozłączona, zatrzymywanie I2P</string>
<string name="notification_status_shutdown_cancelled">Anulowano zamknięcie</string>
<string name="notification_status_shutting_down">Trwa wyłączanie I2P</string>
<string name="notification_status_bw">Przepustowość: %1$sBps pobieranie / %2$sBps wysyłanie</string>
<string name="notification_status_bw">Przepustowość: %1$s B/s pobieranie / %2$s B/s wysyłanie</string>
<string name="notification_status_peers">Peery: %1$d aktywnych, %2$d znanych</string>
<string name="notification_status_expl">Tunelów rozpoznawczych: %1$d/%2$d</string>
<string name="notification_status_client">Tunele klienta: %1$d/%2$d</string>

View File

@ -6,10 +6,10 @@
<string name="welcome_new_install">Bem vindo ao I2P! Este aplicativo está em estágio ALPHA e não provê anonimidade forte. Por favor leia as notas e informações de licença.</string>
<string name="welcome_new_version">Nova versão instalada. Por favor, leia as notas de lançamento. Versão:</string>
<string name="label_tunnels">Túneis</string>
<string name="label_status">Estado</string>
<string name="label_status">Status</string>
<string name="label_console">Painel</string>
<string name="label_addresses">Endereços</string>
<string name="label_addressbook">Livro de endereços</string>
<string name="label_addressbook">Catálogo de endereços</string>
<string name="label_i2ptunnel_client">Túneis clientes</string>
<string name="label_i2ptunnel_server">Túneis servidor</string>
<string name="label_logs">Registros</string>
@ -32,9 +32,11 @@
<string name="symmetric_nat">NAT simétrico</string>
<string name="net_status_error_i2cp">Erro no gerenciador de clientes I2CP - verificar logs</string>
<!--Parameter is a time, e.g. 32s or 2m-->
<string name="net_status_error_skew">Desincronização do relógio de %s</string>
<string name="net_status_error_unresolved_tcp">Endereço TCP não resolvido</string>
<string name="net_status_error_private_tcp">Endereço TCP privado</string>
<string name="net_status_warn_firewalled_inbound_tcp">Sob firewall com entrada via TCP ativada</string>
<string name="net_status_warn_firewalled_floodfill">Sob firewall e enchimento por inundação</string>
<string name="net_status_info_disconnected">Desconectado - verifique a conexão de rede</string>
<string name="net_status_error_udp_port">Porta UDP em uso - altere as configurações e reinicie</string>
<string name="net_status_error_no_active_peers">Sem pares ativos - verifique a conexão de rede e o firewall</string>
@ -53,8 +55,10 @@
<string name="upload">Carregar</string>
<string name="configure_browser_title">Configurar o navegador?</string>
<string name="configure_browser_for_i2p">Gostaria de configurar um navegador para visualizar sites da I2P? (Você pode também fazer isso depois a partir do menu ajuda.)</string>
<string name="first_start_title">Parabéns em instalar o I2P!</string>
<string name="first_start_welcome">&lt;b&gt;Seja bem-vindo!&lt;/b&gt; Por favor&lt;b&gt;, tenha paciência enquanto o roteador I2P inicia e procura por pares.</string>
<string name="configure_no_doze_title">Gerenciar otimizações de bateria?</string>
<string name="configure_no_doze">I2P funciona melhor se continuar funcionando. Para evitar que o Android feche o I2P ao tentar economizar/salvar energia, você pode adicioná-lo à lista de exceções da bateria. Isto melhorá substancialmente a confiabilidade do aplicativo.\n\nMantenha I2P funcionando em segundo plano? (recomendado)</string>
<string name="first_start_title">Parabéns por ter I2P instalado!</string>
<string name="first_start_welcome"><b>Boas-Vindas ao I2P!</b> Por favor <b>tenha paciência</b> enquanto I2P inicia e procura por pares.</string>
<string name="first_start_read">Enquanto você está esperando, por favor leia as notas de lançamento e a página de boas vindas.</string>
<string name="first_start_faq">Uma vez que você tenha túneis clientes, por favor <b>verifique</b> nosso FAQ:</string>
<string name="first_start_faq_nonanon">Ou use esse link não-anonimo se você não deseja esperar por túneis:</string>
@ -70,7 +74,7 @@
<string name="action_i2ptunnel_restart_all">Reiniciar todos os túneis</string>
<string name="action_reload">Recarregar</string>
<string name="action_refresh">Atualizar</string>
<string name="hint_search_addressbook">Procurar por livro de endereços</string>
<string name="hint_search_addressbook">Pesquisar no catálogo de endereços</string>
<string name="action_reload_subscriptions">Recarregar inscriçoes</string>
<string name="news_last_updated">Última atualização das noticias a %s atrás</string>
<string name="news_last_checked">Última verificação das noticias a %s atrás</string>
@ -97,7 +101,7 @@
<string name="notification_status_restarting">O roteador I2P está reiniciando</string>
<string name="notification_status_waiting">O roteador I2P está esperando por uma conexão de rede</string>
<string name="notification_status_starting_after_waiting">Conectado a rede, inicializando o roteador I2P</string>
<string name="notification_status_running">Software I2P em execução</string>
<string name="notification_status_running">I2P está em execução</string>
<string name="notification_status_client_ready">Os túneis de cliente estão prontos</string>
<string name="notification_status_client_down">Os túneis de cliente estão fora de serviço</string>
<string name="notification_status_graceful">Interrompendo o roteador I2P em %s</string>
@ -140,12 +144,15 @@
<string name="settings_label_transports">Transportes</string>
<string name="settings_label_maxConns">Número máximo de conexões</string>
<string name="settings_label_i2cp">Interface do I2CP</string>
<string name="settings_desc_exploratory_pool">Parêmetros de tunel</string>
<string name="settings_desc_i2cp">Permitir que aplicações de terceiros criem túneis (requer reinicialização do roteador)</string>
<string name="settings_label_exploratory_pool">Reservatório exploratório</string>
<string name="settings_desc_exploratory_pool">Parâmetros do túnel</string>
<string name="settings_label_expl_inbound">Túneis entrantes</string>
<string name="settings_label_expl_outbound">Tuneis de saída</string>
<string name="settings_label_expl_outbound">Túneis de saída</string>
<string name="settings_label_expl_length">Comprimento</string>
<string name="settings_summ_expl_length">%s saltos</string>
<string name="settings_desc_expl_length">Quantos saltos usar</string>
<string name="settings_label_expl_lengthVariance">Variação do salto</string>
<string name="settings_summ_expl_lengthVariance">%s</string>
<string name="settings_desc_expl_lengthVariance">Quantos saltos aleatórios a adicionar</string>
<string name="settings_label_expl_quantity">Quantidade</string>
@ -155,11 +162,11 @@
<string name="settings_summ_expl_backupQuantity">%s túneis</string>
<string name="settings_desc_expl_backupQuantity">Quantos backups de túneis</string>
<string name="settings_need_transport_enabled">Você deve ter pelo menos um transporte ativado</string>
<string name="settings_router_restart_required">Por favor, reinicialize o software I2P para aplicar as alterações</string>
<string name="settings_router_restart_required">Por favor reinicie I2P para aplicar as mudanças</string>
<string name="menu_about">Sobre</string>
<string name="about_version">Versão:</string>
<string name="about_project">Lar do projeto:</string>
<string name="about_bugs">Bugs e suporte:</string>
<string name="about_bugs">Falhas e Suporte:</string>
<string name="about_helpwanted">Procura-se ajuda!</string>
<string name="about_volunteer">Quer ajudar a tornar o aplicativo melhor? Seja voluntário no fórum Android:</string>
<string name="about_donate">Quer doar dinheiro ou bitcoins para comprar mais dispositivos Android para desenvolvimento e testes? Vá para:</string>
@ -203,7 +210,7 @@
<string name="i2ptunnel_delete_confirm_message">Apagar túnel?</string>
<string name="i2ptunnel_delete_confirm_button">Apagar túnel</string>
<string name="i2ptunnel_no_tunnel_details">Não foi possível carregar os detalhes do túnel</string>
<string name="i2ptunnel_wizard_k_client_server">Cliente ou servidor</string>
<string name="i2ptunnel_wizard_k_client_server">Cliente ou Servidor</string>
<string name="i2ptunnel_wizard_v_client">Túnel cliente</string>
<string name="i2ptunnel_wizard_v_server">Túnel servidor</string>
<string name="i2ptunnel_wizard_k_type">Tipo de túnel</string>
@ -223,6 +230,8 @@
<string name="enabled">Ativado</string>
<string name="i2ptunnel_wizard_desc_name">O nome do túnel, para identificação na lista de túneis.</string>
<string name="i2ptunnel_wizard_desc_desc">Uma descrição do túnel. Isso é opcional e puramente informativo.</string>
<string name="i2ptunnel_wizard_desc_dest">Digite o destino I2P do serviço ao qual este túnel cliente deve se conectar. Esta pode ser a chave base 64 do destino, ou um host I2P de seu catálogo de endereços.</string>
<string name="i2ptunnel_wizard_desc_outproxies">Se você souber de algum proxies de saída para este tipo de túnel (seja HTTP ou SOCKS), digite-os. Separe os múltiplos proxies com vírgulas.</string>
<string name="i2ptunnel_wizard_desc_target_host">Esse é o IP no qual o serviço está rodando, isto está geralmente na mesma maquina então 127.0.0.1 é autopreenchido.</string>
<string name="i2ptunnel_wizard_desc_target_port">Essa é a porta pela qual o serviço está aceitando conexões.</string>
<string name="i2ptunnel_wizard_desc_reachable_on">Isso limita quais computadores ou smartphones podem acessar esse túnel</string>
@ -233,6 +242,7 @@
<string name="i2ptunnel_view_target">Alvo</string>
<string name="i2ptunnel_view_access_point">Ponto de acesso</string>
<string name="i2ptunnel_view_autostart">Auto-inicialização</string>
<string name="address_copied_to_clipboard">Endereço copiado para a área de transferência</string>
<string name="edit_tunnel">Editar túnel</string>
<string name="name">Nome</string>
<string name="description">Descrição</string>
@ -273,7 +283,7 @@
<string name="blacklist">Lista de proibições</string>
<string name="access_list">Lista de acessos</string>
<string name="reject_inproxies">Rejeitar proxies de entrada</string>
<string name="tunnel_summ_reject_inproxies">Permitir que apenas usuários da I2P se conectem</string>
<string name="tunnel_summ_reject_inproxies">Permitir que apenas usuários I2P se conectem</string>
<string name="unique_local">Local único</string>
<string name="tunnel_summ_unique_local">Usar IPs de host locais únicos para cada cliente</string>
<string name="multihome">Multihome</string>
@ -294,6 +304,10 @@
<string name="set_zero_for_unlimited">Especifique 0 para ilimitado</string>
<string name="post_limits">Limites de POST</string>
<string name="limit_period">Período limite</string>
<string name="client_posts_per_period">POSTs de clientes por período</string>
<string name="client_ban_length">Duração do banir/exclusão do cliente</string>
<string name="total_posts_per_period">Total de POSTs por período</string>
<string name="total_ban_length">Duração total do banir/exclusão</string>
<string name="power_saving">Economia de energia</string>
<string name="delay_open">Atrasar a abertura</string>
<string name="tunnel_summ_delay_open">Atrasar a abertura do túnel até ser utilizado</string>
@ -316,7 +330,7 @@
<string name="tunnel_summ_proxy_auth">É necessário um login para usar esse proxy</string>
<string name="username">Nome de usuário</string>
<string name="password">Senha</string>
<string name="outproxy_auth">Autorização de proxy de saída</string>
<string name="outproxy_auth">Autorização do proxy de saída</string>
<string name="tunnel_summ_outproxy_auth">Autenticação necessária para o proxy de saída</string>
<string name="other">Outros</string>
<string name="signature_type">Tipo de assinatura</string>
@ -324,14 +338,21 @@
<string name="all">Todos</string>
<string name="no_messages">Sem mensagens</string>
<string name="no_error_messages">Nenhuma mensagem de erro</string>
<plurals name="log_error_messages">
<item quantity="one">Uma mensagem de erro</item>
<item quantity="other">%d mensagens de erro, a primeira a mais recente</item>
</plurals>
<plurals name="log_messages">
<item quantity="one">Uma mensagem</item>
<item quantity="other">%d mensagens, mais novas primeiro</item>
</plurals>
<string name="log_entry">Entrada no log</string>
<string name="copy_logs">Copiar logs</string>
<string name="error_logs_copied_to_clipboard">Logs de erro copiados para a área de transferência</string>
<string name="logs_copied_to_clipboard">Logs copiados para a área de transferência</string>
<string name="i2p_android_error_logs">Registros de erros do I2P Android</string>
<string name="i2p_android_logs">Registros do I2P Android</string>
<string name="error_logs_copied_to_clipboard">Registros dos erros copiados para a área de transferência</string>
<string name="logs_copied_to_clipboard">Registros copiados para a área de transferência</string>
<string name="label_browser_configuration">Configuração do navegador</string>
<string name="no_market_app">Nenhum aplicativo de mercado encontrado, por favor, instale manualmente</string>
<string name="unset">Desligado</string>
</resources>

View File

@ -1,26 +1,17 @@
<?xml version='1.0' encoding='UTF-8'?>
<resources>
<string name="app_name">I2P</string>
<string name="desc_i2p_logo">Logoja e I2P\'së</string>
<string name="welcome_new_install">Mirë se vini në I2P! Ky aplikacion është i tipit ALPHA sopftware dhe nuk mund të ju shërbej me anonimitet të plotë. Ju lutem lexoni notat dhe informacionin e lisencës. </string>
<string name="welcome_new_version">Tip/version i ri është instaluar. Ju lutem lexoni notat e lëshimit .Versioni:</string>
<string name="label_tunnels">Tunelet</string>
<string name="label_status">Statusi</string>
<string name="label_tunnels">Tunele</string>
<string name="label_status">Gjendje</string>
<string name="label_console">Konsolë</string>
<string name="label_addresses">Adresa</string>
<string name="label_addressbook">Libri i adresave. </string>
<string name="label_i2ptunnel_client">Tunelet e klientëve</string>
<string name="label_i2ptunnel_server">Tunelet e Serverave. </string>
<string name="label_logs">Logot</string>
<string name="label_error_logs">Logot e gabimeve</string>
<string name="label_news">Lajmet. </string>
<string name="label_peers_status">Të barabartit/shokët. </string>
<string name="label_release_notes">Shënime lëshimi</string>
<string name="label_licenses">Lisencat</string>
<string name="label_browse">Shfletimi</string>
<string name="label_graphs">Grafikët</string>
<string name="button_router_off">Mbaje tastin për ta filluar I2P\'në</string>
<string name="button_router_on">I2P është në funkcion (mbaje tastin gjatë për ta ndalur) </string>
<string name="label_addressbook">Libër adresash</string>
<string name="label_logs">Shënime</string>
<string name="label_news">Lajme</string>
<string name="label_peers_status">Ortakë</string>
<string name="label_release_notes">Shënime Hedhjeje Në Qarkullim</string>
<string name="label_licenses">Licenca</string>
<string name="label_browse">Shfletoni</string>
<string name="label_graphs">Grafikë</string>
<string name="hidden">Fshehur</string>
<string name="testing">Po provohet</string>
<!--Parameter is a time, e.g. 32s or 2m-->
@ -30,169 +21,74 @@
<string name="char_server_tunnel">S</string>
<string name="download">Shkarkim</string>
<string name="upload">Ngarkoni</string>
<string name="first_start_title">Urime që arritët ta instaloni I2P\'në!</string>
<string name="first_start_title">Urime që arritët ta instaloni I2P-në!</string>
<string name="first_start_welcome">&lt;b&gt;Mirë se vini në I2P!&lt;b&gt; Ju lutem &lt;b&gt;duroni&lt;b&gt; deri sa I2P të boot dhe tåe gjejë peers, </string>
<string name="first_start_read">Deri sa jeni duke pritur, ju lutem lexoni notat që janë lëshuar dhe vizitoni faqen e mirëseardhjes. </string>
<string name="first_start_faq">Kur ti keni tunelët për klientë, ju lutem &lt;b&gt;vështroni&lt;b&gt; FAQ\'un tonë: </string>
<string name="first_start_faq_nonanon">Ose mund ta përdorni këtë link që nuk mund të ku sigurojë anonimitetin, nëse nuk keni durim të pritni për tunelët: </string>
<string name="first_start_irc">Drejtoni IRC klientin tuaj te &lt;b&gt; localhost:66688&lt;b&gt; dhe na përshëndetni në: </string>
<string name="action_search">Kërko</string>
<string name="action_add">Shto</string>
<string name="action_edit">Përmirso</string>
<string name="action_delete">Fshij</string>
<string name="action_i2ptunnel_start">Starto tunelin</string>
<string name="action_i2ptunnel_stop">Ndalo tunelin</string>
<string name="action_i2ptunnel_start_all">Starto të gjithë tunelët</string>
<string name="action_i2ptunnel_stop_all">Ndalo të gjithë tunelët </string>
<string name="action_i2ptunnel_restart_all">Restarto të gjithë tunelët</string>
<string name="action_reload">Ringarko</string>
<string name="action_refresh">Ripajis</string>
<string name="hint_search_addressbook">Kërko në librin e adresave</string>
<string name="action_reload_subscriptions">Rifresko abonimet</string>
<string name="router_not_running">Routeri nuk është duke punuar.</string>
<string name="stats_not_ready">menaxheri i statistikave nuk është gati ende. Provoni përsëri më vone. </string>
<string name="no_graphs_configured">Asnjë graf nuk është konfigururar. Mund të zgjedhni statistikat për graf në menynë e cilësimeve. Ndryshimet do të kenë efekt pas 60 sekondave.</string>
<string name="configure_graphs">Konfiguro grafët</string>
<string name="action_add">Shtoje</string>
<string name="action_edit">Përpunojeni</string>
<string name="action_delete">Fshije</string>
<string name="action_reload">Ringarkoje</string>
<string name="action_refresh">Rifreskoje</string>
<string name="country">Vendi</string>
<string name="version">Version</string>
<string name="netdb_routers_empty">Nuk ka routerë në NetDB\'në tuaj. </string>
<string name="netdb_leases_empty">Nuk ka LeaseSets në NetDB\'në tuaj.</string>
<string name="notification_status_peers">Peers: %1$d aktivë, %2$d të njohur</string>
<string name="notification_status_expl">Tunelët zbulues: %1$d/%2$d</string>
<string name="notification_status_client">Tunelët për klientë: %1$d/%2$d</string>
<string name="menu_settings">Cilësimet</string>
<string name="settings_enable">Mundëso</string>
<string name="settings_desc_subscriptions">URL`të për abonim</string>
<string name="settings_label_bandwidth_net">Bandwidth dhe rrjeti. </string>
<string name="settings_label_bandwidth">Bandwidth</string>
<string name="settings_label_bw_inbound">Shpejtësia hyrëse</string>
<string name="settings_desc_bw_inbound">Shpejtësia hyrëse maksimale</string>
<string name="settings_label_bw_outbound">Shpejtësia dalëse</string>
<string name="settings_desc_bw_outbound">Shpejtësia dalëse maksimale</string>
<string name="settings_label_network">Rrjeti </string>
<string name="count">Numër</string>
<string name="menu_settings">Rregullime</string>
<string name="settings_enable">Aktivizoje</string>
<string name="settings_label_bandwidth">Gjerësi bande</string>
<string name="settings_label_network">Rrjet</string>
<string name="settings_label_hiddenMode">Pjesëmarrje</string>
<string name="settings_desc_hiddenMode">Fike mode\'in e fshehur</string>
<string name="settings_label_maxPartTunnels">Pjesëmarrja maksimale e tuneleve</string>
<string name="settings_desc_maxPartTunnels">Pjesëmarrja maksimale e tunelëve në (default=20)</string>
<string name="settings_dialog_maxPartTunnels">Pjesëmarrja maksimale e tuneleve në</string>
<string name="settings_label_sharePercent">Përqindja e shpërndarjes</string>
<string name="settings_desc_sharePercent">Përqindja e Bandwidth\'it për shpërndarje (default=80)</string>
<string name="settings_dialog_sharePercent">Përqindja e Bandwidth\'it për shpërndarje</string>
<string name="settings_desc_upnp">Hapni portalet e firewall\'ëve automatikisht</string>
<string name="settings_label_logging">Logimet</string>
<string name="settings_label_default_log_level">Niveli i logimit mesatar</string>
<string name="settings_dialog_sharePercent">Përqindje gjerësie bande për tu ndarë me të tjerë</string>
<string name="settings_label_appearance">Paraqitja</string>
<string name="settings_label_language">Gjuhë</string>
<string name="settings_default">Parazgjedhje</string>
<string name="settings_label_advanced">I/e avancuar</string>
<string name="settings_label_showStats">Statistikat e Router\'ëve</string>
<string name="settings_summ_showStats">Paraqiti cilësitë e avancuara në konsolin kryesor</string>
<string name="settings_label_transports">Transportimet</string>
<string name="settings_label_maxConns">Lidhjet maksimale</string>
<string name="settings_label_i2cp">Ndërfaqja e I2CP\'së</string>
<string name="settings_label_exploratory_pool">Mjet zbulimi</string>
<string name="settings_desc_exploratory_pool">Parametrat e tunelëve</string>
<string name="settings_label_expl_inbound">Tunelët në hyrje</string>
<string name="settings_label_expl_outbound">Tunelët në dalje</string>
<string name="settings_label_expl_length">Gjatësia</string>
<string name="settings_summ_expl_length">%s hope</string>
<string name="settings_desc_expl_length">Sa hope për tu përdorur</string>
<string name="settings_label_expl_lengthVariance">Variacionet e hopeve</string>
<string name="settings_summ_expl_lengthVariance">%s</string>
<string name="settings_desc_expl_lengthVariance">Sa hope të i inkludojmë rëndom</string>
<string name="settings_label_expl_quantity">Kvantitet</string>
<string name="settings_summ_expl_quantity">%s tunelet</string>
<string name="settings_desc_expl_quantity">Sa tunele</string>
<string name="settings_label_expl_backupQuantity">Kvantiteti i rezervave</string>
<string name="settings_summ_expl_backupQuantity">%s tunele</string>
<string name="settings_desc_expl_backupQuantity">Sa rezerva të tuneleve</string>
<string name="menu_about">Për</string>
<string name="about_version">Variant:</string>
<string name="about_project">Projekti Home:</string>
<string name="about_bugs">Bugs dhe Ndihmuesi:</string>
<string name="about_helpwanted">Kërkohet Ndihmë!</string>
<string name="about_volunteer">Doni të ndihmoni aplikacionin të përmirësohet? Ndihmo vullnetarisht në forumin e Android\'it:</string>
<string name="about_donate">Doni të jipni para ose bitcoins për të blerë më shumë pajisje të Android\'it për zhvillim dhe testim? Shko te:</string>
<string name="settings_label_advanced">Të mëtejshme</string>
<string name="settings_label_transports">Bartje</string>
<string name="settings_label_expl_length">Gjatësi</string>
<string name="settings_label_expl_quantity">Sasi</string>
<string name="settings_label_expl_backupQuantity">Sasi kopjeruajtjeje</string>
<string name="menu_about">Mbi</string>
<string name="about_version">Versioni:</string>
<string name="menu_help">Ndihmë</string>
<string name="general">Të përgjithshme</string>
<string name="addressbook_search_header">%s u gjetën</string>
<string name="addressbook_add_wizard_k_name">Emër</string>
<string name="addressbook_add_wizard_k_destination">Destinacioni</string>
<string name="addressbook_add_wizard_desc_name">Emri</string>
<string name="addressbook_add_wizard_desc_destination">Paste B64\'në të Destinacionit këtu. Nëse keni Menaxher Filesh të instaluar, mund të shfletoni për një fil teksti që përmban B64në.</string>
<string name="nsu_iae_illegal_char">Emri i host\'it \"%1$s\" përmban karakterë ilegalë %2$s</string>
<string name="nsu_iae_cannot_start_with">Emri i host\'it nuk mund të fillojë me \"%s\"</string>
<string name="nsu_iae_cannot_end_with">Emri i host\'it nuk mund të përfundojë me \"%s\"</string>
<string name="nsu_iae_cannot_contain">Emri i host\'it nuk mund të përmban \"%s\"</string>
<string name="nsu_iae_requires_conversion">Emri i hostit \"%s\" i duhet konvertim në ASCII por libraria e konvertimeve është e padisponueshme në këtë verzion të Android\'it. </string>
<string name="i2ptunnel_type_client">Klient standard</string>
<string name="i2ptunnel_type_httpclient">Klient i HTTP\'së</string>
<string name="i2ptunnel_type_ircclient">Klient i IRC\'së</string>
<string name="i2ptunnel_type_server">Server i rëndomtë</string>
<string name="i2ptunnel_type_httpserver">Server HTTP</string>
<string name="i2ptunnel_type_sockstunnel">Proksi SOCKS 4/4a/5</string>
<string name="i2ptunnel_type_socksirctunnel">Proksi SOCKS IRC</string>
<string name="i2ptunnel_type_connectclient">Proksi CONNECT/SSL/HTTPS</string>
<string name="i2ptunnel_type_ircserver">IRC server </string>
<string name="i2ptunnel_type_streamrclient">Klienti i Streamr\'it</string>
<string name="i2ptunnel_type_streamrserver">Serveri i Streamr\'it</string>
<string name="i2ptunnel_type_httpbidirserver">HTTP bidir</string>
<string name="i2ptunnel_not_initialized">Tunelët nuk janë inicializuar ende, ju lutem ringarkoni pas dy minutave.</string>
<string name="i2ptunnel_new_tunnel">Tunel i Ri</string>
<string name="i2ptunnel_msg_config_saved">Ndryshimet në konigurim janë ruajtur</string>
<string name="i2ptunnel_msg_config_save_failed">Dështoi të ruaj konfigurimin</string>
<string name="i2ptunnel_msg_tunnel_starting">Duke startuar tunelin</string>
<string name="i2ptunnel_msg_tunnel_stopping">Duke ndalur tunelin</string>
<string name="i2ptunnel_delete_confirm_message">Fshij tunelin? </string>
<string name="i2ptunnel_delete_confirm_button">Fshij tunelin </string>
<string name="i2ptunnel_wizard_k_client_server">Klient ose Server</string>
<string name="i2ptunnel_wizard_v_client">Tuneli i klientëve</string>
<string name="i2ptunnel_wizard_v_server">Tuneli i serverëve</string>
<string name="i2ptunnel_wizard_k_type">Tipi i tunelit</string>
<string name="addressbook_add_wizard_k_destination">Vendmbërritje</string>
<string name="i2ptunnel_type_ircclient">Klient IRC</string>
<string name="i2ptunnel_type_server">Shërbyes standard</string>
<string name="i2ptunnel_type_httpserver">Shërbyes HTTP</string>
<string name="i2ptunnel_type_sockstunnel">Ndërmjetës SOCKS 4/4a/5</string>
<string name="i2ptunnel_type_socksirctunnel">Ndërmjetës SOCKS IRC</string>
<string name="i2ptunnel_type_connectclient">Ndërmjetës CONNECT/SSL/HTTPS</string>
<string name="i2ptunnel_type_ircserver">Shërbyes IRC</string>
<string name="i2ptunnel_type_streamrclient">Klient Streamr</string>
<string name="i2ptunnel_type_streamrserver">Shërbyes Streamr</string>
<string name="i2ptunnel_not_initialized">Tunelet sjanë gatitur ende, ju lutemi, ringarkojeni pas dy minutash.</string>
<string name="i2ptunnel_msg_tunnel_starting">Po niset tunel</string>
<string name="i2ptunnel_msg_tunnel_stopping">Po ndalet tunel</string>
<string name="i2ptunnel_wizard_k_type">Lloj tuneli</string>
<string name="i2ptunnel_wizard_k_name">Emër</string>
<string name="i2ptunnel_wizard_k_desc">Përshkrim</string>
<string name="i2ptunnel_wizard_k_dest">Destinacion</string>
<string name="i2ptunnel_wizard_k_outproxies">Prokurët jashtësor</string>
<string name="i2ptunnel_wizard_k_target_host">Host\'i i shënjuar</string>
<string name="i2ptunnel_wizard_k_target_port">Portalja e shenjuar</string>
<string name="i2ptunnel_wizard_k_reachable_on">Mund të arrihet në </string>
<string name="i2ptunnel_wizard_k_binding_port">Portalja lidhëse </string>
<string name="i2ptunnel_wizard_k_auto_start">Autostarto</string>
<string name="next">Tjetër</string>
<string name="prev">Mëparshme</string>
<string name="finish">Paraqit</string>
<string name="review">Rishikim</string>
<string name="enabled">I/e mundësuar</string>
<string name="i2ptunnel_wizard_desc_name">Emri i tunelit, për identifikim në listën e tuneleve.</string>
<string name="i2ptunnel_wizard_desc_desc">Një përshkrim i tunelit. Kjo është opcionale dhe vetëm informative.</string>
<string name="i2ptunnel_wizard_desc_outproxies">Nëse keni njohuri për ndonjë outproksë për këtë lloj tuneli (ja HTTP ose SOCKS), plotësoni. Proksa të veqantë dhe shumëfishtë med presje.</string>
<string name="i2ptunnel_wizard_desc_target_host">Kjo është IP\'ja ku shërbimi juaj është duke punuar, kjo është në të njëjtin kompjuter kështu që 127.0.0.1 është vetëmbushur. </string>
<string name="i2ptunnel_wizard_desc_target_port">Kjo është portalja ku shërbimi pranon lidhjet. </string>
<string name="i2ptunnel_wizard_desc_reachable_on">Kjo e kufizon çfarë kompjuterë ose smartfonë mund të kenë qasje në këtë tunel. </string>
<string name="i2ptunnel_wizard_desc_binding_port">Kjo është portalja ku tuneli i klientëve do të ketë qasje lokalisht. Kjo është poashtu portalja e klientëve për tunelin e serverëve HTTP bidir.</string>
<string name="i2ptunnel_wizard_desc_auto_start">Të startojë tuneli njëkohësisht me router\'in?</string>
<string name="i2ptunnel_wizard_submit_confirm_message">Krijo tunel?</string>
<string name="i2ptunnel_wizard_submit_confirm_button">Krijo tunel</string>
<string name="i2ptunnel_wizard_k_dest">Vendmbërritje</string>
<string name="next">Pasuesi</string>
<string name="prev">I mëparshmi</string>
<string name="finish">Parashtroje</string>
<string name="review">Shqyrtoni</string>
<string name="enabled">E aktivizuar</string>
<string name="i2ptunnel_wizard_desc_target_host">Kjo është IP-ja në të cilën xhiron shërbimi juaj, zakonisht bëhet fjalë për të njëjtën makinë, ndaj 127.0.0.1 është vetëplotësuar.</string>
<string name="i2ptunnel_wizard_desc_target_port">Kjo është porta në të cilën shërbimi po pranon lidhje. </string>
<string name="i2ptunnel_view_target">Objektiv</string>
<string name="i2ptunnel_view_autostart">Autostarto</string>
<string name="name">Emër</string>
<string name="description">Përshkrim</string>
<string name="auto_start">Autostarto</string>
<string name="reachable_on">Mund të arrihet në </string>
<string name="outproxies">Prokurët jashtësor</string>
<string name="target_host">Host\'i i shënjuar</string>
<string name="target_port">Portalja e shenjuar</string>
<string name="irc">IRC</string>
<string name="use_ssl">Përdorni SSL</string>
<string name="tunnel_parameters">Parametrat e tunelëve</string>
<string name="profile">Profil</string>
<string name="access_control">Kontrolli i qasjes</string>
<string name="disabled">E çaktivizuar</string>
<string name="whitelist">Listë lejimesh</string>
<string name="unlimited">E pakufizuar</string>
<string name="num_minutes">%s minuta</string>
<string name="http_client">Klient i HTTP\'së</string>
<string name="username">Emër përdoruesi</string>
<string name="password">Fjalëkalim</string>
<string name="other">Tjetër</string>
<string name="all">Krejt</string>
<string name="no_messages">Nuk ka mesazhe</string>
</resources>

View File

@ -16,7 +16,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="label_logs">Loggar</string>
<string name="label_error_logs">Felloggar</string>
<string name="label_news">Nyheter</string>
<string name="label_peers_status">Noder</string>
<string name="label_peers_status">Jämlikar</string>
<string name="label_release_notes">Utgåva noteringar</string>
<string name="label_licenses">Licenser</string>
<string name="label_browse">Bläddra</string>
@ -40,13 +40,13 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="net_status_warn_firewalled_floodfill">Bakom brandvägg och \'floodfill\'</string>
<string name="net_status_info_disconnected">Frånkopplad - kontrollera nätverksanslutning</string>
<string name="net_status_error_udp_port">UDP-porten används - ändra i inställningar och start om</string>
<string name="net_status_error_no_active_peers">Inga aktiva noder - kontrollera nätverksanslutning och brandvägg</string>
<string name="net_status_error_no_active_peers">Inga aktiva jämlikar - kontrollera nätverksanslutning och brandvägg</string>
<string name="net_status_error_udp_disabled_tcp_not_set">UDP deaktiverad och inåtgående TCP värd/port inte angiven</string>
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP avaktiverad</string>
<string name="net_status_warn_firewalled_udp_disabled">Bakom brandvägg med UDP inaktiverad</string>
<string name="shared_clients">Delade klienter</string>
<string name="uptime">Drifttid</string>
<string name="active_peers">Aktiva noder</string>
<string name="known_peers">Kända noder</string>
<string name="active_peers">Aktiva jämlikar</string>
<string name="known_peers">Kända jämlikar</string>
<!--Character to indicate a client tunnel. Usually first letter of the word "client".-->
<string name="char_client_tunnel">C</string>
<!--Character to indicate a server tunnel. Usually first letter of the word "server".-->
@ -59,7 +59,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="configure_no_doze_title">Hantera batterioptimeringar?</string>
<string name="configure_no_doze">I2P fungerar bäst om den fortsätter att fungera. För att förhindra att Android stänger I2P när du försöker spara ström kan du lägga till den i listan över undantag från batterier. Detta kommer att förbättra applikationens tillförlitlighet avsevärt.\n\nHålla I2P igång i bakgrunden? (rekommenderad)</string>
<string name="first_start_title">Gratulerar till din I2P-installation!</string>
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp noder.</string>
<string name="first_start_welcome"><b>Välkommen till I2P!</b> Vänligen <b>ha tålamod</b> medan I2P startar och letar upp jämlikar.</string>
<string name="first_start_read">Medan du väntar, vänligen läs utgåvans meddelanden och välkomstsidan.</string>
<string name="first_start_faq">När du har fått klienttunnlar, vänligen <b>kolla</b> våra vanliga frågor:</string>
<string name="first_start_faq_nonanon">Använd den här icke-anonyma länken om du inte vill vänta på tunnlar:</string>
@ -113,7 +113,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="notification_status_shutdown_cancelled">Stängning avbruten</string>
<string name="notification_status_shutting_down">I2P stängs av</string>
<string name="notification_status_bw">Bandbredd:%1$sBps ner / %2$sBps upp</string>
<string name="notification_status_peers">Noder: %1$d aktiva, %2$d kända</string>
<string name="notification_status_peers">Jämlikar: %1$d aktiva, %2$d kända</string>
<string name="notification_status_expl">Utforskande tunnlar: %1$d/%2$d</string>
<string name="notification_status_client">Klienttunnlar:%1$d/%2$d</string>
<string name="menu_settings">Inställningar</string>
@ -162,7 +162,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="settings_label_expl_quantity">Kvantitet</string>
<string name="settings_summ_expl_quantity">%s tunnlar</string>
<string name="settings_desc_expl_quantity">Hur många tunnlar</string>
<string name="settings_label_expl_backupQuantity">Backup kvantitet</string>
<string name="settings_label_expl_backupQuantity">Reservmängd</string>
<string name="settings_summ_expl_backupQuantity">%s tunnlar</string>
<string name="settings_desc_expl_backupQuantity">Hur många reservtunnlar</string>
<string name="settings_need_transport_enabled">Du måste ha minst en transport aktiverad</string>
@ -190,8 +190,8 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="nsu_iae_cannot_contain">Värdnamnet kan inte innehålla \"%s\"</string>
<string name="nsu_iae_requires_conversion">Värdnamnet \"%s\" kräver konvertering till ASCII men konverteringsbiblioteket är inte tillgängligt i denna version av Adroid</string>
<string name="i2ptunnel_type_client">Standardklient</string>
<string name="i2ptunnel_type_httpclient">HTTPklient</string>
<string name="i2ptunnel_type_ircclient">IRCklient</string>
<string name="i2ptunnel_type_httpclient">HTTP-klient</string>
<string name="i2ptunnel_type_ircclient">IRC-klient</string>
<string name="i2ptunnel_type_server">Standradserver</string>
<string name="i2ptunnel_type_httpserver">HTTPserver</string>
<string name="i2ptunnel_type_sockstunnel">SOCKS 4/4a/5 proxy</string>
@ -213,7 +213,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="i2ptunnel_msg_tunnel_stopping">Stannar tunnel</string>
<string name="i2ptunnel_delete_confirm_message">Radera tunnel?</string>
<string name="i2ptunnel_delete_confirm_button">Radera tunnel</string>
<string name="i2ptunnel_no_tunnel_details">Det gick inte att läsa in detaljer i tunneln</string>
<string name="i2ptunnel_no_tunnel_details">Det gick inte att läsa in tunneldetaljer</string>
<string name="i2ptunnel_wizard_k_client_server">Klient eller Server</string>
<string name="i2ptunnel_wizard_v_client">Klienttunnel</string>
<string name="i2ptunnel_wizard_v_server">Servertunnel</string>
@ -234,7 +234,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="enabled">Aktiverad</string>
<string name="i2ptunnel_wizard_desc_name">Tunnelns namn, för identifikation i tunnellistan</string>
<string name="i2ptunnel_wizard_desc_desc">Beskrivning av tunneln. Frivillig och endast för information.</string>
<string name="i2ptunnel_wizard_desc_dest">Mata in I2Pdestinationen för den tjänst denna tunnel skall ansluta till. Detta kan vara den fulla 64 destinationsnyckeln, eller ett I2Pvärdnamn från din adressbok.</string>
<string name="i2ptunnel_wizard_desc_dest">Skriv in I2P-destinationen för den tjänst som denna klienttunnel ska ansluta till. Detta kan vara den fullständiga 64-grunddestinationsnyckeln eller ett I2P-värdnamn från din adressbok.</string>
<string name="i2ptunnel_wizard_desc_outproxies">Om du känner till några utproxier för den här typen av tunnel (antingen HTTP eller SOCKS), fyll i dem. Separera flera proxier med kommatecken.</string>
<string name="i2ptunnel_wizard_desc_target_host">Detta är den IP din tjänst kör på, vanligtvis på samma maskin så 127.0.0.1 är automatiskt ifylld.</string>
<string name="i2ptunnel_wizard_desc_target_port">Detta är den port din tjänst tar emot anslutningar på.</string>
@ -257,8 +257,8 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="tunnel_summ_shared_client">Använd samma Destination och tunnlar som andra klienter</string>
<string name="target_destination">Måldestination</string>
<string name="persistent_key">Beständig nyckel</string>
<string name="persistent_key_conflict_title">Avaktivera nya nycklar vid återöppning?</string>
<string name="persistent_key_conflict_msg">Du kan inte aktivera beständiga nycklar när tunneln är konfigurerad att generera nya nycklar vid återöppning. Vill du avaktivera ny nycklar vid återöppning?</string>
<string name="persistent_key_conflict_title">Inaktivera nya nycklar vid återöppning?</string>
<string name="persistent_key_conflict_msg">Du kan inte aktivera beständiga nycklar när tunneln är konfigurerad att generera nya nycklar vid återöppning. Vill du inaktivera ny nycklar vid återöppning?</string>
<string name="tunnel_summ_persistent_key">Behåll den här tunnelns destination när den startar om</string>
<string name="reachable_on">Nåbar på</string>
<string name="listen_port">Lyssnande port</string>
@ -268,7 +268,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="ssl_outproxies">SSL utproxier</string>
<string name="irc">IRC</string>
<string name="enable_dcc">Aktivera DCC</string>
<string name="tunnel_summ_enable_dcc">Tillåt IRCklienter att använda DCC</string>
<string name="tunnel_summ_enable_dcc">Tillåt IRC-klienter att använda DCC</string>
<string name="website_domain_name">Webbplats domännamn</string>
<string name="target_host">Målvärd</string>
<string name="target_port">Målport</string>
@ -282,7 +282,7 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="tunnel_summ_delay_connect">Aktivera för request/response-anslutningar</string>
<string name="access_control">Tillgångskontroll</string>
<string name="restricted_access">Bekgränsad åtkomst</string>
<string name="disabled">Avaktiverad</string>
<string name="disabled">Inaktiverad</string>
<string name="whitelist">Whitelist</string>
<string name="blacklist">Blacklist</string>
<string name="access_list">Åtkomstlista</string>
@ -322,10 +322,10 @@ Läs utgåvenoteringar och licens-information.</string>
<string name="reduced_tunnel_quantity">Minska tunnelmängd</string>
<string name="close_tunnels">Stäng tunnlar i viloläge</string>
<string name="new_keys_on_reopen">Nya nycklar vid återöppning</string>
<string name="new_keys_on_reopen_conflict_title">Avaktivera beständiga nycklar?</string>
<string name="new_keys_on_reopen_conflict_msg">Du kan inte aktivera nya nycklar vid återöppning medan tunneln är konfigurerad att ha beständiga nycklar. Vill du avaktivera beständiga nycklar?</string>
<string name="http_client">HTTPklient</string>
<string name="tunnel_summ_user_agent">Släpp igenom \'Användar-Agent\' header</string>
<string name="new_keys_on_reopen_conflict_title">Inaktivera beständiga nycklar?</string>
<string name="new_keys_on_reopen_conflict_msg">Du kan inte aktivera nya nycklar vid återöppning medan tunneln är konfigurerad att ha beständiga nycklar. Vill du inaktivera beständiga nycklar?</string>
<string name="http_client">HTTP-klient</string>
<string name="tunnel_summ_user_agent">Släpp igenom \'Användar-Agent\'-rubriken</string>
<string name="tunnel_summ_referer">Släpp igenom \'Referer\' header</string>
<string name="tunnel_summ_accept">Släpp igenom \'Accept-*\' headers</string>
<string name="tunnel_summ_allow_ssl">Tillåt SSL till I2Padresser</string>

View File

@ -58,7 +58,7 @@
<string name="configure_no_doze_title">Pil kullanımı yönetilsin mi?</string>
<string name="configure_no_doze">I2P için en iyi durum sürekli çalışmasıdır. I2P uygulamasının Android üzerinde pili korumak için kapatılmasını engellemek için uygulamayı pil kullanımı istisnası listesine ekleyebilirsiniz. Bu durumda uygulamanın güvenirliği önemli ölçüde artacaktır.\n\nI2P arka planda çalışır durumda tutulsun mu (önerilir)?</string>
<string name="first_start_title">Tebrikler, I2P kuruldu!</string>
<string name="first_start_welcome"><b>I2P Yazılımına Hoşgeldiniz</b> Lütfen I2P yüklenip eşleri bulana kadar <b>sabırlı olun</b>.</string>
<string name="first_start_welcome"><b>I2P uygulamasına h geldiniz</b> Lütfen I2P yüklenip eşleri bulana kadar <b>sabırlı olun</b>.</string>
<string name="first_start_read">Beklerken, lütfen sürüm notları ve hoş geldiniz sayfalarını okuyun.</string>
<string name="first_start_faq">İstemci tünelleri bulunduğunda, lütfen Sık Sorulan Sorular bölümüne <b>bakın</b>:</string>
<string name="first_start_faq_nonanon">Ya da tünelleri beklemek istemiyorsanız anonim olmayan şu bağlantıyı kullanın:</string>
@ -108,7 +108,7 @@
<string name="notification_status_client_down">İstemci tünelleri kapalı</string>
<string name="notification_status_graceful">I2P %s içinde durdurulacak</string>
<string name="notification_status_stopping">I2P durduruluyor</string>
<string name="notification_status_stopping_after_net">devre dışı bırakıldı, I2P durduruluyor</string>
<string name="notification_status_stopping_after_net">bağlantısı kesildi, I2P durduruluyor</string>
<string name="notification_status_shutdown_cancelled">Kapatma iptal edildi</string>
<string name="notification_status_shutting_down">I2P kapatılıyor</string>
<string name="notification_status_bw">Bant genişliği: %1$sBps indirme / %2$sBps yükleme</string>
@ -285,11 +285,11 @@
<string name="whitelist">Beyaz liste</string>
<string name="blacklist">Kara liste</string>
<string name="access_list">Erişim listesi</string>
<string name="reject_inproxies">Geçen vekil sunucular reddedilsin</string>
<string name="reject_inproxies">Giriş vekil sunucular reddedilsin</string>
<string name="tunnel_summ_reject_inproxies">Yalnız I2P kullanıcıları bağlanabilsin</string>
<string name="unique_local">Tekil yerel</string>
<string name="tunnel_summ_unique_local">Her istemci için tekil yerel sunucu IP adresi kullanılsın</string>
<string name="multihome">Ana sayfa kopyası</string>
<string name="unique_local">Benzersiz yerel</string>
<string name="tunnel_summ_unique_local">Her istemci için benzersiz yerel sunucu IP adresi kullanılsın</string>
<string name="multihome">Birden çok barındırma</string>
<string name="tunnel_summ_multihome">Çoklu ev iyileştirmeleri kullanılsın</string>
<string name="client_connection_limits">İstemci bağlantı sınırları</string>
<string name="connections_per_minute">Dakikalık bağlantı sayısı</string>
@ -333,8 +333,8 @@
<string name="tunnel_summ_proxy_auth">Bu vekil sunucuda oturum açmak için kimlik doğrulaması istensin</string>
<string name="username">Kullanıcı Adı</string>
<string name="password">Parola</string>
<string name="outproxy_auth">Giden vekil sunucu kimlik doğrulaması</string>
<string name="tunnel_summ_outproxy_auth">Giden vekil sunucu için oturum açılması gerekiyor</string>
<string name="outproxy_auth">Çıkış vekil sunucusu kimlik doğrulaması</string>
<string name="tunnel_summ_outproxy_auth">Çıkış vekil sunucusu için oturum açılması gerekiyor</string>
<string name="other">Diğer</string>
<string name="signature_type">İmza türü</string>
<string name="custom_options">Uyarlanmış seçenekler</string>

View File

@ -150,6 +150,9 @@
<string name="notification_status_expl">Exploratory tunnels: %1$d/%2$d</string>
<string name="notification_status_client">Client tunnels: %1$d/%2$d</string>
<string name="copied_base32_system_notification_title">Base32 copied to clipboard</string>
<string name="copied_base32_system_notification_body">The address of your I2P tunnel has been copied to the clipboard.</string>
<string name="menu_settings">Settings</string>
<string name="settings_enable">Enable</string>
<string name="settings_desc_subscriptions">Subscription URLs</string>
@ -182,7 +185,9 @@
<string name="settings_label_transports">Transports</string>
<string name="settings_label_maxConns">Max connections</string>
<string name="settings_label_i2cp">I2CP interface</string>
<string name="settings_desc_i2cp">Allow third-party apps to create tunnels (requires router restart)</string>
<string name="settings_desc_i2cp">Allow third-party apps to create tunnels using I2CP (requires router restart)</string>
<string name="settings_label_sam">SAM interface</string>
<string name="settings_desc_sam">Allow third-party apps to create tunnels using SAM (requires router restart)</string>
<string name="settings_label_exploratory_pool">Exploratory pool</string>
<string name="settings_desc_exploratory_pool">Tunnel parameters</string>
<string name="settings_label_expl_inbound">Inbound tunnels</string>

View File

@ -23,6 +23,13 @@
android:summary="@string/settings_desc_i2cp"
/>
<CheckBoxPreference
android:key="i2pandroid.client.sam"
android:defaultValue="true"
android:title="@string/settings_label_sam"
android:summary="@string/settings_desc_sam"
/>
<Preference
android:key="preference_category_expl_tunnels"
android:summary="@string/settings_desc_exploratory_pool"

17
build.sh Executable file
View File

@ -0,0 +1,17 @@
#! /usr/bin/env sh
rm -rf app/pkg-temp app/build app/pkg-mavencentral
docker build -t i2p.android.base .
docker run -itd \
-u $(id -u):$(id -g) \
--name i2p.android.base \
-v $HOME/.gnupg/:/.gnupg/:ro \
-v $HOME/.i2p-plugin-keys/:/.i2p-plugin-keys/:ro \
-v /run/user/$(id -u)/:/run/user/$(id -u)/:ro \
i2p.android.base
docker cp i2p.android.base:/opt/workspace/i2p.i2p/pkg-mavencentral app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-mstreaming.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-router.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-servlet-i2p.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.i2p/mavencentral-streaming.jar app/pkg-mavencentral
docker cp i2p.android.base:/opt/workspace/i2p.android.base/app/build/ app/build

View File

@ -408,14 +408,14 @@
<target name="copy-i2p-resources" depends="-dirs" >
<copy file="LICENSE.txt" tofile="res/raw/license_app_txt" />
<copy file="licenses/LICENSE-Apache2.0.txt" tofile="res/raw/license_apache20_txt" />
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="res/drawable/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/i2plogo.png" todir="res/drawable/" />
<!-- Static web sources should be in the assets directory. -->
<copy file="${i2pbase}/installer/resources/themes/console/images/i2plogo.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/images/outbound.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/images/inbound.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/light/images/header.png" todir="assets/themes/console/light/images/" />
<copy file="${i2pbase}/installer/resources/themes/console/light/console.css" todir="assets/themes/console/light/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/i2plogo.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/outbound.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/images/inbound.png" todir="assets/themes/console/images/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/light/images/header.png" todir="assets/themes/console/light/images/" />
<copy file="${i2pbase}/apps/routerconsole/jsp/themes/console/light/console.css" todir="assets/themes/console/light/" />
<copy file="${i2pbase}/installer/resources/blocklist.txt" tofile="res/raw/blocklist_txt" />
<copy file="${i2pbase}/installer/resources/hosts.txt" tofile="res/raw/hosts_txt" />

View File

@ -0,0 +1,190 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFRvqBkBEADAe63Jl0pw5Ry9LDwn31BJSBat+2WYJXT4Iqsgtmm79drvAcVU
JjtGZX11XdJj/aIVxeafghYxVj4Ld+yxiB25GAcxGr5O3Acv7DOlBQnqFZ7jvZUd
qwSCpsoDoBt5rX+FlHl/NB8VGjpS0cgC+wuSrLRW6Qux0/tn2Dow7KzB5B7YvaCi
ChF2M7ZPJhhp5QGoI+ucEwSJ/NIeOguZWiOEl+Tbglz5YTHuVjZViNIX4Xdw+N7l
1//oR8k/GEWuVU4dFsWmc6UCEClCotYHXoPHHGJpIUDBMk3sU5v3ULjKcIDkHOHX
qu91lk9OEdteieWS6npsuyy2pOOgRgXKxi1mAc7jPTLejT2GTCoUl6anP6/MbMdC
uMww1TadVaVTnw7zxW0t/uQ97wr1YtwnB6mLdfgCbUTtXMoFdijGJx+k/qb4cmmr
hPBXn5frUdwA3He6x5gkGINxy6scHhwYXpLuvpgf6WCOMRQ7afeKokHN1ctnnKCr
LJbV/Y8wkWI62O0XkqqfFyaz0fhhnaoEbMjksWYo86GeAtZysrw0MwZfANf9/l5E
GfUZIAQNiMIsGjNmyc+pSyzbBQoaJpQOdzER7z6ywzUETLQp2TRIUg2BvDkLPzLJ
Lun4KdChr8TKHoq3EtiV0hIAeGDD173b5x8Mukb2DSyvzc2vPorqRyqawQARAQAB
iQI3BB8BCAAhBQJUc6YzFwyAAYDpdvFKUIpI6co/6bw3IlLKHPlkAgcAAAoJEHY4
0EQrkNAQNccP/jF5PrHhRZRbPBiXcYCBpceUUSmkd9nw0MKhL1MpqiQFF0izptt6
etsA1esy2oXl+lAywQfCFGXIu51CHXqJpAEnv0MNqhExLZTW1GjoBNGB7iPJdtDl
Gfk9eamWqNZ7F4RyTkppqLFT7tOrWW3pnPP9wgTwdu+qw4eC5T1DIDPNYnXZ/dcS
IzYS9t6H8HxROJvG0pnXKmUWn6EiASv6eEBbKC9lNnC1S1IqwELDV6fSjDqqAz88
MRdM1vqlmp1Oa1GqegPvIziuAUCP2XpMvGLf67CL4D5v4w9p8zLfNnK3G/s12S+l
+KalSlmufdbcyveVDD38bVjtLSwXoNQOG6GK+NvNlQGjsvRa8eQhVjCRtFTitH63
V6rDc7cuc+EFqrTIut37qD0fQMlxb2WF0VXg8vQqpuchFYbiYneH9vADGr0LG7cF
NKurEYgjsY+f8DJkPoNHkt7rLzmBX8wfhMDsIwoQgscNEQTRwyQYnUAHUyU9rcVq
E8puwLgy49bp2QXl079YO7s8vdHk7n5RbK93tADuSHMYY1bbhPP8dMCiuK35oDQm
SOzAURZx0C5XSGkm5gnlFCYNoirO3xEdh9C2Eu0JvcKBE5aPw1xNBLZml75jP3Wd
JpnR+bsQjCSofMRXFERt5unDXn0zNpaP1+czDKTxperLK09QyEhRKbtOiQI3BB8B
CAAhBQJUc6ZhFwyAAfv6vbVBtdyVW9m6btsWz1uxJSXEAgcAAAoJEHY40EQrkNAQ
hU4QAJVHgI4Tu//AmYrXUJQkVPqqLJojpRdXlyBSbUy6BMk+K4JjAG+drMeu4/CX
VXpX86EoA1u7VOZpSqAHFlWFnLZQRLjdLElW4Obi0O3TgHCrFcg3J9JxjxlX6jUn
eok6z1zPpWiKEV4UYuiBuRNhWCJW3T80ZUaR+CxRSI/f3vw74CkFAGAYhZW99lI1
gMAcozlVK+Z8JWH/QPFDRBy/n0Lk9FXfX95GtLE3JUBGoeBHt9Nn0kRck8daQttb
rASt2IqRIuJJCHn5QGSgqmtf6tXkF8n1BjZ+m6svMWj6BmELIo2mHE8y8v5Ax0QS
/SrVKQ6qh4oD3W6H9Y4TCF0yAAvSBkcrWzNw/ItUrWWJqDMP00n6WvYPxYKO6QaW
OOpikRWELTOpuVV/yGEqG2/xgrNtIAlGMamhhct5AFCv9/lniqyXilMaEOECw2Sd
SPnAaiBvxGqBMNt2T4KjQSvoMWaFD2SoRv+zZHAyt2GJ9QMSQn9imL8TNH7OajTy
B+5MJs5pWN4l1jv6T1pmIH2hqN5exmr/SvcYLiaMV9bus6C0QYk5THa2gQeQQBor
b6FoeXtWFyT9EF/R4/MY0DvflZAVsBO8d+5L6X7boVobef6TMPkNFzvQrtIz/KHX
vVlGf80KiL+jH/ZOwljXH/gsldbwZxM/mTFK7mscsdWp9+/1iQI3BB8BCAAhBQJU
c6aAFwyAATCZEb6pZtBhMFMEVxG05f8VsP2CAgcAAAoJEHY40EQrkNAQQt0P/1jW
fbtfR0A7WUChOPHWCNZ+rm8PdBpY4FnRS4hbrBHJdVJnMAIZJ2Ys+5Uj9/xzMLYm
rK8ObktUBBegrLTzkrS8B1OsvFJE7jSzoIxRZtYVMcsN2ADKj0dz1a9AMaKf8xtn
JBTxD6af8leb50FnR8iUV0ZPVD5zG3J49T2DmhkhFwgaU4fVY2Padtmp65CNdH2Y
UgPE9nCKU8tMVeVftFWfVBJRkmvwFkPaWy822IqTFkLWpNoSL+DCxDN0WKPbBfD+
7vEaKHfAA18MCF5d064FupUn7m61b969Ntie0UwoUjzooW7OIgNH0mpwrVNwQMa0
DPdr8zPQRX9mIgg5ZEz6SSi5KKZGK0PkOnx50fiAUwhaQ/WoSsZesmMauOokxzZM
Bkzp4QiSWOy3ctcEuAVSjg3Zb1kRkiRSyRZvzL57EET4W5t5d35GuPyF07D5cOsD
5EU368ACfIrJtUPRDHjOpV0E29kav65eHmYcGJW59wCnaCOFUVwFoRcLPkcYQCE3
XoWoGFOI9yCkYS1LEzyDKLrtrBJZ5rUGTQXA2A9RfXxwrJgnjq+jmRuce5C2eYvH
RNMrj9AsHGC23nj45pxLCHiRJO0hWcsnkFgWoEx5I6mcn1sI0FBpI2qc9CJ9/+GK
DUbjYoaZYUbT+OFIRqGWLtPE5BakbTL/8QO8JD4UtEZEZWJpYW4gQXJjaGl2ZSBB
dXRvbWF0aWMgU2lnbmluZyBLZXkgKDgvamVzc2llKSA8ZnRwbWFzdGVyQGRlYmlh
bi5vcmc+iJwEEAECAAYFAlbDd/sACgkQBAuk6zt/gdqmbAP9FuMpB4fHmaGVxQ3K
UWNFzAunAK3YwZaQVrvTWBHbraRLZqUpqskwBUo7RX0acV5RZhdqkgjBI4EGbMY1
GKW1dk2R2lGJX3j1dbbjxGURHkBdfUi3RrIgTm6Ya+B6I2gkjeJmxcJUbs+PdqxE
hGNh3psWYDOZfNpaYvcxUH7Ms0+JARwEEAEKAAYFAlZ1vOIACgkQhKVEYnRGm/7o
cQgAoj6DCIbQiGEtuxevFbYHVnVl41nw85o7hvG2HcQAY/2qb9QlRjL4I6r6jBpZ
aMyvSFdTbzOV/oEt1X3JC8fk2O1cq+PtZvJv/Y66ZTKUXdo+rGkJFLT7XGomuCsB
c2IvX68xGrasmNgljUAsGDedf+/SE/cQRu0tru/qkG/QbgKF1v5QBH6IIab+mRPW
w669rEoqLYE6sw4UxVDClbuOUp5QjVT/02EZdbi2JS8wISMkHfR4IDvpcdd1XSa/
rTPRskGNWQKPJxbF5wquBhDozDo4qAVbS9ZlfdwsR2NKgwIQUxjP+pG6TBi9p5+Y
uqAwGAPMLwW9ABOUq7ypQlXEbokCHAQQAQgABgUCVG+rPQAKCRCLSK1iRpJVUyNo
D/451GSQa3fu/go8PUDtZH+ym6OgAwW7epLY0wl4SS1LeFEhZJjA7qaJ2zMc85BE
jNhzn4gdxChaN/Yfc33mBXKjhTQQJfkG0FoZa/08qzET/Wt2y4nSX4gL8cd6nWw7
9a/YsOxRqdCFDIzbfoZpGOdy/RyFx3QpTN7PF4ZNOK4cW6dPSDjRQKn1uP0q0XuH
rUoELqHKNOHB1Z9QUwm36mE4lDQU/AX7UerZjxLXEbyxT73Pu+tey1S1cd0VVpXC
l84DOijSvcHyf7gHX4JKVKe6hwP030tvxilAOBp2gfNAs7zGlDsPY3RVaV99EP5j
f8MiHKFWKQPR/orvgeHWYFz5tRLi3Shl/EwSYt6DqAj59cg8k+KDfsk03lrMxKqB
NSZ+Onr7Di9qYEUeDIfZIHaqrYFqAFSvSEACSKoJfWcNuoroWMZfktxAxw9BeYQ/
S7G4jg1/JFml/poS2sdsIx3PoLgJyrWkeniELH91HZoqJwOaul1p7nYr5ZqR/wxm
lYSoD102Ewn7TWLVxnsL8IG1wdy8Q00sT2NeObFxkAJGyjoptZnwo/d3Cqki9xZo
4DPUyktoINWq0v7TeaB2gWFI8SZ3RFUUvXupnFfS5yYM/bIlVDTtJPFHuTak8nt/
YCeZc1Kjxn8Jx/eAzLAlINzpKnRAUA7RSO5Z01CNO//jBIkCHAQQAQgABgUCVHHh
nAAKCRARtOX/FbD9giWID/9wYtDp/HLqY7SVs+nQLXA8hNvU64KLVCIncw9nxNj7
JEJD1CyrhHd1eagaPSlQ8Eglkbw058QVAb0hYc4XD/h0DRZntYGTMBlo3DZM0+8W
CYNKgIKT96gn2MRG5+UvodzYNcwGGbWmqsZIaPA+TCr57tu9tI7qZ40Ep1nSC48g
Yh9e+ovYx+AxKsXUaR3D/vNj6eMr6XwnuoTaC6xe4764nRtt7a+eiIz48+ovmHh+
G6707cq6r2CKme2ZVCGe/6TvESilEaG9LTZTFrpTix58w9vJClOlKA3Lt6/DA/Ye
PlHbAsW6qMZ6EdMo1YDlIGDshFsmc9EIMgwpKMSsUUtS5GveVqdRym34AMs6QEWZ
kSwqifU/ICycr5+0EO9fubolApmEFB/6XkEBbhNKorAjpVlvIpNQdFd1lPVDwgEu
1Ab6vvaYfuNfJOkn8Z4+fkcpIi5ABMVbzZv7DHyUg0CJpY9dDw3L2XQKqx3nRjQp
n8NDo0cfOhHytgO3E0/ejWhhwYQThIm8YOiF44uUUaHYXOcydBLXyssp37VCdi9i
i63tXvbOEXhi7F/RFsUfasPdZqt2VrXnvouXK6OT+sacykAeae0d0tOODORmDnNw
KSS8DBWB1PK682lc4je1ni2xNOdxqgXusE03Bi1i0gBxEbDCyGdIVAqfCZdBm3R9
9YkCHAQQAQoABgUCVG+vbgAKCRC8NyJSyhz5ZNbbEACAlkzTwAgg4RUr742fyzfU
XA0BEBdDHGyzm9M5cdVu7XxAgjQ7wWqXMHX+ocXxAEZEbEUWS6WcqqDOQtOwgq4T
L+St/jnVpk+I+LJwAm1VTuXS7FfBxEa/q5SpLMKrnh6tl7ZTIvdDquIZWqiJmV7N
bgP3sMPH4mhxX0tkFnb78MdoT5geBYRxOYpn5eNdpoXvqak10oQqWVBQKWE6HziO
aUv5PLhES9F765TyKZDACU/9mblSCGVAEIrOENtjaC8tlE8B6JZZOZgE2sbbSFyy
jRF1MoQ4au6m+rh+GhKDcb0eH2fVgIS1qzOLfjoHsgIgLTGwuJOptKyLQBmbexHL
YEtmqx7Eu8oTTAupuP9UM0/qY3DD3/PAqREDV/mXd1Q9uMHNtc+fR2mfXnJoD1kz
/ujZiL2lvIqjq2Qiah9D/zINUNhWN9g2iRx3OHRiLswBTpTwG9q7WylJs3OLOIGQ
kvCVf6qENCFCgj95HUhu4f5IKQmcGNS7afm3ZbO665JijnAZB9P0izVvnvFDrDg3
fsvvT8Cm52aaNbIjBufONFroUHNhcrPmbBToRrbYygz/+tl2T2R7vyfcKNhTKSiu
cIUevWGaWILsejmfE/XrzNrygPgF7O6WiytVJNQxnsW4p44mdPbz8h98K9ffudOK
3kFmuZWBTVOI1DIqFqQp3okCHAQQAQoABgUCVbo+9gAKCRBbghqBO5SnxItOEACr
RT4q2dhm2yBTZTF2B2CXmi2jmRrxKFMSeP8WdzgkxWCvWJs3gT27b9mDtnQKdH34
PJw5nXhdgTRf9iBgtmJbYto+oow1mxTvn7yoz5unLNZBN058KcSudNQ9tJElT+P/
Kt8tJFwccTat/dpV829D+G6tXAIhs9xLSP1jTDm6/chRpNuLHWKODXvYluTEqhsc
VDJJaJDMMKf3C9ryQSGB28CmRJGBYXa4yodXHAtPcpMgEgLoYIaY4HBzbhorOojo
DvMKpY3SVk2BQtV/A8/fdAk5ZLEPHLcX1JNIjXm6OrFwgx2eI+9u8Vsy7jdgvBXP
YmOMryuYOb4r1DHuQvnmUhNAsSjBEZ9zfJWDVxafJS2NDEDHcvSuPg46lY7Jasp/
bhclNDVz0GbhyP8zpjvFYWFZd14fY+Ui7DjqSct7f0NsCAXotsOJgRELkS7m3E5A
25unILsZXxPLN7hlQzr7QfiHECc5rbUi7xhFex8r46Aok0+cKUYZEQvw7ULb7Kgg
HNLdU9W4eHC3L5Udd9IWU/cJj6UCtcCrRSkJaaYrDG4mE9j7o+BOjerH27Li48u9
4AC7ux6mcVr2L1MqjV8ZhWr7FT8wrc9W//v4kfOa9QXUzZOVi/K+6AyPLohJ0bJP
XGJQjERZtqzTAMav6UTqqdiQ3fCQX9Vy30g+gjv3bIkCHAQQAQoABgUCVr0j6AAK
CRDTLgZLGg2R9AcOEADfTVaXrh7Sh5KYUCXYOhQqUrXDegBz+y3ULo5gSB5pKofG
oZXhNh1ut41YUNZHiCYLtNTnAnZntbZm3dhA5Dqs1WKWbv4nDSTEhhi715AIjSsq
iDrIwB252ZUhOa6icOHh7sHiaiTsIxMhgkoVO5lswDh4BeSpiaQHn6KHx6NzI+Of
lVj5fShevzHOrJ0jFC+aUbqtUBzZ1uNkWzaJVQrMu5R47RZzrUJkSUzjhk99ad6t
GbYh0QuGhN1uqm7JYFcSMH4WPgowCCvbzAr4JbrrrD9oPrxWt91ZvQaeS4KQ1VKP
uGa4wWaILfFyJvS3xpLnIko4JeRyh67vEMjdG84P5WWsnhyi1CmppLN4q8tzXxav
j8ZMRkBJRzLjgxLFeNo3LRjch/6wML5byDNWroXoa/aY7CCm7ZXTPPxa+2mOJGGB
rbUpfvna/VZZA809iVlLmr78ud9Yp4GjmYX/DtuPJimLhHv+Wtvp579qa0k4KTlU
NP2vvOsJdhdsSEyqyA7kORNPwizzo4gGmkg6uevyhFAFT2e8ZK3RlogPeRiI1Q0N
k6a/c59AAJd0TgV81K5b/86k6cfl0LL+CJyINZt9t0jSBHcd0KMy9Fo5P5GkIS1B
PbLi3mu//BIzidaZmAQkqnT2edVRfwZmftUMTIVNU7s9DhZ6wpSYHfJc26PzQYkC
IgQQAQoADAUCVHsoUAWDA8JnAAAKCRDM0u2U0hc56WeED/9Zh+SkyW4l7GqU7JWV
UvzZYd1N3YrTKKs7oNI0/DzMIWztRFbMv2sStM8mPvnanGfqo1VtVXFLYjJvdS1g
yzT3Kh2lAgnpOkpGcx3y8aV8N9yDLG26NMBRNB4Bk45jklk/DGgvyz2WEOiQpdvL
vT74TQbPft9+PkmpEsvqb7BJtgHxDiE1dD2cyUHofZxv8uY1qPjKmyUfMApj9VUW
qaXvsLlrOksZQP/hrgAxSUtL3jxjx6QCp9QGV7lZ5GgFWesPKAcWpmr04LOWpG5D
xWePdfd98bZGuFjr+BQyD4eFg5budc8a6NSoCZ3Nd+CrtZUUDi7loifqcSKxj/ts
aQL6Ka/adDjnru6eQckuB2xnvrYE25PrEqKnvQ4VnWEWzDw62Q8MTi7I30XICPfy
swQGVQK2OHvEyizbKSUogeuBi2p58hOVF9bd7MAuK3KSi8z/mCCnthm7xAo4Glnc
sRDA//phKFtZvxTruQw2nFoxG38tLQOy125QpKJV5wdiavy7pfgTzidL5fV781qO
qDyyC64LgC+W+JZCOxS3TGtmldQ8WQGgTikuJRt/fUwE6CIPr46M9m5UROkFzKrF
vBar3y4j4jSa/+2uKYDp96uFazS01vj9+CCaTGWCmlbrBhUPSvhHKfg5t1vbkUaJ
gc3r67ImVOiExoQ3pKk40mnUH4kCPgQTAQgAKAUCVG+oGQIbAwUJDwmcAAYLCQgH
AwIGFQgCCQoLBBYCAwECHgECF4AACgkQdjjQRCuQ0BAumg//c3SXjKtqLh/gxO7H
r+ZfcOnULngHJI6+sL91eN9aZI8CbZv7xfkNG0xHLIzRPOA0O+sSi6Wc2fdFkfUL
HjVErqNF0H8rIcPfZtJcsqJsjL3DEL9gWLvzMj6fVb9R7jFW/6qQ4QX4SbR1xN1y
IXG4b77CmgNGtFicsnOfiiBW0+DMzsEhMkptatgQJUOEKAL218cwjOEhX8AsC5u0
oDPpN7z11LCMBWjBun67htyXeQyQcu3ViYiFfGePQ0i21DYIE2trFzHCN7+4ShF9
/1wYwkPN8hssH18Udx6nIFrobZpiACRPBQl3npCWWOlGE5vnyMa3bPLs+b1CPHaj
FTmERETRcdeB2+BWjkYvskgDWjF7ewqpXGzOJMK9BCvTSd37e6utzi+9A8YajAQv
DYp7EdAgu4rwb572i6UC299cwxPpMsojYKzGrja0LK/ybrCP6JVXTYsoK1xa3u5Y
VFTuIjjDnT1sWGRsmeqsYml2Kbtd4zf4MzvWvK3WyMDdg81czJhc2HN13xOOr//7
dUrkD2zbbS7u7d4hxp3tt1hHef12kClYYVa50QWr6jI7SZerRiaiKV/da0PsNkw2
ihRVUlri7ApUC1/71K9V+2i/a6BAxKp9znF2IfrbmR0YwaUA3OMMsXZ0BZ/u3Iqc
BwIdb+2c4jwIbKgOGn2cTr6E3K+JAksEEAEIADUFAlR08jkHGnN0cmluZyYaaHR0
cDovL2dwZy5nYW5uZWZmLmRlL3BvbGljeS50eHRfdjEuMwAKCRDbFs9bsSUlxI1G
EACPjcxscQk2e418hS+y3LyGr5g7d/oVJuLcXwP5MYU38CA12ZHUiAFPfRp6SrIE
xjxbo47dmbxm/hejONXXc2/thP9Qfnw/5h4ZUDcsIBxInmxTogKuwLmxI1BwELIb
TBMirwqIv9H69d+QiW4vky9jpmDrUb4XT3/GgusHENooZW+umrCbDKELE9lYFAQZ
3cWWywd1PrkvUFvYc5tnqpa8pu9qI4kxcuSxW78Rz4mEraMS7iL4wrn7CmwYYS+X
uSxPyBXS/tbas9+vAV2j7yaRjo5EkizwrGau5Z/umkvNOK8qYtRH/GsM+s7li7h8
DIyWWVsk0JHxI1I+FALxpBbDTRK2ai5R5NRPo6xAY4bHChLR+9qdHgiHRdEuFg0q
6Fl+MmuEF22o2M/r0FB91h8ZYpydCTQ+XFZrL0QYCMGMreasHabFaU5ZSTu6nOxx
gTSW/5NRTQ6lvHAYR5rZ35hoFL9lLLfIYyu/yR/hUz+JlQNhaysH/Sr5JFB5ooTb
gD2QN47iRNV682iWhEvBKShecH0XuFhsPcE43InmV9avXEvvhQ+8JgpknFxUnSu6
0RFg7GO8D6B40ekFlrUt0qDUpZ5kjs+locTX03ne7yFJ4UyRpMKoUuGTZaYRjJS2
LOolbehIWKohymLJ837Sst60ZrRayUOdIiHJyV/E48wfXokBHAQQAQIABgUCWZVR
jgAKCRCrZXoBw5Jn7oXsB/9D9bJDqOxHNIpI9V5n7cKKJMmqVH/sNkKe/zAHaQdQ
98nOetGd6xKpUVpXulOQDNOJoWdsv15l0tJCDKaAOoXE1oMFX4DbNAS7Y6ossd0g
+DS73gKzFb3bM1VV7/Df4dhFZqYAsYLPavNjR3by8cqYb+Wsqud95vX2UEuod55K
FXCt5DM4866ablGQbPln5w14wOOZSbnIySnJQ4HCj0RF5I0XZfwmOFvspGHpQzI5
g8iXitYzHR9g8ui3ixCA8f7EkbDgzRQq4N6Bzq0I2iKMb6uhFHt4MIKlUmSyqe2Z
nUH5FffCXq0ck3rziX+xMdOZ6vh5aGWE/VBOtI2oeHLYiQIzBBABCAAdFiEErhDb
8v8uve8iu439Y9CBS0ZzIz4FAloaue0ACgkQY9CBS0ZzIz7c4BAArEwwurhZQFbf
hPei+fsUvDgTMnPhyWWqVbiN/ugk7w8BXSJnd2FrsyXHABECnoDrnwpCimpUe3+4
aGge2yqG+RCYtKaiDqjwhRwPJQz3jn2VMlU4W+b9p81WXIOQfXn5aLa4vJcXpba2
uhjqBUPI6xhAAficSgmztud8jo4BHyypSDTeEDW+lVbyLX026bgdku9FDGuGwI6G
X9VIBdlmsUFEC6MhfS33PbDQMY6LpQHwgXD/Wba3sWrw0Qkz3Jq9dHhgLYG9GgnB
LDLuFk720hqxxT+i5FbZuP9dAJeu1wcoqn9KVDi9b4Db7qiuIaQdi7dGbjE95ciG
k28Ngi8YGY366ekdW82A/nD3/qQlPlFDpHXaq0kPPSCnc9MV0LxZs/Oa+FfciBcS
2Sx+CkjPA0iNs2M5240Qs8jpEqdzqs8Ci6R3pWx/a/p0zEyAggLmqRl9CQctHEwY
/mf3ZWF1ciz69Zalx2NjCgBGgCJZ9eBUXc46NFx1ZsT2t+fZaOiB/xDVihNV4bu9
GqUIBrG3vpbHg9c3CVCicfOqXzGZib1EVbs1XPy90LEabEVVRzIdhS9TGtWTXg47
kpWHplL1DTif7QXimSUWxazNQUWFjCTWnJhHRN/kRuF2dK2CpHWEahXrtmL3L1Nc
Q7vwsuzkv7ZOBu+7KXyHojJIwsMSbqeJAjMEEAEKAB0WIQR5WoWlo0Rae+lXZXjl
U+iy21aKCAUCWrlYQwAKCRDlU+iy21aKCCJsD/4ttww4019r9bzAHkSN1QKq16AG
TI5n1IxrKoMn47qHJSqesIMBBEbtp6LGNTH9Du5ipxiPZXDNMfpSPedgb/r/Hfrw
EEZ0Px3FTacFarkCKeqgru+m1/g87s5fiwPqCGdg5wpw6uXEIId4+5ZuOUEGAAH/
MUBVhLQr6zROfe0oSM2V0k+2nKtn5sFbaFafnOB3lgd0e+WkNabUsDsoWxL8/PBB
KfPne5Oiuuvh/e7GVEvyzr4AwH5RXPI1qO4pPSSmJaUFbPBVn4oXHNYEtHU/jMut
LjWVrtmxmwwxq35lpblpPveAUgrzzRIG4GAwdFwToJlnFIeBb0sVktVq6GBnDgwW
VL/ZJy/gY3YMXellmpiUZJXGX1EBAxOzOLYHRbUZbOSusRV/k6JKUQf1ABd4g9Wv
CHSe39k7jwgFatWDzqB8UK+dxzN6upg5yJjq5mM6LojORNz5YXCtH0QHFQtK2/+Y
YtacNrfG2SmALIX7O9biby9TW+KtXkeMw0EFFGXGrnAdsXtypNknRXmEHkSOZX8t
VdB6Dw6lkic74Z2h7KrWRtDJjAe5yw/z9E4xmYdVJeMWmci8cpRgLuJXXmwo+M07
X59esTuYauk1e6uyHEfTPL2FB3dFV7Bg5DqMHApyg1N9OfciBUazJJvjCTz3NpQn
6ZSxGwIK1lF0XRZvM4kBMwQQAQoAHRYhBPhewwO0ZbJ4LCH3J+OaFExOgWCIBQJb
zbHqAAoJEOOaFExOgWCICIUH/iPjuzQz5fFJB7cojC1uMhJbRaiGEOskh6qZiLkS
oAB8VH3KymHS4fCwoXLYaA3J733skguUIJYY3t47Qtwx45j1+FPex9a/z7JfNXCg
TzG1MRQs/E/zK3yD5oujHj8U1tIge/fSDsVAVMCWCAC/P+y+WnxJLT/beRZiDCc2
QruupiVEYmPUDUYLlq6xdlhakiBT8Pk9N/me3Aviy773TbUG/EM1wTXqSp9yQ811
vfcf1glUCdJxXPP08KBOZZfTiMaIn9B3evbEKVZXz6DYFMcfoFk5NbQYvNAVN/m5
EgzVzrGzxg+GMFCKyDdO3mfDeWR0KKPZ5v1mqQpp9yDy32I=
=qjte
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1 @@
ndk.dir=/opt/android-sdk-linux/ndk/

View File

@ -0,0 +1 @@
i2psrc=/opt/workspace/i2p.i2p

View File

@ -0,0 +1 @@
sdk.dir=/opt/android-sdk-linux/

View File

@ -0,0 +1,10 @@
#javac.version=1.7
javac.source=1.8
javac.version=1.7
javac.target=1.7
javac.release=8
javac.compilerargs=-bootclasspath /opt/packages/openjdk-7-jre/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/rt.jar:/opt/packages/openjdk-7-jre/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/jce.jar
build.built-by=idk
junit.home=/usr/share/java
hamcrest.home=/usr/share/java
mockito.home=/usr/share/java

View File

@ -0,0 +1,4 @@
STORE_FILE=/.i2p-plugin-keys/android.keystore
STORE_PASSWORD=store.password
KEY_ALIAS=key.alias
KEY_PASSWORD=key.password

View File

@ -14,7 +14,7 @@ POM_DEVELOPER_ID=idk
POM_DEVELOPER_NAME=idk
POM_DEVELOPER_EMAIL=hankhill19580@gmail.com
I2P_VERSION=0.9.48
ANDROID_BUILD_TARGET_SDK_VERSION=29
ANDROID_BUILD_SDK_VERSION=28
I2P_VERSION=1.6.0

View File

@ -5,4 +5,5 @@
<string name="install_i2p_android">Instalovat I2P Android?</string>
<string name="you_must_have_i2p_android">Musíte mít nainstalovaný a zapnutý I2P Android. Přejete si jej nainstalovat?</string>
<string name="start_i2p_android">Otevřít I2P Android?</string>
<string name="would_you_like_to_start_i2p_android">Zdá se, že I2P Android neběží. Chcete jej spustit?</string>
</resources>

View File

@ -3,7 +3,7 @@
<string name="yes">Evet</string>
<string name="no">Hayır</string>
<string name="install_i2p_android">I2P Android Kurulsun mu?</string>
<string name="you_must_have_i2p_android">I2P Android yazılımı kurulmuş ve çalışıyor olmalıdır. Kurmak ister misiniz?</string>
<string name="you_must_have_i2p_android">I2P Android uygulaması kurulmuş ve çalışıyor olmalıdır. Kurmak ister misiniz?</string>
<string name="start_i2p_android">I2P Android Başlatılsın</string>
<string name="would_you_like_to_start_i2p_android">I2P Android yazılımı çalışmıyor gibi görünüyor. Başlatmak ister misiniz?</string>
<string name="would_you_like_to_start_i2p_android">I2P Android uygulaması çalışmıyor gibi görünüyor. Başlatmak ister misiniz?</string>
</resources>

View File

@ -13,6 +13,7 @@ artifacts {
routerjars file: file('libs/i2ptunnel.jar'), builtBy: buildRouter
routerjars file: file('libs/i2ptunnel-ui.jar'), builtBy: buildRouter
routerjars file: file('libs/addressbook.jar'), builtBy: buildRouter
routerjars file: file('libs/sam.jar'), builtBy: buildRouter
//routerjars file: file('libs/BOB.jar'), builtBy: buildRouter
}
clean.dependsOn cleanBuildRouter

View File

@ -20,6 +20,7 @@
<available property="have.bob" file="${i2plib}/BOB.jar" />
<available property="have.newsxml" file="${i2pbase}/apps/routerconsole/java/build/newsxml.jar" />
<available property="have.i2ptunnel" file="${i2plib}/i2ptunnel-ui.jar" />
<available property="have.sam" file="${i2plib}/sam.jar" />
<available property="have.addressbook" file="${i2plib}/addressbook.jar" />
<target name="buildNewsXMLJar" unless="have.newsxml">
@ -36,7 +37,11 @@
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildBOB" />
</target>
<target name="buildrouter" depends="buildNewsXMLJar, buildI2PTunnelJar, buildAddressbook">
<target name="buildSAM" unless="have.sam">
<ant dir="${i2pbase}" inheritall="false" useNativeBasedir="true" target="buildSAM" />
</target>
<target name="buildrouter" depends="buildNewsXMLJar, buildI2PTunnelJar, buildAddressbook, buildSAM">
<mkdir dir="${jar.libs.dir}" />
<!-- newsxml -->
@ -50,10 +55,15 @@
<copy file="${i2plib}/addressbook.jar" todir="${jar.libs.dir}" />
<!-- bob -->
<!--
<!--
<copy file="${i2plib}/BOB.jar" todir="${jar.libs.dir}" />
-->
<!-- sam -->
<copy file="${i2plib}/sam.jar" todir="${jar.libs.dir}" />
</target>
<target name="clean">