{"id":13775750,"url":"https://github.com/i2p/i2p.i2p-bote","last_synced_at":"2025-08-20T03:31:17.913Z","repository":{"id":6374871,"uuid":"7612313","full_name":"i2p/i2p.i2p-bote","owner":"i2p","description":"I2P-Bote is a serverless, encrypted e-mail application.","archived":false,"fork":false,"pushed_at":"2021-08-17T02:31:25.000Z","size":25244,"stargazers_count":147,"open_issues_count":68,"forks_count":39,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-12-05T13:10:14.784Z","etag":null,"topics":["dht","email","i2p","i2p-bote","java","privacy"],"latest_commit_sha":null,"homepage":"https://i2pbote.xyz","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/i2p.png","metadata":{"files":{"readme":"README.md","changelog":"history.txt","contributing":null,"funding":null,"license":"license.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-01-14T20:43:40.000Z","updated_at":"2024-11-20T08:14:52.000Z","dependencies_parsed_at":"2022-08-26T16:32:52.734Z","dependency_job_id":null,"html_url":"https://github.com/i2p/i2p.i2p-bote","commit_stats":null,"previous_names":[],"tags_count":26,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i2p%2Fi2p.i2p-bote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i2p%2Fi2p.i2p-bote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i2p%2Fi2p.i2p-bote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/i2p%2Fi2p.i2p-bote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/i2p","download_url":"https://codeload.github.com/i2p/i2p.i2p-bote/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230388131,"owners_count":18217755,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dht","email","i2p","i2p-bote","java","privacy"],"created_at":"2024-08-03T17:01:47.999Z","updated_at":"2024-12-19T06:09:32.527Z","avatar_url":"https://github.com/i2p.png","language":"Java","funding_links":[],"categories":["🌐 Fully Distributed / P2P by Default","\u003ca id=\"6e80463404d46f0493cf6e84597e4b5c\"\u003e\u003c/a\u003e工具","[I2P](https://geti2p.net/en/)","Projects using I2P"],"sub_categories":["💬 Communication","\u003ca id=\"ceb532aae106b39ea224c7aef786c831\"\u003e\u003c/a\u003eI2P","Email"],"readme":"# I2P-Bote\n\n[![Build Status](https://travis-ci.org/i2p/i2p.i2p-bote.svg?branch=master)](https://travis-ci.org/i2p/i2p.i2p-bote)\n\nI2P-Bote is a plugin for I2P that allows users to send and receive emails while preserving privacy. It does not need a mail server because emails are stored in a distributed hash table. They are automatically encrypted and digitally signed, which ensures no one but the intended recipient can read the email, and third parties cannot forge them.\n\n## Features\n\n- Themeable webmail interface\n- User interface translated in many languages\n- One-click creation of email accounts (called email identities)\n- Emails can be sent under a sender identity, or anonymously\n- ElGamal, Elliptic Curve, and NTRU Encryption\n- Encryption and signing is transparent, without the need to know about PGP\n- Delivery confirmation\n- Basic support for short recipient names\n- IMAP / SMTP\n\n### Planned Features\n\n- Custom folders\n- Sending and receiving via relays, similar to Mixmaster\n- Lots of small improvements\n\n## Build process\n\n### Dependencies:\n\n- Java SDK (preferably Oracle/Sun or OpenJDK) 1.7.0 or higher\n- Apache Ant 1.8.0 or higher\n- Gradle 2.14.1\n\n### Gradle\n\nThe build system is based on Gradle. There are several methods for setting Gradle up:\n\n* It can be downloaded from [the Gradle website](http://www.gradle.org/downloads).\n\n* Most distributions will have Gradle packages. Be careful to check the provided version; Debian and Ubuntu have old versions in their main repositories. There is a [PPA](https://launchpad.net/~cwchien/+archive/gradle) for Ubuntu with the latest version of Gradle.\n\n* A Gradle wrapper is provided in the codebase. It takes all the same commands as the regular `gradle` command. The first time that any command is run, it will automatically download, cache and use the correct version of Gradle. This is the simplest way to get started with the codebase. To use it, replace `gradle` with `./gradlew` (or `./gradlew.bat` on Windows) in the commands below.\n\nGradle will pull dependencies over the clearnet by default. To use Tor, create a `gradle.properties` file in `i2p.android.base` containing:\n\n    ```\n    systemProp.socksProxyHost=localhost\n    systemProp.socksProxyPort=9150\n    ```\n\n### Building the I2P plugin\n\n```\ngradle :webapp:plugin\n```\n\nThe plugin will be placed in `i2p.i2p-bote/webapp/build/plugin`.\n\n### Building the standalone WAR\n\n```\ngradle :webapp:war\n```\n\nThe WAR will be placed in `i2p.i2p-bote/webapp/build/libs`.\n\n### Running the standalone WAR\n\nEnsure you have an I2P router running locally with an I2CP server port open (on port 7654). Then run:\n\n```\ngradle :webapp:tomcatRunWar\n```\n\nThis will build and run the WAR. (Jetty currently does not work.)\n\nThe data directory will be placed in `i2p.i2p-bote/webapp/i2pbote`; logs will be in `i2p.i2p-bote/webapp/logs`.\n\n## Android build process\n\n### Additional dependencies:\n\n- [I2P source](https://github.com/i2p/i2p.i2p)\n- Android SDK 25\n- Android Build Tools 25.0.2\n- Android Support Repository\n\n### Preparation\n\n1. Download the Android SDK. The simplest method is to download Android Studio.\n\n2. Create a `local.properties` file in `i2p.i2p-bote/android` containing:\n\n    ```\n    i2psrc=/path/to/i2p.i2p\n    ```\n\n3. If you want to use a local copy of the I2P Android client library, install it in your local Maven repository with:\n\n    ```\n    cd path/to/i2p.android.base\n    ./gradlew client:installArchives\n    ```\n\n### Building from the command line\n\n1. Create a `local.properties` file in `i2p.i2p-bote` containing:\n\n    ```\n    sdk.dir=/path/to/android-studio/sdk\n    ```\n\n2. `gradle :android:assembleDebug`\n\n3. The APK will be placed in `i2p.i2p-bote/android/build/apk`.\n\n### Building with Android Studio\n\n1. Import `i2p.i2p-bote` into Android Studio. (This creates the `local.properties` file automatically).\n\n2. Build and run the app (`Shift+F10`).\n\n### Signing release builds\n\n1. Create a `signing.properties` file in `i2p.i2p-bote` containing:\n\n    ```\n    STORE_FILE=/path/to/android.keystore\n    STORE_PASSWORD=store.password\n    KEY_ALIAS=key.alias\n    KEY_PASSWORD=key.password\n    ```\n\n2. `gradle assembleRelease`\n\n## More information\n\nThe links below only work within I2P, i.e., make sure you are running I2P and your browser is using the proxy at localhost:4444.\n\n- http://i2pbote.i2p I2P-Bote homepage\n- http://forum.i2p/viewforum.php?f=35 I2P-Bote forum\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi2p%2Fi2p.i2p-bote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fi2p%2Fi2p.i2p-bote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fi2p%2Fi2p.i2p-bote/lists"}